/* vivo — ortak stiller (bicim.php yükler; renkler renk.css'te)
   Önek: vv-   Başlık Archivo Black (büyük harf, altında vurgu şeridi), metin Red Hat Display. Düğmeler köşeli. */

:root {
	--vv-baslik: #060606;
	--vv-yazi: #4c4c4c;
	--vv-soluk: #8a8a8a;
	--vv-zemin: #f7f7f5;
	--vv-cizgi: #e6e6e2;
	--vv-beyaz: #fff;
	--vv-kap: 1220px;
	--vv-gecis: cubic-bezier(.2, .7, .2, 1);
	--vv-font: "Red Hat Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--vv-dev-font: "Archivo Black", "Arial Black", Impact, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--vv-font); font-size: 17px; line-height: 1.75; color: var(--vv-yazi); background: var(--vv-beyaz); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, h6 { margin: 0; line-height: 1.2; color: var(--vv-baslik); }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, textarea { font: inherit; }
.vv-kap { width: 100%; max-width: var(--vv-kap); margin: 0 auto; padding: 0 24px; }
.vv-bolum { padding-top: 90px; padding-bottom: 90px; }
body.vv-kilit { overflow: hidden; }

/* Büyük harfli kalın başlık; .vv-vurgulu altına vurgu şeridi çizer (logodaki gibi) */
.vv-dev { font-family: var(--vv-dev-font); font-size: clamp(28px, 3.4vw, 42px); font-weight: 400; letter-spacing: .3px; line-height: 1.15; text-transform: uppercase; }
.vv-vurgulu { display: inline; padding: 0 .12em; background: linear-gradient(transparent 58%, var(--vv-vurgu) 58%, var(--vv-vurgu) 92%, transparent 92%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.vv-orta { display: block; text-align: center; }

.vv-dugme { display: inline-flex; align-items: center; gap: 12px; min-height: 54px; padding: 0 28px; border: 0; background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); font-family: var(--vv-dev-font); font-size: 15px; letter-spacing: .5px; text-transform: uppercase; cursor: pointer; transition: background-color .25s, color .25s; }
.vv-dugme:hover { background: var(--vv-koyu); color: var(--vv-vurgu); }
.vv-dugme svg { width: 18px; height: 18px; flex: 0 0 auto; transition: transform .25s var(--vv-gecis); }
.vv-dugme:hover .vv-ok { transform: translateX(4px); }
.vv-dugme-koyu { background: var(--vv-koyu); color: var(--vv-beyaz); }
.vv-dugme-koyu:hover { background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); }
.vv-ikon-dugme { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; transition: background-color .2s, color .2s; }
.vv-ikon-dugme:hover { background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); }
.vv-ikon-dugme svg { width: 22px; height: 22px; }

/* Nokta deseni (eski temadaki "points" süsü) */
.vv-noktalar, .vv-noktalar-kucuk { background-image: radial-gradient(var(--vv-vurgu) 2px, transparent 2.5px); background-size: 16px 16px; }
.vv-noktalar-kucuk { display: inline-block; width: 64px; height: 14px; margin-left: 14px; vertical-align: middle; }

