/* Yazı tipleri sitenin içinden gelir (fonts/). latin + latin-ext: Türkçe karakterler için ikisi de gerekli. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/cormorant-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/cormorant-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dmsans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dmsans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Yedek yazı tipleri: asıl yazı tipi gelene kadar gösterilir. Boyutları asıl yazı tipine göre
   ayarlandı (Türkçe örnek metinle ölçüldü), böylece yazı tipi gelince sayfa kaymaz. */
@font-face{font-family:"Cormorant Yedek";font-style:normal;src:local("Times New Roman"),local("Times"),local("Liberation Serif");size-adjust:95%;ascent-override:96.8%;descent-override:30.5%;line-gap-override:0%}
@font-face{font-family:"Cormorant Yedek";font-style:italic;src:local("Times New Roman Italic"),local("Times-Italic"),local("Liberation Serif Italic");size-adjust:88.1%;ascent-override:104.4%;descent-override:32.9%;line-gap-override:0%}
@font-face{font-family:"DM Sans Yedek";src:local("Arial"),local("Helvetica"),local("Liberation Sans"),local("Roboto");size-adjust:101.5%;ascent-override:97.5%;descent-override:30.5%;line-gap-override:0%}
@font-face{font-family:"DM Sans Yedek Buyuk";src:local("Arial"),local("Helvetica"),local("Liberation Sans"),local("Roboto");size-adjust:90.8%;ascent-override:109%;descent-override:34.1%;line-gap-override:0%}

:root{
  --serif:"Cormorant Garamond","Cormorant Yedek",serif;
  --sans:"DM Sans","DM Sans Yedek",sans-serif;
  /* Büyük harfli küçük etiketler: Arial'in büyük harfleri daha geniş olduğu için ayrı yedek. */
  --sans-buyuk:"DM Sans","DM Sans Yedek Buyuk",sans-serif;
  --bg:#f8f2ea; --paper:#fffaf4; --ink:#2b2420; --mute:#857a70; --line:#e6dacb;
  --terra:#b85f42; --rose:#e6bcb1; --sage:#3d6f58; --sand:#efe3d4;
}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{flex:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02}
.label{display:block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.label,.facts small,.row small,.price .tag,.coach small,.cat .ph,.cat small,.gal figcaption,.contact dt,.foot h4{font-family:var(--sans-buyuk)}
.wrap{max-width:1220px;margin:auto;padding:0 5vw}
.arch{border-radius:999px 999px 14px 14px;overflow:hidden;background:var(--sand)}
.arch img{width:100%;height:100%;object-fit:cover}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:999px;font-weight:500;font-size:15px;transition:background .2s,color .2s,border-color .2s}
.btn.dark{background:var(--ink);color:var(--paper)}
.btn.dark:hover{background:var(--terra)}
.btn.line{border:1px solid var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--paper)}
.btn.light{background:var(--paper);color:var(--ink)}
section{padding:130px 0}
section.soft{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.h2{font-size:clamp(42px,5.2vw,72px)}
.h2 i{color:var(--terra)}
.muted{color:var(--mute)}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}

