/* =========================================================
   Belle Amore Beauty — main stylesheet

   Palet: buz beyazı zemin · petrol tipografi · turkuaz-petrol
   ve şeftali vurgular (vurgu renkleri yalnızca küçük
   alanlarda; geniş yüzeyler daima açık kalır)

   1. tokens   2. base   3. type   4. buttons   5. header
   6. hero     7. story  8. services  9. packages  10. shop
   11. compare 12. team  13. quotes   14. booking  15. journal
   16. footer  17. cart / search / misc   18. responsive
   ========================================================= */

/* ---------- 1. tokens ---------- */
:root{
  --paper:#F9FBFB;      /* ana zemin — buz beyazı */
  --soft:#EDF4F4;       /* açık petrol bölüm zemini */
  --sage:#E5F0F0;       /* bir ton koyu petrol bölümü */
  --blush:#FCF2EC;      /* şeftali bölümü */

  --ink:#16343A;        /* başlık ve metin — petrol */
  --ink-2:#3C5A60;
  --mute:#7E9498;

  --accent:#0E7C86;     /* turkuaz-petrol — vurgu */
  --accent-d:#0B646D;   /* koyu petrol — buton ve okunur metin */
  --peach:#E8845F;      /* şeftali/mercan — ince detay */
  --peach-l:#F0B79C;    /* açık şeftali — koyu zeminde */

  --grad:linear-gradient(90deg,#0E7C86 0%,#E8845F 100%);

  /* rgba üretiminde kullanılan ham değerler */
  --ink-rgb:22,52,58;        /* çizgi, gölge ve perde renkleri */
  --paper-rgb:249,251,251;   /* koyu zemin üzerindeki açık metinler */
  --ov-rgb:11,36,41;         /* fotoğraf üzerindeki karartma katmanı */

  --on-dark:#F0B79C;         /* koyu zeminde vurgu metni */
  --on-dark-2:#7FCBD2;       /* koyu zeminde ikincil vurgu */
  --flag-fg:#3A1A0E;         /* şeftali rozetin yazı rengi */

  --ph-warm:linear-gradient(150deg,#FBE9E0,#F2D3C4);
  --ph-sand:linear-gradient(150deg,#EFF6F6,#DBEAEA);
  --ph-deep:linear-gradient(150deg,#1F4A52,#16343A);

  --arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%2316343A'><path d='M1 1l4 4 4-4'/></svg>");

  --line:rgba(var(--ink-rgb),.14);
  --line-2:rgba(var(--ink-rgb),.07);
  --light-line:rgba(var(--paper-rgb),.22);

  /* kurumsal tipografi: başlıklar Montserrat, metin Inter */
  --d:"Montserrat",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --s:"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;

  --shell:1360px;
  /* Başlık şeridi ve üst şerit için daha geniş kapsayıcı. Sayfa gövdesi
     okunabilirlik için 1360px'te kalır; menü ise ekranın tamamını
     kullanır, aksi hâlde maddeler sıkışıp alt satıra iniyor. */
  --shell-wide:1720px;
  --pad:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-io:cubic-bezier(.65,.02,.16,1);
  --head-h:82px;
}

/* ---------------------------------------------------------
   TEMA: KIRMIZI
   Sıcak beyaz zemin · derin bordo tipografi · canlı kırmızı
   ve antik altın vurgular.

   Etkinleştirmek için kök dizindeki renk.txt dosyasına
   "kirmizi" yazıp kaydetmeniz yeterlidir.
   --------------------------------------------------------- */
html[data-tema="kirmizi"]{
  --paper:#FDFAF9;      /* ana zemin — sıcak beyaz */
  --soft:#F7EDEA;       /* açık bölüm zemini */
  --sage:#F3E3DF;       /* bir ton koyu bölüm */
  --blush:#FBF0EC;      /* pudra bölümü */

  --ink:#4E1622;        /* başlık ve metin — derin bordo */
  --ink-2:#7A3B45;
  --mute:#A88189;

  --accent:#C8102E;     /* canlı kırmızı — vurgu */
  --accent-d:#A50E26;   /* koyu kırmızı — buton ve okunur metin */
  --peach:#C08A3C;      /* antik altın — ince detay */
  --peach-l:#F0BCA8;

  --grad:linear-gradient(90deg,#C8102E 0%,#C08A3C 100%);

  --ink-rgb:78,22,34;
  --paper-rgb:253,250,249;
  --ov-rgb:44,8,16;

  --on-dark:#F0BCA8;
  --on-dark-2:#E8C79B;
  --flag-fg:#2E1207;

  --ph-warm:linear-gradient(150deg,#FBE7E2,#F3CDC6);
  --ph-sand:linear-gradient(150deg,#F8F1EF,#EEDCD8);
  --ph-deep:linear-gradient(150deg,#6E1A28,#4E1622);

  --arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%234E1622'><path d='M1 1l4 4 4-4'/></svg>");
}

/* ---------------------------------------------------------
   TEMA: GOLD
   Fildişi zemin · sıcak koyu kahve tipografi · metalik altın.

   Altın hissi düz sarıdan değil, açık–koyu geçişten gelir:
   büyük altın yüzeyler --gold-leaf degradesini kullanır,
   üzerine koyu yazı yazılır (altın üstünde beyaz yazı soluk
   okunur). Okunur altın metin için --accent-d (bronz) vardır.
   --------------------------------------------------------- */
html[data-tema="gold"]{
  --paper:#FFFCF5;      /* ana zemin — fildişi */
  --soft:#F8F1DF;       /* açık şampanya bölümü */
  --sage:#F2E9D2;       /* bir ton koyu şampanya */
  --blush:#FDF8EC;      /* sıcak krem bölüm */

  --ink:#211C10;        /* başlık ve metin — sıcak koyu kahve */
  --ink-2:#4E4634;
  --mute:#948B76;

  --accent:#C1993F;     /* altın — çizgi, ikon, grafik */
  --accent-d:#7C6420;   /* bronz-altın — okunur metin (5,6:1) */
  --peach:#D9B44A;      /* açık altın — rozet ve ince detay */
  --peach-l:#E9D08A;

  /* metalik altın yaprağı — koyu yazı taşıyan YÜZEYLER için */
  --gold-leaf:linear-gradient(105deg,#9C7A22 0%,#D9B44A 26%,#F5E7B4 46%,#C9A227 64%,#A8842A 100%);
  /* açık zeminde okunacak altın YAZI için (bir tık koyu) */
  --gold-text:linear-gradient(100deg,#7C6420 0%,#B08C2C 30%,#D4B45E 50%,#A8842A 74%,#7C6420 100%);
  --grad:linear-gradient(90deg,#A8842A 0%,#E3C86E 45%,#C1993F 100%);

  --ink-rgb:33,28,16;
  --paper-rgb:255,252,245;
  --ov-rgb:26,20,8;

  --on-dark:#E4C97C;    /* koyu zeminde altın metin */
  --on-dark-2:#D6C39A;
  --flag-fg:#2A2109;

  --ph-warm:linear-gradient(150deg,#F9EFD6,#E9D9AE);
  --ph-sand:linear-gradient(150deg,#FCF8EC,#F1E8D0);
  --ph-deep:linear-gradient(150deg,#3C3418,#211C10);

  --arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%23211C10'><path d='M1 1l4 4 4-4'/></svg>");
}

/* --- GOLD temasına özel bileşenler: metalik yüzeyler --- */

/* Ana butonlar altın yaprağı; üzerine koyu yazı, hover'da koyu zemin */
html[data-tema="gold"] .btn--ink{
  --bg:var(--gold-leaf); --fg:#241D08; --bd:transparent;
  --hb:var(--ink); --hf:var(--on-dark);
}
html[data-tema="gold"] .btn--out{
  --bg:transparent; --fg:var(--ink); --bd:rgba(193,153,63,.6);
  --hb:var(--ink); --hf:var(--on-dark);
}
html[data-tema="gold"] .btn--bone{
  --bg:#fff; --fg:var(--ink); --bd:#fff; --hb:var(--gold-leaf); --hf:#241D08;
}

/* Logo, ön yükleme ve büyük rakamlar — açık zeminde okunur altın */
html[data-tema="gold"] .brand__word,
html[data-tema="gold"] .loader__mark,
html[data-tema="gold"] .gscore__n,
html[data-tema="gold"] .stats b,
html[data-tema="gold"] .pkgcard__price b,
html[data-tema="gold"] .pkgd__buy b{
  background:var(--gold-text);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
/* koyu kartta fiyat parlak altın olsun */
html[data-tema="gold"] .pkgcard--hi .pkgcard__price b,
html[data-tema="gold"] .pkgcard--hi .pkgcard__cur{
  background:var(--gold-leaf);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
html[data-tema="gold"] .ft__brand .brand__word,
html[data-tema="gold"] .ad__brand-w{
  background:linear-gradient(100deg,#C1993F 0%,#F3E3B0 45%,#D9B44A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Öne çıkan paket kartı: koyu zemin + altın rozet */
html[data-tema="gold"] .pkgcard__flag{background:var(--gold-leaf);color:#241D08}
html[data-tema="gold"] .pkgcard--hi .btn--ink{
  --bg:var(--gold-leaf); --fg:#241D08; --bd:transparent; --hb:var(--paper); --hf:var(--ink);
}

/* Altın üstünde beyaz yazı soluk kaldığı için koyu zemine çevrilir */
html[data-tema="gold"] .ad__badge{background:var(--ink);color:var(--on-dark)}
html[data-tema="gold"] .tag--new{background:var(--ink);color:var(--on-dark)}
html[data-tema="gold"] .prd__tag--sale{background:var(--ink);color:var(--on-dark)}

/* İnce altın çizgiler biraz daha görünür olsun */
html[data-tema="gold"] .lbl::before,
html[data-tema="gold"] .kick::before{height:2px}
html[data-tema="gold"] .sig{border-left-color:var(--accent)}

/* ---------------------------------------------------------
   TEMA: PEMBE
   Gül beyazı zemin · derin erik tipografi · kırmızımsı pembe
   vurgu ve altın detay.
   --------------------------------------------------------- */
html[data-tema="pembe"]{
  --paper:#FFFBFC;
  --soft:#FCEEF1;
  --sage:#F8E3E8;
  --blush:#FFF3EE;

  --ink:#4A1428;
  --ink-2:#7B3B52;
  --mute:#A9808F;

  --accent:#D6336C;
  --accent-d:#B22456;
  --peach:#C4954A;
  --peach-l:#F5BFCB;

  --grad:linear-gradient(90deg,#D6336C 0%,#C4954A 100%);

  --ink-rgb:74,20,40;
  --paper-rgb:255,251,252;
  --ov-rgb:46,10,26;

  --on-dark:#F5BFCB;
  --on-dark-2:#EFCBA0;
  --flag-fg:#3A2210;

  --ph-warm:linear-gradient(150deg,#FCE3E9,#F6C9D3);
  --ph-sand:linear-gradient(150deg,#FDF0F3,#F2DEE4);
  --ph-deep:linear-gradient(150deg,#6E1D3C,#4A1428);

  --arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%234A1428'><path d='M1 1l4 4 4-4'/></svg>");
}

/* ---------------------------------------------------------
   TEMA: GÖKYÜZÜ
   Açık gökyüzü mavisi zemin · lacivert tipografi · canlı mavi
   vurgu ve sıcak kum detay.
   --------------------------------------------------------- */
html[data-tema="gokyuzu"]{
  --paper:#FAFCFE;
  --soft:#EAF3FB;
  --sage:#DDEBF7;
  --blush:#FFF4EC;

  --ink:#16304D;
  --ink-2:#3E5A78;
  --mute:#8098AF;

  --accent:#2E8BD6;
  --accent-d:#1668A8;
  --peach:#E0A458;
  --peach-l:#BFE0F7;

  --grad:linear-gradient(90deg,#2E8BD6 0%,#E0A458 100%);

  --ink-rgb:22,48,77;
  --paper-rgb:250,252,254;
  --ov-rgb:10,28,48;

  --on-dark:#BFE0F7;
  --on-dark-2:#F0C99A;
  --flag-fg:#2A1A06;

  --ph-warm:linear-gradient(150deg,#FDECDE,#F6D6BC);
  --ph-sand:linear-gradient(150deg,#EDF5FC,#D8E8F5);
  --ph-deep:linear-gradient(150deg,#1F4A73,#16304D);

  --arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%2316304D'><path d='M1 1l4 4 4-4'/></svg>");
}

/* ---------------------------------------------------------
   TEMA: LAVANTA
   Açık lila zemin · derin patlıcan tipografi · leylak vurgu
   ve altın detay.
   --------------------------------------------------------- */
html[data-tema="lavanta"]{
  --paper:#FCFAFE;
  --soft:#F1ECF8;
  --sage:#E7DFF3;
  --blush:#FBF0F4;

  --ink:#2E2140;
  --ink-2:#574A6E;
  --mute:#928AA5;

  --accent:#7C5CC4;
  --accent-d:#63449F;
  --peach:#B08A3E;
  --peach-l:#D6C3F0;

  --grad:linear-gradient(90deg,#7C5CC4 0%,#B08A3E 100%);

  --ink-rgb:46,33,64;
  --paper-rgb:252,250,254;
  --ov-rgb:28,18,42;

  --on-dark:#D6C3F0;
  --on-dark-2:#EBD3A8;
  --flag-fg:#2A1E06;

  --ph-warm:linear-gradient(150deg,#F6E9F2,#E7D2E8);
  --ph-sand:linear-gradient(150deg,#F3EEFA,#E2D9F0);
  --ph-deep:linear-gradient(150deg,#4A3568,#2E2140);

  --arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none' stroke='%232E2140'><path d='M1 1l4 4 4-4'/></svg>");
}

/* ---------- 2. base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.is-locked{overflow:hidden}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--s);font-weight:400;font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-loading{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
svg{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:2px solid var(--accent-d);outline-offset:3px}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad)}
section{position:relative}

/* fotoğraf katmanı: hafif gren + görsel gelmezse yumuşak degrade */
.ph{position:relative;overflow:hidden;background:var(--soft);margin:0}
.ph::after{
  content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.22;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='.18'/></svg>");
}
.ph img{width:100%;height:100%;object-fit:cover}
.ph--warm{background:var(--ph-warm)}
.ph--sand{background:var(--ph-sand)}
.ph--deep{background:var(--ph-deep)}
.ph.is-broken img{display:none}

/* ---------- 3. type ---------- */
.disp{font-family:var(--d);font-weight:700;letter-spacing:-.028em;line-height:1.06;margin:0}
.disp i{font-style:normal;font-weight:400;color:var(--accent-d)}
/* NOT: .h1 bilerek tanımlanmadı. Sayfa başlıkları "disp h1 splt" ile
   yazılıyor ama boyutu h1 öğesinin kendi kuralından geliyor ve tasarım
   böyle kurgulanmış. .h1'e ölçü vermek bütün sayfa başlıklarını
   büyütüp arama formuyla çakıştırıyordu. */
.h2{font-size:clamp(1.95rem,4.1vw,3.35rem)}
.h3{font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.14}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1.02rem,1.4vw,1.22rem);color:var(--ink-2);line-height:1.66}
/* Küçük açıklama satırı (fiyat notu, form altı uyarı) */
.tiny{font-size:.8rem;line-height:1.65;color:var(--mute)}

/* Dar okuma kolonu — uzun metinlerde satır uzunluğunu sınırlar.
   .shell--n tanımsızdı, yasal metinler sayfa boyunca uzuyordu. */
.shell--n{max-width:820px}

/* Zengin metin gövdesi (hakkımızda, KVKK, hizmet grubu, bölge sayfası).
   Bu sınıfın da kuralı yoktu: paragraf, başlık ve listeler tarayıcı
   varsayılanıyla çıkıyordu. */
.article{font-size:1rem;line-height:1.85;color:var(--ink-2)}
.article>*:first-child{margin-top:0}
.article p{margin:0 0 1.2em}
.article h2{
  font-family:var(--d);font-weight:700;font-size:clamp(1.2rem,2vw,1.55rem);
  letter-spacing:-.02em;line-height:1.2;color:var(--ink);margin:2em 0 .6em;
}
.article h3{
  font-family:var(--d);font-weight:600;font-size:clamp(1.05rem,1.5vw,1.24rem);
  letter-spacing:-.015em;color:var(--ink);margin:1.7em 0 .5em;
}
.article ul,.article ol{margin:0 0 1.3em;padding-left:22px}
.article li{margin-bottom:.55em}
.article a{color:var(--accent-d);border-bottom:1px solid currentColor}
/* Zengin metin içindeki karşılaştırma tabloları. Sarmalayıcı kutu
   KULLANILAMIYOR: panel kaydederken div'i ve class'ı siliyor
   (crud_temizHtml). Bu yüzden tablo sarmalayıcısız duyarlı olmalı —
   üç kısa kolonla 320px'te de sığıyor, hücreler sarıyor. */
.article table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.93rem}
.article th,.article td{padding:11px 12px 11px 0;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line-2);overflow-wrap:break-word}
.article thead th{font-family:var(--d);font-size:.66rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute);padding-bottom:9px}
.article tbody tr:last-child td{border-bottom:0}
@media (max-width:560px){
  .article table{font-size:.86rem}
  .article th,.article td{padding:9px 8px 9px 0}
}
.article blockquote{
  margin:1.8em 0;padding:20px 26px;background:var(--soft);border-left:3px solid var(--accent);
  font-family:var(--d);font-weight:600;font-size:1.06rem;letter-spacing:-.015em;color:var(--ink);
}
.article article+article{margin-top:2.6em;padding-top:2.2em;border-top:1px solid var(--line)}

.lbl{
  display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--accent-d);margin-bottom:1.5rem;
}
.lbl::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--grad)}
.lbl--light{color:var(--on-dark)}
.lbl--light::before{background:linear-gradient(90deg,var(--on-dark),var(--on-dark-2))}

.kick{
  display:inline-flex;align-items:center;gap:10px;font-size:.68rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--accent-d);margin-bottom:1.4rem;
}
.kick::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--grad)}

.lnk{
  position:relative;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding-bottom:4px;white-space:nowrap;color:var(--accent-d);
}
.lnk::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform-origin:right;transition:transform .5s var(--ease)}
.lnk:hover::after{transform:scaleX(0);transform-origin:left}

.sechead{max-width:820px;margin-bottom:clamp(38px,5vw,68px)}
.sechead--split{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.sechead__note{max-width:420px;color:var(--mute);font-size:.94rem;margin:1rem 0 0}
.sechead--split .sechead__note{margin-bottom:6px}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.on{opacity:1;transform:none}
.splt .ln-w{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.splt .ln-i{display:block;transform:translateY(105%);transition:transform 1s var(--ease)}
.splt.on .ln-i{transform:none}
.splt.on .ln-i:nth-child(2){transition-delay:.08s}
.splt.on .ln-i:nth-child(3){transition-delay:.16s}

/* ---------- 4. buttons ---------- */
.btn{
  --bg:var(--accent-d);--fg:#fff;--bd:var(--accent-d);--hb:var(--ink);--hf:#fff;
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  height:54px;padding:0 30px;border:1px solid var(--bd);background:var(--bg);color:var(--fg);
  font-family:var(--d);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  overflow:hidden;isolation:isolate;cursor:pointer;
  transition:color .4s var(--ease),border-color .4s var(--ease);
}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hb);transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover{color:var(--hf);border-color:var(--hb)}
.btn:hover::before{transform:translateY(0)}
.btn--sm{height:42px;padding:0 20px;font-size:.66rem}
.btn--full{width:100%}
.btn--ink{--bg:var(--accent-d);--fg:#fff;--bd:var(--accent-d);--hb:var(--ink);--hf:#fff}
.btn--bone{--bg:#fff;--fg:var(--ink);--bd:#fff;--hb:var(--accent-d);--hf:#fff}
.btn--out{--bg:transparent;--fg:var(--ink);--bd:var(--line);--hb:var(--ink);--hf:#fff}

/* ---------- loader ---------- */
.loader{
  position:fixed;inset:0;z-index:200;background:var(--paper);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  transition:clip-path 1.1s var(--ease-io);clip-path:inset(0 0 0 0);
}
.loader.is-out{clip-path:inset(0 0 100% 0)}
.loader__inner{text-align:center;position:relative}
/* flex + justify-content ŞART: <picture> blok olunca tüm genişliği
   kaplıyor, içindeki display:block resme text-align:center işlemiyor
   ve amblem yazının soluna kayıyordu. */
.loader__logo{display:flex;justify-content:center;margin:0 0 22px;
  animation:lmark 1.1s var(--ease) both}
.loader__logo img{display:block;width:auto;height:clamp(84px,14vw,132px)}
.loader__mark{
  display:block;font-family:var(--d);font-weight:700;font-size:clamp(1.35rem,4vw,2.4rem);
  letter-spacing:.22em;text-indent:.22em;animation:lmark 1.4s var(--ease) both;
}
.loader__sub{
  display:block;margin-top:12px;font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--mute);animation:lmark 1.4s .15s var(--ease) both;
}
@keyframes lmark{from{opacity:0;filter:blur(9px);letter-spacing:.42em}to{opacity:1;filter:none}}
.loader__meter{position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--line-2)}
.loader__meter i{display:block;height:100%;width:0;background:var(--grad);transition:width .25s linear}
.loader__num{position:absolute;right:var(--pad);bottom:26px;font-size:.7rem;letter-spacing:.2em;color:var(--mute)}

.scrollbar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--grad);z-index:120;transition:width .12s linear}

/* imleç */
.cursor{position:fixed;top:0;left:0;z-index:190;pointer-events:none;opacity:0;transition:opacity .3s}
.cursor__dot,.cursor__ring{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}
.cursor__dot{width:5px;height:5px;background:var(--ink)}
.cursor__ring{width:34px;height:34px;border:1px solid rgba(var(--ink-rgb),.35);transition:width .3s var(--ease),height .3s var(--ease),background .3s,border-color .3s}
.cursor__label{
  position:absolute;transform:translate(-50%,-50%);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;opacity:0;transition:opacity .25s;white-space:nowrap;
}
.cursor.is-big .cursor__ring{width:74px;height:74px;background:var(--ink);border-color:var(--ink)}
.cursor.is-big .cursor__dot{opacity:0}
.cursor.is-big .cursor__label{opacity:1}
.cursor.is-inv .cursor__dot{background:#fff}
.cursor.is-inv .cursor__ring{border-color:rgba(255,255,255,.6)}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- 5. header ---------- */
.topbar{background:var(--ink);color:rgba(var(--paper-rgb),.82);font-size:.71rem;letter-spacing:.08em;position:relative;z-index:60;overflow:hidden}
.topbar__in{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar__rot{height:38px;overflow:hidden}
.topbar__rot ul{list-style:none;margin:0;padding:0;transition:transform .7s var(--ease)}
.topbar__rot li{height:38px;line-height:38px;white-space:nowrap}
.topbar__links{display:flex;align-items:center;gap:10px}
.topbar__links a:hover{color:#fff}
.topbar .sep{opacity:.4}
.topbar__lang span{opacity:.45;margin-left:6px}

.head{
  position:sticky;top:0;z-index:70;color:var(--ink);
  background:rgba(var(--paper-rgb),.94);backdrop-filter:blur(12px);
  transition:box-shadow .5s var(--ease);
}
/* Başlık şeridi sayfa gövdesinden GENİŞTİR.
   Menüye bir madde daha eklenince (Öncesi / Sonrası) 1360px'lik gövde
   genişliğinde sıkışıyor, "Öncesi / Sonrası" bölü işaretinden ve
   "Randevu Al" boşluktan iki satıra kırılıyordu. Üst şerit de aynı
   genişliği kullanır, yoksa logo ile üstteki metin hizasız kalırdı. */
.head__in,.topbar__in{max-width:var(--shell-wide);margin-inline:auto}
.head__in{display:flex;align-items:center;justify-content:space-between;gap:clamp(18px,2vw,34px);height:var(--head-h);position:relative}
.head::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--line-2)}
.head.is-solid{box-shadow:0 6px 24px -22px rgba(var(--ink-rgb),.8)}

/* Marka kilidi: amblem solda, yazı sağda İKİ SATIR —
   "BELLE AMORE" üstte, "BEAUTY" altında. Logodaki düzenin aynısı.
   Eskiden üçü tek satırdaydı ve "BEAUTY" yanda duruyordu. */
.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
.brand__ic{display:block;flex:none}
.brand__ic img{display:block;width:auto;height:34px}
.brand__txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.brand__word{font-family:var(--d);font-weight:700;font-size:1.02rem;letter-spacing:.19em;line-height:1;white-space:nowrap}
/* Alt satır artık YATAY YER KAPLAMIYOR (kelimenin altında), bu yüzden
   dar ekranlarda gizlenmesi gerekmiyor — eskiden üst menü sıkışmasın
   diye ≤1320px ve ≤760px'te display:none yapılıyordu. */
.brand__tag{font-size:.54rem;font-weight:500;letter-spacing:.28em;line-height:1;
  text-transform:uppercase;opacity:.7;white-space:nowrap}

.nav{display:flex;align-items:center;gap:clamp(14px,1.9vw,32px);color:var(--ink)}
/* nowrap ŞART: menü maddeleri iki satıra bölünürse başlık şeridinin
   yüksekliği bozuluyor ve maddeler birbirine giriyor. */
.nav a{position:relative;font-family:var(--d);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:6px 0;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}

.head__act{display:flex;align-items:center;gap:clamp(8px,1.1vw,16px);color:var(--ink);flex:none}
/* Randevu düğmesi ne bölünsün ne de ezilsin */
.head__cta{white-space:nowrap;flex:none}
.brand{flex:none}
.ico{position:relative;width:34px;height:34px;display:grid;place-items:center;color:inherit;transition:color .5s,opacity .3s}
.ico svg{width:19px;height:19px}
.ico:hover{opacity:.65}


.burger{display:none;width:34px;height:34px;flex-direction:column;justify-content:center;gap:6px;color:inherit}
.burger i{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.burger.is-on i:first-child{transform:translateY(3.75px) rotate(45deg)}
.burger.is-on i:last-child{transform:translateY(-3.75px) rotate(-45deg)}

/* mega */
.mega{
  position:absolute;left:0;top:100%;width:100%;background:var(--paper);border-top:1px solid var(--line-2);
  box-shadow:0 26px 50px -40px rgba(var(--ink-rgb),.4);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.4s var(--ease);
}
.mega.is-on{opacity:1;visibility:visible;transform:none}
.mega__in{display:grid;grid-template-columns:repeat(3,1fr) 300px;gap:40px;padding-block:44px}
.mega__in--svc{grid-template-columns:repeat(4,1fr);gap:34px}
.mega__all{margin-top:auto;padding-top:14px;font-weight:500;color:var(--accent-d)!important}

/* hizmet grupları (hizmetler sayfası) */
.svcgrp{margin-bottom:clamp(30px,4vw,52px)}
.svcgrp__t{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 4px;
  font-family:var(--d);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-d);
}
.svcgrp__t em{font-style:normal;font-family:var(--s);font-size:.76rem;letter-spacing:.04em;text-transform:none;color:var(--mute)}
.svcd__not{margin-top:20px;padding:13px 16px;background:var(--soft);border-left:3px solid var(--peach);font-size:.88rem;color:var(--ink-2)}
.pkgd__buy small{font-family:var(--s);font-size:.8rem;font-weight:400;color:var(--mute)}
.mega__col{display:flex;flex-direction:column;gap:11px}
.mega__col .lbl{margin-bottom:6px}
.mega__col a{font-size:.94rem;color:var(--ink-2);width:fit-content;position:relative;transition:color .3s}
.mega__col a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.mega__col a:hover{color:var(--accent-d)}
.mega__col a:hover::after{transform:scaleX(1)}
.mega__promo{display:block}
.mega__promo figure{aspect-ratio:16/10}
.mega__promo img{transition:transform .8s var(--ease)}
.mega__promo:hover img{transform:scale(1.05)}
.mega__promo-txt{display:block;margin-top:12px;font-size:.84rem;color:var(--mute)}
.mega__promo-txt em{display:block;font-style:normal;font-family:var(--d);font-weight:600;font-size:.98rem;color:var(--ink);margin-bottom:3px}

/* mobil menü */
.mnav{
  position:fixed;inset:0;z-index:65;color:var(--paper);background:var(--ink);
  padding:calc(var(--head-h) + 60px) var(--pad) 40px;
  display:flex;flex-direction:column;justify-content:space-between;
  clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease-io);
}
.mnav.is-on{clip-path:inset(0 0 0 0)}
.mnav__list{display:flex;flex-direction:column}
.mnav__list a{
  display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--light-line);
  font-family:var(--d);font-weight:600;font-size:clamp(1.2rem,4.6vw,1.7rem);letter-spacing:-.015em;
  opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);
}
.mnav.is-on .mnav__list a{opacity:1;transform:none}
.mnav__list a i{font-style:normal;font-family:var(--s);font-size:.64rem;letter-spacing:.2em;color:var(--on-dark)}
.mnav__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.mnav__foot a:first-child{font-size:1.1rem}
.mnav .btn--ink{--bg:var(--paper);--fg:var(--ink);--bd:var(--paper);--hb:var(--accent-d);--hf:#fff}

/* ---------- taslak önizleme şeridi ----------
   Yalnızca panelde oturumu açık yöneticiye görünür; ziyaretçi bu
   sayfada 404 alır. Sayfanın en üstüne oturur, tasarımı bozmasın diye
   akışın içinde durur (sabitlenmez). */
.taslakbar{
  position:relative;z-index:60;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:11px clamp(16px,4vw,40px);
  background:#8A5A00;color:#fff;font-size:.84rem;line-height:1.5;
}
.taslakbar__t{
  flex:none;padding:3px 9px;border-radius:20px;background:rgba(255,255,255,.2);
  font-size:.66rem;font-weight:700;letter-spacing:.14em;
}
.taslakbar b{font-weight:700}
.taslakbar a{margin-left:auto;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);white-space:nowrap}
.taslakbar a:hover{border-color:#fff}
@media (max-width:640px){
  .taslakbar{font-size:.79rem;gap:9px}
  .taslakbar a{margin-left:0;flex-basis:100%}
}

/* ---------- 6. hero ---------- */
/* tam genişlikte ama alçak editoryal bant — sayfayı boydan boya kaplamaz */
.hero{
  position:relative;color:#fff;overflow:hidden;
  width:100%;height:clamp(420px,44vw,540px);
}
.hero__stage{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease),visibility 1.1s}
.slide.is-active{opacity:1;visibility:visible}
.slide__media{position:absolute;inset:0}
/* Karartma oranı panelden ayarlanır: --ov1/--ov2/--ov3 slayt üzerinde
   satır içi olarak verilir, verilmezse eski görünüm aynen korunur. */
.slide__media::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(98deg,
    rgba(var(--ov-rgb),var(--ov1,.84)) 0%,
    rgba(var(--ov-rgb),var(--ov2,.56)) 46%,
    rgba(var(--ov-rgb),var(--ov3,.1)) 100%);
}
.slide__media img{transform:scale(1.12);transition:transform 8s linear}
.slide.is-active .slide__media img{transform:scale(1)}

.slide__copy{
  position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;
  padding-bottom:52px;
}
.slide .disp,.slide__txt{max-width:540px}
.slide .kick{color:var(--on-dark);transition-delay:.15s;margin-bottom:1rem}
.slide .kick::before{background:linear-gradient(90deg,var(--on-dark),var(--on-dark-2))}
.slide .disp{font-size:clamp(1.6rem,3.3vw,2.65rem);line-height:1.16;margin-bottom:1.1rem}
.slide .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.slide .ln b{display:block;font-weight:700;transform:translateY(108%);transition:transform 1.05s var(--ease)}
.slide.is-active .ln b{transform:none}
.slide.is-active .ln:nth-child(1) b{transition-delay:.25s}
.slide.is-active .ln:nth-child(2) b{transition-delay:.34s}
.slide.is-active .ln:nth-child(3) b{transition-delay:.43s}
.slide .ln i{font-style:normal;font-weight:400;color:var(--on-dark-2)}
.slide__txt{max-width:420px;color:rgba(255,255,255,.84);font-size:.93rem;line-height:1.62;margin-bottom:0;transition-delay:.5s}
/* H1'in içindeki konum satırı (views/anasayfa.php). Görünür, küçük ve
   .kick ile aynı dilde; başlığın devasa puntosunu devralmaması için
   font-size/weight/letter-spacing burada sıfırlanıyor — .disp
   kalıtımıyla 4rem'lik bir satır çıkardı. */
.disp__loc{
  display:block;margin-top:1.1rem;
  font-family:var(--d);font-size:.68rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;line-height:1.4;color:rgba(255,255,255,.72);
}
.slide__act{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:1.5rem;transition-delay:.6s}
.slide__act .btn{height:48px;padding:0 26px}
.slide__act .lnk{color:#fff}
.slide.is-active .reveal{opacity:1;transform:none}

/* ---- panelden ayarlanan slayt seçenekleri ---- */
.slide__badge{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  padding:6px 14px;margin-bottom:14px;border:1px solid rgba(255,255,255,.34);
  border-radius:40px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(4px);
}
.slide__note{
  margin-top:1.1rem;font-size:.8rem;letter-spacing:.02em;
  color:rgba(255,255,255,.62);transition-delay:.68s;
}
.slide__act .btn--line{
  background:none;color:#fff;border:1px solid rgba(255,255,255,.45);
}
.slide__act .btn--line:hover{background:#fff;color:var(--ink);border-color:#fff}

/* yatay hizalama */
.slide--orta .slide__copy{align-items:center;text-align:center}
.slide--orta .disp,.slide--orta .slide__txt{max-width:640px;margin-left:auto;margin-right:auto}
.slide--orta .slide__act{justify-content:center}
.slide--orta .slide__badge{align-self:center}
.slide--orta .kick::before{display:none}
.slide--sag .slide__copy{align-items:flex-end;text-align:right}
.slide--sag .slide__act{justify-content:flex-end}
.slide--sag .slide__badge{align-self:flex-end}
.slide--sag .kick::before{display:none}

/* dikey konum */
.slide--ust .slide__copy{justify-content:flex-start;padding-top:clamp(38px,7vw,74px)}
.slide--alt .slide__copy{justify-content:flex-end;padding-bottom:clamp(78px,9vw,104px)}

/* açık fotoğrafta koyu yazı */
.slide--koyu .slide__copy{color:var(--ink)}
.slide--koyu .kick{color:var(--accent-d)}
.slide--koyu .kick::before{background:linear-gradient(90deg,var(--accent),var(--accent-d))}
.slide--koyu .ln i{color:var(--accent-d)}
.slide--koyu .slide__txt{color:var(--ink-2)}
.slide--koyu .slide__note{color:var(--mute)}
.slide--koyu .slide__badge{border-color:rgba(var(--ink-rgb),.2);background:rgba(255,255,255,.55);color:var(--ink)}
.slide--koyu .slide__act .lnk{color:var(--ink)}
.slide--koyu .slide__act .btn--line{color:var(--ink);border-color:rgba(var(--ink-rgb),.3)}
.slide--koyu .slide__act .btn--line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* yakınlaşma efekti kapalıysa */
.slide--nozoom .slide__media img{transform:none;transition:none}
.slide--nozoom.is-active .slide__media img{transform:none}

@media (max-width:760px){
  .slide--sag .slide__copy,.slide--orta .slide__copy{align-items:flex-start;text-align:left}
  .slide--sag .slide__act,.slide--orta .slide__act{justify-content:flex-start}
}

.hero__ui{position:absolute;left:0;right:0;bottom:22px;z-index:4;display:flex;align-items:center;gap:22px}
.hero__dots{display:flex;gap:10px;flex:1;max-width:190px}
.hero__dots button{position:relative;flex:1;height:2px;background:rgba(255,255,255,.3);overflow:hidden}
.hero__dots button i{position:absolute;inset:0;width:0;background:#fff;display:block}
.hero__dots button.is-on i{width:100%;transition:width 6.5s linear}
.hero__nums{display:flex;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.18em;color:rgba(255,255,255,.62)}
.hero__nums span:first-child{color:#fff}
.hero__nums i{width:26px;height:1px;background:rgba(255,255,255,.38)}
.hero__arrows{margin-left:auto;display:flex;gap:8px}
.hero__arrows button{width:44px;height:44px;border:1px solid rgba(255,255,255,.32);display:grid;place-items:center;transition:background .4s var(--ease),color .4s,border-color .4s}
.hero__arrows svg{width:20px;height:10px}
.hero__arrows button:hover{background:#fff;color:var(--ink);border-color:#fff}

/* dar bantta yer kaplamamaları için gizli; geniş ekranda üst köşede künye */
.hero__side{
  position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:4;
  width:min(100% - 2 * var(--pad), var(--shell) - 2 * var(--pad));
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap;
}
.hero__side i{width:26px;height:1px;background:rgba(255,255,255,.35)}
.hero__scroll{display:none}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;padding-block:17px;background:var(--soft);color:var(--ink)}
.ticker__row{display:flex;gap:22px;align-items:center;width:max-content;animation:tick 52s linear infinite}
.ticker__row span{font-family:var(--d);font-weight:600;font-size:clamp(.66rem,.9vw,.78rem);letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.ticker__row b{font-weight:400;color:var(--peach)}
.ticker:hover .ticker__row{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- 7. story ---------- */
.story{padding-block:clamp(80px,11vw,150px)}
.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.story__media{position:relative;padding-bottom:70px}
.story__img{will-change:transform}
.story__img--a{aspect-ratio:4/5}
.story__img--b{position:absolute;right:-6%;bottom:0;width:46%;aspect-ratio:1/1;box-shadow:-22px -22px 0 var(--paper)}
.story__stamp{
  position:absolute;left:-14px;top:26px;display:flex;align-items:center;gap:10px;
  writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.3em;color:var(--mute);
}
.story__stamp i{width:1px;height:40px;background:var(--peach)}
.story__body .h2{margin-bottom:1.6rem}
.story__body p{color:var(--ink-2)}
.sig{margin-top:2.2rem;padding-left:20px;border-left:2px solid var(--accent)}
.sig__name{display:block;font-family:var(--d);font-weight:600;font-size:1.05rem}
.sig__role{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:4px}

.stats{list-style:none;margin:3.2rem 0 0;padding:26px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid var(--line)}
.stats b{display:block;font-family:var(--d);font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.stats span{display:block;font-size:.71rem;letter-spacing:.1em;color:var(--mute);margin-top:6px}

/* ---------- 8. services ---------- */
.svc{padding-block:clamp(70px,9vw,120px);background:var(--soft)}
.svc__list{position:relative}
.svcrow{
  position:relative;display:grid;grid-template-columns:56px 1fr 1.1fr auto;gap:26px;align-items:center;
  padding:30px 0;border-top:1px solid var(--line);
}
.svcrow:last-of-type{border-bottom:1px solid var(--line)}
/* hover vurgusu satırın iki yanına taşar; taşma payı asla sayfa
   kenar boşluğunu geçmemeli — yoksa dar ekranda yatay kayma olur */
.svcrow::before{content:"";position:absolute;top:0;bottom:0;
  left:calc(-1 * min(24px, var(--pad)));right:calc(-1 * min(24px, var(--pad)));
  background:var(--paper);opacity:0;transition:opacity .45s var(--ease);z-index:-1}
.svcrow:hover::before{opacity:1}
.svcrow__n{font-style:normal;font-size:.68rem;letter-spacing:.16em;color:var(--peach)}
.svcrow h3{margin:0;font-family:var(--d);font-weight:600;font-size:clamp(1.05rem,1.8vw,1.5rem);letter-spacing:-.015em;line-height:1.2;transition:transform .5s var(--ease),color .4s}
.svcrow:hover h3{transform:translateX(10px);color:var(--accent-d)}
.svcrow p{margin:0;color:var(--mute);font-size:.92rem;max-width:420px}
.svcrow__meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.72rem;letter-spacing:.1em;color:var(--mute);white-space:nowrap}
.svcrow__meta em{font-style:normal;font-family:var(--d);font-weight:600;font-size:.9rem;letter-spacing:0;color:var(--ink)}
.svc__peek{
  position:absolute;top:0;left:0;width:250px;height:320px;pointer-events:none;z-index:5;
  box-shadow:0 22px 44px -26px rgba(var(--ink-rgb),.45);
  opacity:0;transform:translate(-50%,-50%) scale(.9);transition:opacity .4s var(--ease),transform .5s var(--ease);
}
.svc__peek.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* ---------- 9. packages ---------- */
.pkg{padding-block:clamp(80px,10vw,140px)}
.pkg__switch{position:relative;display:inline-flex;border:1px solid var(--line);padding:4px;background:var(--paper)}
.pkg__switch button{position:relative;z-index:2;padding:11px 22px;font-family:var(--d);font-size:.7rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);transition:color .4s}
.pkg__switch button.is-on{color:#fff}
.pkg__pill{position:absolute;top:4px;left:4px;height:calc(100% - 8px);background:var(--ink);transition:transform .5s var(--ease),width .5s var(--ease);z-index:1}
.pkg__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);align-items:stretch}
.pkgcard{
  position:relative;display:flex;flex-direction:column;padding:clamp(26px,3vw,40px);
  border:1px solid var(--line);background:var(--paper);
  transition:border-color .5s,transform .6s var(--ease),box-shadow .6s var(--ease);
}
.pkgcard:hover{border-color:rgba(var(--ink-rgb),.3);transform:translateY(-5px);box-shadow:0 26px 50px -40px rgba(var(--ink-rgb),.45)}
.pkgcard--hi{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pkgcard--hi:hover{transform:translateY(-7px);box-shadow:0 30px 56px -34px rgba(var(--ink-rgb),.6)}
.pkgcard__flag{
  position:absolute;top:0;right:clamp(26px,3vw,40px);transform:translateY(-50%);
  background:var(--peach);color:var(--flag-fg);font-family:var(--d);font-weight:700;font-size:.6rem;
  letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;
}
.pkgcard__n{display:block;font-family:var(--d);font-weight:700;font-size:1.02rem;letter-spacing:.16em;text-transform:uppercase}
.pkgcard__d{margin:.7rem 0 0;font-size:.89rem;color:var(--mute);min-height:66px}
.pkgcard--hi .pkgcard__d{color:rgba(var(--paper-rgb),.66)}
/* Fiyat bloğunun yerini alan kampanya etiketi. Fiyat yayınlanmadığı
   için görünen tek rakam yüzdelik indirimdir. Kampanya yoksa aynı
   yükseklikte açıklama satırı basılır, kartlar birbirini tutsun. */
.pkgcard__camp{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  margin:26px 0 22px;padding-bottom:22px;border-bottom:1px solid var(--line);min-height:76px;
}
.pkgcard--hi .pkgcard__camp{border-color:var(--light-line)}
.pkgcard__camp b{
  font-family:var(--d);font-weight:700;font-size:clamp(1.75rem,2.9vw,2.35rem);
  letter-spacing:-.03em;line-height:1;color:var(--accent-d);
}
.pkgcard--hi .pkgcard__camp b{color:var(--on-dark)}
.pkgcard__camp>span{
  display:flex;flex-direction:column;gap:4px;
  font-family:var(--d);font-weight:600;font-size:.86rem;letter-spacing:.04em;
}
.pkgcard__camp em{font-style:normal;font-family:var(--s);font-weight:400;font-size:.73rem;color:var(--mute)}
.pkgcard--hi .pkgcard__camp em{color:rgba(var(--paper-rgb),.6)}
/* Kampanyasız kart: rakam yok, yalnızca açıklama */
.pkgcard__camp--bos>span{font-weight:500;font-size:.82rem;color:var(--mute);letter-spacing:.02em}
.pkgcard--hi .pkgcard__camp--bos>span{color:rgba(var(--paper-rgb),.66)}
.pkgcard__list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}
.pkgcard__list li{position:relative;padding-left:22px;font-size:.89rem;color:var(--ink-2)}
.pkgcard--hi .pkgcard__list li{color:rgba(var(--paper-rgb),.86)}
.pkgcard__list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:5px;border:solid var(--accent);border-width:0 0 1.5px 1.5px;transform:rotate(-45deg)}
.pkgcard--hi .pkgcard__list li::before{border-color:var(--peach)}
.pkgcard--hi .btn--ink{--bg:var(--paper);--fg:var(--ink);--bd:var(--paper);--hb:var(--accent-d);--hf:#fff}
.pkgcard__note{display:block;margin-top:14px;font-size:.71rem;letter-spacing:.06em;color:var(--mute);text-align:center}
.pkgcard--hi .pkgcard__note{color:rgba(var(--paper-rgb),.55)}
.pkg__legal{margin:38px 0 0;max-width:760px;font-size:.78rem;line-height:1.75;color:var(--mute)}

/* ---------- 11. compare ---------- */
.cmp{padding-block:clamp(80px,10vw,140px)}
.cmp__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,6vw,90px);align-items:center}
.cmp__body p{color:var(--ink-2);max-width:480px}
.cmp__body .h2{margin-bottom:1.5rem}
.cmp__facts{list-style:none;margin:2rem 0;padding:0;border-top:1px solid var(--line)}
.cmp__facts li{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.89rem}
.cmp__facts b{flex:0 0 110px;font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding-top:3px}
.cmp__facts span{color:var(--ink-2)}
.cmp__box{position:relative;aspect-ratio:4/5;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:pan-y}
.cmp__ph{position:absolute;inset:0}
.cmp__ph--before img{filter:saturate(.72) contrast(.94) brightness(.98)}
.cmp__ph--top{clip-path:inset(0 0 0 50%)}
.cmp__tag{position:absolute;bottom:18px;z-index:4;background:rgba(var(--ink-rgb),.72);color:#fff;font-family:var(--d);font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:7px 13px;backdrop-filter:blur(3px)}
.cmp__tag--l{left:18px}
.cmp__tag--r{right:18px}
.cmp__handle{position:absolute;top:0;bottom:0;left:50%;z-index:5;width:2px;transform:translateX(-1px)}
.cmp__handle i{position:absolute;inset:0;background:#fff}
.cmp__handle b{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;
  background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:0 6px 20px rgba(var(--ink-rgb),.28);
}
.cmp__handle svg{width:26px;height:11px;stroke-width:1.5}
.cmp__act{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* ---------- öncesi / sonrası sayfası ---------- */
.bag{padding-block:clamp(44px,5vw,76px) clamp(60px,7vw,100px)}
/* İki sütunda kartlar 660x825px'e çıkıyordu; iki çalışma ekranı
   dolduruyor, sayfa katalog gibi taranamıyordu. auto-fill ile geniş
   ekranda üç, tablette iki, telefonda tek sütuna iniyor. */
.bag__grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));
  gap:clamp(20px,2.4vw,34px);
}
/* İki sütuna düşen orta bantta ızgara sınırlanır. auto-fill artan
   genişliği sütunlara dağıttığı için kartlar burada üç sütunlu
   düzendekinden BÜYÜK çıkıyordu (1100px'te 482x642'ye karşı 383x510);
   kap daraltılınca ölçü bütün genişliklerde birbirini tutuyor. */
@media (min-width:761px) and (max-width:1180px){
  .bag__grid{max-width:820px;margin-inline:auto}
}
.bag__i{display:flex;flex-direction:column}
.bag__box{
  position:relative;aspect-ratio:3/4;overflow:hidden;
  cursor:ew-resize;user-select:none;touch-action:pan-y;background:var(--soft);
}
.bag__ph{position:absolute;inset:0;margin:0}
.bag__ph img{width:100%;height:100%;object-fit:cover}
/* Öncesi karesi hafif soluk: iki fotoğraf arasındaki fark, kaydırma
   sırasında gözle daha kolay ayrılsın. */
.bag__ph:not(.bag__ph--top) img{filter:saturate(.72) contrast(.94) brightness(.98)}
.bag__ph--top{clip-path:inset(0 0 0 50%)}
.bag__handle{position:absolute;top:0;bottom:0;left:50%;z-index:5;width:2px;transform:translateX(-1px)}
.bag__handle i{position:absolute;inset:0;background:#fff}
/* Kart küçüldüğü için tutamak da küçüldü; 46px kutuyu boğuyordu. */
.bag__handle b{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:#fff;color:var(--ink);box-shadow:0 6px 22px -8px rgba(var(--ink-rgb),.6);
}
.bag__handle svg{width:21px;height:9px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Öncesi/Sonrası etiketleri de bir tık küçülür */
.bag__box .cmp__tag{bottom:12px;font-size:.55rem;padding:5px 10px}
.bag__box .cmp__tag--l{left:12px}
.bag__box .cmp__tag--r{right:12px}
.bag__handle:focus-visible{outline:0}
.bag__handle:focus-visible b{box-shadow:0 0 0 3px var(--accent)}

.bag__x{padding-top:14px}
.bag__t{margin:0 0 6px;font-family:var(--d);font-weight:700;font-size:1.02rem;letter-spacing:-.02em;line-height:1.35}
.bag__d{margin:0;font-size:.87rem;line-height:1.65;color:var(--ink-2)}
.bag__facts{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
.bag__facts li{display:flex;gap:12px;padding:5px 0;font-size:.82rem}
.bag__facts b{flex:0 0 80px;font-weight:600;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:3px}
.bag__facts span{color:var(--ink-2)}
.bag__note{
  margin:clamp(34px,4vw,56px) 0 0;padding-top:20px;border-top:1px solid var(--line);
  font-size:.84rem;line-height:1.7;color:var(--mute);max-width:70ch;
}

/* ---------- 12. team ---------- */
.team{padding-block:clamp(70px,9vw,120px);background:var(--sage)}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.tm figure{aspect-ratio:3/4;margin-bottom:16px}
.tm figure img{filter:saturate(.62);transition:filter .7s var(--ease),transform 1.1s var(--ease)}
.tm:hover figure img{filter:saturate(1);transform:scale(1.04)}
.tm h3{margin:0;font-family:var(--d);font-weight:600;font-size:1.02rem;letter-spacing:-.01em}
.tm__a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .3s var(--ease),color .3s var(--ease)}
.tm__a:hover,.tm__a:focus-visible{color:var(--accent-d);text-decoration-color:currentColor}
.tm span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);margin:5px 0 8px}
.tm p{margin:0;font-size:.85rem;color:var(--mute)}

/* ---------- 13. quotes ---------- */
.say{padding-block:clamp(80px,10vw,140px);background:var(--blush)}
.say__in{text-align:center;position:relative}
.say__stage{position:relative;min-height:250px;max-width:900px;margin-inline:auto}
.say__q{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease);pointer-events:none}
.say__q.is-active{opacity:1;transform:none;pointer-events:auto}
.say__q p{font-family:var(--d);font-weight:500;font-size:clamp(1.05rem,2vw,1.6rem);letter-spacing:-.015em;line-height:1.52;margin:0 0 28px}
.say__q footer b{display:block;font-weight:600;font-size:.88rem;letter-spacing:.06em}
.say__q footer span{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d);margin-top:5px}
.say__ui{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:26px;flex-wrap:wrap}
.say__ui button{width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;transition:background .4s,color .4s,border-color .4s}
.say__ui button svg{width:20px;height:10px}
.say__ui button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.say__dots{display:flex;gap:8px}
.say__dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(var(--ink-rgb),.2);padding:0;transition:width .35s var(--ease),background .35s}
.say__dots button.is-on{background:var(--accent-d);width:20px;border-radius:999px}
.say__rate{flex-basis:100%;font-size:.71rem;letter-spacing:.14em;color:var(--mute);margin-top:8px}

/* Google puanı özeti (uydurma yorum yerine gerçek puan) */
.gscore{max-width:520px;margin-inline:auto;text-align:center}
.gscore__n{display:block;font-family:var(--d);font-weight:700;font-size:clamp(3rem,7vw,4.6rem);letter-spacing:-.04em;line-height:1}
.gscore__stars{display:inline-flex;gap:5px;margin:14px 0 10px}
.gscore__stars i{width:17px;height:17px;background:var(--peach);
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.gscore__t{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.gscore__d{margin:18px auto 26px;max-width:420px;color:var(--ink-2)}

/* ---------- Google'dan çekilen yorum kartları ---------- */
.gsay{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
  gap:clamp(16px,2vw,26px);margin-top:clamp(38px,4.4vw,60px);text-align:left;
}
.gsay__i{
  margin:0;display:flex;flex-direction:column;gap:14px;
  padding:clamp(20px,2.2vw,28px);background:var(--paper);border:1px solid var(--line);
}
.gsay__st{color:var(--peach);font-size:.92rem;letter-spacing:.14em;line-height:1}
.gsay__i blockquote{
  margin:0;flex:1;font-size:.92rem;line-height:1.72;color:var(--ink-2);
}
.gsay__i figcaption{
  display:flex;align-items:center;gap:11px;
  padding-top:14px;border-top:1px solid var(--line-2);
}
.gsay__i figcaption img,.gsay__av{
  width:36px;height:36px;flex:none;border-radius:50%;object-fit:cover;
}
.gsay__av{
  display:grid;place-items:center;background:var(--accent-d);color:#fff;
  font-family:var(--d);font-weight:700;font-size:.86rem;
}
.gsay__i figcaption>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.gsay__i figcaption b{font-size:.86rem;font-weight:600;color:var(--ink)}
.gsay__i figcaption span span{font-size:.74rem;color:var(--mute)}
.gsay__kaynak{
  margin:clamp(20px,2.4vw,30px) 0 0;font-size:.74rem;letter-spacing:.06em;color:var(--mute);
}

/* ---------- 14. booking ---------- */
.bk{padding-block:clamp(80px,10vw,140px)}
.bk__grid{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(40px,6vw,90px);align-items:stretch}
.bk__ph{position:relative;min-height:520px}
.bk__ph figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:30px;color:#fff;background:linear-gradient(to top,rgba(var(--ov-rgb),.9),transparent)}
.bk__ph figcaption .lbl{margin-bottom:8px}
.bk__ph figcaption p{margin:0;font-size:.86rem;line-height:1.62;color:rgba(255,255,255,.86)}
.bk__body .h2{margin-bottom:1.2rem}
.bk__body>p{color:var(--ink-2);max-width:440px}
.bk__form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:2rem}
/* Tam genişlik istenen öğeler iki sütunu da kaplar. width:100% tek
   başına yetmiyor: ızgarada öğe yine tek sütuna oturuyor, gönder
   düğmesi 581px'lik formda 281px kalıyordu. */
.bk__form .btn--full,.bk__form .formerr,.bk__form .formok{grid-column:1/-1}
/* Form alan ızgarası.
   TEMEL KURAL EKSİKTİ: yalnızca dar ekran medya sorgusunda
   "grid-template-columns:1fr" vardı, `display:grid` hiç tanımlanmamıştı.
   Bu yüzden kapsayıcı düz bir blok kalıyor, çocuklardaki
   grid-column / .fld--half çalışmıyor ve alanlar arasında HİÇ boşluk
   olmuyordu (ölçtüm: 0px). */
.fldgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.7vw,20px)}
/* Izgaradan sonra gelen onay satırı ve düğme için nefes payı */
.fldgrid + *{margin-top:clamp(20px,2.2vw,26px)}
.chk + button,.chk + .btn{margin-top:16px}

.fld{grid-column:1/-1;position:relative}
.fld--half{grid-column:span 1}
.fld label{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:7px}
.fld input,.fld select,.fld textarea{
  width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 0;
  font-size:.97rem;font-weight:400;transition:border-color .4s;resize:none;
}
.fld select{appearance:none;cursor:pointer;
  background-image:var(--arrow);
  background-repeat:no-repeat;background-position:right 2px center;background-size:10px}
.fld input::placeholder,.fld textarea::placeholder{color:var(--mute)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--ink)}
.fld.is-bad input{border-color:#C0483C}
.chk{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.81rem;color:var(--mute);cursor:pointer;line-height:1.55}
.chk input{position:absolute;opacity:0;width:0;height:0}
.chk i{flex:0 0 17px;width:17px;height:17px;border:1px solid var(--line);margin-top:3px;position:relative;transition:background .3s,border-color .3s}
.chk i::after{content:"";position:absolute;left:5px;top:1.5px;width:5px;height:9px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(0);transition:transform .3s var(--ease)}
.chk input:checked+i{background:var(--ink);border-color:var(--ink)}
.chk input:checked+i::after{transform:rotate(45deg) scale(1)}
.chk.is-bad i{border-color:#C0483C}
.chk a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.bk__ok{grid-column:1/-1;margin:0;font-size:.85rem;color:var(--accent-d);text-align:center}

/* ---------- 15. journal ---------- */
.jr{padding-block:clamp(70px,9vw,120px);background:var(--soft)}
/* auto-FILL (auto-fit değil): boş sütunlar korunur. auto-fit'te tek
   yazı kalınca kart bütün satırı kaplayıp görsel devasa oluyordu. */
.jr__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:clamp(20px,2.6vw,40px)}

/* ---- blog listesi başlığı ve kategori süzgeci ---- */
.jrhead{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;
  margin-bottom:clamp(26px,3vw,42px);
}
.jrhead__t{margin:0;font-family:var(--d);font-weight:700;font-size:clamp(1.1rem,1.7vw,1.4rem);letter-spacing:-.02em}
.jrhead__alt{
  display:inline-block;margin-left:16px;font-family:var(--s);font-size:.78rem;font-weight:500;
  letter-spacing:.02em;color:var(--accent-d);border-bottom:1px solid currentColor;padding-bottom:1px;
}
.blognav{display:flex;gap:8px;flex-wrap:wrap}
.blognav a{
  display:inline-flex;align-items:center;gap:7px;padding:8px 15px;
  border:1px solid var(--line);background:var(--paper);
  font-size:.78rem;color:var(--ink-2);transition:background .3s var(--ease),color .3s,border-color .3s;
}
.blognav a i{font-style:normal;font-size:.68rem;color:var(--mute);font-variant-numeric:tabular-nums}
.blognav a:hover{border-color:var(--accent);color:var(--accent-d)}
.blognav a.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.blognav a.is-on i{color:rgba(255,255,255,.6)}
.jr__bos{margin:0;padding:40px 0;color:var(--mute)}
.jr__bos a{color:var(--accent-d);border-bottom:1px solid currentColor}

/* ---- sayfalama ----
   View::pager() hem panelde hem sitede kullanılıyor; panelin kuralları
   admin.css'te olduğu için site tarafında ayrıca tanımlanmalı, aksi
   hâlde bağlantılar biçimsiz düz metin olarak çıkıyordu.
   Kategori süzgeciyle (.blognav) aynı dili konuşur. */
.pager{
  display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:clamp(34px,4vw,56px);
}
.pager__i{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--line);background:var(--paper);
  font-family:var(--s);font-size:.82rem;color:var(--ink-2);
  font-variant-numeric:tabular-nums;
  transition:background .3s var(--ease),color .3s,border-color .3s;
}
.pager__i:hover{border-color:var(--accent);color:var(--accent-d)}
.pager__i.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}
.pager__nav{font-size:1.05rem;line-height:1}
.pager__gap{padding:0 2px;color:var(--mute);user-select:none}

/* ---- öne çıkan yazı ---- */
.feat{padding-block:clamp(44px,5vw,72px) 0;background:var(--soft)}
.feat__c{
  display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;
  background:var(--paper);border:1px solid var(--line);color:inherit;overflow:hidden;
  transition:border-color .4s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease);
}
.feat__c:hover{border-color:var(--accent);box-shadow:0 30px 60px -44px rgba(var(--ink-rgb),.55);transform:translateY(-3px)}
/* Görsel mutlak konumlanır: aksi hâlde figürün yüksekliği fotoğrafın
   doğal boyutundan gelir ve kart aşırı uzar. Böylece yüksekliği
   aspect-ratio ile satır belirler. */
.feat__ph{position:relative;margin:0;aspect-ratio:4/3;min-height:clamp(240px,26vw,340px);overflow:hidden}
.feat__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.feat__c:hover .feat__ph img{transform:scale(1.045)}
.feat__x{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:clamp(26px,3.4vw,50px);
}
.feat__tag{
  display:inline-block;padding:5px 13px;margin-bottom:16px;
  background:var(--accent);color:#fff;
  font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
}
.feat__m{
  display:block;margin-bottom:12px;font-size:.7rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--accent-d);
}
.feat__m i{font-style:normal;opacity:.45;margin:0 3px}
.feat__t{
  margin:0 0 14px;font-family:var(--d);font-weight:700;
  font-size:clamp(1.25rem,2.4vw,1.9rem);letter-spacing:-.025em;line-height:1.22;
  transition:color .35s;
}
.feat__c:hover .feat__t{color:var(--accent-d)}
.feat__d{margin:0 0 22px;font-size:.95rem;line-height:1.75;color:var(--mute);max-width:52ch}
.feat__go{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--d);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:6px;transition:border-color .35s,color .35s;
}
.feat__go svg{width:22px;height:11px;transition:transform .4s var(--ease)}
.feat__c:hover .feat__go{color:var(--accent-d);border-color:var(--accent)}
.feat__c:hover .feat__go svg{transform:translateX(6px)}

/* ---- yazı kartı ---- */
.post{background:var(--paper);border:1px solid var(--line);transition:border-color .4s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease)}
.post:hover{border-color:var(--accent);box-shadow:0 26px 52px -42px rgba(var(--ink-rgb),.5);transform:translateY(-3px)}
.post>a{display:flex;flex-direction:column;height:100%;padding:0 0 22px}
.post figure{position:relative;aspect-ratio:3/2;margin:0 0 18px;overflow:hidden}
.post figure img{transition:transform 1.1s var(--ease)}
.post:hover figure img{transform:scale(1.05)}
.post__k{
  position:absolute;left:0;bottom:0;z-index:2;padding:6px 13px;
  background:var(--paper);color:var(--accent-d);
  font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.post__m{
  display:block;padding:0 22px;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mute);margin-bottom:10px;
}
.post__m i{font-style:normal;opacity:.5;margin:0 2px}
.post h3{
  margin:0 0 10px;padding:0 22px;font-family:var(--d);font-weight:600;
  font-size:clamp(1rem,1.3vw,1.16rem);letter-spacing:-.015em;line-height:1.4;transition:color .3s;
}
.post:hover h3{color:var(--accent-d)}
.post p{margin:0 0 18px;padding:0 22px;font-size:.88rem;line-height:1.7;color:var(--mute)}
.post__go{
  margin-top:auto;padding:0 22px;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--d);font-size:.66rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent-d);
}
.post__go svg{width:18px;height:9px;transition:transform .4s var(--ease)}
.post:hover .post__go svg{transform:translateX(5px)}

/* ---------- instagram ---------- */
.ig{padding-block:clamp(50px,6vw,80px)}
.ig__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.ig__head .lbl{margin:0}
.ig__row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding-inline:6px}
.ig__c{aspect-ratio:1/1}
.ig__c img{transition:transform .9s var(--ease),opacity .5s}
.ig__c:hover img{transform:scale(1.06);opacity:.86}
.ig__act{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

/* ---------- sosyal medyada biz (instagram akışı) ----------
   Galeri şeridinden (.ig) ayrı bir bileşen: buradaki kareler
   Instagram'dan otomatik gelir, üzerine açıklama ve beğeni sayısı
   biner. Zemin --soft: iki bölüm üst üste gelince ayrıştığı belli
   olsun diye. */
.soc{padding-block:clamp(48px,6vw,84px);background:var(--soft)}
.soc__hd{display:flex;align-items:center;gap:clamp(14px,2vw,22px);flex-wrap:wrap}
.soc__at{
  font-family:var(--d);font-size:.82rem;font-weight:600;letter-spacing:.04em;
  color:var(--accent-d);border-bottom:1px solid transparent;padding-bottom:2px;
  transition:border-color .3s;
}
.soc__at:hover{border-color:var(--accent)}
/* Kolon sayısı gönderi sayısına göre sunucudan gelir (--soc-kol):
   altı gönderi dört kolonda ikinci sırayı yarım bırakıyordu. Dar
   ekran kuralları bu değeri sonraki media query'lerde eziyor. */
.soc__grid{
  display:grid;grid-template-columns:repeat(var(--soc-kol,4),1fr);
  gap:clamp(10px,1.2vw,16px);margin-top:clamp(24px,3vw,36px);
}
.soc__i{position:relative;display:block;overflow:hidden;background:var(--paper)}
.soc__ph{aspect-ratio:1/1;margin:0}
.soc__ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.soc__i:hover .soc__ph img{transform:scale(1.06)}
/* Perde: açıklama okunabilsin diye alttan yukarı koyulaşır. */
.soc__ov{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  justify-content:flex-end;gap:8px;padding:14px;
  background:linear-gradient(to top,rgba(var(--ov-rgb),.82),rgba(var(--ov-rgb),.12) 62%,transparent);
  opacity:0;transition:opacity .4s var(--ease);
}
.soc__i:hover .soc__ov,.soc__i:focus-visible .soc__ov{opacity:1}
.soc__cap{
  font-family:var(--s);font-size:.8rem;line-height:1.55;color:#fff;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.soc__st{display:flex;align-items:center;gap:14px}
.soc__st b{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--d);font-size:.72rem;font-weight:600;color:#fff;
}
.soc__st svg{width:14px;height:14px;fill:currentColor;opacity:.9}
.soc__ic{
  position:absolute;right:10px;top:10px;z-index:3;
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:rgba(var(--paper-rgb),.9);color:var(--ink);
  transition:opacity .35s var(--ease);
}
.soc__ic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.soc__i:hover .soc__ic{opacity:0}
.soc__i:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.soc__note{
  margin:clamp(16px,2vw,22px) 0 0;font-size:.78rem;color:var(--mute);
}
.soc__note a{color:var(--accent-d);border-bottom:1px solid var(--line)}
/* Anahtar girilmeden önceki hâl: yalnızca takip çağrısı. */
.soc__bos{
  margin-top:clamp(22px,3vw,32px);padding:clamp(22px,3vw,34px);
  background:var(--paper);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(16px,2.4vw,30px);flex-wrap:wrap;
}
.soc__bos p{margin:0;max-width:52ch;font-size:.94rem;line-height:1.7;color:var(--ink-2)}

/* ---------- paket detayı: devralınan kapsam ----------
   Üst basamaktan gelen maddeler pakete özel olanlardan ayrılsın diye
   soluk ve girintili; ziyaretçi neyin bu pakete özel olduğunu görsün. */
.pkgd__devir{
  margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);
}
.pkgd__devir-b{
  display:block;margin-bottom:10px;font-size:.78rem;letter-spacing:.02em;color:var(--mute);
}
.pkgd__devir-b b{color:var(--accent-d);font-weight:600}
.pkgd__list--devir li{color:var(--mute);font-size:.9rem}

/* ---------- semt sayfası: yola dair somut bilgi ----------
   Semt sayfasını diğerlerinden ayıran veri burada duruyor; şablondan
   gelen ortak bölümlerden görsel olarak da ayrışsın diye kutulu. */
.bolge{padding-block:clamp(38px,4.5vw,64px);background:var(--soft)}
.bolge__grid{
  list-style:none;margin:clamp(22px,2.6vw,32px) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(14px,1.8vw,22px);
}
.bolge__i{
  background:var(--paper);border:1px solid var(--line);padding:18px 20px;
  display:flex;flex-direction:column;gap:8px;
}
.bolge__i b{
  font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-d);
}
.bolge__i span{font-size:.92rem;line-height:1.72;color:var(--ink-2)}

/* ---------- hizmet sayfası: sorumlu uzman (E-E-A-T) ----------
   Sağlık/estetik içeriğinde "uygulamayı kim yapıyor" sorusunun adıyla
   cevaplanması hem ziyaretçi güveni hem YMYL sıralama sinyali. */
.eeat{padding-block:clamp(34px,4vw,56px);background:var(--soft)}
.eeat__in{position:relative;display:flex;align-items:center;gap:clamp(18px,2.6vw,34px)}
.eeat__ph{flex:none;width:clamp(84px,9vw,116px);aspect-ratio:1/1;margin:0;border-radius:50%;overflow:hidden}
.eeat__ph img{width:100%;height:100%;object-fit:cover}
.eeat__x{min-width:0}
.eeat__x .lbl{margin-bottom:8px}
.eeat__n{margin:0;font-family:var(--d);font-weight:600;font-size:clamp(1.06rem,1.5vw,1.28rem);color:var(--ink)}
.eeat__r{display:block;margin-top:4px;font-size:.82rem;color:var(--accent-d)}
.eeat__d{margin:10px 0 12px;font-size:.88rem;line-height:1.7;color:var(--ink-2);max-width:62ch}
.eeat__t{
  position:absolute;top:0;right:0;font-size:.7rem;letter-spacing:.06em;color:var(--mute);
}

/* ---------- hizmet sayfası: sıkça sorulanlar ---------- */
.svcfaq{padding-block:clamp(40px,5vw,72px)}
.svcfaq__list{margin-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--line)}
.svcfaq__i{border-bottom:1px solid var(--line)}
.svcfaq__i summary{
  list-style:none;cursor:pointer;padding:17px 34px 17px 0;position:relative;
  font-family:var(--d);font-weight:600;font-size:clamp(.94rem,1.15vw,1.04rem);
  line-height:1.5;color:var(--ink);transition:color .3s;
}
.svcfaq__i summary::-webkit-details-marker{display:none}
.svcfaq__i summary:hover{color:var(--accent-d)}
/* Artı/eksi işareti — iki çizgi, açıkken biri döner */
.svcfaq__i summary::before,
.svcfaq__i summary::after{
  content:"";position:absolute;right:6px;top:50%;width:13px;height:1.5px;
  background:var(--accent);transition:transform .3s var(--ease);
}
.svcfaq__i summary::after{transform:rotate(90deg)}
.svcfaq__i[open] summary::after{transform:rotate(0)}
.svcfaq__a{padding:0 34px 20px 0;font-size:.92rem;line-height:1.8;color:var(--ink-2)}
.svcfaq__a p{margin:0 0 10px}
.svcfaq__a p:last-child{margin-bottom:0}
.svcfaq__a a{color:var(--accent-d);border-bottom:1px solid var(--line)}
.svcfaq__more{margin:clamp(20px,2.4vw,28px) 0 0;font-size:.84rem;color:var(--mute)}
.svcfaq__more a{color:var(--accent-d);border-bottom:1px solid var(--line)}

/* ---------- başlıktaki telefon paneli ----------
   Masaüstünde tel: bağlantısı işe yaramadığı için düğme numarayı
   panelde gösteriyor (bkz. app.js → telefonPaneli). Dokunmatikte
   panel hiç açılmaz, bağlantı doğrudan aramayı başlatır. */
.telwrap{position:relative;display:inline-flex}
.telpop[hidden]{display:none}
.telpop{
  position:absolute;top:calc(100% + 10px);right:0;z-index:60;
  /* 268px'te "Numarayı kopyala" düğmesi kırpılıyordu (ölçtük);
     iki düğme + boşluk 238px yer istiyor, yatay dolgu 36px. */
  width:min(296px,calc(100vw - 32px));padding:16px 18px 14px;
  background:var(--paper);border:1px solid var(--line);
  box-shadow:0 22px 56px -28px rgba(var(--ink-rgb),.55);
  display:flex;flex-direction:column;gap:6px;text-align:left;
}
/* Kutunun üstünde düğmeye bakan küçük ok */
.telpop::before{
  content:"";position:absolute;top:-6px;right:12px;width:11px;height:11px;
  background:var(--paper);border-left:1px solid var(--line);border-top:1px solid var(--line);
  transform:rotate(45deg);
}
.telpop__l{
  font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-d);
}
.telpop__n{
  font-family:var(--d);font-size:1.16rem;font-weight:600;letter-spacing:.01em;
  color:var(--ink);line-height:1.2;
}
.telpop__n:hover{color:var(--accent-d)}
.telpop__h{font-size:.74rem;line-height:1.6;color:var(--mute)}
.telpop__act{display:flex;gap:8px;margin-top:8px}
.telpop__act .btn{flex:1;height:34px;padding:0 10px;font-size:.6rem;white-space:nowrap}
.telpop__r{
  margin-top:10px;padding-top:10px;border-top:1px solid var(--line-2);
  font-size:.76rem;color:var(--accent-d);
}
.telpop__r:hover{text-decoration:underline}

/* ---------- derleme kartı (.post--dis) ----------
   Blog ızgarasında kendi yazılarımızla AYNI biçimde durur — ızgara
   ritmi bozulmasın diye — ama kaynak rozeti, soluk çerçevesi ve dış
   bağlantı simgesiyle ayrışır. Ziyaretçi hangisinin bizim olduğunu
   karta bakar bakmaz anlamalı. */
.post--dis{border-style:dashed;border-color:var(--line-2);background:transparent}
.post--dis:hover{border-style:solid;border-color:var(--accent)}
.post__k--dis{
  background:var(--ink);color:var(--paper);
  letter-spacing:.14em;
}
.post--dis p{font-size:.84rem}
.post__go--dis{color:var(--mute)}
.post__go--dis svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.post--dis:hover .post__go--dis{color:var(--accent-d)}
.post--dis:hover .post__go--dis svg{transform:none}

/* Izgaranın üstündeki açıklama ve altındaki kaynak notu */
.jr__not{
  margin:0 0 clamp(20px,2.4vw,28px);padding:12px 16px;
  background:var(--soft);border-left:3px solid var(--accent);
  font-size:.84rem;line-height:1.7;color:var(--ink-2);
}
.jr__not i{font-style:italic}
.jr__not a{color:var(--accent-d);border-bottom:1px solid var(--line)}
.jr__kaynak{
  margin:clamp(26px,3vw,36px) 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:.78rem;line-height:1.7;color:var(--mute);
}
.jr__kaynak i{font-style:italic}

/* ---------- galeri sayfası ---------- */
.gal{padding-block:clamp(44px,5vw,76px) clamp(60px,7vw,100px)}
.gal__grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:clamp(12px,1.6vw,22px);
}
/* Kareler hem <a> (bağlantılı) hem <button> (büyütülen) olabiliyor;
   ikisi de aynı görünsün diye düğme varsayılanları sıfırlanır. */
.gal__i{
  position:relative;display:block;padding:0;border:0;background:none;
  color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden;
}
.gal__ph{aspect-ratio:1/1;margin:0}
.gal__ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.gal__i:hover .gal__ph img{transform:scale(1.05)}
.gal__ph::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(to top,rgba(var(--ov-rgb),.55),transparent 55%);
  opacity:0;transition:opacity .4s var(--ease);
}
.gal__i:hover .gal__ph::before,.gal__i:focus-visible .gal__ph::before{opacity:1}
.gal__cap{
  position:absolute;left:16px;right:52px;bottom:14px;z-index:3;
  font-family:var(--s);font-size:.82rem;line-height:1.5;color:#fff;
  opacity:0;transform:translateY(6px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.gal__i:hover .gal__cap,.gal__i:focus-visible .gal__cap{opacity:1;transform:none}
.gal__ic{
  position:absolute;right:14px;bottom:14px;z-index:3;
  display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:rgba(var(--paper-rgb),.92);color:var(--ink);
  opacity:0;transform:scale(.85);
  transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.gal__i:hover .gal__ic,.gal__i:focus-visible .gal__ic{opacity:1;transform:none}
.gal__ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gal__i:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- galeri büyütme katmanı ---------- */
/* ŞART: display:grid, tarayıcının hidden özniteliği için uyguladığı
   display:none kuralını ezer — bu satır olmadan katman sayfa açılışında
   görünür kalıyor ve bütün içeriği perdeliyor. */
.glb[hidden]{display:none}
.glb{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  grid-template-columns:auto 1fr auto;gap:clamp(8px,2vw,24px);
  padding:clamp(16px,4vw,48px);
  background:rgba(var(--ov-rgb),.94);backdrop-filter:blur(6px);
}
.glb__f{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-height:100%;min-width:0}
.glb__f img{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;background:#fff}
.glb__f figcaption{font-size:.86rem;line-height:1.6;color:rgba(var(--paper-rgb),.86);text-align:center;max-width:62ch}
.glb__x,.glb__n{
  display:grid;place-items:center;width:46px;height:46px;flex:none;padding:0;cursor:pointer;
  border:1px solid rgba(var(--paper-rgb),.28);background:rgba(var(--paper-rgb),.08);
  color:var(--paper);transition:background .3s var(--ease),border-color .3s;
}
.glb__x:hover,.glb__n:hover{background:rgba(var(--paper-rgb),.2);border-color:rgba(var(--paper-rgb),.5)}
.glb__x{position:absolute;top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);z-index:4}
.glb__x svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.glb__n svg{width:22px;height:11px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.glb__no{
  position:absolute;left:0;right:0;bottom:clamp(12px,2vw,22px);text-align:center;
  font-size:.74rem;letter-spacing:.16em;color:rgba(var(--paper-rgb),.6);
}

/* ---------- 16. footer ---------- */
/* Bülten şeridi (.ft__news / .nl) KALDIRILDI. Üst boşluk ona göre
   ayarlanmıştı: şerit gidince altbilginin tepesinde 100px'e varan boş
   alan kalıyordu, bu yüzden padding-top küçültüldü. */
.ft{background:var(--ink);color:var(--paper);padding-top:clamp(34px,4vw,54px);position:relative}

.ft__grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:36px;padding-block:clamp(48px,6vw,74px)}
.ft__brand .brand__word{display:block;font-family:var(--d);font-weight:700;font-size:1.08rem;letter-spacing:.2em;color:var(--paper)}
.ft__brand .brand__tag{display:block;font-size:.56rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--on-dark);margin-top:4px;opacity:1}
.ft__brand p{margin:20px 0 0;font-size:.77rem;line-height:1.8;color:rgba(var(--paper-rgb),.5)}
.ft__soc{display:flex;gap:10px;margin-top:22px}
.ft__soc a{width:38px;height:38px;border:1px solid var(--light-line);display:grid;place-items:center;font-size:.62rem;letter-spacing:.1em;transition:background .4s,color .4s,border-color .4s}
.ft__soc a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ft__col{display:flex;flex-direction:column;gap:9px;font-size:.86rem}
.ft__col .lbl{margin-bottom:7px}
.ft__col a{color:rgba(var(--paper-rgb),.76);width:fit-content;transition:color .3s}
.ft__col a:hover{color:var(--on-dark)}
.ft__col address{font-style:normal;color:rgba(var(--paper-rgb),.76);line-height:1.75;font-size:.86rem}
.ft__hrs{font-size:.77rem;color:rgba(var(--paper-rgb),.46);line-height:1.7;margin-top:4px}

.ft__bot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:24px;border-top:1px solid var(--light-line);font-size:.73rem;color:rgba(var(--paper-rgb),.5)}
.ft__pay{display:flex;gap:8px}
.ft__pay i{font-style:normal;border:1px solid var(--light-line);padding:5px 9px;font-size:.58rem;letter-spacing:.1em}
.ft__up{display:flex;align-items:center;gap:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--paper-rgb),.76)}
.ft__up svg{width:10px;height:20px}
.ft__up:hover{color:var(--paper)}

