@charset "UTF-8";
/* ===================================================================
   DALYAN BOAT TRIP — site.css
   Onaylanan tasarim sistemi (3. tur prototipinden genisletildi).

   Kural: beyaz zemin, siyah yazi. Renk YALNIZCA iki yerden gelir:
   tuval sahneleri ve butonlar. Tek gorsel dunya — aydinlik.
   Tema damgasi YOK (koyu kip anahtari yok); her renk acikca boyanir.

   Icindekiler
     00  Jetonlar
     01  Sifirlama ve taban
     02  Tipografi
     03  Butonlar
     04  Kapsul menu
     05  Hero + oynanabilir sahne
     06  Duraklar seridi
     07  Bolum kabuklari
     08  Kartlar
     09  Tur sayfasi (izgara, rezervasyon, kunye, zaman cizgisi, listeler)
     10  SSS
     11  Rehber (icindekiler + bolumler)
     12  Form
     13  Yardimci bloklar (kirinti, yardim hatti, bloklar, soru-cevap,
         404, hap, kanallar)
     14  Alt bilgi
     15  Erisilebilirlik / hareket azaltma
   =================================================================== */

/* ================================================================
   00 — JETONLAR
   ================================================================ */
:root{
  /* kagit ve murekkep */
  --paper:  #FFFFFF;
  --paper-2:#F6F7F8;
  --ink:    #0B0C0D;
  --ink-2:  #35383B;
  --mute:   #74797E;
  --line:   #E4E7EA;
  --line-2: #EFF1F3;

  /* vurgu — sadece sahne ve butonlar */
  --sea:    #0FA9C4;
  --sea-dk: #087C90;
  --sea-lt: #E4F7FB;
  --leaf:   #1FA855;
  --leaf-dk:#178945;
  --sun:    #FFC53D;
  --coral:  #FF6B3D;

  /* yazi */
  --ff:   'Instrument Sans','Segoe UI',system-ui,-apple-system,sans-serif;
  --ff-s: 'Newsreader','Iowan Old Style',Georgia,serif;

  /* olcu */
  --wrap:        1200px;
  --wrap-narrow: 780px;
  --gut:         2.4rem;          /* iki yandaki toplam bosluk */
  --r-pill:      999px;
  --r-card:      20px;
  --r-in:        14px;            /* kart icindeki kucuk kutular */

  /* yuzen menunun altinda kalmamak icin kullanilan tek sayi */
  --nav-h: 5.6rem;

  --shadow-pill: 0 1px 2px rgba(11,12,13,.05), 0 8px 24px -8px rgba(11,12,13,.16);
  --shadow-card: 0 1px 2px rgba(11,12,13,.04), 0 18px 48px -24px rgba(11,12,13,.28);

  /* gecis egrisi — her yerde ayni */
  --ease: cubic-bezier(.2,.8,.3,1);
}

/* ================================================================
   01 — SIFIRLAMA VE TABAN
   ================================================================ */
*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  /* capa baglantilari yuzen menunun altinda kalmasin */
  scroll-padding-top:calc(var(--nav-h) + 1rem);
  background:var(--paper);
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ff);
  font-size:17px;
  line-height:1.6;
  font-weight:400;
  overflow-x:hidden;              /* yatay tasma olmasin */
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,canvas,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
hr{height:1px;border:0;background:var(--line-2);margin:0}
::selection{background:var(--sea-lt);color:var(--ink)}

/* olcu kabi */
.wrap{width:min(100% - var(--gut),var(--wrap));margin-inline:auto}
.wrap--narrow{width:min(100% - var(--gut),var(--wrap-narrow));margin-inline:auto}

/* icerige atla — sadece odakta gorunur */
.skip{
  position:absolute;left:50%;top:0;z-index:200;
  transform:translate(-50%,-140%);
  padding:.7rem 1.2rem;border-radius:0 0 var(--r-pill) var(--r-pill);
  background:var(--ink);color:#fff;
  font-size:.9rem;font-weight:600;text-decoration:none;
  transition:transform .18s var(--ease);
}
.skip:focus,.skip:focus-visible{transform:translate(-50%,0)}

/* Yuzen menu sabit oldugu icin, hero ile baslamayan sayfalarin ilk
   blogu menunun altinda kalir. Tek satirlik savunma: */
main > :first-child:not(.hero){padding-top:calc(var(--nav-h) + .6rem)}

/* ================================================================
   02 — TIPOGRAFI
   ================================================================ */
h1,h2,h3,h4{
  margin:0;font-weight:600;letter-spacing:-.032em;line-height:1.06;
  text-wrap:balance;
}
h1{font-size:clamp(2.2rem,5vw,3.5rem);letter-spacing:-.042em;line-height:1.02}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem);letter-spacing:-.038em}
h3{font-size:clamp(1.16rem,1.7vw,1.4rem)}
h4{font-size:1.02rem;letter-spacing:-.025em}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}

/* serif YALNIZCA vurgu kelimesinde */
em.s{font-family:var(--ff-s);font-style:italic;font-weight:400;letter-spacing:-.01em}
h1 em.s{font-size:1.03em;letter-spacing:-.02em}

/* versal etiket */
.eyebrow{
  margin:0 0 1rem;
  font-size:.7rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mute);
}

/* giris paragrafi */
.lead{
  font-size:clamp(1.02rem,1.4vw,1.16rem);
  line-height:1.55;color:var(--ink-2);max-width:56ch;
}

/* uzun metin — rehber/sayfa govdesi */
.prose{max-width:68ch;color:var(--ink-2)}
.prose > *:first-child{margin-top:0}
.prose h2{margin:2.4rem 0 .9rem;color:var(--ink)}
.prose h3{margin:2rem 0 .7rem;color:var(--ink)}
.prose h4{margin:1.6rem 0 .5rem;color:var(--ink)}
.prose p{margin:0 0 1.05rem}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.25rem}
.prose li{margin:0 0 .45rem}
.prose li::marker{color:var(--mute)}
.prose a{color:var(--sea-dk);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
@media (hover:hover){.prose a:hover{color:var(--ink)}}
.prose strong,.prose b{font-weight:600;color:var(--ink)}
.prose blockquote{
  margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;
  border-left:3px solid var(--sea);color:var(--ink);
  font-family:var(--ff-s);font-style:italic;font-size:1.1rem;line-height:1.5;
}
.prose img,.prose canvas{border-radius:var(--r-in);margin:1.6rem 0}
.prose figure{margin:1.6rem 0}
.prose figcaption{margin-top:.55rem;font-size:.84rem;color:var(--mute)}
/* genis tablo kendi kabinda kaysin — sayfa yatay kaymasin */
.prose table{
  display:block;width:100%;max-width:100%;overflow-x:auto;
  border-collapse:collapse;font-size:.94rem;margin:1.4rem 0;
  -webkit-overflow-scrolling:touch;
}
.prose th,.prose td{padding:.6rem .8rem;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
.prose th{font-weight:600;color:var(--ink);white-space:nowrap}
.prose pre{
  overflow-x:auto;padding:1rem 1.1rem;border-radius:var(--r-in);
  background:var(--paper-2);font-size:.86rem;
}

/* ================================================================
   03 — BUTONLAR  (hepsi hap)
   ================================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.5rem;
  border-radius:var(--r-pill);border:1px solid transparent;
  font-family:var(--ff);font-size:.94rem;font-weight:600;letter-spacing:-.01em;
  line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;
  background:none;color:var(--ink);
  transition:transform .16s var(--ease),box-shadow .16s,background .16s,color .16s,border-color .16s;
}
@media (hover:hover){.btn:hover{transform:translateY(-1.5px)}}
.btn:active{transform:translateY(0)}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;pointer-events:none}

.btn--dark {background:var(--ink);color:#fff;box-shadow:var(--shadow-pill)}
@media (hover:hover){.btn--dark:hover{background:#000;color:#fff}}
.btn--wa   {background:var(--leaf);color:#fff;box-shadow:0 8px 20px -8px rgba(31,168,85,.6)}
@media (hover:hover){.btn--wa:hover{background:var(--leaf-dk);color:#fff}}
.btn--sea  {background:var(--sea);color:#fff;box-shadow:0 8px 20px -8px rgba(15,169,196,.6)}
@media (hover:hover){.btn--sea:hover{background:var(--sea-dk);color:#fff}}
.btn--white{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-pill)}
@media (hover:hover){.btn--white:hover{border-color:var(--ink)}}

.btn--sm{padding:.58rem 1.05rem;font-size:.85rem}
.btn--block{display:flex;width:100%}

.btn-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}
.btn-row--center{justify-content:center}
@media(max-width:420px){
  .btn-row .btn{flex:1 1 100%}          /* dar telefonda butonlar alt alta */
  .btn-row--center{justify-content:stretch}
}

/* ================================================================
   04 — KAPSUL MENU
   Sabit, ortada, blurlu. 960px altinda burger acilir menuye doner.
   Acilis icin desteklenen kancalar (layout.js hangisini kullanirsa):
     .nav.is-open  ·  .nav.open  ·  .nav__links.is-open  ·  .nav__links.open
     body.nav-open ·  .nav__burger[aria-expanded="true"] (nav icinde nerede
     olursa olsun; :has ile yakalaniyor)
   ================================================================ */
.navwrap{
  position:fixed;inset:1.05rem 0 auto;z-index:60;
  display:flex;justify-content:center;
  padding-inline:1rem;pointer-events:none;
}
.nav{
  pointer-events:auto;
  display:flex;align-items:center;gap:.3rem;
  padding:.42rem .42rem .42rem .95rem;
  max-width:100%;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px) saturate(1.6);
  -webkit-backdrop-filter:blur(16px) saturate(1.6);
  border:1px solid rgba(11,12,13,.07);
  border-radius:var(--r-pill);
  box-shadow:var(--shadow-pill);
}