/* nav */
nav{position:sticky;top:0;z-index:20;background:#f8f2eaf0;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;justify-content:space-between;align-items:center;height:74px}
.logo{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:.01em}
.logo span{color:var(--terra)}
nav ul{display:flex;padding:0;gap:30px;list-style:none;font-size:14px}
nav ul a{position:relative}
nav ul a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--ink);transition:right .25s}
nav ul a:hover::after{right:0}
nav .btn{padding:11px 22px;font-size:14px}
/* Telefon menüsü (yalnızca dar ekranda görünür). SSS'deki details/summary stillerini sıfırlar. */
nav .mobil-menu{display:none;position:relative;margin:0 10px 0 auto;padding:0;border:0}
nav .mobil-menu summary{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--ink);border-radius:999px;font:500 14px/1.2 var(--sans)}
nav .mobil-menu summary::before{content:"";width:14px;height:8px;border-top:1.5px solid;border-bottom:1.5px solid}
nav .mobil-menu summary::after{content:none}
nav .mobil-menu[open] summary{background:var(--ink);color:var(--paper)}
nav .mobil-menu ul{display:grid;gap:0;position:absolute;right:0;top:calc(100% + 12px);min-width:230px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 40px #2b242026;font-size:16px}
nav .mobil-menu a{display:block;padding:12px 16px;border-radius:12px}
nav .mobil-menu a::after{content:none}
nav .mobil-menu a:hover{background:var(--sand)}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding-top:70px;padding-bottom:100px}
.hero h1.label{line-height:1.7;font-weight:400}
/* Büyük slogan: sayfanın H1'i değil (H1 üstteki küçük yazı), görünümü başlık gibi. */
.hero .slogan{font-family:var(--serif);font-weight:500;line-height:1.02;font-size:clamp(58px,8vw,116px);color:var(--ink);margin:0;max-width:none}
.hero .slogan i{color:var(--terra)}
.hero p{font-size:18px;max-width:440px;margin:28px 0 38px;color:#5b5049}
.hero .btns{display:flex;gap:12px;flex-wrap:wrap}
.archs{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:end}
.archs .arch:nth-child(1){height:540px}
.archs .arch:nth-child(2){height:390px}
.rating{display:flex;align-items:center;gap:14px;margin-top:44px;font-size:14px;color:var(--mute)}
.rating b{font-family:var(--serif);font-size:30px;color:var(--ink);font-weight:600}
.stars{color:var(--terra);letter-spacing:2px}
/* Puan kutuları Google yorumlarına götürür (bağlantı varsa). */
a.rating{width:fit-content}
a.rev-score{display:block}
.js-yorum-link .ok{display:inline-block;color:var(--terra);transition:transform .2s}
.js-yorum-link:not([href]) .ok{display:none}
.js-yorum-link[href]:hover .yorum-yazi,.js-yorum-link[href]:focus-visible .yorum-yazi{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.js-yorum-link[href]:hover .ok{transform:translateX(4px)}

/* facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:30px 10px;text-align:center;border-right:1px solid var(--line)}
.facts div:last-child{border:0}
.facts b{display:block;font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.15}
.facts small{color:var(--mute);font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* classes */
.classes{display:grid;grid-template-columns:5fr 7fr;gap:6vw;align-items:start}
.classes .intro{position:sticky;top:120px}
.classes .intro p{max-width:360px;margin-top:24px}
.list{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:130px 1fr;gap:32px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}
.row .arch{height:160px}
.row h3{font-size:34px;margin-bottom:6px}
.row p{color:var(--mute);font-size:15px}
.row small{display:block;margin-top:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}

/* prices */
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:60px}
.price{border:1px solid var(--line);border-radius:28px;padding:40px 32px;display:flex;flex-direction:column;gap:12px;background:var(--bg);position:relative}
.price h3{font-size:30px}
.price .amount{font-family:var(--serif);font-size:40px;line-height:1.1}
.price p{color:var(--mute);font-size:15px;flex:1}
.price .btn{align-self:flex-start;margin-top:10px}
.price.featured{background:var(--sage);color:#f3efe8;border-color:var(--sage)}
.price.featured p{color:#d6e6dd}
.price .tag{position:absolute;top:-13px;left:32px;background:var(--terra);color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.note{margin-top:30px;font-size:14px}

/* program */
.week{display:grid;grid-template-columns:repeat(var(--gun-sayisi,6),minmax(0,1fr));gap:18px;margin-top:60px}
.day{border-top:1px solid var(--ink);padding-top:18px}
.day h3{font-size:26px;margin-bottom:14px}
.slot{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.slot b{font-weight:500;font-size:15px}
.slot span{font-size:14px}
.slot small{font-size:12px;color:var(--mute)}

/* coaches */
.coach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:60px}
.coach{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center}
.coach .arch{height:240px;display:grid;place-items:center}
.coach .arch span{font-family:var(--serif);font-size:64px;color:var(--terra)}
.coach h3{font-size:38px}
.coach small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin:6px 0 12px}
.coach p{color:var(--mute);font-size:15px}

/* cats */
.cats{background:var(--sage);color:#f3efe8;border-radius:40px;margin:130px 3vw 0;padding:120px 0}
.cats .top{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}
.cats .top .arch{height:560px}
.cats .label{color:#bcd6c8}
.cats .h2 i{color:#f0cfa6}
.cats .lead{opacity:.88;margin:26px 0 0;max-width:500px;font-size:17px}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;margin-top:100px}
.cat .arch{height:340px;background:#ffffff14}
.cat .ph{height:100%;display:grid;place-items:center;text-align:center;color:#d6e6dd;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border:1px dashed #ffffff40;border-radius:inherit}
.cat .ph svg{display:block;margin:0 auto 12px;opacity:.7}
.cat h3{font-size:36px;margin-top:22px;color:#fff}
.cat small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#f0cfa6;margin:4px 0 10px}
.cat p{font-size:15px;opacity:.82}
.notes{margin-top:90px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border-top:1px solid #ffffff2a}
.notes:empty{display:none}
.notes div{padding:32px 28px 0 0}
.notes h4{font-family:var(--serif);font-size:26px;font-weight:500;margin-bottom:8px;color:#fff}
.notes p{font-size:15px;opacity:.82}

/* gallery */
.gal-side{display:flex;flex-direction:column;align-items:flex-end;gap:20px}
.gal-side p{max-width:340px}
.gal{display:flex;gap:20px;overflow-x:auto;padding:50px 5vw 10px;scroll-snap-type:x mandatory;scrollbar-width:none}
.gal::-webkit-scrollbar{display:none}
.gal figure{flex:0 0 280px;scroll-snap-align:start}
.gal .arch{height:400px}
.gal figcaption{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:14px;text-align:center}
.gal-nav{display:flex;gap:10px}
.gal-nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--ink);background:none;cursor:pointer;display:grid;place-items:center;color:var(--ink);transition:.2s}
.gal-nav button:hover{background:var(--ink);color:var(--paper)}

/* reviews */
.rev-score{text-align:right}
.rev-score b{font-family:var(--serif);font-size:72px;font-weight:500;line-height:1}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}
.rev{border-top:1px solid var(--ink);padding-top:28px}
.rev blockquote{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.3}
.rev cite{display:block;margin-top:20px;font-style:normal;font-size:13px;color:var(--mute)}
.rev-link{display:inline-block;margin-top:50px;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:3px}

/* faq */
.faq{display:grid;grid-template-columns:5fr 7fr;gap:6vw}
details{border-bottom:1px solid var(--line);padding:24px 0}
details:first-child{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--serif);font-size:27px;font-weight:500}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);font-weight:300;font-size:26px;color:var(--terra);transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--mute);margin-top:12px;max-width:620px}

/* contact */
.contact{background:var(--sand);border-radius:40px;margin:0 3vw;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}
.contact .info{padding:90px 5vw}
.contact dl{display:grid;gap:22px;margin:40px 0}
.contact dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.contact dd{font-size:17px}
.contact .btns{display:flex;gap:12px;flex-wrap:wrap}
.map{min-height:520px;position:relative;background:#e5d8c7}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.4) sepia(.15)}
/* Harita yüklenmeden önceki kutu: sokak ızgarası gibi ince çizgiler, ortada adres ve düğmeler. */
.harita-on{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:18px;padding:40px 7vw;text-align:center;background-color:#e5d8c7;background-image:linear-gradient(#d6c6b2 1px,transparent 1px),linear-gradient(90deg,#d6c6b2 1px,transparent 1px),linear-gradient(32deg,transparent 46%,#efe3d4 46%,#efe3d4 54%,transparent 54%);background-size:56px 56px,56px 56px,100% 100%}
.harita-pin{width:64px;height:80px;display:grid;place-items:center;border-radius:999px 999px 14px 14px;background:var(--terra);color:var(--paper)}
.harita-adres{font-family:var(--serif);font-size:23px;line-height:1.25;max-width:420px}
.harita-on .btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.harita-on button{border:0;cursor:pointer;font-family:inherit}
.harita-on small{font-size:12px;color:var(--mute)}

/* footer */
footer{padding:80px 0 40px}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line)}
.foot .logo{font-size:34px}
.foot p{color:var(--mute);font-size:14px;margin-top:12px;max-width:300px}
.foot h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:500;margin-bottom:16px}
.foot ul{list-style:none;padding:0;display:grid;gap:8px;font-size:14px}
.foot ul a:hover{color:var(--terra)}
.copy{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-size:12px;color:var(--mute)}

/* whatsapp */
.wa{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:13px 20px 13px 16px;border-radius:999px;font-size:14px;font-weight:500;box-shadow:0 10px 30px #2b242033;transition:background .2s}
.wa:hover{background:var(--sage)}

@media(max-width:1000px){ nav .wrap > ul{display:none} nav .mobil-menu{display:block} }
@media(max-width:900px){
  .hero,.classes,.cats .top,.faq,.contact,.coach-grid{grid-template-columns:1fr}
  .hero{padding-top:36px;padding-bottom:70px}
  .archs .arch:nth-child(1){height:340px}.archs .arch:nth-child(2){height:250px}
  .facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .classes .intro{position:static}
  .row{grid-template-columns:90px 1fr;gap:20px}.row .arch{height:120px}.row h3{font-size:28px}
  .coach{grid-template-columns:120px 1fr;gap:20px}.coach .arch{height:160px}.coach .arch span{font-size:44px}
  .cats{margin-top:90px}
  .cats .top .arch{height:400px}
  .rev-grid{grid-template-columns:1fr}
  .week{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-grid{gap:50px;margin-top:70px}
  .gal-side{align-items:flex-start}
  .rev-score{text-align:left}
  .contact .info{padding:60px 7vw}
  .map{min-height:340px}
  .foot{grid-template-columns:1fr 1fr}.foot > div:first-child{grid-column:span 2}
  section{padding:90px 0}
  .wa span{display:none}.wa{padding:14px}
  /* Alt bilgideki bağlantılar parmakla rahat basılsın (yaklaşık 46 px yükseklik). */
  .foot ul{gap:0}.foot ul a{display:inline-block;padding:11px 0}
}
@media(max-width:400px){ nav .mobil-menu{margin-right:8px} nav .mobil-menu summary{padding:10px 13px} nav .btn{padding:11px 16px} }

/* düzenleme modu (yalnızca adres ?duzenle ile açılınca, duzenle.js ekler) */
.edit-bar{position:relative;z-index:30;display:flex;gap:16px;justify-content:space-between;align-items:center;padding:10px 20px;background:var(--sage);color:#fff;font-size:14px;line-height:1.4}
.edit-bar a{flex:none;padding:6px 14px;border:1px solid #ffffff80;border-radius:999px}
.edit-bar a:hover{background:#ffffff1f}
.edit-bar-btns{display:flex;gap:8px;flex:none}
.edit-bar a.panel-ac{background:#fff;color:var(--sage);border-color:#fff;font-weight:700}
.edit-bar a.panel-ac:hover{background:var(--sand)}
/* Her bölüm hep ince kesikli çizgiyle görünür; üzerine gelince kalın çizgi ve hafif renk alır. */
.edit-block{position:relative;scroll-margin-top:120px;outline:2px dashed #b85f4280;outline-offset:-8px;transition:outline-color .2s,box-shadow .2s}
.edit-block:hover,.edit-tools:hover + .edit-block{outline:3px solid var(--terra);box-shadow:inset 0 0 0 100vmax #b85f420f}
.edit-kutu{outline-offset:6px}
.edit-tools:has(+ .edit-block:hover) .edit-btn:first-child,.edit-tools:hover .edit-btn:first-child{transform:scale(1.08);box-shadow:0 4px 14px #b85f4266}
/* Bölümün hemen üstündeki düğme satırı */
.edit-tools{position:relative;z-index:15;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:10px 14px}
.edit-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:var(--terra);color:#fff;font:500 13px/1.2 var(--sans);box-shadow:0 2px 8px #2b242033;transition:.2s}
.edit-btn:hover{background:var(--ink)}
.edit-btn.ikincil{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.edit-btn.ikincil:hover{background:var(--sand)}
.edit-gizli{opacity:.55}
.edit-gizli::before{content:attr(data-gizli-not);position:absolute;top:14px;left:14px;z-index:15;padding:6px 12px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;line-height:1.3;max-width:calc(100% - 28px)}
@media (max-width:700px){
  .edit-bar{font-size:13px;padding:8px 16px}
  .edit-gizli::before{position:relative;display:block;top:auto;left:auto;margin:10px 16px 0;width:fit-content}
}