/* hazırlayan satırı */
.ft__made{
  display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;
  padding:16px 0 22px;border-top:1px solid var(--light-line);
  font-size:.73rem;letter-spacing:.04em;color:rgba(var(--paper-rgb),.42);text-align:center;
}
.ft__made a{
  position:relative;color:rgba(var(--paper-rgb),.72);font-weight:500;
  padding-bottom:2px;transition:color .3s;
}
.ft__made a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease);
}
.ft__made a:hover{color:var(--on-dark)}
.ft__made a:hover::after{transform:scaleX(1);transform-origin:left}
.ft__made-sep{opacity:.45}

/* ---------- 17. cart / search / misc ---------- */
.veil{position:fixed;inset:0;z-index:78;background:rgba(var(--ink-rgb),.45);opacity:0;visibility:hidden;transition:.45s var(--ease);backdrop-filter:blur(2px)}
.veil.is-on{opacity:1;visibility:visible}
.srch{position:fixed;inset:0;z-index:90;background:var(--paper);clip-path:inset(0 0 100% 0);transition:clip-path .65s var(--ease-io)}
.srch.is-on{clip-path:inset(0 0 0 0)}
.srch__in{padding-top:clamp(70px,12vh,140px)}
.srch__row{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--ink);margin-bottom:26px}
.srch__row input{flex:1;border:0;background:none;padding:14px 0;font-family:var(--d);font-size:clamp(1.15rem,2.8vw,2rem);font-weight:600;letter-spacing:-.02em}
.srch__row input:focus{outline:0}
.srch__row input::placeholder{color:var(--mute)}
.srch__row button svg{width:17px;height:17px}
.srch__res{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-height:46vh;overflow-y:auto}
.sres{display:flex;gap:14px;align-items:center}
.sres__ph{width:64px;aspect-ratio:4/5;flex:none}
.sres h4{margin:0 0 4px;font-family:var(--d);font-weight:600;font-size:.88rem;line-height:1.35}
.sres span{font-size:.79rem;color:var(--accent-d)}
.srch__none{grid-column:1/-1;color:var(--mute)}
.srch__hint{margin-top:30px;font-size:.79rem;color:var(--mute)}
.srch__hint button{margin-left:10px;padding:6px 13px;border:1px solid var(--line);font-size:.75rem;transition:background .3s,color .3s,border-color .3s}
.srch__hint button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.toast{
  position:fixed;left:50%;bottom:34px;z-index:150;transform:translate(-50%,26px);
  background:var(--ink);color:var(--paper);padding:14px 24px;font-size:.79rem;letter-spacing:.04em;
  box-shadow:0 16px 34px -20px rgba(var(--ink-rgb),.7);
  opacity:0;visibility:hidden;transition:.45s var(--ease);
}
.toast.is-on{opacity:1;visibility:visible;transform:translate(-50%,0)}