.nav__logo{
  display:flex;align-items:center;gap:.5rem;flex:none;
  text-decoration:none;color:var(--ink);
  padding-right:.6rem;margin-right:.2rem;border-right:1px solid var(--line);
}
.nav__logo svg{width:1.45rem;height:1.45rem;color:var(--sea)}
.nav__logo b{font-size:.92rem;font-weight:700;letter-spacing:-.03em;white-space:nowrap}

.nav__links{display:flex;align-items:center;gap:.1rem;min-width:0}
.nav__links a{
  display:block;padding:.5rem .74rem;border-radius:var(--r-pill);
  text-decoration:none;white-space:nowrap;
  font-size:.87rem;font-weight:500;letter-spacing:-.01em;color:var(--ink-2);
  transition:background .15s,color .15s;
}
@media (hover:hover){.nav__links a:hover{background:var(--paper-2);color:var(--ink)}}
.nav__links a.is-on,
.nav__links a[aria-current]{background:var(--sea-lt);color:var(--sea-dk);font-weight:600}

.nav__end{display:flex;align-items:center;gap:.35rem;flex:none;margin-left:.25rem}

/* dil degistirici — kucuk hap */
.nav__lang{
  display:inline-flex;align-items:center;gap:.15rem;flex:none;
  padding:.16rem;border:1px solid var(--line);border-radius:var(--r-pill);
  background:#fff;
}
.nav__lang a,.nav__lang span{
  display:block;padding:.3rem .6rem;border-radius:var(--r-pill);
  font-size:.76rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none;color:var(--mute);
  transition:background .15s,color .15s;
}
@media (hover:hover){.nav__lang a:hover{background:var(--paper-2);color:var(--ink)}}
.nav__lang a.is-on,
.nav__lang [aria-current]{background:var(--ink);color:#fff}

/* burger — cocugu olmayan durumda cizgiler ::before ile cizilir */
.nav__burger{
  display:none;flex:none;
  width:2.5rem;height:2.5rem;padding:0;
  place-items:center;justify-content:center;align-items:center;
  border:1px solid var(--line);border-radius:var(--r-pill);
  background:#fff;color:var(--ink);cursor:pointer;font-size:0;
  transition:background .15s,border-color .15s;
}
@media (hover:hover){.nav__burger:hover{background:var(--paper-2)}}
.nav__burger[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.nav__burger:not(:has(*))::before{
  content:'';display:block;width:1.05rem;height:.7rem;
  background-image:
    linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor),
    linear-gradient(currentColor,currentColor);
  background-size:100% 2px;
  background-position:left top,left center,left bottom;
  background-repeat:no-repeat;
}
.nav__burger > span{display:block;width:1.05rem;height:2px;border-radius:2px;background:currentColor}
.nav__burger > span:only-child{box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
.nav__burger > span:not(:only-child){margin:2px 0}
.nav__burger:has(span:not(:only-child)){flex-direction:column;display:none}

/* orta genislik: kapsul daralsin, 9 baglanti sigsin */
@media(max-width:1140px){
  .nav{gap:.15rem;padding-left:.75rem}
  .nav__logo b{display:none}
  .nav__links a{padding:.46rem .55rem;font-size:.82rem}
}

/* mobil: burger + acilir menu */
@media(max-width:960px){
  .navwrap{inset:.7rem 0 auto;padding-inline:.7rem}
  .nav{width:100%;max-width:36rem;flex-wrap:wrap;padding:.42rem .42rem}
  .nav__logo{border-right:0;padding-right:0;margin-right:auto;padding-left:.5rem}
  .nav__logo b{display:block}
  .nav__burger{display:grid}
  .nav__burger:has(span:not(:only-child)){display:flex}

  .nav__links{
    order:9;flex-basis:100%;width:100%;
    display:none;flex-direction:column;align-items:stretch;gap:.1rem;
    margin-top:.4rem;padding:.45rem .2rem .25rem;
    border-top:1px solid var(--line-2);
    max-height:min(68vh,30rem);overflow-y:auto;
  }
  .nav__links a{padding:.68rem .85rem;font-size:.98rem;border-radius:14px}

  /* kapali durum — JS hidden nitelisi kullanirsa da dogru kalsin */
  .nav__links[hidden]{display:none}

  /* acik durum — desteklenen butun kancalar */
  .nav.is-open .nav__links,
  .nav.open .nav__links,
  .nav__links.is-open,
  .nav__links.open,
  body.nav-open .nav__links,
  .nav__burger[aria-expanded="true"] ~ .nav__links,
  .nav:has(.nav__burger[aria-expanded="true"]) .nav__links{display:flex}

  .nav__end{margin-left:.3rem}
  .nav__end .btn{padding:.5rem .9rem;font-size:.82rem}
}
@media(max-width:420px){
  .nav__end .btn span,
  .nav__end .btn--wa{font-size:0;padding:.55rem}
  .nav__end .btn--wa svg{width:1.15rem;height:1.15rem}
}

/* ================================================================
   05 — HERO + OYNANABILIR SAHNE
   ================================================================ */
.hero{position:relative;background:var(--paper);overflow:hidden}

.hero__top{
  position:relative;z-index:5;text-align:center;
  padding:clamp(6.6rem,11vw,8.6rem) 1.2rem clamp(1.6rem,3vw,2.6rem);
}
.hero h1{font-size:clamp(2.5rem,6.6vw,5.2rem);letter-spacing:-.045em}
.hero h1 em.s{font-size:1.02em;letter-spacing:-.02em}
.hero__sub{
  max-width:46ch;margin:1.4rem auto 2rem;
  color:var(--mute);font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.55;
}
.hero .btn-row{justify-content:center}

/* baslik ustundeki rozet hapi */
.badge{
  display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;
  padding:.42rem .95rem .42rem .55rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  box-shadow:0 1px 2px rgba(11,12,13,.04);
  font-size:.8rem;font-weight:500;color:var(--ink-2);
}
.badge i{
  width:1.35rem;height:1.35rem;border-radius:50%;
  background:var(--sea-lt);display:grid;place-items:center;
  font-style:normal;font-size:.8rem;
}

/* tuval sahnesi */
.hero__scene{position:relative}
.hero__scene canvas{width:100%;height:clamp(340px,52vh,560px);display:block}
.hero__scene::before{                    /* ust kenari kagida baglayan perde */
  content:'';position:absolute;inset:0 0 auto;height:22%;z-index:2;pointer-events:none;
  background:linear-gradient(#fff 0%,rgba(255,255,255,.55) 45%,rgba(255,255,255,0) 100%);
}

/* dumen gostergesi */
.helm{
  position:absolute;right:clamp(1rem,3vw,2rem);top:clamp(1rem,3vw,2rem);z-index:6;
  display:flex;align-items:center;gap:.9rem;
  padding:.5rem .5rem .5rem 1rem;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(11,12,13,.07);border-radius:var(--r-pill);
  box-shadow:var(--shadow-pill);
}
.helm dl{display:flex;gap:.9rem;margin:0}
.helm div{display:flex;align-items:center;gap:.42rem}
.helm dt{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.helm dd{margin:0;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.helm__hint{
  padding:.42rem .85rem;border-radius:var(--r-pill);
  background:var(--sea-lt);color:var(--sea-dk);
  font-size:.76rem;font-weight:600;white-space:nowrap;
}
@media(max-width:700px){
  .helm__hint{display:none}
  .helm{padding:.42rem .8rem;gap:.6rem}
}
/* Dar ekranda gosterge ile bildirim ayni satira dusuyordu — bildirimi
   sahnenin altina alip gostergeyi kucultuyoruz. */
@media(max-width:560px){
  .helm{right:.7rem;top:.7rem;padding:.34rem .7rem;gap:.5rem}
  .helm dl{gap:.7rem}
  .helm dt{font-size:.62rem;letter-spacing:.08em}
  .helm dd{font-size:.9rem}
}

/* sahne bildirimi */
.toast{
  position:absolute;left:50%;top:1.2rem;transform:translate(-50%,-6px);z-index:7;
  padding:.55rem 1.1rem;border-radius:var(--r-pill);
  background:var(--ink);color:#fff;
  font-size:.84rem;font-weight:600;white-space:nowrap;
  opacity:0;pointer-events:none;
  box-shadow:var(--shadow-pill);
  transition:opacity .22s,transform .22s;
}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:560px){
  .toast{top:auto;bottom:1.1rem;transform:translate(-50%,6px);max-width:calc(100% - 1.6rem)}
  .toast.on{transform:translate(-50%,0)}
}

/* ================================================================
   06 — DURAKLAR SERIDI
   li::after = --p genisliginde ilerleme cubugu
   li[data-live] = canli duragin noktasi --sea
   ================================================================ */
.stops{position:relative;z-index:8;margin-top:clamp(-4.5rem,-6vw,-3rem);padding-bottom:.4rem}
.stops__card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  box-shadow:var(--shadow-card);overflow:hidden;
}
.stops ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.stops li{position:relative;padding:1rem 1.15rem;border-left:1px solid var(--line-2)}
.stops li:first-child{border-left:0}
.stops li b{
  display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem;
  font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);
}
.stops li b i{width:.42rem;height:.42rem;border-radius:50%;background:var(--line);display:block;transition:background .3s}
.stops li span{font-size:.98rem;font-weight:600;letter-spacing:-.02em}
.stops li::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;
  width:var(--p,0%);background:var(--sea);transition:width .3s linear;
}
.stops li[data-live] b i{background:var(--sea)}
@media(max-width:760px){
  .stops ol{grid-template-columns:repeat(2,1fr)}
  .stops li:nth-child(3){border-left:0}
  .stops li:nth-child(n+3){border-top:1px solid var(--line-2)}
}
@media(max-width:420px){
  .stops li{padding:.8rem .9rem}
  .stops li span{font-size:.9rem}
}

/* ================================================================
   07 — BOLUM KABUKLARI
   ================================================================ */
.sec{padding-block:clamp(2.8rem,5vw,4.4rem)}
.sec--alt{background:var(--paper-2)}
.sec--tight{padding-block:clamp(1.6rem,3vw,2.4rem)}

.sec__head{max-width:52rem;margin:0 0 clamp(1.6rem,3vw,2.4rem)}
.sec__head h2{margin:0}
.sec__head p{margin:.9rem 0 0;max-width:52ch;color:var(--mute);font-size:1rem}
.sec__head--center{margin-inline:auto;text-align:center}
.sec__head--center p{margin-inline:auto;max-width:46ch}
.sec__head .btn-row{margin-top:1.3rem}
.sec__head--center .btn-row{justify-content:center}

/* ================================================================
   08 — KARTLAR
   ================================================================ */
.cards{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
@media(min-width:760px){.cards--3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .cards,.cards--3{grid-template-columns:1fr}   /* mobil: tek sutun */
}

.card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;
}
@media (hover:hover){a.card:hover,.card--link:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);border-color:#D6DBE0}}
.card canvas,.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card__b{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:1.1rem 1.2rem 1.25rem}
.card__b h3{font-size:1.2rem;letter-spacing:-.03em}
.card__b p{margin:0;flex:1;font-size:.92rem;line-height:1.5;color:var(--mute)}
.card__meta{
  display:inline-flex;align-self:flex-start;
  padding:.26rem .62rem;border-radius:var(--r-pill);
  background:var(--sea-lt);color:var(--sea-dk);
  font-size:.7rem;font-weight:600;letter-spacing:.04em;
}
.card__price{
  display:flex;align-items:baseline;gap:.35rem;
  font-size:1.02rem;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;color:var(--ink);
}
.card__price small,.card__price span{font-size:.78rem;font-weight:500;color:var(--mute);letter-spacing:0}
.card__go{
  display:flex;align-items:center;gap:.4rem;padding-top:.5rem;
  font-size:.86rem;font-weight:600;color:var(--ink);
}
.card__go span{transition:transform .2s var(--ease)}
@media (hover:hover){a.card:hover .card__go span,.card--link:hover .card__go span{transform:translateX(4px)}}

/* ================================================================
   09 — TUR SAYFASI
   ================================================================ */
.tour-grid{display:grid;gap:1.6rem;align-items:start}
@media(min-width:940px){.tour-grid{grid-template-columns:1fr 22rem;gap:2.6rem}}

/* rezervasyon kutusu — yapiskan, koyu zemin */
.booking{
  background:var(--ink);color:#fff;
  border-radius:var(--r-card);padding:1.4rem 1.45rem 1.5rem;
  box-shadow:var(--shadow-card);
}
.booking h2,.booking h3{color:#fff;font-size:1.2rem;margin:0 0 .35rem}
.booking p{color:#A9AFB6;font-size:.92rem;margin:0 0 .9rem}
.booking .card__price,.booking__price{
  display:block;color:#fff;font-size:1.7rem;font-weight:700;letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;margin:.2rem 0 .1rem;
}
.booking .card__price small,.booking .card__price span{color:#A9AFB6}
.booking .btn-row{margin-top:1rem;gap:.55rem}
.booking .btn{width:100%}
.booking .btn--white{border-color:transparent}
.booking dl{margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:.5rem}
.booking dl > div{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}
.booking dt{color:#A9AFB6}
.booking dd{margin:0;font-weight:600}
.booking a:not(.btn){color:#fff}
@media(min-width:940px){
  .booking{position:sticky;top:calc(var(--nav-h) + .8rem)}
}

/* kunye satirlari — sure / grup / sezon / fiyat */
.facts{
  display:grid;gap:1px;margin:0;
  grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));
  background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;
}
.facts > div,.facts > li{background:#fff;padding:.95rem 1.1rem;list-style:none}
.facts dt,.facts b{
  display:block;margin-bottom:.2rem;
  font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);
}
.facts dd,.facts span{margin:0;font-size:.98rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}

/* gunun saat saat akisi */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;padding:0 0 1.5rem 2.15rem}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{
  content:'';position:absolute;left:.3rem;top:.46em;
  width:.62rem;height:.62rem;border-radius:50%;
  background:var(--sea);box-shadow:0 0 0 3px var(--sea-lt);
}
.timeline li::after{
  content:'';position:absolute;left:.585rem;top:1.5em;bottom:.15rem;
  width:2px;background:var(--line);
}
.timeline li:last-child::after{display:none}
.timeline time,.timeline b{
  display:block;margin-bottom:.15rem;
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);
  font-variant-numeric:tabular-nums;
}
.timeline strong{display:block;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.timeline p{margin:.25rem 0 0;font-size:.94rem;color:var(--ink-2)}

/* dahil / degil / yaninizda getirin */
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.checklist li{position:relative;padding-left:1.8rem;font-size:.96rem;color:var(--ink-2)}
.checklist li::before{
  content:"\2713";position:absolute;left:0;top:0;
  color:var(--leaf);font-weight:700;font-size:.95rem;
}
.checklist--no li::before{content:"\00D7";color:var(--mute);font-size:1.1rem;line-height:1.35}
.checklist--bring li::before{content:"\2022";color:var(--sea);font-size:1.3rem;line-height:1.15}

/* ================================================================
   10 — SSS
   ================================================================ */
.faq{display:grid;gap:.6rem}
.faq details{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-in);
  overflow:hidden;transition:border-color .16s;
}
.faq details[open]{border-color:#D6DBE0}
.faq summary{
  position:relative;display:block;cursor:pointer;list-style:none;
  padding:1rem 3rem 1rem 1.15rem;
  font-size:1rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
@media (hover:hover){.faq summary:hover{background:var(--paper-2)}}
.faq summary::after{
  content:"+";position:absolute;right:1rem;top:50%;
  width:1.6rem;height:1.6rem;margin-top:-.8rem;
  display:grid;place-items:center;border-radius:50%;
  background:var(--paper-2);color:var(--ink-2);
  font-size:1.1rem;font-weight:500;line-height:1;
  transition:transform .2s var(--ease),background .16s;
}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--sea-lt);color:var(--sea-dk)}
.faq__a{padding:0 1.15rem 1.15rem;color:var(--ink-2);font-size:.96rem;line-height:1.6}
.faq__a > *:first-child{margin-top:0}
.faq__a > *:last-child{margin-bottom:0}
.faq__a a{color:var(--sea-dk);text-decoration:underline;text-underline-offset:2px}

/* ================================================================
   11 — REHBER
   ================================================================ */
.guide-grid{display:grid;gap:1.8rem;align-items:start}
@media(min-width:940px){.guide-grid{grid-template-columns:15rem 1fr;gap:3rem}}

.toc{
  border:1px solid var(--line);border-radius:var(--r-card);
  background:#fff;padding:1rem 1.05rem;
}
.toc h2,.toc b,.toc > p{
  display:block;margin:0 0 .6rem;
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
}
.toc ol,.toc ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.toc a{
  display:block;padding:.42rem .6rem;border-radius:10px;
  font-size:.9rem;line-height:1.35;color:var(--ink-2);text-decoration:none;
  transition:background .15s,color .15s;
}
@media (hover:hover){.toc a:hover{background:var(--paper-2);color:var(--ink)}}
.toc a.is-on{background:var(--sea-lt);color:var(--sea-dk);font-weight:600}
@media(min-width:940px){
  .toc{position:sticky;top:calc(var(--nav-h) + .8rem);max-height:calc(100vh - var(--nav-h) - 2rem);max-height:calc(100dvh - var(--nav-h) - 2rem);overflow-y:auto}
}
@media(max-width:939px){
  .toc ol,.toc ul{display:flex;flex-wrap:wrap;gap:.35rem}
  .toc a{border:1px solid var(--line);border-radius:var(--r-pill);padding:.34rem .75rem;font-size:.84rem}
  .toc a.is-on{border-color:transparent}
}

.guide-sec{scroll-margin-top:calc(var(--nav-h) + 1rem);padding-bottom:1.8rem}
.guide-sec + .guide-sec{border-top:1px solid var(--line-2);padding-top:1.8rem}
.guide-sec h2{margin:0 0 .8rem}

/* ================================================================
   12 — FORM
   Girdi punto EN AZ 16px — iOS Safari odakta yakinlastirmasin.
   ================================================================ */
.field{display:block;margin:0 0 1rem}
.field > label,.field > .field__label{
  display:block;margin:0 0 .4rem;
  font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--ink-2);
}
.field input,.field select,.field textarea,
input[type="text"],input[type="email"],input[type="tel"],input[type="date"],
input[type="number"],input[type="search"],select,textarea{
  width:100%;
  padding:.78rem .95rem;
  font-family:var(--ff);
  font-size:16px;                 /* iOS odak yakinlastirmasi esigi */
  line-height:1.4;
  color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:var(--r-in);
  transition:border-color .15s,box-shadow .15s;
  appearance:none;-webkit-appearance:none;
}
.field textarea,textarea{min-height:8rem;resize:vertical}
.field select,select{
  padding-right:2.4rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);
  background-position:calc(100% - 1.15rem) 1.25rem,calc(100% - .82rem) 1.25rem;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
@media (hover:hover){.field input:hover,.field select:hover,.field textarea:hover{border-color:#D6DBE0}}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--sea);box-shadow:0 0 0 3px var(--sea-lt);
}
.field small,.field__hint{display:block;margin-top:.35rem;font-size:.8rem;color:var(--mute)}
.field--err input,.field--err textarea,.field--err select{border-color:var(--coral)}

.field-row{display:grid;gap:1rem}
.field-row--2{grid-template-columns:1fr}
@media(min-width:620px){.field-row--2{grid-template-columns:1fr 1fr}}

/* secim haplari */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none}
.chips label,.chips li,.chips > a,.chips > button{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.46rem .95rem;border-radius:var(--r-pill);
  border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font-size:.86rem;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none;
  transition:background .15s,border-color .15s,color .15s;
}
@media (hover:hover){.chips label:hover,.chips > a:hover,.chips > button:hover{border-color:var(--ink);color:var(--ink)}}
.chips input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.chips label:has(input:checked),
.chips input:checked + label,
.chips label.is-on,
.chips > a.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.chips label:has(input:focus-visible){outline:2px solid var(--sea);outline-offset:3px}

/* bal kupu — insan gormez, bot doldurur */
.hp{
  position:absolute !important;left:-9999px;top:auto;
  width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;
}

/* form geri bildirimi */
.form-msg{
  margin:1rem 0 0;padding:.9rem 1.1rem;
  border-radius:var(--r-in);border:1px solid var(--line);
  background:var(--paper-2);color:var(--ink-2);
  font-size:.92rem;line-height:1.5;
}
.form-msg--ok {border-color:rgba(31,168,85,.35);background:rgba(31,168,85,.08);color:var(--leaf-dk)}
.form-msg--err{border-color:rgba(255,107,61,.4); background:rgba(255,107,61,.08);color:#B4401C}

/* ================================================================
   13 — YARDIMCI BLOKLAR
   ================================================================ */

/* kirinti yolu */
/* DIKKAT: .crumbs <nav>, liste ONUN ICINDEKI <ol>.
   Bu kurallar once dogrudan .crumbs'a yaziliydi; <ol> hicbir stil
   almadigi icin tarayici varsayilaniyla ciziliyordu: basamaklar alt
   alta ve 40px girintili. Kirinti yolu olan 33 sayfada birden
   goruluyordu. Sinif adi iki tarafta da dogru oldugu icin
   class-audit susuyordu — ad degil, HEDEF OGE yanlisti. */
.crumbs{
  margin:0 0 1.2rem;
  font-size:.82rem;color:var(--mute);
}
.crumbs ol{
  display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;
  margin:0;padding:0;list-style:none;
}
.crumbs li{display:flex;align-items:center;gap:.35rem}
.crumbs li + li::before{content:"\2044";color:var(--line);font-size:.9em}
.crumbs a{color:var(--mute);text-decoration:none}
@media (hover:hover){.crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}}
.crumbs [aria-current],.crumbs li:last-child{color:var(--ink-2)}

/* koyu yardim seridi */
.helpline{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:1.1rem;padding:1.4rem 1.5rem;
  border-radius:var(--r-card);background:var(--ink);color:#fff;
}
.helpline h2,.helpline h3{font-size:1.24rem;letter-spacing:-.03em;color:#fff}
.helpline p{margin:.3rem 0 0;max-width:46ch;color:#A9AFB6;font-size:.94rem}
@media(max-width:560px){
  .helpline{padding:1.2rem 1.2rem 1.3rem}
  .helpline .btn{width:100%}
}

/* genel icerik bloklari */
.blocks{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.blocks--2{grid-template-columns:1fr}
@media(min-width:760px){.blocks--2{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.blocks{grid-template-columns:1fr}}
.blocks > *{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-in);
  padding:1.2rem 1.3rem 1.3rem;
}
.sec--alt .blocks > *{background:#fff}
.blocks h3,.blocks h4{margin:0 0 .4rem;font-size:1.06rem;letter-spacing:-.025em}
.blocks p{margin:0;font-size:.94rem;line-height:1.55;color:var(--mute)}
.blocks p + p{margin-top:.6rem}

/* soru-cevap yigini (SSS kutusu olmayan sade hali) */
.qa{display:grid;gap:1.5rem;max-width:68ch}
.qa > div{padding-top:1.5rem;border-top:1px solid var(--line-2)}
.qa > div:first-child{padding-top:0;border-top:0}
.qa h3,.qa h4,.qa b{display:block;margin:0 0 .4rem;font-size:1.05rem;font-weight:600;letter-spacing:-.025em;color:var(--ink)}
.qa p{margin:0 0 .7rem;color:var(--ink-2);font-size:.96rem}
.qa p:last-child{margin-bottom:0}

/* 404 */
.nf{
  display:grid;place-items:center;text-align:center;
  min-height:min(70vh,34rem);
  padding:calc(var(--nav-h) + 2rem) 1.2rem 3rem;
}
.nf h1{font-size:clamp(2.2rem,6vw,3.6rem)}
.nf p{margin:1.1rem auto 1.8rem;max-width:44ch;color:var(--mute)}
.nf .btn-row{justify-content:center}

/* kucuk etiket hapi (genel amacli) */
.pill{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.26rem .68rem;border-radius:var(--r-pill);
  background:var(--paper-2);border:1px solid var(--line);color:var(--ink-2);
  font-size:.74rem;font-weight:600;letter-spacing:.04em;line-height:1.4;
  white-space:nowrap;
}
.pill--sea {background:var(--sea-lt); border-color:transparent;color:var(--sea-dk)}
.pill--leaf{background:rgba(31,168,85,.1);border-color:transparent;color:var(--leaf-dk)}
.pill--sun {background:rgba(255,197,61,.18);border-color:transparent;color:#8A6100}

/* iletisim kanallari */
.channels{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:0;padding:0;list-style:none}
@media(max-width:760px){.channels{grid-template-columns:1fr}}
.channels > *{
  display:flex;align-items:center;gap:.85rem;
  padding:1rem 1.1rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-in);
  text-decoration:none;color:inherit;
  transition:transform .18s var(--ease),box-shadow .18s,border-color .18s;
}
@media (hover:hover){.channels a:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:#D6DBE0}}
.channels svg,.channels i{
  flex:none;width:2.3rem;height:2.3rem;border-radius:50%;
  display:grid;place-items:center;
  background:var(--sea-lt);color:var(--sea-dk);
  font-style:normal;font-size:1rem;padding:.5rem;
}
.channels b{display:block;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.channels span{display:block;font-size:1rem;font-weight:600;letter-spacing:-.02em;word-break:break-word}

/* ================================================================
   14 — ALT BILGI
   ================================================================ */
.site-foot{
  margin-top:clamp(3rem,6vw,5rem);
  padding-block:clamp(2.4rem,4vw,3.4rem) 1.6rem;
  background:var(--paper-2);border-top:1px solid var(--line);
  font-size:.92rem;color:var(--ink-2);
}
.site-foot__in{
  width:min(100% - var(--gut),var(--wrap));margin-inline:auto;
  display:grid;gap:2rem;
  grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));
}
@media(min-width:940px){
  .site-foot__in{grid-template-columns:1.4fr repeat(3,1fr)}
}
@media(max-width:600px){
  .site-foot__in{grid-template-columns:1fr;gap:1.6rem}
}
.site-foot__brand{max-width:34ch}
.site-foot__brand a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink)}
.site-foot__brand svg{width:1.5rem;height:1.5rem;color:var(--sea)}
.site-foot__brand b{font-size:1rem;font-weight:700;letter-spacing:-.03em}
.site-foot__brand p{margin:.7rem 0 0;color:var(--mute);font-size:.9rem;line-height:1.55}
.site-foot__brand .btn{margin-top:1rem}

.site-foot__col h2,.site-foot__col h3,.site-foot__col b{
  display:block;margin:0 0 .7rem;
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
}
.site-foot__col ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.site-foot__col a{color:var(--ink-2);text-decoration:none}
@media (hover:hover){.site-foot__col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}}
.site-foot__col p{margin:0 0 .45rem;color:var(--ink-2)}

.site-foot__social{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem;padding:0;list-style:none}
.site-foot__social a{
  display:grid;place-items:center;width:2.4rem;height:2.4rem;
  border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink-2);
  transition:border-color .15s,color .15s,transform .15s var(--ease);
}
@media (hover:hover){.site-foot__social a:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-2px)}}
.site-foot__social svg{width:1.05rem;height:1.05rem}