/* ---------- Üst bilgi ---------- */
.vv-ust { position: sticky; top: 0; z-index: 60; background: var(--vv-beyaz); transition: box-shadow .3s; }
.vv-ust.is-kaydi { box-shadow: 0 6px 24px rgba(0, 0, 0, .07); }
.vv-ust-kutu { display: flex; align-items: center; gap: 30px; min-height: 96px; transition: min-height .3s var(--vv-gecis); }
.vv-ust.is-kaydi .vv-ust-kutu { min-height: 74px; }
.vv-logo { flex: 0 0 auto; }
.vv-logo img { width: 190px; transition: width .3s var(--vv-gecis); }
.vv-ust.is-kaydi .vv-logo img { width: 160px; }
.vv-menu { flex: 1 1 auto; }
.vv-menu ul { display: flex; justify-content: center; gap: 6px; }
.vv-menu a { position: relative; display: block; padding: 10px 16px; font-size: 17px; font-weight: 700; color: var(--vv-baslik); }
.vv-menu a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 8px; z-index: -1; height: 9px; background: var(--vv-vurgu); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--vv-gecis); }
.vv-menu a:hover::after, .vv-menu li.is-secili a::after { transform: scaleX(1); }
.vv-menu a { z-index: 0; white-space: nowrap; }
.vv-ust-tel { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--vv-baslik); white-space: nowrap; }
.vv-ust-tel svg { width: 18px; height: 18px; padding: 9px; box-sizing: content-box; background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); }
.vv-menu-ac { display: grid; place-items: center; width: 50px; height: 50px; padding: 0; border: 0; background: transparent; color: var(--vv-baslik); cursor: pointer; transition: color .2s; }
.vv-menu-ac svg { width: 30px; height: 24px; }
.vv-menu-ac:hover { color: var(--vv-vurgu-koyu); }
.vv-menu li { position: relative; }
.vv-asagi { display: inline-block; width: 14px; height: 14px; margin-left: 4px; vertical-align: -1px; }
.vv-menu .vv-dal { position: absolute; top: 100%; left: 0; z-index: 5; display: block; min-width: 270px; padding: 10px 0; border: 1px solid var(--vv-cizgi); background: var(--vv-beyaz); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.vv-menu li:hover > .vv-dal, .vv-menu li:focus-within > .vv-dal { opacity: 1; visibility: visible; }
.vv-menu .vv-dal a { padding: 8px 22px; font-size: 15px; font-weight: 500; transition: color .2s; }
.vv-menu .vv-dal a::after { display: none; }
.vv-menu .vv-dal a:hover, .vv-menu .vv-dal li.is-secili a { color: var(--vv-vurgu-koyu); }

/* Sağdan açılan menü paneli (her ekranda) */
.vv-mobil { position: fixed; inset: 0; z-index: 200; background: rgba(6, 6, 6, .5); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.vv-mobil.is-acik { opacity: 1; visibility: visible; }
.vv-mobil-kutu { position: absolute; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(420px, 100%); padding: 22px 34px 32px; background: var(--vv-koyu); color: rgba(255, 255, 255, .75); overflow-y: auto; transform: translateX(100%); transition: transform .4s var(--vv-gecis); }
.vv-mobil.is-acik .vv-mobil-kutu { transform: none; }
.vv-mobil-ust { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; color: var(--vv-beyaz); }
.vv-mobil-ust img { width: 170px; }
.vv-mobil nav li { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.vv-mobil nav a { display: block; padding: 13px 0; font-family: var(--vv-dev-font); font-size: 19px; text-transform: uppercase; color: var(--vv-beyaz); transition: color .2s, padding-left .25s var(--vv-gecis); }
.vv-mobil nav a:hover, .vv-mobil nav li.is-secili a { padding-left: 8px; color: var(--vv-vurgu); }
.vv-mobil nav .vv-mobil-dal { padding: 0 0 12px 14px; }
.vv-mobil nav .vv-mobil-dal li { border: 0; }
.vv-mobil nav .vv-mobil-dal a { padding: 5px 0; font-family: var(--vv-font); font-size: 16px; font-weight: 500; text-transform: none; color: rgba(255, 255, 255, .72); }
.vv-mobil nav li.is-secili .vv-mobil-dal a { padding-left: 0; color: rgba(255, 255, 255, .72); }
.vv-mobil nav .vv-mobil-dal a:hover { padding-left: 6px; color: var(--vv-vurgu); }
.vv-mobil-alt { margin-top: auto; padding-top: 30px; }
.vv-mobil-alt > a, .vv-mobil-alt > p { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.vv-mobil-alt > a { font-size: 20px; font-weight: 700; color: var(--vv-beyaz); }
.vv-mobil-alt svg { width: 18px; height: 18px; color: var(--vv-vurgu); flex: 0 0 auto; }

/* ---------- İç sayfa başlık bandı ---------- */
.vv-sayfa-bas { position: relative; overflow: hidden; background: var(--vv-vurgu-acik); }
.vv-sayfa-bas::after { content: ""; position: absolute; right: -80px; top: -120px; width: 340px; height: 340px; border-radius: 50%; background: var(--vv-vurgu); opacity: .35; }
.vv-sayfa-bas .vv-kap { position: relative; z-index: 1; padding-top: 70px; padding-bottom: 60px; }
.vv-sayfa-bas h1 { margin-bottom: 14px; font-size: clamp(30px, 4.2vw, 54px); }
.vv-kirinti { display: flex; flex-wrap: wrap; gap: 6px; font-size: 15px; font-weight: 500; color: var(--vv-soluk); }
.vv-kirinti li + li::before { content: "/"; margin-right: 6px; }
.vv-kirinti a { color: var(--vv-baslik); }
.vv-kirinti a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Serbest metin ---------- */
.vv-metin { line-height: 1.8; }
.vv-metin h2, .vv-metin h3, .vv-metin h4, .vv-metin h5, .vv-metin h6 { margin: 1.2em 0 .5em; font-family: var(--vv-font); font-weight: 700; color: var(--vv-baslik); }
.vv-metin h6 { font-size: 18px; }
.vv-metin a { color: var(--vv-baslik); text-decoration: underline; text-decoration-color: var(--vv-vurgu); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.vv-metin ul, .vv-metin ol { margin: 0 0 1em; padding-left: 1.3em; }
.vv-metin ul { list-style: disc; }
.vv-metin ol { list-style: decimal; }
.vv-metin li { margin-bottom: .5em; }
.vv-metin li::marker { color: var(--vv-vurgu-koyu); font-weight: 700; }
.vv-metin img { height: auto !important; margin: .6em 0; }
.vv-metin iframe { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; margin: 1em 0; border: 0; }
.vv-metin table { width: 100%; margin: 0 0 1.2em; border-collapse: collapse; font-size: 15px; }
.vv-metin td, .vv-metin th { padding: 8px 10px; border: 1px solid var(--vv-cizgi); text-align: left; }
.vv-metin > *:first-child { margin-top: 0; }
.vv-metin > *:last-child { margin-bottom: 0; }

.vv-bos { padding: 30px 0; color: var(--vv-soluk); }
.vv-sayfalama { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 44px; }
.vv-sayfalama a { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--vv-cizgi); font-weight: 700; color: var(--vv-baslik); transition: border-color .2s, background-color .2s; }
.vv-sayfalama a:hover { border-color: var(--vv-baslik); }
.vv-sayfalama a.is-secili { background: var(--vv-vurgu); border-color: var(--vv-vurgu); }
.vv-sosyal { display: flex; gap: 8px; }
.vv-sosyal a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, .22); color: var(--vv-beyaz); transition: background-color .2s, color .2s, border-color .2s; }
.vv-sosyal a:hover { background: var(--vv-vurgu); border-color: var(--vv-vurgu); color: var(--vv-vurgu-yazi); }
.vv-sosyal svg { width: 17px; height: 17px; }

/* Kaydırınca belirme (JS yoksa görünür kalır) */
.vv-js [data-vv-belir] { opacity: 0; transform: translateY(26px); transition: opacity .8s, transform .8s var(--vv-gecis); }
.vv-js [data-vv-belir].is-gorundu { opacity: 1; transform: none; }

/* Görsel büyütücü */
.vv-buyut { position: fixed; inset: 0; z-index: 300; display: none; align-items: center; justify-content: center; padding: 50px 70px; background: rgba(6, 6, 6, .94); }
.vv-buyut.is-acik { display: flex; }
.vv-buyut img { max-height: 86vh; width: auto; }
.vv-buyut button { position: absolute; display: grid; place-items: center; width: 46px; height: 46px; border: 0; background: rgba(255, 255, 255, .14); color: var(--vv-beyaz); cursor: pointer; }
.vv-buyut button:hover { background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); }
.vv-buyut button svg { width: 18px; height: 18px; }
.vv-buyut-kapat { top: 20px; right: 20px; }
.vv-buyut-onceki { left: 16px; top: 50%; margin-top: -23px; }
.vv-buyut-sonraki { right: 16px; top: 50%; margin-top: -23px; }
.vv-buyut.is-tek .vv-buyut-onceki, .vv-buyut.is-tek .vv-buyut-sonraki { display: none; }

/* ---------- Alt bilgi ---------- */
.vv-alt-bilgi { background: var(--vv-koyu); color: rgba(255, 255, 255, .66); }
.vv-alt-izgara { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 50px; padding-top: 80px; padding-bottom: 60px; }
.vv-alt-marka img { width: 200px; margin-bottom: 26px; }
.vv-alt-bilgi h6 { margin-bottom: 18px; font-family: var(--vv-dev-font); font-size: 15px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--vv-vurgu); }
.vv-alt-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.vv-alt-menu a { font-weight: 500; color: var(--vv-beyaz); transition: color .2s; }
.vv-alt-menu a:hover { color: var(--vv-vurgu); }
.vv-alt-iletisim li { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; color: var(--vv-beyaz); }
.vv-alt-iletisim i { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); }
.vv-alt-iletisim i svg { width: 18px; height: 18px; }
.vv-alt-iletisim a:hover { color: var(--vv-vurgu); }
.vv-telif { border-top: 1px solid rgba(255, 255, 255, .1); font-size: 14px; color: rgba(255, 255, 255, .45); }
.vv-telif .vv-kap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 26px; padding-top: 22px; padding-bottom: 22px; }