/* ---------- 18. responsive ---------- */
@media (max-width:1180px){
  .shop__grid{grid-template-columns:repeat(3,1fr)}
  .mega__in{grid-template-columns:repeat(3,1fr);gap:32px}
  .mega__promo{display:none}
  .srch__res{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  :root{--head-h:70px}
  .nav,.head__cta,.hero__side{display:none}
  .burger{display:flex}
  .story__grid,.cmp__grid,.bk__grid{grid-template-columns:1fr}
  .story__media{max-width:520px}
  .team__grid{grid-template-columns:repeat(2,1fr)}
  .pkg__grid{grid-template-columns:1fr;max-width:520px}
  .jr__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-width:none}
  /* Öne çıkan yazı dar ekranda üst üste iner */
  .feat__c{grid-template-columns:1fr}
  .feat__ph{min-height:230px;aspect-ratio:16/9}
  .ft__grid{grid-template-columns:repeat(2,1fr)}
  .svcrow{grid-template-columns:40px 1fr;gap:8px 18px}
  .svcrow p{grid-column:2;margin-top:6px}
  .svcrow__meta{grid-column:2;flex-direction:row;align-items:baseline;gap:14px;margin-top:8px}
  .svc__peek{display:none}
  .bk__ph{min-height:340px}
}
@media (max-width:760px){
  body{font-size:15px}
  .topbar__links{display:none}
  .brand__word{font-size:.88rem;letter-spacing:.12em}
  .brand__tag{font-size:.5rem;letter-spacing:.22em}
  /* Dar ekranda metin sabit yüksekliğe sığmıyordu: 390 pikselde bant 380
     piksel, içerik ~500 — ortalanan içerik yukarı taşıp üst çubuğun
     altına giriyor, etiket satırı kesiliyordu. Slaytlar aynı ızgara
     hücresinde üst üste durur (geçiş efekti korunur); bant en uzun
     slayt kadar uzar, eskisinden kısa olmaz. */
  .hero{height:auto}
  .hero__stage{position:relative;display:grid}
  .slide{position:relative;inset:auto;grid-area:1 / 1}
  .slide__copy{height:auto;min-height:clamp(380px,88vw,470px);padding-top:36px}
  .hero__ui{gap:14px;bottom:18px}
  .hero__dots{max-width:110px;gap:8px}
  .hero__arrows{margin-left:auto}
  .slide__copy{padding-bottom:84px}
  .slide__act{gap:16px}
  .slide__act .btn{width:100%}
  .shop__grid,.ig__row{grid-template-columns:repeat(2,1fr)}
  .srch__res{grid-template-columns:1fr;max-height:40vh}
  .stats{grid-template-columns:repeat(2,1fr);gap:24px 18px}
  .team__grid{grid-template-columns:1fr;max-width:420px}
  .jr__grid{grid-template-columns:1fr;max-width:460px}
  .jrhead{align-items:flex-start}
  .blognav{gap:6px}
  .blognav a{padding:7px 12px;font-size:.74rem}
  .phead__st{gap:16px;font-size:.74rem}
  .phead__st li+li::before{margin-right:9px}
  .ft__grid{grid-template-columns:1fr}
  .bk__form{grid-template-columns:1fr}
  .fld--half{grid-column:1/-1}
  .story__img--b{width:52%;right:0;box-shadow:-16px -16px 0 var(--paper)}
  .cmp__facts b{flex-basis:88px}
  .ft__bot{justify-content:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.splt .ln-i,.slide .ln b{opacity:1;transform:none}
}

/* =========================================================
   19. ÇOK SAYFALI YAPI — ortak bileşenler
   ========================================================= */

.skip{position:absolute;left:-999px;top:0;z-index:300;background:var(--ink);color:#fff;padding:12px 18px;font-size:.8rem}
.skip:focus{left:8px;top:8px}

.nav a.is-here,.nav .navdrop.is-here{color:var(--accent-d)}
.nav a.is-here::after,.nav .navdrop.is-here::after{transform:scaleX(1);background:var(--accent-d)}

/* ---------- üst menü açılır kutusu ---------- */
.navitem{position:relative;display:inline-flex;align-items:center;flex:none}
.navdrop{
  position:relative;display:inline-flex;align-items:center;gap:7px;padding:6px 0;color:inherit;cursor:pointer;
  font-family:var(--d);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  white-space:nowrap;
}
.navdrop::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.navitem:hover .navdrop::after,.navitem.is-open .navdrop::after{transform:scaleX(1)}
.navdrop i{
  width:7px;height:7px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .35s var(--ease);
}
.navitem.is-open .navdrop i{transform:translateY(1px) rotate(225deg)}

.drop{
  position:absolute;top:100%;left:-20px;z-index:5;min-width:232px;
  background:var(--paper);border:1px solid var(--line-2);
  box-shadow:0 22px 44px -28px rgba(var(--ink-rgb),.45);
  padding:8px 0;opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
}
.navitem.is-open .drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav .drop a{
  display:block;padding:10px 22px;font-family:var(--s);font-size:.88rem;font-weight:400;
  letter-spacing:0;text-transform:none;color:var(--ink-2);
  transition:background .25s,color .25s,padding-left .25s;
}
.nav .drop a::after{display:none}
.nav .drop a:hover{background:var(--soft);color:var(--accent-d);padding-left:28px}

/* mobil menüde kurumsal alt grubu */
.mnav__sub{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:18px 0 4px;margin-top:6px;border-top:1px solid var(--light-line)}
.mnav__sub span{flex-basis:100%;font-family:var(--d);font-size:.62rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--on-dark);margin-bottom:2px}
.mnav__sub a{font-size:.92rem;color:rgba(255,255,255,.82)}
.mnav__sub a:hover{color:#fff}
.ico.is-in::after{content:"";position:absolute;top:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.mnav__acc{display:flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(255,255,255,.75);flex-basis:100%}
.mnav__acc a:hover{color:#fff}


/* ---------- sayfa başlığı + kırıntı ---------- */
.phead{padding:clamp(34px,5vw,64px) 0 clamp(26px,4vw,44px);background:var(--soft)}
.phead--slim{padding-bottom:clamp(18px,2.4vw,28px)}
.phead .h2{margin-top:14px}
.phead__d{max-width:640px;margin:18px 0 0;color:var(--ink-2)}
/* Sayfa başlığı altındaki küçük sayı şeridi (blog: kaç yazı, kaç başlık) */
.phead__st{
  display:flex;gap:26px;flex-wrap:wrap;list-style:none;margin:22px 0 0;padding:0;
  font-size:.78rem;letter-spacing:.06em;color:var(--mute);
}
.phead__st li{display:flex;align-items:center;gap:7px}
.phead__st li+li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--line);margin-right:19px}
.phead__st b{font-family:var(--d);font-weight:600;font-size:.92rem;color:var(--ink);letter-spacing:-.01em}
.bc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.74rem;letter-spacing:.06em;color:var(--mute)}
.bc a:hover{color:var(--accent-d)}
.bc i{font-style:normal;opacity:.5}
.bc span{color:var(--ink)}
.story__more{display:inline-block;margin-top:26px}
/* sayfa başlığından hemen sonra gelen bölüm üstte boşluk biriktirmesin */
.phead + section{padding-top:clamp(32px,4vw,54px)}

/* ---------- çağrı bandı ---------- */
.ctaband{background:var(--ink);color:var(--paper);padding-block:clamp(48px,6vw,80px)}
.ctaband__in{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.ctaband p{margin:14px 0 0;color:rgba(252,251,248,.72);max-width:460px}
.ctaband__act{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ctaband__act .lnk{color:var(--on-dark)}

/* ---------- üyelik sayfaları ---------- */
.auth{padding-block:0 clamp(60px,7vw,100px)}
.auth__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,80px);align-items:stretch}
.auth__ph{position:relative;min-height:560px;margin-top:0}
.auth__ph figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:30px;color:#fff;background:linear-gradient(to top,rgba(var(--ov-rgb),.9),transparent)}
.auth__ph figcaption p{margin:0;font-size:.88rem;color:rgba(255,255,255,.86)}
.auth__body{padding-top:clamp(34px,4vw,60px);max-width:520px}
.auth__body .h2{margin:14px 0 12px}
.auth__body--center{margin-inline:auto;text-align:left}
.auth--narrow{padding-top:clamp(34px,4vw,60px)}
.auth__lead{color:var(--ink-2)}
.authform{margin-top:26px}
.authform .fld{margin-bottom:18px}
.authrow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 24px}
.chk--sm{font-size:.8rem;margin:0}
.authalt{margin-top:22px;font-size:.9rem;color:var(--mute)}
.formerr{margin:0 0 18px;padding:12px 16px;background:#FBEAE7;border-left:3px solid #C0483C;color:#8E3227;font-size:.86rem}
.formok{margin:16px 0 0;padding:12px 16px;background:var(--sage);border-left:3px solid var(--accent);color:var(--accent-d);font-size:.86rem}
.demonote{margin-top:30px;padding:14px 16px;background:var(--soft);font-size:.79rem;color:var(--ink-2);line-height:1.7}
.demonote a{color:var(--accent-d);text-decoration:underline;text-underline-offset:3px}

/* ---------- hesabım ---------- */
.acchead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:12px}
.acchead__mail{display:block;font-size:.85rem;color:var(--mute);margin-top:6px}
.acc{padding-block:clamp(34px,4vw,56px) clamp(60px,7vw,100px)}
.acc__grid{display:grid;grid-template-columns:230px 1fr;gap:clamp(26px,4vw,54px);align-items:start}
.acnav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.acnav a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--ink-2);transition:color .3s,padding-left .3s}
.acnav a:hover{padding-left:10px;color:var(--accent-d)}
.acnav a.is-on{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.acpane{display:none}
.acpane.is-on{display:block;animation:fadeIn .4s var(--ease)}
.ordrow{display:flex;align-items:center;gap:18px;padding:16px 18px;border:1px solid var(--line);margin-bottom:10px;flex-wrap:wrap}
.ordrow div{flex:1;min-width:180px}
.ordrow b{display:block;font-family:var(--d);font-weight:600;font-size:.92rem}
.ordrow span{font-size:.78rem;color:var(--mute)}
.ordrow i{font-style:normal;font-family:var(--d);font-weight:700}
.pill{background:var(--sage);color:var(--accent-d);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px}
.acempty{color:var(--mute);padding:30px 0}
.acnote{margin-top:18px;font-size:.8rem;color:var(--mute)}
.addrgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.addr{position:relative;border:1px solid var(--line);padding:22px}
.addr .pill{position:absolute;top:-10px;left:18px}
.addr b{display:block;font-family:var(--d);font-weight:600;margin-bottom:8px}
.addr p{margin:0 0 16px;font-size:.86rem;color:var(--ink-2)}
.addr__act{display:flex;gap:16px}
.addr--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-style:dashed;color:var(--mute);font-size:.86rem;min-height:150px;transition:color .3s,border-color .3s}
.addr--new span{font-size:1.6rem;line-height:1}
.addr--new:hover{color:var(--accent-d);border-color:var(--accent)}