.site-foot__legal{
  width:min(100% - var(--gut),var(--wrap));margin:2.2rem auto 0;
  padding-top:1.2rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;
  font-size:.82rem;color:var(--mute);
}
.site-foot__legal p{margin:0}
.site-foot__legal a{color:var(--mute);text-decoration:none}
@media (hover:hover){.site-foot__legal a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}}
.site-foot__legal nav,.site-foot__legal ul{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:0;padding:0;list-style:none}

/* ================================================================
   15 — ERISILEBILIRLIK / HAREKET AZALTMA
   ================================================================ */
:focus-visible{outline:2px solid var(--sea);outline-offset:3px;border-radius:6px}
.btn:focus-visible,.nav__links a:focus-visible,.nav__lang a:focus-visible{outline-offset:2px}
.booking :focus-visible,.helpline :focus-visible{outline-color:#fff}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* =====================================================================
   BLOG — yazi sayfasi, liste ve yazi ici cagri banner'lari
   Banner yerlesimi KAP genisligine bakiyor (container query), ekrana
   degil: dar yazi kolonunda da genis sayfada da dogru duruyor.
   ===================================================================== */

/* ------------------------------------------------------- yazi basligi */
.post-head{ padding:calc(var(--nav-h) + 2.4rem) 0 0; }
.post-head__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .9rem;
  font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--mute); margin:0 0 1rem;
}
.post-head__meta a{ color:var(--sea-dk); text-decoration:none; font-weight:600; }
@media (hover:hover){.post-head__meta a:hover{ color:var(--ink); }}
.post-head h1{ font-size:clamp(2rem,4.4vw,3.3rem); margin-bottom:1rem; }
.post-head__lead{ font-size:clamp(1.05rem,1.6vw,1.24rem); line-height:1.5; color:var(--ink-2); margin:0; }
.post-head__media{ margin-top:clamp(1.6rem,3vw,2.6rem); }
.post-hero{
  width:100%; aspect-ratio:16/9; object-fit:cover; display:block;
  border-radius:var(--r-card); background:var(--paper-2);
}
@media(min-width:900px){ .post-hero{ aspect-ratio:21/9; } }