.vv-wa { position: fixed; left: 22px; bottom: 22px; z-index: 90; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #1fa855; color: var(--vv-beyaz); transition: background-color .2s, transform .3s var(--vv-gecis); }
.vv-wa:hover { background: #178a45; transform: scale(1.06); }
.vv-wa svg { width: 28px; height: 28px; }
.vv-yukari { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: grid; place-items: center; width: 48px; height: 48px; border: 0; background: var(--vv-vurgu); color: var(--vv-vurgu-yazi); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s, background-color .2s, color .2s; }
.vv-yukari.is-gorunur { opacity: 1; visibility: visible; }
.vv-yukari:hover { background: var(--vv-koyu); color: var(--vv-vurgu); }
.vv-yukari svg { width: 20px; height: 20px; }

/* ---------- Duyarlı ---------- */
@media (max-width: 1200px) {
	.vv-ust-tel span { display: none; }
	.vv-menu a { padding: 10px 12px; }
}
@media (max-width: 991px) {
	.vv-menu, .vv-ust-tel span { display: none; }
	.vv-ust-tel { margin-left: auto; }
	.vv-ust-kutu { gap: 14px; min-height: 78px; }
	.vv-logo img { width: 160px; }
	.vv-bolum { padding-top: 64px; padding-bottom: 64px; }
	.vv-alt-izgara { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.vv-alt-marka { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.vv-kap { padding: 0 16px; }
	.vv-logo img, .vv-ust.is-kaydi .vv-logo img { width: 140px; }
	.vv-bolum { padding-top: 50px; padding-bottom: 50px; }
	.vv-dugme { min-height: 50px; padding: 0 22px; font-size: 14px; }
	.vv-sayfa-bas .vv-kap { padding-top: 46px; padding-bottom: 40px; }
	.vv-alt-izgara { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-top: 56px; padding-bottom: 40px; }
	.vv-mobil-kutu { padding: 18px 22px 26px; }
	.vv-wa { left: 14px; bottom: 14px; width: 52px; height: 52px; }
	.vv-yukari { right: 14px; bottom: 14px; }
	.vv-buyut { padding: 60px 12px; }
	.vv-buyut-onceki, .vv-buyut-sonraki { top: auto; bottom: 16px; margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
	.vv-js [data-vv-belir] { opacity: 1; transform: none; }
}