/* ---------- hizmet detay ---------- */
.svcd{padding-block:clamp(34px,4vw,56px) clamp(60px,7vw,100px)}
.svcd__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,4vw,64px);align-items:start}
.svcd__ph{aspect-ratio:3/4;position:sticky;top:100px}
.svcd__meta{list-style:none;margin:0 0 26px;padding:0;display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}
.svcd__meta b{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.svcd__meta span{font-family:var(--d);font-weight:600;font-size:.95rem}
.svcd__body p{color:var(--ink-2)}
.svcd__body .h3{margin:32px 0 16px}
.svcd__steps{margin:0;padding:0;list-style:none;counter-reset:st}
.svcd__steps li{position:relative;padding:12px 0 12px 42px;border-bottom:1px solid var(--line-2);font-size:.92rem;color:var(--ink-2)}
.svcd__steps li::before{counter-increment:st;content:counter(st,decimal-leading-zero);position:absolute;left:0;top:12px;font-family:var(--d);font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--peach)}
.svcd__cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}

/* İlgili içerik bölümü (blog yazısı altındaki "Diğer yazılar").
   .dtl gibi bunun da kuralı yoktu; dikey boşluğu sıfır olduğu için
   bölüm komşularına yapışıyordu. */
.rel{padding-block:clamp(48px,6vw,84px)}