/* ---------------------------------------------------------- yazi govde */
.post-wrap{ padding-block:clamp(2rem,4vw,3.2rem); }
.post{ font-size:1.06rem; line-height:1.72; }
.post h2{
  font-size:clamp(1.35rem,2.5vw,1.85rem); margin:2.4em 0 .7em;
  scroll-margin-top:calc(var(--nav-h) + 1.5rem);
}
.post h2:first-child{ margin-top:0; }
.post p{ margin:0 0 1.15em; color:var(--ink-2); }
.post-list{ margin:0 0 1.4em; padding-left:1.1rem; display:grid; gap:.5rem; }
.post-list li{ color:var(--ink-2); }
.post-list li::marker{ color:var(--sea); }

/* icindekiler */
.post-toc{
  margin:0 0 2.4rem; padding:1.1rem 1.3rem 1.25rem;
  background:var(--paper-2); border-radius:var(--r-card);
}
.post-toc h2{
  font-size:.72rem !important; letter-spacing:.15em; text-transform:uppercase;
  color:var(--mute); margin:0 0 .7em !important; font-weight:600;
}
.post-toc ol{ margin:0; padding-left:1.2rem; display:grid; gap:.4rem; font-size:.95rem; }
.post-toc a{ color:var(--ink-2); text-decoration:none; }
@media (hover:hover){.post-toc a:hover{ color:var(--sea-dk); text-decoration:underline; }}
.post-toc li::marker{ color:var(--mute); font-variant-numeric:tabular-nums; }