/* Grup/kategori bağlantı şeridi (hizmet grubu, arama, 404).
   Kuralı yoktu; bağlantılar yan yana düz metin gibi akıyordu. */
.grpnav{display:flex;flex-wrap:wrap;gap:9px}
.grpnav a{
  display:inline-flex;align-items:center;padding:9px 16px;
  border:1px solid var(--line);background:var(--paper);
  font-size:.82rem;color:var(--ink-2);
  transition:background .3s var(--ease),color .3s,border-color .3s;
}
.grpnav a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* Paket karşılaştırma tablosu — kuralı yoktu, tablo çıplak çıkıyordu. */
.ctable{margin-top:clamp(46px,6vw,84px)}
.ctable>h2{margin-bottom:clamp(20px,2.4vw,32px)}
.ctable__s{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}
.ctable table{width:100%;border-collapse:collapse;min-width:640px;font-size:.9rem}
.ctable th,.ctable td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.ctable thead th{
  background:var(--soft);font-family:var(--d);font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap;
}
.ctable thead th:first-child{color:var(--mute)}
.ctable tbody tr:last-child td{border-bottom:0}
.ctable tbody td:not(:first-child){text-align:center;color:var(--accent-d);font-weight:600}
.ctable tbody tr:hover{background:var(--soft)}

/* Arama sayfasındaki büyük arama kutusu */
.srchpage{
  display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;
  margin:clamp(22px,3vw,36px) 0 clamp(20px,2.4vw,32px);
}
.srchpage .fld{flex:1;min-width:240px}
.srchpage .lbl{margin-bottom:.6rem}
.srchpage input[type=search]{
  flex:1;min-width:240px;height:54px;padding:0 20px;
  border:1px solid var(--line);background:var(--paper);font-family:inherit;font-size:1rem;color:var(--ink);
}
.srchpage input[type=search]:focus{outline:0;border-color:var(--accent)}

/* Hesabım sayfası bölümleri */
.acbody{display:flex;flex-direction:column;gap:clamp(30px,4vw,52px)}
.sidetitle{
  margin:0 0 16px;font-family:var(--d);font-weight:600;
  font-size:clamp(1.05rem,1.5vw,1.25rem);letter-spacing:-.015em;
}

/* Paket detayındaki kısa açıklama */
.pd__short{font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.7;color:var(--ink-2);margin-bottom:1.2em}

.minigrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.minicard figure{aspect-ratio:3/2;margin-bottom:14px}
.minicard img{transition:transform 1s var(--ease)}
.minicard:hover img{transform:scale(1.05)}
.minicard h3{margin:0 0 6px;font-family:var(--d);font-weight:600;font-size:1rem;line-height:1.35;transition:color .3s}
.minicard:hover h3{color:var(--accent-d)}
.minicard span{font-size:.78rem;color:var(--mute)}

/* ---------- paket detay ---------- */
.pkgd{padding-block:clamp(34px,4vw,56px) clamp(60px,7vw,100px)}
.pkgd__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,4vw,64px) clamp(30px,4vw,64px);align-items:start}
.pkgd__ph{aspect-ratio:3/4;position:sticky;top:100px}
.pkgd__body p{color:var(--ink-2)}
.pkgd__list{list-style:none;margin:24px 0;padding:22px 0;border-block:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.pkgd__list li{position:relative;padding-left:24px;font-size:.92rem}
.pkgd__list li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;border:solid var(--accent);border-width:0 0 1.6px 1.6px;transform:rotate(-45deg)}
.qopts{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.qopt{cursor:pointer}
.qopt input{position:absolute;opacity:0;width:0;height:0}
.qopt__b{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:15px 18px;transition:border-color .3s,background .3s}
.qopt__b b{font-family:var(--d);font-size:.92rem;font-weight:600;min-width:78px}
.qopt__b em{font-style:normal;font-size:.78rem;color:var(--mute);flex:1}
.qopt__b i{font-style:normal;font-family:var(--d);font-weight:700;font-size:1.05rem}
.qopt__b u{text-decoration:none;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;background:var(--sage);color:var(--accent-d);padding:4px 9px}
.qopt input:checked+.qopt__b{border-color:var(--ink);background:var(--soft)}
.qopt:hover .qopt__b{border-color:var(--accent)}
.pkgd__buy{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}
/* Detay sayfasında kampanya etiketi + iki düğme */
.pkgd__camp{display:flex;align-items:baseline;gap:10px;flex:none}
.pkgd__camp b{font-family:var(--d);font-size:2.1rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--accent-d)}
.pkgd__camp>span{display:flex;flex-direction:column;gap:3px;font-family:var(--d);font-weight:600;font-size:.86rem;letter-spacing:.04em}
.pkgd__camp em{font-style:normal;font-family:var(--s);font-weight:400;font-size:.74rem;color:var(--mute)}
.pkgd__act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:260px}
.pkgd__act .btn{flex:1 1 150px;justify-content:center;white-space:nowrap}
.pkgd__act .btn--out{display:inline-flex;align-items:center;gap:8px}
.pkgd__act .btn--out svg{width:16px;height:16px;flex:none;fill:currentColor;stroke:none}
.pkgd__flow{grid-column:1/-1;border-top:1px solid var(--line);padding-top:36px}
.pkgd__flow ol{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.pkgd__flow li i{font-style:normal;font-family:var(--d);font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--peach)}
.pkgd__flow li b{display:block;font-family:var(--d);font-weight:600;font-size:.95rem;margin:8px 0 6px}
.pkgd__flow li span{font-size:.86rem;color:var(--mute)}

/* ---------- paket listesi ---------- */
.pkg--page{background:var(--paper)}
.pkg__head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.pkg__lead{margin:0;color:var(--mute);font-size:.92rem}
/* Bilgi al + Hemen ara: yan yana, eşit paylaşır. Dar kartta alt alta. */
.pkgcard__act{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pkgcard__act .btn{flex:1 1 130px;justify-content:center;white-space:nowrap}
.pkgcard__tel{display:inline-flex;align-items:center;gap:7px}
.pkgcard__tel svg{width:15px;height:15px;flex:none;fill:currentColor;stroke:none}
.pkgcard--hi .pkgcard__act .btn--out{--bg:transparent;--fg:var(--paper);--bd:var(--light-line);--hb:var(--paper);--hf:var(--ink)}
.pkgcard__more{
  display:block;margin-top:12px;text-align:center;
  font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-d);
}
.pkgcard--hi .pkgcard__more{color:var(--on-dark)}
.cmpTable{margin-top:clamp(50px,6vw,84px)}
.cmpTable__scroll{overflow-x:auto;margin-top:22px}
.cmpTable table{width:100%;border-collapse:collapse;min-width:620px;font-size:.88rem}
.cmpTable th,.cmpTable td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-2)}
.cmpTable thead th{font-family:var(--d);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.cmpTable td.y{color:var(--accent-d);font-weight:500}
.cmpTable td.n{color:var(--mute)}
.cmpTable tbody tr:hover{background:var(--soft)}

/* ---------- ilkeler / zaman çizgisi / künye / nasıl ---------- */
.vals{padding-block:clamp(60px,8vw,110px);background:var(--soft)}
.vals__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,34px)}
.vals__grid--3{grid-template-columns:repeat(3,1fr)}
.val i{font-style:normal;font-family:var(--d);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--peach)}
.val h3{margin:12px 0 10px;font-family:var(--d);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}
.val p{margin:0;font-size:.89rem;color:var(--mute)}

.tline{padding-block:clamp(60px,8vw,110px)}
.tline__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tline__list li{display:flex;gap:clamp(20px,4vw,60px);padding:26px 0;border-bottom:1px solid var(--line)}
.tline__list b{flex:0 0 90px;font-family:var(--d);font-weight:700;font-size:1.1rem;color:var(--accent-d)}
.tline__list h3{margin:0 0 6px;font-family:var(--d);font-weight:600;font-size:1rem}
.tline__list p{margin:0;font-size:.89rem;color:var(--mute)}

.corp{padding-block:clamp(50px,6vw,90px);background:var(--soft)}
.corp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.corp__i{background:var(--soft);padding:22px}
.corp__i b{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:7px}
.corp__i span{font-size:.9rem}

.how{padding-block:clamp(60px,8vw,110px)}
/* ---------- detay bölümü ----------
   .dtl sekiz ayrı görünümde kullanılıyor (sss, sayfa, bolge, arama,
   hizmet, hizmet-grup, ekibimiz) ama hiç kuralı yoktu: dikey boşluğu
   sıfır olduğu için içerik bir üstteki ve bir alttaki bölüme yapışıyor,
   son satır koyu CTA bandının içine giriyordu. */
.dtl{padding-block:clamp(56px,7vw,96px)}
/* Arka planı aynı olan iki .dtl arka arkaya gelirse (hizmet-grup) araya
   iki kat boşluk girmesin. */
.dtl + .dtl{padding-top:0}

.how__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,34px)}
.how__i{padding-top:22px;border-top:2px solid var(--ink)}
.how__i i{font-style:normal;font-family:var(--d);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--peach)}
.how__i h3{margin:10px 0 8px;font-family:var(--d);font-weight:600;font-size:1rem}
.how__i p{margin:0;font-size:.88rem;color:var(--mute)}

/* ---------- şubeler / iletişim ---------- */
.branch{padding-block:clamp(50px,6vw,90px)}
.branch__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,40px)}
.branch__grid--one{grid-template-columns:1fr;max-width:640px}
.branch__grid--one .bcard figure{aspect-ratio:21/9}
.ft__mail{word-break:break-all;line-height:1.5}
.bcard{border:1px solid var(--line)}
.bcard figure{aspect-ratio:16/10}
.bcard__b{padding:clamp(22px,2.6vw,34px)}
.bcard__b .h3{margin:6px 0 14px}
.bcard address{font-style:normal;color:var(--ink-2);line-height:1.7;font-size:.92rem}
.bcard__m{list-style:none;margin:20px 0 24px;padding:18px 0 0;border-top:1px solid var(--line-2)}
.bcard__m li{display:flex;gap:16px;padding:7px 0;font-size:.88rem}
.bcard__m b{flex:0 0 76px;font-weight:600;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:3px}
.bcard__m a:hover{color:var(--accent-d)}

/* ---------- iletişim ---------- */

/* Hızlı temas şeridi — sayfanın en üstünde dört kanal.
   Eskiden iletişim bilgileri, ortada duran 640px'lik yalnız bir kutuda
   ve aşağıdaki listede İKİ KEZ tekrarlanıyordu; kutunun iki yanı boş
   kalıyordu. Artık bilgi tek yerde ve tam genişlikte. */
.qct{padding-block:clamp(34px,4vw,54px) 0}
.qct__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.qct__i{
  display:flex;flex-direction:column;gap:12px;
  padding:clamp(18px,2vw,26px);border:1px solid var(--line);background:var(--paper);color:inherit;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .45s var(--ease);
}
.qct__i:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 24px 48px -36px rgba(var(--ink-rgb),.5)}
.qct__ic{
  display:grid;place-items:center;width:42px;height:42px;
  background:var(--soft);color:var(--accent-d);
  transition:background .35s var(--ease),color .35s;
}
.qct__i:hover .qct__ic{background:var(--accent-d);color:#fff}
.qct__ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.qct__x{display:flex;flex-direction:column;gap:3px;min-width:0}
.qct__x b{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.qct__x span{
  font-family:var(--d);font-weight:600;font-size:.98rem;letter-spacing:-.015em;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.qct__go{
  margin-top:auto;padding-top:12px;border-top:1px solid var(--line-2);
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-d);
}

.ct{padding-block:clamp(40px,5vw,70px) clamp(50px,6vw,86px)}
.ct__grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(26px,3.2vw,48px);align-items:start}
.ct__form{background:var(--paper);padding:clamp(24px,3vw,40px);border:1px solid var(--line)}
.ct__formhead{margin-bottom:clamp(22px,2.6vw,30px)}
.ct__formhead .h3{margin:8px 0 12px}
.ct__formhead p{margin:0;font-size:.92rem;line-height:1.7;color:var(--ink-2)}

/* Sağ sütun — adres, saatler, puan */
.ct__info{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,20px)}
.ctbox{border:1px solid var(--line);background:var(--paper);padding:clamp(20px,2.2vw,28px)}
.ctbox .h3{margin:8px 0 14px}
.ctbox address{font-style:normal;color:var(--ink-2);line-height:1.75;font-size:.92rem;margin-bottom:20px}
.ctbox__t{
  margin:0 0 14px;font-family:var(--s);font-size:.68rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
}
.ctbox__hrs{list-style:none;margin:0;padding:0}
.ctbox__hrs li{
  padding:9px 0;font-size:.9rem;color:var(--ink-2);
  border-bottom:1px solid var(--line-2);
}
.ctbox__hrs li:last-child{border-bottom:0;padding-bottom:0}
.ctbox--rate{
  display:flex;flex-direction:column;gap:8px;
  background:var(--sage);border-color:transparent;text-align:center;
}
.ctbox__score{display:flex;align-items:baseline;justify-content:center;gap:10px}
.ctbox__score b{font-family:var(--d);font-size:1.9rem;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.ctbox__stars{color:var(--peach);font-size:.9rem;letter-spacing:.12em;line-height:1}
.ctbox__rn{font-size:.82rem;color:var(--ink-2)}

/* Harita — tam genişlik, sayfanın kapanışı */
.ctmap{position:relative;height:clamp(340px,46vh,470px);background:var(--soft);border-top:1px solid var(--line)}
.ctmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:grayscale(.22)}
/* Adres kartı haritanın üstünde durur; gömme yüklenmese de görünür. */
.ctmap__card{
  position:absolute;left:var(--pad);bottom:clamp(20px,3vw,34px);z-index:2;
  width:min(340px, calc(100% - 2 * var(--pad)));
  background:var(--paper);border:1px solid var(--line);
  padding:clamp(20px,2.2vw,26px);
  box-shadow:0 30px 60px -40px rgba(var(--ink-rgb),.6);
}
/* h2 ve p birlikte: kart başlığı artık p (bkz. views/iletisim.php),
   eski seçici de duruyor ki başka yerde h2 kullanılırsa bozulmasın. */
.ctmap__card h2,
.ctmap__card .ctmap__ad{
  margin:8px 0 10px;font-family:var(--d);font-weight:700;
  font-size:clamp(1.05rem,1.6vw,1.28rem);letter-spacing:-.02em;
}
.ctmap__card address{font-style:normal;font-size:.88rem;line-height:1.7;color:var(--ink-2);margin-bottom:16px}

/* ---------- SSS ---------- */
.faq{padding-block:clamp(44px,5vw,76px) clamp(60px,7vw,100px)}
.faqnav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:30px}
.faqnav button{padding:9px 18px;font-family:var(--d);font-size:.74rem;font-weight:500;letter-spacing:.08em;border:1px solid var(--line);color:var(--ink-2);transition:background .3s,color .3s,border-color .3s}
.faqnav button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.acc__i{border-bottom:1px solid var(--line)}
.acc__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;text-align:left;font-family:var(--d);font-weight:600;font-size:clamp(.92rem,1.4vw,1.05rem);transition:color .3s}
.acc__q:hover{color:var(--accent-d)}
.acc__q i{position:relative;flex:none;width:16px;height:16px}
.acc__q i::before,.acc__q i::after{content:"";position:absolute;background:currentColor;transition:transform .35s var(--ease)}
.acc__q i::before{left:0;top:7.5px;width:16px;height:1.5px}
.acc__q i::after{left:7.5px;top:0;width:1.5px;height:16px}
.acc__i.is-on .acc__q i::after{transform:scaleY(0)}
.acc__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.acc__i.is-on .acc__a{grid-template-rows:1fr}
.acc__a p{overflow:hidden;margin:0;padding:0;font-size:.92rem;color:var(--ink-2)}
.acc__i.is-on .acc__a p{padding:0 0 22px}

/* ---------- yasal metinler ---------- */
.legal{padding-block:clamp(44px,5vw,76px) clamp(60px,7vw,100px)}
.legal__grid{display:grid;grid-template-columns:240px 1fr;gap:clamp(30px,4vw,64px);align-items:start}
.legal__nav{position:sticky;top:100px;display:flex;flex-direction:column;gap:9px}
.legal__nav a{font-size:.88rem;color:var(--ink-2);transition:color .3s,padding-left .3s}
.legal__nav a:hover{color:var(--accent-d);padding-left:6px}
.legal__body article{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.legal__body article:last-child{border-bottom:0}
.legal__body .h3{margin-bottom:18px}
.legal__body h3{margin:24px 0 10px;font-family:var(--d);font-weight:600;font-size:.98rem}
.legal__body p,.legal__body li{color:var(--ink-2);font-size:.92rem}
.legal__body ul,.legal__body ol{margin:0 0 1em;padding-left:20px}
.legal__body li{margin-bottom:7px}

/* ---------- makale ---------- */
.art{padding-block:clamp(16px,2.4vw,32px) clamp(60px,7vw,100px)}

/* okuma ilerleme çubuğu — sayfanın en üstünde ince şerit */
.rprog{position:fixed;inset:0 0 auto;height:3px;z-index:60;pointer-events:none;background:transparent}
.rprog span{
  display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:var(--grad);will-change:transform;
}

/* --- başlık bloğu --- */
.art__hero{padding-bottom:clamp(6px,1vw,12px)}
.art__head{max-width:800px}
.art__cat{
  display:inline-block;margin:18px 0 14px;padding:6px 14px;
  border:1px solid var(--line);background:var(--paper);
  font-family:var(--s);font-size:.66rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent-d);
  transition:background .3s var(--ease),color .3s,border-color .3s;
}
.art__cat:hover{background:var(--accent-d);border-color:var(--accent-d);color:#fff}
.art__t{margin:0;font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.14;letter-spacing:-.03em}
.art__lede{
  margin:20px 0 0;max-width:64ch;
  font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.7;color:var(--ink-2);
}

/* yazar + paylaşım satırı */
.art__bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:clamp(22px,3vw,32px);padding-top:20px;border-top:1px solid var(--line);
}
.art__by{display:flex;align-items:center;gap:12px;font-size:.86rem;color:var(--mute)}
.art__av{
  display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;
  background:var(--accent-d);color:#fff;
  font-family:var(--d);font-weight:700;font-size:.9rem;letter-spacing:0;
}
.art__byx{display:flex;flex-direction:column;line-height:1.45}
.art__by b{color:var(--ink);font-weight:600}
.art__by i{font-style:normal;opacity:.5;margin:0 3px}

.art__share{display:flex;align-items:center;gap:8px}
.art__sharel{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-right:2px}
.shr{
  display:grid;place-items:center;width:36px;height:36px;flex:none;padding:0;cursor:pointer;
  border:1px solid var(--line);background:var(--paper);color:var(--ink-2);
  transition:background .3s var(--ease),color .3s,border-color .3s;
}
.shr svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.shr:hover{border-color:var(--accent-d);background:var(--accent-d);color:#fff}
.shr.is-ok{border-color:var(--accent);background:var(--accent);color:#fff}

/* --- İKİ SÜTUNLU DÜZEN ---
   Metin ortada, sağda "Diğer Konular". Yan sütun kaydırmada yerinde
   kalır (sticky), böylece uzun yazılarda da elin altında durur. */
/* Ana sütun ~740px'te tutulur: satır uzunluğu 65-75 karakteri aşınca
   göz satır başını kaybeder. Kalan genişlik yan sütuna gider. */
.art__lim{width:100%;max-width:1108px;margin-inline:auto}
.art__wrap{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:clamp(30px,3.4vw,52px);align-items:start;
}
.art__main{min-width:0}

/* --- KAPAK GÖRSELİ ---
   Kaynaktan alınan görsellerin neredeyse tamamı dikey (Instagram oranı).
   Eskiden alan 21/9 idi ve object-fit:cover kullanılıyordu; bu, dikey bir
   fotoğrafın %70'ini kırpıp yalnızca ince bir yatay dilim bırakıyordu.

   Çerçeve artık görselin KENDİ oranını alıyor (width:fit-content) ve
   yüksekliği sınırlanıyor. Böylece hiçbir şey kırpılmaz, dev bir blok
   da oluşmaz; beyaz tuval fotoğrafın çevresinde ince bir paspartu
   olarak kalır, kocaman boş alan olarak değil. */
.art__ph{
  width:fit-content;max-width:100%;
  margin:0 auto clamp(30px,3.6vw,44px);
  padding:clamp(8px,1vw,14px);
  background:#fff;border:1px solid var(--line);
  box-shadow:0 24px 50px -38px rgba(var(--ink-rgb),.45);
}
/* .ph'nin gürültü dokusu ve cover davranışı burada istenmiyor */
.art__ph::after{display:none}
.art__ph img{
  display:block;width:auto;height:auto;
  max-width:100%;max-height:clamp(300px,46vh,460px);
  object-fit:contain;
}

/* --- gövde --- */
.art__body{max-width:none}
.art__body p{font-size:1.02rem;line-height:1.85;color:var(--ink-2);margin:0 0 1.25em}
/* İlk paragraf giriş cümlesidir; bir tık büyük ve koyu. */
.art__body>p:first-of-type{font-size:1.1rem;line-height:1.78;color:var(--ink)}
.art__body h2{
  font-family:var(--d);font-weight:700;font-size:clamp(1.18rem,1.9vw,1.46rem);
  letter-spacing:-.02em;margin:44px 0 16px;padding-top:4px;position:relative;
}
.art__body h2::before{
  content:"";position:absolute;left:0;top:-16px;width:38px;height:2px;background:var(--accent);
}
.art__body h3{font-family:var(--d);font-weight:600;font-size:1.06rem;letter-spacing:-.015em;margin:32px 0 12px}
.art__body ul,.art__body ol{margin:0 0 1.4em;padding-left:20px}
.art__body li{margin-bottom:10px;color:var(--ink-2);line-height:1.75}
.art__body li::marker{color:var(--accent)}
.art__body strong{color:var(--ink);font-weight:600}
.art__body blockquote{
  margin:34px 0;padding:24px 28px;background:var(--soft);border-left:3px solid var(--accent);
  font-family:var(--d);font-weight:600;font-size:1.08rem;letter-spacing:-.015em;color:var(--ink);
}
/* Yazı içindeki görseller — dış kaynaktan alınan yazılarda gövdede
   onlarca görsel olabiliyor ve neredeyse hepsi dikey.

   Yükseklik sınırı KAPAKLA AYNI tutulur. Aksi hâlde gövdedeki
   fotoğraflar sütunun tamamını kaplayıp kapaktan büyük görünüyor,
   sayfanın hiyerarşisi tersine dönüyordu. */
.art__body img{
  display:block;width:auto;height:auto;
  max-width:100%;max-height:clamp(300px,46vh,460px);
  margin:28px auto;background:#fff;
}
.art__body iframe{display:block;max-width:100%;margin:30px auto;aspect-ratio:16/9;height:auto;width:100%;border:0}
/* Fotoğraf kredisi ve kaynak bildirimi */
.art__body .photo_credit{display:block;margin:-18px 0 26px;font-size:.78rem;color:var(--mute);text-align:center;letter-spacing:.03em}
.art__body .yazi-kaynak{
  margin-top:40px;padding:16px 20px;background:var(--soft);
  font-size:.84rem;color:var(--mute);letter-spacing:.01em;
}
.art__body .yazi-kaynak a{color:var(--accent-d);font-weight:600;border-bottom:1px solid currentColor}

.art__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}

/* --- YAN SÜTUN --- */
.art__side{position:relative}
.side__in{position:sticky;top:96px;display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px)}
.side{border:1px solid var(--line);background:var(--paper);padding:clamp(18px,1.8vw,24px)}
.side__t{
  margin:0 0 16px;display:flex;align-items:center;gap:12px;
  font-family:var(--s);font-size:.68rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
}
.side__t::after{content:"";flex:1;height:1px;background:var(--line)}
.side__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.side__list li+li{border-top:1px solid var(--line-2);margin-top:14px;padding-top:14px}

.sidep{display:grid;grid-template-columns:64px 1fr;gap:13px;align-items:start;color:inherit}
.sidep__ph{width:64px;height:64px;flex:none;overflow:hidden}
.sidep__ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.sidep:hover .sidep__ph img{transform:scale(1.06)}
.sidep__x{display:flex;flex-direction:column;gap:4px;min-width:0}
.sidep__k{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-d);font-weight:600}
.sidep__t{
  font-family:var(--d);font-weight:600;font-size:.9rem;line-height:1.38;
  letter-spacing:-.01em;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.sidep:hover .sidep__t{color:var(--accent-d)}
.sidep__m{font-size:.72rem;color:var(--mute)}

.side__all{
  display:inline-flex;align-items:center;gap:8px;margin-top:18px;
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-d);
}
.side__all svg{width:20px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.side__all:hover svg{transform:translateX(4px)}

.side__chips{display:flex;flex-wrap:wrap;gap:7px}
.side__chips a{
  display:inline-flex;align-items:center;gap:6px;padding:6px 11px;
  border:1px solid var(--line);font-size:.74rem;color:var(--ink-2);
  transition:background .3s var(--ease),color .3s,border-color .3s;
}
.side__chips a i{font-style:normal;font-size:.66rem;color:var(--mute);font-variant-numeric:tabular-nums}
.side__chips a:hover{border-color:var(--accent);color:var(--accent-d)}
.side__chips a.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.side__chips a.is-on i{color:rgba(255,255,255,.6)}

.side--cta{background:var(--soft);border-color:transparent;text-align:center}
.side__ctal{
  display:block;font-family:var(--d);font-weight:700;font-size:.82rem;
  letter-spacing:.06em;color:var(--ink);margin-bottom:8px;
}
.side--cta p{margin:0 0 16px;font-size:.84rem;line-height:1.65;color:var(--ink-2)}

/* --- önceki / sonraki yazı --- */
.artnav{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px);
  margin-top:clamp(40px,4.4vw,60px);
}
.artnav__i{
  display:flex;flex-direction:column;gap:9px;padding:clamp(18px,2.2vw,26px);
  border:1px solid var(--line);background:var(--paper);color:inherit;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .4s var(--ease);
}
.artnav__i:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 22px 44px -34px rgba(var(--ink-rgb),.5)}
.artnav__i--next{text-align:right;align-items:flex-end}
.artnav__l{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);
}
.artnav__l svg{width:20px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.artnav__t{
  font-family:var(--d);font-weight:600;font-size:clamp(.96rem,1.4vw,1.1rem);
  letter-spacing:-.015em;line-height:1.4;color:var(--ink);
}
.artnav__i:hover .artnav__t{color:var(--accent-d)}

/* ---------- ekip / journal sayfa varyantları ---------- */
.team--page,.jr--page{background:var(--paper)}
.team__grid--lg{grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,44px)}
/* Ekip kartı — geniş (ekibimiz sayfası)
   Kartın çocukları figure > h3 > span > p sırasıyla gelir. Yalnızca iki
   sütun tanımlanınca otomatik yerleşim bunları 2x2 diziyordu: görsel ve
   ad ilk satıra, uzmanlık ile açıklama ikinci satıra düşüyor, adla metin
   arasında görsel boyunca boşluk kalıyordu. Bu yüzden satır/sütunlar
   açıkça veriliyor: görsel solda üç satır boyunca, metinler sağda alt alta. */
.tm--lg{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  grid-template-rows:auto auto 1fr;
  column-gap:clamp(20px,2vw,28px);
  align-items:start;
}
.tm--lg figure{grid-column:1;grid-row:1 / -1;margin-bottom:0}
.tm--lg h3{grid-column:2;grid-row:1;font-size:1.12rem}
.tm--lg span{grid-column:2;grid-row:2;margin:7px 0 10px}
.tm--lg p{grid-column:2;grid-row:3;margin-top:0;font-size:.9rem;line-height:1.7}
.post a{display:block;color:inherit}
.svc--page{background:var(--paper);padding-top:clamp(30px,4vw,50px)}