.post-faq{ margin-top:3rem; }
.post-faq h2{ margin-bottom:1rem; }

/* ------------------------------------------------------- yazi kartlari */
.rail--3{ display:grid; gap:1.1rem; }
@media(min-width:700px){ .rail--3{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1040px){ .rail--3{ grid-template-columns:repeat(3,1fr); } }

.pcard{
  display:flex; flex-direction:column; background:#fff; color:inherit; text-decoration:none;
  border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden;
  transition:transform .2s cubic-bezier(.2,.8,.3,1), box-shadow .2s, border-color .2s;
}
@media (hover:hover){.pcard:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card); border-color:#D6DBE0; }}
.pcard__art{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:var(--paper-2); }
.pcard__b{ display:flex; flex-direction:column; gap:.5rem; padding:1.1rem 1.2rem 1.25rem; flex:1; }
.pcard__meta{
  align-self:flex-start; padding:.24rem .6rem; border-radius:var(--r-pill);
  background:var(--sea-lt); color:var(--sea-dk); font-size:.7rem; font-weight:600; letter-spacing:.03em;
}
.pcard h3{ font-size:1.14rem; letter-spacing:-.03em; line-height:1.22; }
.pcard p{ margin:0; font-size:.92rem; color:var(--mute); line-height:1.5; flex:1; }
.pcard__go{ font-size:.85rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:.4rem; }
.pcard__go span{ transition:transform .2s; }
@media (hover:hover){.pcard:hover .pcard__go span{ transform:translateX(4px); }}
.rel__h{ font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:1.3rem; }

/* =====================================================================
   YAZI ICI CAGRI BANNER'LARI
   ===================================================================== */
.dbt-cta{ container-type:inline-size; display:block; margin:2.4rem 0; }

/* --- A) genis --- */
.cta-a{
  border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden;
  background:#fff; box-shadow:var(--shadow-card);
  display:grid; grid-template-columns:1fr;
}
.cta-a__art{ position:relative; background:#BFE8FF; }
.cta-a__art canvas{ width:100%; height:132px; display:block; }
.cta-a__badge{
  position:absolute; left:.8rem; top:.8rem; display:inline-flex; align-items:center; gap:.4rem;
  padding:.3rem .7rem; background:rgba(255,255,255,.92); border-radius:var(--r-pill);
  font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.cta-a__b{ padding:1.2rem 1.3rem 1.35rem; display:flex; flex-direction:column; gap:.7rem; }
.cta-a h3{ font-size:1.3rem; }
.cta-a p{ margin:0; font-size:.94rem; color:var(--mute); line-height:1.5; }
.cta-a__facts{ display:flex; flex-wrap:wrap; gap:.4rem; }
.cta-a__facts span{
  padding:.26rem .6rem; border-radius:var(--r-pill); background:var(--sea-lt); color:var(--sea-dk);
  font-size:.7rem; font-weight:600; white-space:nowrap;
}
.cta-a__go{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.2rem; }
@container (min-width:560px){
  .cta-a{ grid-template-columns:34% 1fr; }
  .cta-a__art canvas{ height:100%; min-height:206px; }
  .cta-a__b{ padding:1.4rem 1.6rem; }
  .cta-a h3{ font-size:1.5rem; }
}

/* --- B) serit --- */
.cta-b{
  border:1px solid var(--line); border-left:4px solid var(--leaf); border-radius:14px;
  background:var(--paper-2); display:flex; flex-wrap:wrap; align-items:center;
  gap:.9rem; padding:1rem 1.15rem;
}
.cta-b__ico{
  width:2.5rem; height:2.5rem; border-radius:50%; background:#fff; border:1px solid var(--line);
  display:grid; place-items:center; flex:none; color:var(--leaf);
}
.cta-b__ico svg{ width:1.4rem; height:1.4rem; }
.cta-b__t{ flex:1 1 14rem; min-width:0; }
.cta-b__t b{ display:block; font-size:1rem; font-weight:600; letter-spacing:-.02em; }
.cta-b__t span{ font-size:.87rem; color:var(--mute); }

/* --- C) soru kutusu --- */
.cta-c{
  border:1px solid var(--line); border-radius:var(--r-card); background:#fff;
  box-shadow:var(--shadow-card); padding:1.3rem 1.4rem 1.4rem; position:relative; overflow:hidden;
}
.cta-c::before{
  content:''; position:absolute; inset:0 0 auto; height:3px;
  background:linear-gradient(90deg,var(--sea),var(--leaf),var(--sun));
}
.cta-c h3{ font-size:1.2rem; margin-bottom:.5rem; }
.cta-c p{ margin:0 0 1rem; font-size:.94rem; color:var(--mute); }
.cta-c__row{ display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.cta-c__note{ font-size:.8rem; color:var(--mute); }

/* Dar kapta WhatsApp butonu tam genislik — basparmakla kacirilmasin */
@container (max-width:420px){
  .cta-a__go .btn, .cta-c__row .btn, .cta-b .btn{ flex:1 1 100%; }
}

/* =====================================================================
   HİZALAMA KATMANI
   ---------------------------------------------------------------------
   templates/ dosyaları ile bu dosya ayrı ayrı yazıldığı için sınıf
   sözlükleri ayrıştı: HTML .foot derken CSS .site-foot diyordu, HTML
   .tcard derken CSS .card. 103 sınıf kuralsız kaldı ve sayfaların
   büyük kısmı ÇIPLAK yayınlandı.

   Burası HTML'in GERÇEKTEN ürettiği adlara göre yazıldı. Yukarıdaki
   kurallar silinmedi; aynı tasarım değerleri burada doğru adla
   tekrarlanıyor.  Kapısı:  node tools/class-audit.js
   ===================================================================== */

.page{ display:block; }

/* ---------------------------------------------------- menü: .link ---- */
.nav .link{
  display:block; padding:.5rem .78rem; border-radius:var(--r-pill);
  text-decoration:none; font-size:.87rem; font-weight:500;
  color:var(--ink-2); letter-spacing:-.012em; white-space:nowrap;
}
@media (hover:hover){.nav .link:hover{ background:var(--paper-2); color:var(--ink); }}
.nav .link[aria-current]{ background:var(--sea-lt); color:var(--sea-dk); font-weight:600; }
.nav__logo{ text-decoration:none; }
.nav__burger svg{ width:1.25rem; height:1.25rem; }

/* Açılır menü paneli (960px altı) */
/* pointer-events:auto SART.
   .navwrap kabi tiklamalari alttan gecirsin diye pointer-events:none;
   .nav kapsulune auto ile geri aciliyor ama .navmenu bir KARDES ve
   'none' degerini miras aliyordu. Menu aciliyor, gorunuyor, ama her
   dokunus icinden gecip alttaki H1'e gidiyordu: hicbir sayfa acilmiyor.
   Hamburger calisiyordu cunku o .nav'in icinde. */
.navmenu{ position:fixed; inset:var(--nav-h) 0 auto; z-index:55; pointer-events:auto; }
.navmenu[hidden]{ display:none; }
.navmenu__in{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-card);
  box-shadow:var(--shadow-card); padding:.6rem; margin-top:.6rem;
}
.navmenu__links{ display:grid; }
.navmenu__links a{
  padding:.85rem .8rem; border-radius:12px; text-decoration:none;
  color:var(--ink-2); font-size:1.02rem; font-weight:500;
}
@media (hover:hover){.navmenu__links a:hover{ background:var(--paper-2); color:var(--ink); }}
.navmenu__foot{ padding:.6rem .2rem .2rem; border-top:1px solid var(--line-2); margin-top:.4rem; }

@media(min-width:961px){ .navmenu{ display:none; } }
@media(max-width:960px){ .nav .link{ display:none; } }

/* ----------------------------------------------------- sayfa başlığı */
.phero{ padding:calc(var(--nav-h) + 2.6rem) 0 0; }

/* Kirinti yolu VARSA nav payi zaten .crumbwrap tarafindan birakilmis
   oluyor; .phero ayni payi ikinci kez birakinca telefonda ilk ekranin
   %35'i bos kaliyor ve baslik asagi itiliyor (olculdu: 812px ekranda
   basligin ustunde 285px hicbir sey). Bitisik kardes seciciyle yalniz
   o durumda pay kaldiriliyor; kirintisiz sayfalar etkilenmiyor. */
.crumbwrap + .phero{ padding-top:1.4rem; }
@media(min-width:760px){ .crumbwrap + .phero{ padding-top:2.6rem; } }
.phero__in{ display:block; }
.phero__lead{
  font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.55;
  color:var(--mute); max-width:62ch; margin:1rem 0 0;
}
.phero .btn-row{ margin-top:1.6rem; }
.phero__scene{ margin-top:clamp(1.6rem,3vw,2.6rem); }
.phero__scene canvas{
  width:100%; height:clamp(200px,26vw,320px); display:block;
  border-radius:var(--r-card); background:var(--paper-2);
}
.crumbwrap{ padding-top:1rem; }
.btn-row--left{ justify-content:flex-start; }

/* ------------------------------------------------------------- bölüm */
.sec--intro, .sec--land, .sec--services, .sec--trust, .sec--guideteaser,
.sec--hub, .sec--cross, .sec--related, .sec--about, .sec--faq,
.sec--guide, .sec--legal, .sec--service, .sec--contact, .sec--help,
.sec--nf{ padding-block:clamp(2.6rem,5vw,4.2rem); }
.sec--intro{ padding-top:clamp(2rem,4vw,3.2rem); }
.sec--help{ padding-block:clamp(1.6rem,3vw,2.4rem); }
.sec--trust, .sec--cross, .sec--related{ background:var(--paper-2); }

.tours{ padding-block:clamp(2.6rem,5vw,4.2rem); }
.tours__head{ max-width:52rem; margin:0 auto clamp(1.6rem,3vw,2.4rem); text-align:center; }
.tours__head h2{ font-size:clamp(1.8rem,3.6vw,2.8rem); }
.tours__head p{ margin:.9rem auto 0; max-width:46ch; color:var(--mute); font-size:1rem; }

.prose--intro, .prose--about, .prose--service{ max-width:68ch; margin-inline:auto; }
.prose--intro h2{ font-size:clamp(1.8rem,3.6vw,2.6rem); margin-bottom:.7em; }
.block{ margin-bottom:2rem; }
.block--prose{ max-width:68ch; }
.block h3{ margin-bottom:.5em; }
.guide-body{ max-width:68ch; }

/* ------------------------------------------------------- tur kartları */
.rail{ display:grid; gap:1.1rem; }
@media(min-width:720px){ .rail{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1040px){ .rail{ grid-template-columns:repeat(3,1fr); } }

.tcard{
  display:flex; flex-direction:column; background:#fff; color:inherit;
  text-decoration:none; border:1px solid var(--line); border-radius:var(--r-card);
  overflow:hidden;
  transition:transform .2s cubic-bezier(.2,.8,.3,1), box-shadow .2s, border-color .2s;
}
@media (hover:hover){.tcard:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card); border-color:#D6DBE0; }}
.tcard__art{ width:100%; aspect-ratio:16/10; display:block; background:var(--paper-2); object-fit:cover; }
.tcard__b{ display:flex; flex-direction:column; gap:.5rem; padding:1.1rem 1.2rem 1.25rem; flex:1; }
.tcard__meta{
  align-self:flex-start; padding:.24rem .62rem; border-radius:var(--r-pill);
  background:var(--sea-lt); color:var(--sea-dk); font-size:.7rem; font-weight:600;
}
.tcard h3{ font-size:1.18rem; letter-spacing:-.03em; line-height:1.2; }
.tcard p{ margin:0; font-size:.92rem; color:var(--mute); line-height:1.5; flex:1; }
.tcard__price{ font-size:.85rem; font-weight:600; color:var(--ink-2); }
.tcard__go{
  display:flex; align-items:center; gap:.4rem; font-size:.85rem; font-weight:600;
  color:var(--ink); padding-top:.7rem; border-top:1px solid var(--line-2); margin-top:.2rem;
}
.tcard__go span{ transition:transform .2s; }
@media (hover:hover){.tcard:hover .tcard__go span{ transform:translateX(4px); }}

/* -------------------------------------------------------- tur sayfası */
.tour{ display:block; }
.tour__grid{ display:grid; gap:clamp(2rem,4vw,3.2rem); }
@media(min-width:940px){ .tour__grid{ grid-template-columns:minmax(0,1fr) 22rem; align-items:start; } }
.tour__main{ min-width:0; }
.tour__side{ min-width:0; }
@media(min-width:940px){ .tour__side{ position:sticky; top:calc(var(--nav-h) + 1rem); } }

.factswrap{ margin-bottom:2rem; }
.booking__note{ font-size:.84rem; color:#A9AFB6; margin:.7rem 0 0; }
.booking__alt{ margin-top:.6rem; }

.lists{ display:grid; gap:1.6rem; margin-top:2rem; }
@media(min-width:760px){ .lists{ grid-template-columns:repeat(2,1fr); } }
/* DIKKAT: .list bir <div>; liste onun icindeki <ul>.
   Kural once dogrudan .list'e yaziliydi ve ic <ul> hicbir sey almiyordu:
   tarayici varsayilani madde imi (disc) + 40px girinti, ustune bir de
   ::before ile cizilen tik isareti. Her tur sayfasinda goruluyordu. */
.list{ margin:0; }
.list h3{ font-size:.78rem; letter-spacing:.1em; text-transform:uppercase;
          color:var(--mute); font-weight:600; margin:0 0 .7rem; }
.list ul{ list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.list li{ position:relative; padding-left:1.75rem; font-size:.96rem; color:var(--ink-2); }
.list--yes li::before{
  content:""; position:absolute; left:0; top:.42em; width:.95rem; height:.5rem;
  border-left:2.5px solid var(--leaf); border-bottom:2.5px solid var(--leaf);
  transform:rotate(-45deg);
}
.list--no li::before{
  content:""; position:absolute; left:0; top:.72em; width:.9rem; height:2.5px;
  background:var(--mute);
}
.list--bring li::before{
  content:""; position:absolute; left:.2rem; top:.5em; width:.5rem; height:.5rem;
  background:var(--sea); transform:rotate(45deg);
}

.deflist{ display:grid; grid-template-columns:auto 1fr; gap:.6rem 1.1rem; margin:0; }
.deflist dt{ font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.deflist dd{ margin:0; font-weight:500; }

.qa__a{ color:var(--mute); font-size:.98rem; margin:.3rem 0 0; }
.cross{ text-align:center; }
.cross .btn-row{ justify-content:center; margin-top:1.2rem; }

/* ---------------------------------------------------------------- SSS */
.faq-wrap{ max-width:68ch; }
.faq-group{ margin-bottom:2.4rem; }
.faq-group > h3{ margin-bottom:.6rem; font-size:1.1rem; }

/* --------------------------------------------------------- güven kutu */
.trust{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
@media(min-width:700px){ .trust{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1060px){ .trust{ grid-template-columns:repeat(4,1fr); } }
.trust__i{ background:#fff; padding:1.4rem 1.3rem 1.5rem; display:grid; gap:.4rem; align-content:start; }
.trust__i b{ font-size:1.04rem; font-weight:600; letter-spacing:-.02em; }
.trust__i span{ font-size:.93rem; color:var(--mute); line-height:1.55; }

/* -------------------------------------------------------- rehber teaser */
.guideteaser{
  display:grid; gap:1.6rem; align-items:center;
  background:var(--paper-2); border-radius:var(--r-card); padding:clamp(1.4rem,3vw,2.4rem);
}
@media(min-width:860px){ .guideteaser{ grid-template-columns:1.1fr .9fr; } }
.guideteaser__t h2{ font-size:clamp(1.6rem,3vw,2.3rem); margin-bottom:.6rem; }
.guideteaser__t p{ color:var(--mute); margin-bottom:1.3rem; }
.guideteaser__art canvas{
  width:100%; height:clamp(160px,20vw,230px); display:block;
  border-radius:14px; background:#fff;
}
.toc__cta{ margin-top:1rem; }

/* -------------------------------------------------------- iletişim + wa */
.contact-grid{ display:grid; gap:clamp(1.6rem,3vw,2.6rem); }
@media(min-width:940px){ .contact-grid{ grid-template-columns:20rem minmax(0,1fr); align-items:start; } }
.contact__side{ min-width:0; }
.contact__main{ min-width:0; }

.chan{
  display:flex; align-items:center; gap:.8rem; padding:1rem 1.1rem;
  background:#fff; border:1px solid var(--line); border-radius:14px;
  text-decoration:none; color:var(--ink); margin-bottom:.7rem;
}
@media (hover:hover){.chan:hover{ border-color:var(--ink); color:var(--ink); }}
.chan svg{ width:1.35rem; height:1.35rem; flex:none; color:var(--mute); }
.chan--wa svg{ color:var(--leaf); }
.chan b{ display:block; font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; color:var(--mute); }
.chan span{ font-weight:600; }

.wapanel{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-card);
  box-shadow:var(--shadow-card); padding:clamp(1.4rem,3vw,2.2rem);
}
.wapanel h2{ font-size:clamp(1.5rem,2.8vw,2rem); margin-bottom:.6rem; }
.wapanel__lead{ color:var(--mute); margin-bottom:1.4rem; max-width:52ch; }
.wapanel__cta{ margin-bottom:2rem; }
.wapanel h3{ font-size:1.06rem; margin-bottom:.7rem; }
.wapanel__list{ list-style:none; margin:0 0 1.4rem; padding:0; display:grid; gap:.6rem; }
.wapanel__list li{ position:relative; padding-left:1.7rem; color:var(--ink-2); font-size:.96rem; }
.wapanel__list li::before{
  content:""; position:absolute; left:0; top:.42em; width:.9rem; height:.48rem;
  border-left:2.5px solid var(--leaf); border-bottom:2.5px solid var(--leaf);
  transform:rotate(-45deg);
}
.wapanel__note{ font-size:.88rem; color:var(--mute); margin:0; }

/* ---------------------------------------------------------------- 404 */
.nf__lead{ color:var(--mute); max-width:48ch; margin:1rem auto 2rem; }
.sec--nf{ text-align:center; }

/* ----------------------------------------------------------- alt bilgi */
.foot{ background:var(--ink); color:#A9AFB6; margin-top:clamp(3rem,6vw,5rem); }
.foot__grid{ display:grid; gap:2.2rem; padding-block:clamp(2.6rem,5vw,4rem) 2.2rem; }
@media(min-width:700px){ .foot__grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1000px){ .foot__grid{ grid-template-columns:1.6fr 1fr 1fr 1.2fr; } }
.foot__brand p{ font-size:.93rem; margin:1rem 0 0; max-width:34ch; }
.foot__logo{ display:inline-flex; align-items:center; gap:.6rem; color:#fff; text-decoration:none; }
.foot__logo svg{ width:1.9rem; height:1.9rem; color:var(--sea); flex:none; }
.foot__logo b{ font-size:1.02rem; font-weight:700; letter-spacing:-.03em; }
.foot__col h4{
  font-size:.72rem; letter-spacing:.15em; text-transform:uppercase;
  color:#8FA3AD; margin:0 0 .9rem; font-weight:600;
}
.foot__col ul{ list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.foot a{ color:#A9AFB6; text-decoration:none; font-size:.95rem; }
@media (hover:hover){.foot a:hover{ color:#fff; text-decoration:underline; }}
.foot__chan{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.foot__chan li{ display:flex; align-items:center; gap:.6rem; }
.foot__chan svg{ width:1.05rem; height:1.05rem; flex:none; color:#8FA3AD; }
.foot__note{ font-size:.87rem; color:#8FA3AD; margin:1rem 0 0; }
.foot__bar{
  display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; justify-content:space-between;
  padding-block:1.2rem; border-top:1px solid rgba(255,255,255,.14); font-size:.84rem;
}
.foot__bar p{ margin:0; }

/* ------------------------------------------------------ yüzen WhatsApp */
/* Tuval: dikey kaydirma her zaman tarayicida kalsin.
   JS artik preventDefault etmiyor; bu satir ayni sozu CSS tarafinda da
   veriyor ve tarayici kaydirmayi ana is parcaciginda beklemeden yapar. */
#dbt-hero{ touch-action:pan-y; }

/* Ana sayfa SSS bolumu — /faq/ ile ayni akordeon, ust bosluk daha az
   cunku hemen ustunde rehber tanitimi var. */
.sec--homefaq{ padding-top:0; }
.sec--homefaq .faq{ margin-top:1.4rem; }

.wafloat{
  position:fixed; right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom)); z-index:70;
  display:flex; align-items:center; gap:.7rem;
  padding:.72rem 1.15rem .72rem .8rem;
  border-radius:999px;
  background:var(--leaf); color:#fff; text-decoration:none;
  box-shadow:0 10px 30px -8px rgba(10,60,30,.55);
  transition:transform .16s, box-shadow .16s;
  max-width:calc(100vw - 2rem);
}
@media (hover:hover){
  .wafloat:hover{ transform:translateY(-2px); color:#fff;
                  box-shadow:0 14px 34px -8px rgba(10,60,30,.6); }
}

/* Simge: WhatsApp logosu. Beyaz daire icinde yesil glif — logo boyle
   taninir; tek renk siluet olarak basildiginda ahizesi kayboluyor ve
   sira bir konusma balonuna donuyordu. */
.wafloat__i{
  flex:0 0 auto; width:2.3rem; height:2.3rem; border-radius:50%;
  background:#fff; display:grid; place-items:center;
}
.wafloat__i svg{ width:1.55rem; height:1.55rem; color:var(--leaf); display:block; }

.wafloat__t{ display:block; line-height:1.2; }
.wafloat__t b{ font-size:.9rem; font-weight:600; letter-spacing:-.01em; }
.wafloat__t i{ display:none; font-style:normal; font-size:.9rem; font-weight:600; }

/* Dar ekranda metin GIZLENMIYOR, iki satira sariliyor: davetin tamami
   gorunsun ama sayfanin yarisini kaplamasin. */
@media(max-width:520px){
  .wafloat{ padding:.6rem .9rem .6rem .62rem; gap:.6rem; }
  .wafloat__i{ width:2.15rem; height:2.15rem; }
  .wafloat__i svg{ width:1.4rem; height:1.4rem; }
  .wafloat__t b{ display:block; max-width:11.5rem; font-size:.84rem; line-height:1.22; }
}

/* =====================================================================
   FOTOĞRAF ORANLARI
   ---------------------------------------------------------------------
   Sahibinin fotoğrafları 4:3 (1600×1200 → 1200×900). Kaplar 21:9 ve
   16:10 olunca yüksekliğin %43'e varan kısmı kırpılıyordu: gökyüzü de
   ön plan da gidiyor, "verdiğim fotoğraftan eser kalmıyor".

   Çizim (<canvas>) her orana uyar — o yüzden ayrı bırakıldı.
   Fotoğraf (<img>) 3:2'ye alındı: yüksekliğin %89'u korunuyor, kartlar
   da aynı oranda kaldığı için ızgara hizası bozulmuyor.

   Fotoğraf oranı değişirse burası tek değişiklik noktası.
   ===================================================================== */

/* Yazı kapağı — fotoğraf */
img.post-hero{
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center 55%;   /* ufuk çizgisi biraz yukarıda kalsın */
}
@media(min-width:900px){
  img.post-hero{ aspect-ratio:3/2; }   /* 21:9 KALDIRILDI — fotoğrafı katlediyordu */
}

/* Kart görselleri — fotoğraf */
img.pcard__art,
img.tcard__art,
.card img{
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center 55%;
}

/* Çizim sahneleri geniş kalabilir: tuval her orana çizilir, kırpılmaz */
canvas.post-hero{ aspect-ratio:16/9; }
@media(min-width:900px){ canvas.post-hero{ aspect-ratio:21/9; } }
canvas.pcard__art,
canvas.tcard__art{ aspect-ratio:16/10; }

/* Fotoğraf hiçbir yerde gerilmesin */
img{ object-fit:cover; }


/* =====================================================================
   MOBIL SERTLESTIRME  (iOS + Android)
   ---------------------------------------------------------------------
   Olcerek bulundu, tahminle degil: 375x812 bir telefonda 50 tiklanabilir
   ogenin 15'i 44px'in altindaydi — en kotusu 19px yuksekligindeki alt
   bilgi baglantilari.

   Olcut: Apple 44pt, Android/Material 48dp. 44 alt sinir alindi.
   pointer:coarse -> yalniz parmakla kullanilan cihazlar; fareyle
   kullanilan masaustunde hicbir sey degismiyor.
   ===================================================================== */

/* Dokunma parlamasi: Android varsayilani mavi kutu yerine sessiz */
html{ -webkit-tap-highlight-color:rgba(0,0,0,.06); }

@media (pointer:coarse){

  /* Alt bilgi baglanti listeleri — 19px -> 44px */
  .foot__col ul a,
  .foot__chan a{
    display:flex; align-items:center;
    min-height:44px; padding:.15rem 0;
  }

  /* Logolar: yazi 24px, dokunma alani 44px */
  .nav__logo,
  .foot__logo{ min-height:44px; }

  /* Hamburger 40 -> 44 */
  .nav__burger{ min-width:44px; min-height:44px; }

  /* Ust bardaki WhatsApp butonu 37 -> 44 */
  .nav .btn,
  .nav__in .btn{ min-height:44px; }

  /* Govde ici kucuk butonlar da alt sinira uysun */
  .btn{ min-height:44px; }

  /* Kirinti yolu basamaklari dar; dokunulabilir olsun */
  .crumbs a{ display:inline-flex; align-items:center; min-height:36px; }
}

/* iOS: yatay cevirince metni kendiliginden buyutmesin */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }

/* =====================================================================
   DİKEY FOTOĞRAF BLOĞU
   ---------------------------------------------------------------------
   Sahibinin yeni fotoğraflarının hepsi DİKEY (3:4 ve 9:16). Sitedeki
   mevcut görsel kutuları yatay (3:2). Dikey fotoğrafı oraya sokmak
   yüksekliğin yarısını kırpardı — daha önce tam olarak bu şikâyet
   edilmişti ("verdiklerimden eser kalmamış").

   Bu blok KIRPMAZ. Fotoğraf kendi oranında durur, en fazla 460px
   genişliğinde. Bölüm düzeyine de metin sütununa da konabilsin diye
   kendi kenar boşluğunu kendisi veriyor (calc), yani bir .wrap içinde
   olmak zorunda değil.
   ===================================================================== */
.foto{
  max-width:min(460px, calc(100% - 2.4rem));
  margin:2.2rem auto;
}
.foto img{
  display:block; width:100%; height:auto;
  border-radius:var(--r-card);
  border:1px solid var(--line);
}
.foto figcaption{
  margin-top:.7rem;
  font-size:.88rem; line-height:1.5;
  color:var(--mute);
}

/* ==== TEKNE TURU BANNERI (banner-ekle.js) ==== */
/* Yüzen WhatsApp hapının ÜSTÜNDE duran, kapanabilir kare davet.
   Hap kalıcı çapa; bu kutu onun zamanlı davetiyesi. Kapatılınca hap
   yerinde kalır — tek hedef, tek kapatma.

   z-index 69: hapın (70) BİR ALTINDA. Örtüşme olursa dokunulması
   gereken hap kazanır. .navwrap (60) ve .navmenu (55) üstünde kalır.

   Yalnız >=961px: sitenin kendi masaüstü sınırı. hidden niteliği
   KULLANILMIYOR — bu stil sayfasında global [hidden] kuralı yok. */
.wapromo{
  position:fixed; z-index:69;
  right:max(1rem,env(safe-area-inset-right));
  bottom:calc(max(1rem,env(safe-area-inset-bottom)) + var(--wapromo-alt,4.9rem));
  width:19rem; max-width:calc(100vw - 2rem);
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--r-card); overflow:hidden;
  box-shadow:var(--shadow-card);
  display:none; opacity:0; transform:translateY(14px);
  transition:opacity .32s var(--ease), transform .32s var(--ease);
}
.wapromo.acik{ display:block; }
.wapromo.gorun{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .wapromo{ transition:none; } }


/* Görsel yuvası. Bugün <canvas> çizim; sahibinin tekne fotoğrafı
   gelince buraya <img srcset> konacak — CSS ikisini de kabul ediyor,
   oran sabit kaldığı için yerleşim kaymaz. */
.wapromo__art{
  position:relative; aspect-ratio:16/9;
  background:var(--sea-lt); overflow:hidden;
}
.wapromo__art canvas,.wapromo__art img{
  width:100%; height:100%; display:block; object-fit:cover;
}
.wapromo__x{
  /* z-index 2 ZORUNLU: düğme DOM'da .wapromo__art'tan ÖNCE geliyor ve
     ikisi de konumlandırılmış. Katman verilmezse eşit z-index'te sonra
     gelen görsel düğmenin üstüne boyanıyor ve kapatma tıklanamıyor
     oluyor — isabet testi bunu yakaladı, ekran görüntüsü değil. */
  position:absolute; z-index:2; top:8px; right:8px;
  width:32px; height:32px; display:grid; place-items:center;
  border:0; border-radius:50%; cursor:pointer;
  background:rgba(11,12,13,.58); color:#fff;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:background .18s var(--ease);
}
@media (hover:hover){ .wapromo__x:hover{ background:rgba(11,12,13,.84); } }
.wapromo__x svg{ width:15px; height:15px; display:block; }

.wapromo__b{ padding:.95rem 1rem 1rem; }
.wapromo__k{
  display:block; font-size:.69rem; font-weight:700;
  letter-spacing:.11em; text-transform:uppercase;
  color:var(--sea-dk); margin-bottom:.35rem;
}
.wapromo__b b{
  display:block; font-size:1.05rem; font-weight:700;
  letter-spacing:-.02em; line-height:1.25; margin-bottom:.3rem;
}
.wapromo__b p{
  font-size:.85rem; line-height:1.45; color:var(--mute);
  margin:0 0 .75rem;
}
.wapromo .btn{ width:100%; justify-content:center; }

/* ---------------------------------------------------------------------
   MOBİL (<=960px) — kart masaüstündeki biçimini AYNEN korur.

   Dikey kart, köşede, tam ekrana yayılmaz: üstte görsel, altında
   başlık, açıklama ve düğme. Yani telefonda da PC'deki kutunun aynısı
   görünür; tek fark yerleşimin nereye oturduğu.

   İki tek fark:
     1. bottom'daki hap payı kalkar — hap gizlendiği için kartın
        onun boşluğuna inmesi gerekir.
     2. max-width küçük telefonlarda devreye girer (320px'te kart
        19rem yerine ~282px olur), yoksa ekrandan taşardı.
   --------------------------------------------------------------------- */
@media (max-width:960px){
  .wapromo{
    right:max(.9rem,env(safe-area-inset-right));
    bottom:max(.9rem,env(safe-area-inset-bottom));
    width:19rem;
    max-width:calc(100vw - 1.8rem);
  }

  /* Banner açıkken hap sahneden çekilir: telefonda ikisine birden
     yer yok ve üst üste binmeleri kaçınılmaz olurdu. */
  html.wapromo-acik .wafloat{ display:none; }

  /* Hamburger menü açıkken banner çekilir: menü z-index 55, banner 69 —
     yoksa menünün son linklerinin üstüne binerdi. Site zaten <html>'e
     'nav-open' yazıyor, yeni bir sinyal uydurmuyoruz. */
  html.nav-open .wapromo{ display:none !important; }
}
/* ==== TEKNE TURU BANNERI SONU ==== */