/* ---------- 404 ---------- */
.nf{padding-block:clamp(60px,9vw,130px);text-align:center;position:relative;overflow:hidden}
.nf__in{max-width:600px;margin-inline:auto;position:relative}
.nf__code{position:absolute;left:50%;top:-30px;transform:translateX(-50%);font-family:var(--d);font-weight:700;font-size:clamp(8rem,22vw,15rem);line-height:1;color:var(--soft);z-index:-1;letter-spacing:-.04em}
.nf__in .lbl{justify-content:center}
.nf p{color:var(--ink-2)}
.nf__links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:28px 0}
.nf__links a{padding:8px 16px;border:1px solid var(--line);font-size:.82rem;transition:background .3s,color .3s,border-color .3s}
.nf__links a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.nf__act{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* =========================================================
   20. GENİŞLETİLMİŞ DUYARLI DAVRANIŞ
   ========================================================= */
/* orta genişlikte üst menü sıkışmasın */
@media (max-width:1320px){
  .head__in{gap:16px}
  .nav{gap:clamp(11px,1.3vw,20px)}
  .nav a,.nav .navdrop{font-size:.68rem;letter-spacing:.09em}
  .brand__word{font-size:.92rem;letter-spacing:.14em}
  .navdrop{gap:5px}
  .head__cta{padding:0 15px;font-size:.6rem;letter-spacing:.1em;white-space:nowrap}
  .brand__tag{font-size:.52rem;letter-spacing:.24em}
}
@media (max-width:1180px){
  .infoband{grid-template-columns:repeat(2,1fr)}
  .vals__grid,.how__grid{grid-template-columns:repeat(2,1fr)}
  .corp__grid{grid-template-columns:repeat(2,1fr)}
  .minigrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .cartpage__grid,.co__grid,.legal__grid,.acc__grid{grid-template-columns:1fr}
  .cartpage__side,.co__side,.legal__nav,.svcd__ph,.pkgd__ph{position:static}
  .legal__nav{flex-direction:row;flex-wrap:wrap;gap:8px 18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
  .acnav{flex-direction:row;flex-wrap:wrap;gap:6px;border-top:0}
  .acnav a{border:1px solid var(--line);padding:9px 16px;font-size:.8rem}
  .acnav a:hover{padding-left:16px}
  .acnav a.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .pd__grid,.svcd__grid,.pkgd__grid,.ct__grid,.auth__grid{grid-template-columns:1fr}
  /* Hızlı temas kartları dörtten ikiye iner; dört tanesi bu genişlikte
     ezilip telefon numarasını kırpıyordu. */
  .qct__grid{grid-template-columns:repeat(2,1fr)}
  /* Adres ve saatler formun altına iner, yan yana iki kutu kalır. */
  .ct__info{flex-direction:row;flex-wrap:wrap}
  .ct__info>*{flex:1 1 260px}
  .auth__ph{min-height:300px;order:-1}
  .auth__body{max-width:none;padding-top:26px}
  .branch__grid{grid-template-columns:1fr;max-width:560px}
  .team__grid--lg{grid-template-columns:1fr;max-width:640px}
  .minigrid{grid-template-columns:repeat(2,1fr)}
  .svcd__ph,.pkgd__ph{aspect-ratio:16/10}
  /* Yan sütun için yer kalmadı: metnin altına iner ve sabitlenmesi
     kapatılır — dar ekranda sticky bir blok yolu tıkardı. Alta inince
     iki kolonlu listeye dönüşür, uzun bir yığın olmaz. */
  .art__wrap{grid-template-columns:minmax(0,1fr)}
  .side__in{position:static;top:auto}
  .art__side{margin-top:clamp(38px,5vw,60px)}
  .side__list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .side__list li+li{border-top:0;margin-top:0;padding-top:0}
  /* Sosyal karelerde dörtten üçe iner; dört kare bu genişlikte
     açıklamayı okunamayacak kadar küçültüyordu. */
  .soc__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .phead{padding-top:26px}
  .ctaband__in{flex-direction:column;align-items:flex-start}
  .infoband{grid-template-columns:1fr;gap:16px}
  .vals__grid,.vals__grid--3,.how__grid{grid-template-columns:1fr;max-width:440px}
  .bag__grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}
  .corp__grid{grid-template-columns:1fr}
  .minigrid{grid-template-columns:1fr;max-width:420px}
  .side__list{grid-template-columns:1fr}
  /* Sosyal kareler: dokunmatikte hover yok. Açıklama gizlenir,
     beğeni/yorum sayısı ve tür simgesi kalıcı olarak görünür —
     aksi hâlde telefonda perdenin içindeki hiçbir bilgi açılmıyor. */
  /* Uzman kutusu dar ekranda alt alta: yan yana 84px'lik fotoğraf
     metne 200px'den az yer bırakıyordu. */
  .eeat__in{flex-direction:column;align-items:flex-start;gap:16px}
  .eeat__t{position:static;margin-top:4px}
  .svcfaq__i summary{padding-right:28px;font-size:.96rem}
  .soc__grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .soc__cap{display:none}
  .soc__ov{opacity:1;padding:10px;
    background:linear-gradient(to top,rgba(var(--ov-rgb),.62),transparent 46%)}
  .soc__ic,.soc__i:hover .soc__ic{opacity:1;width:26px;height:26px;right:8px;top:8px}
  .soc__bos{flex-direction:column;align-items:flex-start}
  .soc__bos .btn{width:100%}
  /* Galeride dar ekranda iki kolon; tek kolon gereksiz uzuyor. */
  .gal__grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .gal__cap{display:none}
  /* Dokunmatikte hover yok — büyütme simgesi hep görünsün. */
  .gal__ic{opacity:1;transform:none;width:30px;height:30px;right:8px;bottom:8px}
  /* Yön düğmeleri görselin altına iner, ekranı daraltmasın. */
  .glb{grid-template-columns:1fr;grid-template-rows:1fr auto}
  .glb__f{grid-row:1}
  .glb__n{position:static}
  .glb__n--p{grid-row:2;justify-self:start}
  .glb__n--s{grid-row:2;justify-self:end}
  .glb__no{bottom:auto;top:clamp(12px,3vw,20px);text-align:left;left:clamp(12px,3vw,20px);right:auto}
  .qct__grid{grid-template-columns:1fr}
  .ctmap{height:clamp(260px,40vh,340px)}
  .fldgrid{grid-template-columns:1fr}
  .shop__bar{flex-direction:column;align-items:flex-start;gap:14px}
  .shop__tools{width:100%;justify-content:space-between}
  .tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .tabs button{white-space:nowrap}
  .crow{grid-template-columns:64px 1fr;gap:14px}
  .crow--head{display:none}
  .crow__q{grid-column:2;justify-self:start}
  .crow__p{grid-column:2;text-align:left;margin-top:-6px}
  .pd__buy{flex-direction:column;align-items:stretch}
  .pd__buy .stepper{align-self:flex-start}
  .done__box{grid-template-columns:1fr}
  .addrgrid{grid-template-columns:1fr}
  .tline__list li{flex-direction:column;gap:8px}
  .tline__list b{flex-basis:auto}
  /* Dar ekranda tek sütuna iner: görsel üstte, metinler altında. */
  .tm--lg{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;max-width:340px}
  .tm--lg figure{grid-column:1;grid-row:1;margin-bottom:14px}
  .tm--lg h3{grid-column:1;grid-row:2}
  .tm--lg span{grid-column:1;grid-row:3}
  .tm--lg p{grid-column:1;grid-row:4}
  .art__body p{font-size:.98rem}
  .art__body>p:first-of-type{font-size:1.04rem}
  /* Dar ekranda kapak biraz daha alçalır ve paspartu incelir. */
  .art__ph{padding:8px}
  .art__ph img{max-height:52vh}
  .art__body img{max-height:none}
  .art__bar{gap:16px}
  .art__share{width:100%;justify-content:flex-start}
  /* Önceki/sonraki alt alta; "sonraki" de sola hizalanır ki
     tek sütunda sağa yaslı metin garip durmasın. */
  .artnav{grid-template-columns:1fr}
  .artnav__i--next{text-align:left;align-items:flex-start}
  .steps{font-size:.66rem;gap:6px}
  .steps li+li::after{width:12px}
  .radio{padding:12px 14px;gap:10px}
  .radio i{width:100%;text-align:right}
}
@media (max-width:480px){
  .shop__grid{grid-template-columns:1fr;max-width:340px;margin-inline:auto}
  .ig__row{grid-template-columns:repeat(3,1fr)}
  .pd__thumbs button{width:62px}
  .emptybox__act .btn,.done__act .btn,.nf__act .btn{width:100%}
  .authrow{flex-direction:column;align-items:flex-start;gap:10px}
}

/* =========================================================
   21. KÜÇÜK EKRANDA OKUNABİLİRLİK
   Yardımcı metinler masaüstünde 11–12 px'e denk geliyor; küçük
   ekranda bu çok ufak kalıyor. Aşağıdaki blok yalnızca dar
   ekranlarda tipografiyi ve dokunma hedeflerini büyütür.
   ========================================================= */
@media (max-width:760px){
  body{font-size:16px}

  /* butonlar ve bağlantılar */
  .btn{height:52px;font-size:.78rem;letter-spacing:.13em}
  .btn--sm{height:46px;font-size:.72rem}
  .lnk{font-size:.84rem}

  /* etiketler ve üst başlıklar */
  .lbl,.kick{font-size:.72rem;letter-spacing:.18em}
  .bc{font-size:.8rem}
  .phead__d,.sechead__note{font-size:1rem}

  /* ürün kartları */
  .prd__c{font-size:.72rem}
  .prd h3{font-size:1.04rem}
  .prd__p{font-size:1rem}
  .prd__quick{height:48px;font-size:.74rem;opacity:1;transform:none}
  .shop__count{font-size:.86rem}
  .tabs button{padding:11px 18px;font-size:.8rem}
  .sortsel,.rangesel{font-size:.78rem}
  .sortsel select{font-size:.92rem}

  /* formlar */
  .fld label{font-size:.74rem;letter-spacing:.12em}
  .fld input,.fld select,.fld textarea{font-size:1.02rem;padding:12px 0}
  .chk{font-size:.88rem}
  .chk i{flex-basis:20px;width:20px;height:20px}
  .chk i::after{left:6.5px;top:3px}
  .radio{padding:15px 16px}
  .radio b{font-size:.94rem}
  .radio em{font-size:.82rem}

  /* listeler ve tablolar */
  .svcrow__meta{font-size:.8rem}
  .svcrow__meta em{font-size:1rem}
  .pd__meta li,.cmp__facts li,.ct__quick li,.bcard__m li{font-size:.94rem}
  .pd__meta b,.cmp__facts b,.ct__quick b,.bcard__m b{font-size:.74rem}
  .pkgcard__d,.pkgcard__list li{font-size:.95rem}
  .pkgcard__note,.pkg__legal{font-size:.82rem}
  .sumrow{font-size:.96rem}
  .sidenote,.sumnote{font-size:.86rem}
  .post__m,.tm span{font-size:.74rem}
  .tm p,.post p,.val p,.how__i p{font-size:.94rem}
  .ordrow span{font-size:.84rem}
  .ft__col,.ft__col address,.ft__hrs,.ft__bot,.ft__made{font-size:.86rem}
  .ft__brand p{font-size:.82rem}
  .toast{font-size:.86rem;padding:15px 22px}
  .demonote,.cardbox__note{font-size:.86rem}
}

/* ---------- sepet çekmecesi: dar ekranda tam genişlik ---------- */
@media (max-width:620px){
  .cart{width:100%;box-shadow:none}
  .cart__h{padding:20px}
  .cart__h span{font-size:.86rem;letter-spacing:.14em}
  .cart__h button svg{width:18px;height:18px}
  .cart__ship,.cart__items,.cart__f{padding-inline:20px}
  .cart__ship span{font-size:.82rem}
  .cart__bar{height:4px}

  .citem{grid-template-columns:84px 1fr;gap:16px;padding:20px 0}
  .citem h4{font-size:1rem;margin-bottom:4px}
  .citem small{font-size:.76rem;margin-bottom:12px}
  .citem__qty button{width:38px;height:34px;font-size:1rem}
  .citem__qty span{min-width:28px;font-size:.92rem}
  .citem__r{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;margin-top:12px}
  .citem__p{font-size:1rem}
  .citem__x{font-size:.78rem}

  .cart__empty{font-size:1rem;padding:50px 20px}
  .cart__sum span{font-size:.8rem}
  .cart__sum b{font-size:1.45rem}
  .cart__vat{font-size:.8rem}
  .cart__more{font-size:.82rem;padding:12px 0}

  /* arama katmanı */
  .srch__hint{font-size:.86rem}
  .srch__hint button{font-size:.82rem;padding:8px 15px;margin:6px 8px 0 0}
  .sres h4{font-size:.98rem}
  .sres span{font-size:.88rem}
  .sres__ph{width:74px}
}


/* =========================================================
   MOBİL ALT NAVİGASYON
   Yalnızca ≤1024px'te görünür. Beş kısayol; tam menü üstteki
   hamburgerden açılır.
   ========================================================= */
.bnav{display:none}
.bnav__i{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;height:62px;color:var(--mute);
  font-family:var(--d);font-size:.55rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  transition:color .3s var(--ease)}
.bnav__ic{width:34px;height:34px;display:grid;place-items:center;
  transition:background .3s var(--ease),color .3s var(--ease)}
.bnav__ic svg{width:20px;height:20px}
.bnav__i::before{content:"";position:absolute;left:50%;top:0;width:0;height:2px;
  background:var(--accent-d);transform:translateX(-50%);transition:width .35s var(--ease)}
.bnav__i.is-on{color:var(--accent-d)}
.bnav__i.is-on::before{width:26px}
.bnav__i.is-on .bnav__ic{background:var(--soft)}
.bnav__i--cta{color:var(--ink)}
.bnav__i--cta .bnav__ic{background:var(--accent-d);color:#fff}
.bnav__i--cta.is-on .bnav__ic{background:var(--ink);color:#fff}

@media (max-width:1024px){
  /* Alt gezinme çubuğunun yüksekliği TEK YERDE tanımlanır. Eskiden
     62px elle yazılıyordu; çubuğun kenarlıkla birlikte gerçek yüksekliği
     63px olduğu için çerez şeridi çubuğu 2-3px örtüyordu. Değişkenle
     ikisi birbirinden ayrışamaz. */
  :root{--bnav-h:63px}
  body{padding-bottom:calc(var(--bnav-h) + env(safe-area-inset-bottom, 0px))}
  .toast{bottom:calc(var(--bnav-h) + 16px + env(safe-area-inset-bottom, 0px))}

  .bnav{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;
    position:fixed;left:0;right:0;bottom:0;z-index:75;
    background:rgba(var(--paper-rgb),.94);backdrop-filter:blur(14px);
    border-top:1px solid var(--line);box-shadow:0 -10px 30px -22px rgba(var(--ink-rgb),.5);
    padding-bottom:env(safe-area-inset-bottom, 0px)}
  body.is-locked .bnav{opacity:0;visibility:hidden;pointer-events:none;transition:.3s var(--ease)}
}

@media (max-width:480px){
  .bnav__i{font-size:.5rem;letter-spacing:.06em;gap:3px}
  .bnav__ic{width:32px;height:32px}
  .bnav__ic svg{width:19px;height:19px}
}


/* =========================================================
   TAŞMA GÜVENLİĞİ  (mobilde yatay kayma önleme)

   Uzun e-posta / adres gibi bölünemeyen metinler bir sütunun
   en küçük genişliğini şişirip sayfayı yana kaydırabiliyordu.
   Aşağıdaki kurallar bunu engeller.
   ========================================================= */
a[href^="mailto:"],.ft__mail{overflow-wrap:anywhere;word-break:break-word}
.bnav{grid-template-columns:repeat(5,minmax(0,1fr))}
.bnav__i{min-width:0}

@media (max-width:760px){
  .bcard__m li,.ct__quick li,.sechead--split,.ig__head{flex-wrap:wrap}
  .bcard__m li > *,.ct__quick li > *{min-width:0}
  .bcard__m li b,.ct__quick li b{flex-basis:100%}
}

/* Gizli "Hizmetler" mega menüsü mobilde de yer kaplayıp 4px
   taşmaya yol açıyordu; menü zaten mobilde kullanılmıyor. */
@media (max-width:1024px){
  .mega{display:none}
}

/* =========================================================
   ÇEREZ İZNİ
   Karar verilmemişse basılır. Sayfayı perdelemez — okumayı
   engelleyen tam ekran perde hem rahatsız edici hem gereksiz;
   alt şerit yeterli ve mobil gezinmeyi bozmuyor.
   ========================================================= */
.riza{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  padding:clamp(12px,2vw,20px);
  padding-bottom:calc(clamp(12px,2vw,20px) + env(safe-area-inset-bottom, 0px));
  animation:rizaGir .5s var(--ease) both;
}
@keyframes rizaGir{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Tam genişlik şerit DEĞİL, dar bir kart.
   Sayfa genişliğine yayılınca metinle düğmeler arasında kocaman bir
   boşluk kalıyordu ve şerit gereğinden çok yer kaplıyordu. Sol altta
   duran küçük bir kart hem daha az müdahil hem daha derli toplu. */
.riza__box{
  width:100%;max-width:430px;
  background:var(--paper);border:1px solid var(--line);
  box-shadow:0 18px 50px -24px rgba(var(--ink-rgb),.6);
}
.riza__ana{
  display:flex;flex-direction:column;align-items:stretch;gap:12px;
  padding:14px clamp(14px,1.6vw,18px);
}
.riza__x{
  margin:0;min-width:0;
  font-size:.8rem;line-height:1.55;color:var(--ink-2);
}
.riza__x b{color:var(--ink);font-weight:600}
.riza__x a{color:var(--accent-d);border-bottom:1px solid currentColor}
/* Üç düğme tek sırada eşit paylaşır — dar kartta sarmayı önler. */
.riza__act{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.riza__act .btn{
  white-space:nowrap;height:34px;padding:0 6px;width:100%;
  font-size:.58rem;letter-spacing:.06em;justify-content:center;
}
.riza__act--alt{grid-template-columns:1fr;padding:0 clamp(14px,1.6vw,18px) 14px}

.riza__ayar{border-top:1px solid var(--line)}
.riza__list{list-style:none;margin:0;padding:0}
.riza__list li{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:11px clamp(14px,1.8vw,22px);border-bottom:1px solid var(--line-2);
}
.riza__list li:last-child{border-bottom:0}
.riza__k{display:flex;flex-direction:column;gap:2px;min-width:0;cursor:pointer}
.riza__k b{font-size:.83rem;font-weight:600;color:var(--ink)}
.riza__k span{font-size:.76rem;line-height:1.5;color:var(--mute)}
.riza__hep{
  flex:none;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-d);
}

/* açma/kapama anahtarı */
.swc{flex:none;display:inline-flex;cursor:pointer}
.swc input{position:absolute;opacity:0;width:0;height:0}
.swc i{
  display:block;width:44px;height:25px;border-radius:999px;position:relative;
  background:rgba(var(--ink-rgb),.16);transition:background .3s var(--ease);
}
.swc i::after{
  content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;
  background:#fff;box-shadow:0 1px 4px rgba(var(--ink-rgb),.35);
  transition:transform .3s var(--ease);
}
.swc input:checked + i{background:var(--accent-d)}
.swc input:checked + i::after{transform:translateX(19px)}
.swc input:focus-visible + i{outline:2px solid var(--accent);outline-offset:2px}

/* Mobilde alt gezinme çubuğunun ÜSTÜNDE durur; yoksa "Randevu"
   düğmesini örterdi. Ayar listesi de tek sütuna iner. */
@media (max-width:1024px){
  /* Alt çubuğun tam üstünde, 10px boşlukla. --bnav-h çubuğun kendi
     kuralıyla aynı değişkenden gelir; birbirinden kayamazlar. */
  .riza{
    bottom:calc(var(--bnav-h, 63px) + 10px + env(safe-area-inset-bottom, 0px));
    padding-bottom:0;
  }
  /* Dar ekranda kart kenardan kenara yayılır; 430px sınırı burada
     gereksiz bir boşluk bırakırdı. */
  .riza__box{max-width:none}
  .riza__ana{gap:10px;padding:11px clamp(12px,3vw,16px)}
  .riza__x{font-size:.76rem;line-height:1.5}
  .riza__ayar{max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:480px){
  .riza__list li{flex-wrap:wrap;gap:8px}
  .riza__list .swc{margin-left:auto}
}

/* Harita izni verilmediğinde gösterilen alan */
.ctmap__izin{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:14px;text-align:center;padding:clamp(20px,4vw,40px);
}
.ctmap__izin p{margin:0;max-width:52ch;font-size:.88rem;line-height:1.7;color:var(--ink-2)}
.ctmap__izin b{color:var(--ink)}

/* =========================================================
   YASAL METİN MODALI (KVKK)
   ========================================================= */
.kmod[hidden]{display:none}
.kmod{
  position:fixed;inset:0;z-index:210;display:grid;place-items:center;
  padding:clamp(14px,3vw,40px);
  background:rgba(var(--ov-rgb),.72);backdrop-filter:blur(5px);
  animation:kmodGir .3s var(--ease) both;
}
@keyframes kmodGir{from{opacity:0}to{opacity:1}}
body.kmod-acik{overflow:hidden}
.kmod__box{
  display:flex;flex-direction:column;width:100%;max-width:640px;
  /* max-height:100% YETMİYOR: ızgara öğesinde yüzde, belirsiz yüksekliğe
     karşı çözülüp yok sayılabiliyor. Ölçtüm — kutu 820px ekranda
     1934px'e çıkıp 1154px taşıyordu. Görüntü alanı biriminde vermek
     her durumda çalışır. */
  max-height:calc(100vh - 2 * clamp(14px,3vw,40px));
  background:var(--paper);border:1px solid var(--line);
  box-shadow:0 40px 90px -50px rgba(var(--ink-rgb),.8);
}
.kmod__h{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;
  padding:14px clamp(16px,2vw,22px);border-bottom:1px solid var(--line);
}
.kmod__t{margin:0;font-family:var(--d);font-weight:600;font-size:.92rem;letter-spacing:-.01em}
.kmod__x{
  display:grid;place-items:center;width:30px;height:30px;flex:none;padding:0;cursor:pointer;
  border:0;background:transparent;color:var(--mute);
  transition:color .25s var(--ease);
}
.kmod__x:hover{color:var(--ink)}
.kmod__x svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
/* min-height:0 ŞART: esnek öğelerin varsayılan min-height:auto değeri
   içerikten küçülmeyi engelliyor; overflow-y:auto bu yüzden hiç devreye
   girmiyor ve kutu bütün metin boyunca uzuyordu. */
.kmod__b{
  flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:clamp(16px,2vw,24px);font-size:.86rem;line-height:1.7;color:var(--ink-2);
}
.kmod__b h2{font-family:var(--d);font-weight:600;font-size:.94rem;letter-spacing:-.01em;color:var(--ink);margin:22px 0 9px}
.kmod__b h2:first-child{margin-top:0}
.kmod__b h3{font-family:var(--s);font-weight:600;font-size:.84rem;color:var(--ink);margin:16px 0 6px}
.kmod__b p{margin:0 0 .9em}
.kmod__b ul,.kmod__b ol{margin:0 0 1em;padding-left:18px}
.kmod__b li{margin-bottom:5px}
.kmod__b article + article{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-2)}
.kmod__yuk{color:var(--mute);text-align:center;padding:24px 0}
.kmod__f{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;flex:none;
  padding:12px clamp(16px,2vw,22px);border-top:1px solid var(--line);
}
.kmod__f .lnk{font-size:.78rem}
@media (max-width:560px){
  .kmod{padding:0}
  /* Yine YÜZDE kullanılmaz: masaüstündeki aynı hata mobilde de vardı,
     kutu 820px ekranda 2275px'e çıkıyordu. Kesin yükseklik verilince
     esnek çocuklar doğru küçülüyor. */
  .kmod__box{max-width:none;width:100%;height:100vh;max-height:100vh;border:0}
  .kmod__f .btn{flex:1}
}

/* =========================================================
   BAKIM ÖNERİSİ TESTİ  (views/oneri.php)

   JS'SİZ HÂL TEMELDİR: bütün sorular açık, tek formda, normal
   gönder düğmesiyle çalışır. app.js kapsayıcıya "qz--js"
   ekleyince adım adım gezinmeye dönüşür. Bu yüzden gizleme
   kuralları yalnızca .qz--js altında yazılıdır — JS çökse
   ya da engellense test yine çalışır.
   ========================================================= */
.qz{padding:clamp(30px,5vw,64px) 0 clamp(40px,6vw,80px)}
.qz__head{max-width:60ch;margin-bottom:clamp(26px,4vw,44px)}
.qz__d{margin:16px 0 0;font-size:.95rem;line-height:1.75;color:var(--ink-2)}

/* ---- ilerleme çubuğu ---- */
.qz__bar{display:none;height:3px;margin-bottom:clamp(24px,3.5vw,38px);background:var(--line-2)}
.qz--js .qz__bar{display:block}
.qz__bar i{display:block;height:100%;width:0;background:var(--grad);
  transition:width .45s var(--ease)}

/* ---- soru bloğu ---- */
.qz__step{border:0;padding:0;margin:0 0 clamp(30px,4.5vw,50px)}
.qz--js .qz__step{display:none;margin-bottom:0}
.qz--js .qz__step.is-on{display:block}
.qz__sc{
  display:block;padding:0;margin-bottom:10px;
  font-family:var(--d);font-size:clamp(1.12rem,2.4vw,1.5rem);font-weight:600;
  letter-spacing:-.01em;line-height:1.35;color:var(--ink);
}
.qz__sc em{display:block;margin-bottom:9px;font-style:normal;
  font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-d)}
.qz__y{margin:0 0 20px;font-size:.84rem;color:var(--mute)}

/* ---- seçenek kartları ---- */
.qz__opts{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.qz__opts[data-kol="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.qz__o{position:relative;display:block;cursor:pointer}
/* Radyo düğmesi GÖRSEL OLARAK saklanır ama DOM'da ve odak
   zincirinde kalır: display:none verilince klavyeyle seçilemez ve
   ekran okuyucu grubu hiç görmezdi. */
.qz__o input{position:absolute;width:1px;height:1px;opacity:0;
  clip-path:inset(50%);pointer-events:none}
.qz__ob{
  display:flex;flex-direction:column;gap:5px;height:100%;
  padding:18px 18px 19px;border:1px solid var(--line);border-radius:6px;
  background:var(--paper);
  transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease);
}
.qz__ob b{font-family:var(--d);font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.qz__ob i{font-style:normal;font-size:.78rem;line-height:1.5;color:var(--mute)}
@media (hover:hover){
  .qz__o:hover .qz__ob{border-color:var(--accent-d);transform:translateY(-2px)}
}
/* input, .qz__ob'den ÖNCE geldiği için kardeş seçici çalışır */
.qz__o input:checked + .qz__ob{border-color:var(--accent-d);background:var(--soft)}
.qz__o input:focus-visible + .qz__ob{outline:2px solid var(--accent-d);outline-offset:2px}

.qz__geri{
  margin-top:18px;padding:0;border:0;background:transparent;cursor:pointer;
  font-family:var(--d);font-size:.76rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute);
  transition:color .25s var(--ease);
}
.qz--js .qz__geri{display:inline-block}
.qz__geri:hover{color:var(--ink)}
/* JS yokken geri düğmesinin işlevi yok (bütün sorular ekranda) */
.qz:not(.qz--js) .qz__geri{display:none}

.qz__son{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:clamp(22px,3vw,34px)}
.qz--js .qz__son{display:none}
.qz--js.is-son .qz__son{display:flex}
.qz__kvkk{font-size:.76rem;color:var(--mute)}

/* =========================================================
   FİYAT LİSTESİ  (views/fiyatlar.php)
   ========================================================= */
.fyt{padding:clamp(30px,5vw,64px) 0 clamp(40px,6vw,80px)}
.fyt__blok{margin-bottom:clamp(34px,5vw,56px)}
.fyt__t{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line);
  font-family:var(--d);font-size:.7rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink);
}
.fyt__t a{color:inherit}
.fyt__t a:hover{color:var(--accent-d)}
.fyt__t em{font-style:normal;font-size:.66rem;letter-spacing:.14em;color:var(--mute)}

/* Tablo KENDİ kutusunda kayar; sayfa gövdesi hiçbir genişlikte
   yatay kaymaz. */
.fyt__kaydir{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* table-layout:fixed — kolon genişlikleri İÇERİKTEN DEĞİL colgroup'tan
   gelir. Her grup ayrı tablo olduğu için otomatik genişlikte uzun bir
   hizmet adı o tablonun kolonlarını kaydırıyor, gruplar arasında
   hizalama bozuluyordu. */
.fyt__tbl{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.88rem}
/* min-width verilmedi: sabit düzende ilk kolon kalanı alıyor, tablo
   320px'te de sığıyor. min-width koymak kutuyu gereksizce kaydırırdı. */
.fyt__c1{width:auto}
.fyt__c2{width:130px}
.fyt__c3{width:150px}
/* nowrap KALDIRILDI: sabit kolon düzeninde 78px'lik süre kolonunda
   "SEANS SÜRESİ" sığmıyor ve kırpılıyordu ("SEANS SÜRİ" görünüyordu).
   Sarmaya izin verilince dar ekranda iki satıra iniyor. */
.fyt__tbl thead th{
  padding:0 0 10px;text-align:left;font-family:var(--d);font-size:.64rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);line-height:1.35;
}
.fyt__tbl tbody tr{border-bottom:1px solid var(--line-2)}
.fyt__tbl tbody tr:last-child{border-bottom:0}
.fyt__tbl th,.fyt__tbl td{padding:14px 16px 14px 0;vertical-align:top}
.fyt__tbl tbody th{font-weight:500;text-align:left}
/* Sabit düzende uzun ad kolonu taşırabilir — kelime kırılması şart */
.fyt__tbl tbody th a{font-family:var(--d);font-weight:600;font-size:.95rem;color:var(--ink);
  overflow-wrap:break-word}
.fyt__tbl tbody th a:hover{color:var(--accent-d)}
.fyt__not{display:block;margin-top:4px;font-size:.75rem;line-height:1.5;color:var(--mute)}
.fyt__tbl td{color:var(--ink-2);white-space:nowrap}
.fyt__p{text-align:right;padding-right:0!important}
.fyt__p b{font-family:var(--d);font-weight:600;font-size:1rem;color:var(--ink)}
.fyt__p i{font-style:normal;font-size:.78rem;color:var(--mute)}

.fyt__paket{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-top:clamp(10px,2vw,20px);padding:clamp(20px,3vw,30px);
  background:var(--soft);border-radius:8px;
}
.fyt__paket > div{max-width:62ch}
.fyt__paket h2{margin:8px 0 10px}
.fyt__paket p{margin:0;font-size:.88rem;line-height:1.7;color:var(--ink-2)}

/* Hizmet sayfasındaki fiyat satırı */
.svcd__fiyat{display:flex;align-items:baseline;gap:10px;margin:0 0 12px}
.svcd__fiyat b{font-family:var(--d);font-weight:700;font-size:clamp(1.3rem,3vw,1.7rem);
  letter-spacing:-.02em;color:var(--ink)}
.svcd__fiyat span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

@media (max-width:560px){
  .fyt__tbl{font-size:.84rem}
  .fyt__tbl th,.fyt__tbl td{padding:12px 10px 12px 0}
  /* Dar ekranda süre/fiyat kolonları daralır; ad kolonuna yer kalsın */
  .fyt__c2{width:78px}
  .fyt__c3{width:104px}
  .fyt__paket{padding:18px}
  .fyt__paket .btn{width:100%}
}

/* ---- öneri testi çağrısı (hizmetler sayfası) ---- */
.oncta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-top:clamp(20px,3vw,30px);padding:18px 22px;
  border:1px solid var(--line);border-radius:6px;background:var(--paper);
  transition:border-color .25s var(--ease),transform .25s var(--ease);
}
.oncta:hover{border-color:var(--accent-d);transform:translateY(-2px)}
.oncta__x{display:flex;flex-direction:column;gap:4px;min-width:0}
.oncta__x b{font-family:var(--d);font-size:.94rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.oncta__x span{font-size:.82rem;line-height:1.55;color:var(--ink-2)}
.oncta em{flex:none;font-style:normal;font-family:var(--d);font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent-d)}
@media (max-width:560px){
  .oncta{padding:16px 18px;gap:12px}
  .oncta em{align-self:flex-start}
}

/* ---- alternatif yol: hizmet grupları ---- */
.qzg{padding:clamp(34px,5vw,66px) 0;background:var(--soft)}
.qzg__grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  margin-top:clamp(22px,3vw,34px);padding:0;list-style:none}
.qzg__i a{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 18px 16px;
  background:var(--paper);border:1px solid var(--line);border-radius:6px;
  transition:border-color .25s var(--ease),transform .25s var(--ease)}
.qzg__i a:hover{border-color:var(--accent-d);transform:translateY(-2px)}
.qzg__i b{font-family:var(--d);font-size:.92rem;font-weight:600;color:var(--ink)}
.qzg__i span{font-size:.79rem;line-height:1.6;color:var(--ink-2)}
.qzg__i em{margin-top:auto;padding-top:8px;font-style:normal;
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}

/* =========================== SONUÇ EKRANI =========================== */
.qzr{padding:clamp(24px,4vw,50px) 0 clamp(44px,6vw,86px)}
.qzr__head{max-width:58ch}
.qzr__d{margin:16px 0 0;font-size:.95rem;line-height:1.75;color:var(--ink-2)}
/* list-style:none ŞART — sitede genel bir ul sıfırlaması yok; etiketler
   arasında madde işareti noktaları çıkıyordu. */
.qzr__ozet{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(22px,3vw,32px) 0 0;
  padding:0;list-style:none}
.qzr__ozet li{padding:7px 14px;border:1px solid var(--line);border-radius:100px;
  font-size:.76rem;color:var(--ink-2);background:var(--paper)}
.qzr__blok{margin-top:clamp(34px,5vw,58px)}
.qzr__t{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);
  font-family:var(--d);font-size:.7rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink);
}
.qzr__t em{font-style:normal;font-size:.66rem;letter-spacing:.14em;color:var(--mute)}
/* Paket kartı tek başına kalınca kolon genişliğinde kalsın —
   pkgcard ızgara içinde durmaya göre yazılmış. */
.qzr__pkg{max-width:400px}
.qzr__act{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:clamp(30px,4vw,48px)}
.qzr__uyari{margin:clamp(26px,3.5vw,38px) 0 0;padding-top:18px;border-top:1px solid var(--line-2);
  font-size:.78rem;line-height:1.7;color:var(--mute);max-width:70ch}

@media (max-width:760px){
  .qz__opts,.qz__opts[data-kol="3"]{grid-template-columns:1fr}
  .qz__ob{padding:15px 16px 16px}
  .qzr__pkg{max-width:none}
  .qzr__act{gap:14px}
}

@media (prefers-reduced-motion:reduce){
  .qz__bar i,.qz__ob,.qzg__i a{transition:none}
}

/* =========================================================
   INSTAGRAM ŞERİDİ  (views/parca/ig-serit.php)

   Masaüstü: sağ kenarda dikey sekme, üzerine gelince sola
   açılan kutu. Mobil: sağ kenarda yuvarlak simge düğmesi.

   BAŞLANGIÇTA GÖRÜNMEZ. app.js, ziyaretçi daha önce
   kapatmadıysa "is-ready" ekler; şerit kenardan kayarak
   gelir. Böylece kapatan kişi her sayfada bir anlık yanıp
   sönme görmez.

   z-index:96 — yüzen düğmenin (97) altında, çerez şeridinin
   (200) çok altında; menü/perde açıkken body.is-locked ile
   tamamen kalkar.
   ========================================================= */
.igt{
  position:fixed;right:0;top:50%;z-index:96;
  transform:translate(100%,-50%);opacity:0;visibility:hidden;
  transition:transform .55s var(--ease),opacity .45s var(--ease),visibility .45s;
}
.igt.is-ready{transform:translate(0,-50%);opacity:1;visibility:visible}
.igt.is-gone{transform:translate(100%,-50%);opacity:0;visibility:hidden;pointer-events:none}
body.is-locked .igt{opacity:0;visibility:hidden;pointer-events:none}

/* ---- dikey sekme ---- */
.igt__b{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:18px 11px 20px;
  border:2px solid transparent;border-right:0;border-radius:6px 0 0 6px;
  color:var(--paper);
  /* Gövde koyu, kenarlık aktif temanın degradesi */
  background:linear-gradient(var(--ink),var(--ink)) padding-box, var(--grad) border-box;
  box-shadow:-14px 14px 34px -20px rgba(var(--ink-rgb),.75);
  transition:background .35s var(--ease);
}
.igt__ic{display:grid;place-items:center;width:24px;height:24px;flex:none}
.igt__ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.igt__t{
  writing-mode:vertical-rl;text-orientation:mixed;
  font-family:var(--d);font-size:.64rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;
}

/* ---- kapat düğmesi ----
   Sekmenin ÜST KENARINDA, yatayda sekmeyle aynı hizada durur.
   Önce sol üst köşeye (-9px,-9px) konmuştu: açılan kutu sekmeden
   daha uzun olduğu için düğme kutunun sağ üst köşesine biniyor,
   yarısı kenarlığın üstünde kalıyordu. Sekmenin üstünde ortalanınca
   kutunun yatay bandının tamamen dışında kalıyor. */
.igt__x{
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  display:grid;place-items:center;width:22px;height:22px;padding:0;cursor:pointer;
  border:1px solid var(--line);border-radius:50%;
  background:var(--paper);color:var(--mute);
  opacity:0;visibility:hidden;
  transition:opacity .25s var(--ease),visibility .25s,color .25s var(--ease);
}
.igt__x svg{width:9px;height:9px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.igt__x:hover{color:var(--ink)}

/* ---- açılan kutu ---- */
.igt__pop{
  position:absolute;right:calc(100% + 12px);top:50%;
  width:250px;padding:16px;
  transform:translate(10px,-50%);opacity:0;visibility:hidden;
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
  box-shadow:-24px 30px 70px -40px rgba(var(--ink-rgb),.85);
  transition:transform .4s var(--ease),opacity .3s var(--ease),visibility .3s;
}
.igt__hd{display:flex;align-items:center;gap:10px}
.igt__av{
  display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;
  color:#fff;background:var(--grad);
}
.igt__av svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.igt__hx{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.igt__hx b{font-family:var(--d);font-size:.8rem;font-weight:600;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.igt__hx i{font-style:normal;font-size:.68rem;color:var(--mute);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.igt__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}
.igt__ph{position:relative;margin:0;aspect-ratio:1;max-width:100%;overflow:hidden;border-radius:4px}
.igt__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:100%}
.igt__d{margin:13px 0 0;font-size:.76rem;line-height:1.6;color:var(--ink-2)}
.igt__cta{
  display:block;margin-top:13px;padding-top:11px;border-top:1px solid var(--line-2);
  font-family:var(--d);font-size:.7rem;font-weight:600;letter-spacing:.06em;color:var(--accent-d);
}

/* Açılan kutu YALNIZCA fareli cihazlarda. Dokunmatikte :hover
   "yapışıyor": bir kez dokunulduğunda kutu açık kalıp ekranın
   sağını kapatıyordu. focus-within klavye kullanıcısı için. */
@media (hover:hover){
  .igt:hover .igt__pop,
  .igt:focus-within .igt__pop{transform:translate(0,-50%);opacity:1;visibility:visible}
  .igt:hover .igt__x,
  .igt:focus-within .igt__x{opacity:1;visibility:visible}
  .igt__b:hover{background:linear-gradient(var(--accent-d),var(--accent-d)) padding-box, var(--grad) border-box}
}
/* Dokunmatikte kapat düğmesi sürekli görünür — hover ile ortaya
   çıkaramayacağı bir düğme erişilemez olurdu. */
@media (hover:none){
  .igt__x{opacity:1;visibility:visible}
}

/* ---- mobil: dikey sekme yerine yuvarlak simge ---- */
@media (max-width:1024px){
  .igt{
    top:auto;
    /* Alt gezinme çubuğunun ÜSTÜNDE ve bildirim şeridinin (toast)
       hizasından yukarıda: toast ortalanmış ve dar ekranda neredeyse
       tam genişlik olduğu için 16px'lik boşlukta üst üste biniyorlardı. */
    bottom:calc(var(--bnav-h) + 76px + env(safe-area-inset-bottom, 0px));
    /* Kenar boşluğu .igt__b'ye margin olarak değil BURAYA verilir:
       margin kapsayıcıyı genişletiyor, kapat düğmesinin left:50%
       hesabı yuvarlak düğmenin merkezine denk gelmiyordu. */
    right:12px;
    transform:translateX(calc(100% + 12px));
  }
  .igt.is-ready{transform:translateX(0)}
  .igt.is-gone{transform:translateX(calc(100% + 12px))}
  .igt__b{
    padding:0;width:46px;height:46px;
    border-radius:50%;border-right-width:2px;
    justify-content:center;gap:0;
  }
  .igt__t{display:none}
  .igt__pop{display:none}
  /* Mobilde köşeye alınır: yuvarlak düğmenin tam üst ortasında
     dururken parmağın nişan aldığı yere çok yakındı, yanlış dokunma
     riski vardı. Sağ üst köşe hem alışılmış hem uzak. */
  .igt__x{top:-6px;left:auto;right:-6px;transform:none;width:20px;height:20px}

  /* Çerez izni kutusu ekrandayken düğme mobilde hiç çıkmaz —
     gerekçesi app.js "INSTAGRAM ŞERİDİ" bölümünde. */
  .igt--riza{display:none}
}

@media (prefers-reduced-motion:reduce){
  .igt,.igt__pop,.igt__b,.igt__x{transition:none}
}
