/* ============================================
   EKO RESIDENCE — Main Stylesheet
   Fonts: Rubik (body), Barlow (headings)
   Primary: #075e54 | Background: #fffef5
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&family=Barlow:wght@400;500;600;700;800;900&display=swap');

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Rubik', sans-serif;
  background: #fffef5;
  color: #2a4f4b;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.5;
}
h1,h2,h3,h4,h5,h6 {
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #282828;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border: none;
  outline: none;
  background: transparent;
}
button { cursor: pointer; }

/* ── CSS Variables ── */
:root {
  --bg:        #fffef5;
  --primary:   #075e54;
  --primary-h: #409e93;
  --text:      #2a4f4b;
  --heading:   #282828;
  --badge-bg:  #f8f8f8;
  --badge-txt: #6d918d;
  --mint:      #e8feef;
  --border:    rgba(42,79,75,.15);
  --shadow:    0 4px 24px rgba(0,0,0,.08);
  --radius:    1rem;
  --radius-sm: .75rem;
  --radius-pill: 999px;
  --max-w:     1380px;
  --section-y: 5.5rem;
  --trans:     .3s cubic-bezier(.16,1,.3,1);
}

/* ── Utility ── */
.container { width: 100%; max-width: var(--max-w); margin: 0 auto; padding: 0 1rem; }
@media(min-width:640px){ .container{ padding:0 1.5rem; } }
@media(min-width:1024px){ .container{ padding:0 2rem; } }
.section-border { border-bottom: 1px solid var(--border); }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* ── Badge / Tag ── */
.badge {
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.625rem 1.25rem;
  background:var(--badge-bg);border-radius:var(--radius-pill);
  font-size:.6875rem;font-weight:700;color:var(--badge-txt);
  text-transform:uppercase;letter-spacing:.06em;
}

/* ── Buttons ── */
.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.75rem 1.5rem;border-radius:var(--radius-pill);
  font-size:.8125rem;font-weight:700;white-space:nowrap;
  transition:background var(--trans),color var(--trans),border-color var(--trans),opacity .2s,transform .15s;
  min-height:44px;
}
.btn:active { transform:scale(.97); }
.btn-primary { background:var(--primary);color:#fff; }
.btn-primary:hover { background:var(--primary-h); }
.btn-outline {
  background:transparent;color:var(--primary);
  border:2px solid var(--primary);
}
.btn-outline:hover { border-color:var(--primary-h);color:var(--primary-h);background:rgba(64,158,147,.05); }
.btn-white { background:#fff;color:var(--primary); }
.btn-white:hover { background:var(--mint); }
.btn-ghost-white {
  background:transparent;color:#fff;
  border:2px solid rgba(255,255,255,.3);
}
.btn-ghost-white:hover { border-color:#fff;background:rgba(255,255,255,.1); }
.btn-wa { background:#075e54;color:#fff; }
.btn-wa:hover { background:#128c7e; }

/* ── Section Headers ── */
.section-header { text-align:center;max-width:48rem;margin:0 auto 4rem; }
@media(min-width:768px){ .section-header{ margin-bottom:5rem; } }
.section-header h2 { font-size:clamp(1.5rem,3.5vw,2.5rem);margin:.75rem 0 .5rem; }
.section-header p { font-size:1rem;color:var(--text);line-height:1.7;max-width:40rem;margin:0 auto; }
@media(min-width:768px){ .section-header p{ font-size:1.0625rem; } }
.accent { color:var(--primary); }

/* ══════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════ */
#site-header {
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,254,245,.9);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(226,232,240,.4);
  transition:transform .5s cubic-bezier(.16,1,.3,1);
  padding:.625rem 0;
}
#site-header .inner {
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:2rem;
}
#site-header .inner .nav-links { justify-self:center; }
#site-header .inner .header-actions { justify-self:end; }
/* Desktop nav */
.nav-links { display:flex;align-items:center;gap:2rem; }
.nav-links a {
  font-size:.75rem;font-weight:600;color:var(--text);
  transition:color .2s;
}
.nav-links a:hover { color:var(--primary); }

/* Header actions */
.header-actions { display:flex;align-items:center;gap:1rem; }
.header-phone {
  display:flex;align-items:center;gap:.4rem;
  padding:.5rem 1rem;border-radius:var(--radius-pill);
  font-size:.75rem;font-weight:600;color:var(--primary);
  transition:background .2s;
}
.header-phone:hover { background:var(--mint); }
.header-phone svg { width:14px;height:14px; }
.header-rez {
  padding:.55rem 1.25rem;
  background:var(--primary);color:#fff;
  border-radius:var(--radius-pill);
  font-size:.75rem;font-weight:700;
  transition:background .2s;
}
.header-rez:hover { background:var(--primary-h); }

/* Hamburger */
.hamburger {
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;align-items:center;background:none;
}
.hamburger span {
  display:block;width:22px;height:2px;
  background:var(--heading);border-radius:2px;
  transition:all .35s var(--trans);
}
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0;transform:translateX(-8px); }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Mobile Menu */
.mobile-menu {
  display:none;position:fixed;inset:0;z-index:99;
  background:#fff;flex-direction:column;
  align-items:center;justify-content:center;gap:2rem;
  transform:translateY(-100%);transition:transform .6s var(--trans);
  padding:2rem;
}
.mobile-menu.open { transform:translateY(0); }
.mobile-menu a {
  font-size:1.6rem;font-weight:800;color:var(--heading);
  font-family:'Barlow',sans-serif;transition:color .2s;
}
.mobile-menu a:hover { color:var(--primary); }
.mobile-menu .mob-actions { display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px;margin-top:1rem; }

/* Header spacer */
.header-spacer { height:56px; }
@media(min-width:768px){ .header-spacer{ height:60px; } }
/* Logo height */
.logo img { height:36px;width:auto;object-fit:contain; }
@media(min-width:768px){ .logo img{ height:40px; } }

/* ══════════════════════════════════════════
   HERO
   ══════════════════════════════════════════ */
#hero {
  padding:1.5rem 0 3rem;
  border-bottom:1px solid var(--border);
}
@media(min-width:768px){ #hero{ padding:2.5rem 0 4rem; } }
@media(min-width:1024px){ #hero{ padding:3rem 0 5rem; } }
.hero-grid {
  display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;
}
@media(min-width:1024px){
  .hero-grid{ grid-template-columns:7fr 5fr;gap:3rem; }
}

/* Left */
.hero-left { display:flex;flex-direction:column;gap:1.5rem; }
.hero-title {
  font-size:1.875rem;
  line-height:1.1;color:var(--primary);
}
@media(min-width:640px){ .hero-title{ font-size:2.25rem; } }
@media(min-width:768px){ .hero-title{ font-size:3rem; } }
@media(min-width:1024px){ .hero-title{ font-size:3.5rem; } }
.hero-title span { color:var(--heading);display:block;margin-top:.2em; }
.hero-desc { font-size:1rem;line-height:1.7;color:var(--text);max-width:600px; }
.hero-btns { display:flex;flex-wrap:wrap;gap:.75rem; }
.hero-feat-sep { padding-top:1.5rem;border-top:1px solid var(--border); }
.hero-feat-label {
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:#90a1b9;margin-bottom:1rem;
}
.hero-badges { display:flex;flex-wrap:wrap;gap:.6rem; }
.hero-badge {
  display:flex;align-items:center;gap:.5rem;
  padding:.55rem 1.2rem .55rem 1rem;
  background:var(--badge-bg);border-radius:var(--radius-pill);
}
.hero-badge .dot {
  width:6px;height:6px;background:var(--badge-txt);border-radius:50%;flex-shrink:0;
}
.hero-badge span { font-size:.7rem;font-weight:700;color:var(--badge-txt); }

/* Right — Carousel */
.hero-right { position:relative; }
.carousel-wrap {
  background:#fff;border-radius:1.25rem;padding:1rem;
  display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;
  box-shadow:0 8px 40px rgba(0,0,0,.07);
}
.carousel-frame {
  position:relative;overflow:hidden;border-radius:.875rem;
  aspect-ratio:4/3;background:var(--badge-bg);
}
@media(min-width:640px){ .carousel-frame{ aspect-ratio:16/11; } }
.carousel-frame img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .7s ease;
  transform:scale(1.05);
}
.carousel-frame img.active {
  opacity:1;
  transform:scale(1.1);
  transition:opacity .7s ease, transform 5000ms ease-out;
}
.c-btn {
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,254,245,.92);backdrop-filter:blur(8px);
  border:1px solid var(--border);color:var(--heading);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s,transform .2s;cursor:pointer;
}
.c-btn:hover { transform:translateY(-50%) scale(1.05); }
.c-btn svg { width:18px;height:18px;stroke-width:2.5; }
.c-btn.prev { left:.75rem; }
.c-btn.next { right:.75rem; }
.carousel-wrap:hover .c-btn { opacity:1; }
/* Caption */
.c-caption {
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:rgba(255,254,245,.82);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-pill);
  padding:.4rem .4rem .4rem .4rem;
  position:absolute;bottom:.75rem;left:.75rem;right:.75rem;z-index:5;
  pointer-events:none;
}
.c-label {
  padding:.45rem 1rem;background:var(--primary);color:#fff;
  font-size:.6rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;border-radius:var(--radius-pill);flex-shrink:0;
}
.c-text { font-size:.75rem;font-weight:700;color:var(--heading);padding-right:.5rem; }
/* Thumbnails */
.c-thumbs { display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap; }
.c-thumb {
  width:60px;height:42px;border-radius:.5rem;overflow:hidden;
  border:2px solid transparent;opacity:.65;
  transition:opacity .3s,border-color .3s,transform .2s,box-shadow .2s;
  cursor:pointer;flex-shrink:0;
}
@media(min-width:640px){
  .c-thumb{ width:68px;height:46px; }
}
.c-thumb img { width:100%;height:100%;object-fit:cover; }
.c-thumb.active { border-color:var(--primary);opacity:1;transform:scale(1.05);box-shadow:0 0 0 3px rgba(7,94,84,.3); }

/* ══════════════════════════════════════════
   FEATURE STRIP
   ══════════════════════════════════════════ */
#features {
  padding:1.25rem 0;
  border-bottom:1px solid var(--border);
  position:relative;z-index:20;
}
.feat-grid {
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:0;
  /* Mobile: horizontal border between rows */
}
.feat-item:nth-child(n+3) { border-top:1px solid var(--border); }
@media(min-width:768px){ .feat-grid{ grid-template-columns:repeat(4,1fr); } }
.feat-item {
  display:flex;align-items:flex-start;gap:.75rem;
  padding:.5rem;
}
@media(min-width:768px){
  .feat-item{ padding:.5rem 1rem; }
}
.feat-item svg { width:20px;height:20px;color:var(--primary);flex-shrink:0;margin-top:2px; }
.feat-item h4 { font-size:.75rem;font-weight:700;color:var(--primary);margin-bottom:.2rem; }
.feat-item p { font-size:.7rem;color:var(--text);line-height:1.45; }
@media(min-width:768px){
  .feat-item:nth-child(n+3) { border-top:0; }
  .feat-item:not(:first-child){ border-left:1px solid var(--border); }
}

/* ══════════════════════════════════════════
   ROOMS
   ══════════════════════════════════════════ */
#odalar { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #odalar{ padding:7rem 0; } }
@media(min-width:1024px){ #odalar{ padding:9rem 0; } }
.rooms-grid {
  display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:stretch;
}
@media(min-width:768px){ .rooms-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .rooms-grid{ grid-template-columns:repeat(3,1fr); } }

.room-card {
  background:var(--badge-bg);border-radius:1.25rem;overflow:hidden;
  display:flex;flex-direction:column;
  transition:box-shadow var(--trans);
}
.room-card:hover { box-shadow:inset 0 0 0 2px var(--primary-h); }
.room-img {
  position:relative;overflow:hidden;
  aspect-ratio:16/10;background:#e8e8e8;
}
.room-img img {
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--trans);
}
.room-card:hover .room-img img { transform:scale(1.06); }
.room-badge-cap, .room-badge-type {
  position:absolute;top:.875rem;z-index:2;
  padding:.4rem .9rem;border-radius:var(--radius-pill);
  font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  display:flex;align-items:center;gap:.35rem;
}
.room-badge-cap { left:1.5rem;background:rgba(248,248,248,.96);backdrop-filter:blur(6px);color:var(--badge-txt); }
.room-badge-type { right:1rem;background:var(--primary);color:#fff; }
.room-badge-cap svg,.room-badge-type svg { width:12px;height:12px; }

.room-body { padding:1.5rem;display:flex;flex-direction:column;flex:1;gap:1.25rem; }
.room-meta { font-size:.65rem;font-weight:800;color:var(--badge-txt);text-transform:uppercase;letter-spacing:.06em; }
.room-title { font-size:1.2rem;color:var(--primary);margin:.25rem 0 .4rem; }
.room-desc { font-size:.8125rem;color:var(--text);line-height:1.65; }
.room-ideal { font-size:.75rem;color:var(--text); }
.room-ideal strong { color:var(--heading); }
.room-amenities {
  display:grid;grid-template-columns:1fr 1fr;gap:.6rem;
  font-size:.75rem;color:var(--text);
}
.room-amenities li { display:flex;align-items:center;gap:.4rem;font-weight:500; }
.room-amenities svg { width:14px;height:14px;color:var(--badge-txt);flex-shrink:0; }
.room-actions { display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto; }
.room-actions .btn { flex:1;min-width:120px;font-size:.75rem;padding:.7rem 1rem; }

/* ══════════════════════════════════════════
   AMENITIES
   ══════════════════════════════════════════ */
#olanaklar { padding:4rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #olanaklar{ padding:5rem 0; } }

.amen-grid {
  display:grid;grid-template-columns:1fr;gap:.875rem;
}
@media(min-width:540px){ .amen-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .amen-grid{ grid-template-columns:repeat(4,1fr); } }

.amen-card {
  display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;
  padding:.875rem 1rem;background:var(--badge-bg);border-radius:.75rem;
  transition:background .2s;
}
@media(min-width:540px){
  .amen-card{ flex-direction:row;align-items:center;gap:.875rem;padding:1rem; }
}
.amen-icon {
  width:40px;height:40px;flex-shrink:0;
  background:#fff;border-radius:.5rem;
  display:flex;align-items:center;justify-content:center;
}
.amen-icon svg { width:20px;height:20px;color:var(--primary); }
.amen-text { display:flex;flex-direction:column;gap:.15rem; }
.amen-text h4 { font-size:.8125rem;font-weight:700;color:var(--primary);line-height:1.25; }
.amen-text p { font-size:.7rem;color:var(--text);line-height:1.5; }

/* ══════════════════════════════════════════
   RESERVATION
   ══════════════════════════════════════════ */
#rezervasyon {
  padding:5rem 0;
  background:var(--primary);
  border-bottom:1px solid var(--border);
  position:relative;overflow:hidden;
}
@media(min-width:768px){ #rezervasyon{ padding:7rem 0; } }
@media(min-width:1024px){ #rezervasyon{ padding:9rem 0; } }
#rezervasyon::before {
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:20px 20px;pointer-events:none;
}
.rez-grid {
  display:grid;grid-template-columns:1fr;gap:3rem;align-items:start;position:relative;
}
@media(min-width:1024px){ .rez-grid{ grid-template-columns:1fr 1fr; } }

/* Left info */
.rez-info { color:#fff; }
.rez-info .badge { background:rgba(232,254,239,.12);color:#e8feef;border:1px solid rgba(232,254,239,.2); }
.rez-info h2 {
  font-size:clamp(1.5rem,3.5vw,2.4rem);color:#F0DED2;
  margin:.75rem 0 1rem;line-height:1.15;
  font-family:'Barlow',sans-serif;
}
.rez-info p { color:rgba(232,254,239,.88);font-size:.9375rem;line-height:1.7; }
.rez-points { margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem; }
.rez-point { display:flex;gap:.875rem; }
.rez-check {
  width:22px;height:22px;border-radius:50%;
  background:var(--mint);color:var(--primary);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;
}
.rez-check svg { width:13px;height:13px;stroke-width:3; }
.rez-point-txt strong { display:block;font-size:.8125rem;font-weight:700;color:#fff;margin-bottom:.2rem; }
.rez-point-txt span { font-size:.7rem;color:rgba(232,254,239,.75);line-height:1.5; }

/* Form card */
.rez-form-wrap {
  background:var(--bg);border:1px solid var(--border);
  border-radius:1.5rem;padding:2rem;
}
.rez-form-title { font-size:1.1rem;font-weight:800;color:var(--heading);margin-bottom:.35rem; }
.rez-form-sub { font-size:.75rem;color:var(--text);margin-bottom:1.5rem;line-height:1.55; }
.form-grid { display:grid;grid-template-columns:1fr;gap:1rem; }
@media(min-width:540px){ .form-grid{ grid-template-columns:1fr 1fr; } }
.form-full { grid-column:1/-1; }

.field { display:flex;flex-direction:column;gap:.3rem; }
.field label {
  font-size:.65rem;font-weight:900;color:rgba(42,79,75,.55);
  text-transform:uppercase;letter-spacing:.08em;padding-left:1rem;
}
.field input,
.field select,
.field textarea {
  width:100%;padding:.75rem 1rem;
  background:var(--badge-bg);border-radius:.875rem;
  font-size:.875rem;font-weight:500;color:var(--heading);
  border:2px solid transparent;
  transition:background .2s,border-color .2s,box-shadow .2s;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  background:#fff;
  border-color:rgba(7,94,84,.18);
  box-shadow:0 0 0 3px rgba(7,94,84,.1);
}
.field input::placeholder,
.field textarea::placeholder { color:rgba(42,79,75,.4); }
.field textarea { resize:none; }

/* Counter widget */
.counter-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
[data-counter] {
  display:flex;align-items:center;justify-content:space-between;
  padding:.6875rem .875rem;background:var(--badge-bg);border-radius:.875rem;
}
[data-counter] > span { font-size:.8125rem;font-weight:700;color:var(--heading); }
.counter-ctrl { display:flex;align-items:center;gap:.6rem; }
.counter-ctrl [data-val] { font-size:.8125rem;font-weight:900;color:var(--heading);min-width:1rem;text-align:center; }
.count-btn {
  width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--border);background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:var(--text);transition:border-color .2s,color .2s;
}
.count-btn:hover { border-color:var(--primary);color:var(--primary); }
.count-btn:disabled { opacity:.35;cursor:not-allowed; }
.count-btn svg { width:13px;height:13px; }

/* Pet checkbox */
.pet-label {
  display:flex;align-items:center;gap:.75rem;
  padding:.875rem 1rem;background:var(--badge-bg);border-radius:.875rem;cursor:pointer;
  border:2px solid transparent;transition:border-color .2s;
}
.pet-label:hover { border-color:rgba(7,94,84,.15); }
.pet-label input { accent-color:var(--primary);width:16px;height:16px;cursor:pointer; }
.pet-label-txt { font-size:.8rem;font-weight:700;color:var(--heading); }

/* Submit */
.btn-submit {
  width:100%;padding:1rem;margin-top:.5rem;
  background:var(--primary);color:#fff;
  border-radius:1rem;font-size:.75rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.05em;
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:52px;transition:background .2s,opacity .2s;
}
.btn-submit:hover { background:var(--primary-h); }
.btn-submit:disabled { opacity:.5;cursor:not-allowed; }
.btn-submit svg { width:20px;height:20px;fill:currentColor; }

/* ══════════════════════════════════════════
   WHY US
   ══════════════════════════════════════════ */
#neden { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #neden{ padding:7rem 0; } }
@media(min-width:1024px){ #neden{ padding:9rem 0; } }
.neden-grid { display:grid;grid-template-columns:1fr;gap:3rem;align-items:start; }
@media(min-width:1024px){ .neden-grid{ grid-template-columns:5fr 7fr;gap:3rem; } }
.neden-left { position:sticky;top:6rem; }
.neden-left h2 { font-size:clamp(1.4rem,3.5vw,2.2rem);margin:.75rem 0 1rem; }
.neden-left p { font-size:.9375rem;color:var(--text);line-height:1.7; }
.neden-guarantee {
  display:flex;align-items:center;gap:.75rem;
  padding:1rem;background:var(--badge-bg);border-radius:.875rem;margin-top:1.5rem;
}
.neden-guarantee svg { width:24px;height:24px;color:var(--primary);flex-shrink:0; }
.neden-guarantee strong { display:block;font-size:.8125rem;color:var(--primary);font-weight:700; }
.neden-guarantee span { font-size:.7rem;color:var(--text); }

.neden-list { display:flex;flex-direction:column; }
.neden-item {
  display:flex;gap:1.25rem;
  padding:1.5rem 0;border-bottom:1px solid var(--border);
  align-items:flex-start;
}
.neden-item:last-child { border-bottom:0; }
.neden-num {
  width:48px;height:48px;flex-shrink:0;
  background:rgba(248,248,248,.5);border-radius:.75rem;
  display:flex;align-items:center;justify-content:center;
  font-size:.8125rem;font-weight:900;color:var(--primary);
}
.neden-item h3 { font-size:1rem;color:var(--primary);margin-bottom:.25rem;font-weight:700; }
.neden-item p { font-size:.8125rem;color:var(--text);line-height:1.65; }

/* ══════════════════════════════════════════
   GALLERY
   ══════════════════════════════════════════ */
#galeri { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #galeri{ padding:7rem 0; } }
@media(min-width:1024px){ #galeri{ padding:9rem 0; } }
.gallery-masonry {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:180px;
  gap:.875rem;
}
@media(min-width:640px){ .gallery-masonry{ grid-auto-rows:220px; } }
.g-item { border-radius:1.25rem;overflow:hidden;position:relative; }
.g-item img {
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--trans);
}
.g-item:hover img { transform:scale(1.06); }
.g-overlay {
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 55%,transparent 100%);
  pointer-events:none;
}
.g-badge {
  position:absolute;top:1rem;left:1.5rem;z-index:2;
  font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  background:var(--primary);color:#fff;
  padding:.35rem .875rem;border-radius:999px;
}
.g-title {
  position:absolute;bottom:1rem;left:1.5rem;z-index:2;
  font-size:.875rem;font-weight:800;color:#fff;
}
.g-item:nth-child(1){ grid-column:span 8;grid-row:span 2; }
.g-item:nth-child(2){ grid-column:span 4; }
.g-item:nth-child(3){ grid-column:span 4; }
.g-item:nth-child(4){ grid-column:span 4; }
.g-item:nth-child(5){ grid-column:span 4; }
.g-item:nth-child(6){ grid-column:span 4; }
.g-item:nth-child(7){ grid-column:span 4; }
.g-item:nth-child(8){ grid-column:span 4; }
@media(max-width:900px){
  .gallery-masonry{ grid-template-columns:1fr 1fr;grid-auto-rows:180px; }
  .g-item:nth-child(1){ grid-column:span 2;grid-row:span 1; }
  .g-item:nth-child(n){ grid-column:span 1; }
}
@media(max-width:540px){
  .gallery-masonry{ grid-template-columns:1fr;grid-auto-rows:200px; }
  .g-item:nth-child(n){ grid-column:span 1; }
}

/* ══════════════════════════════════════════
   LOCATION
   ══════════════════════════════════════════ */
#konum { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #konum{ padding:7rem 0; } }
@media(min-width:1024px){ #konum{ padding:9rem 0; } }
.konum-grid { display:grid;grid-template-columns:1fr;gap:3rem;align-items:center; }
@media(min-width:1024px){ .konum-grid{ grid-template-columns:7fr 5fr; } }
.konum-info { display:flex;flex-direction:column;gap:1.5rem; }
.konum-info > div.space-y { display:flex;flex-direction:column;gap:.75rem; }
.konum-info h2 { font-size:clamp(1.5rem,3.5vw,2.2rem);margin:0; }
.konum-info p { font-size:.9375rem;color:var(--text);line-height:1.7;max-width:600px; }
.dist-grid { display:grid;grid-template-columns:1fr;gap:.75rem; }
@media(min-width:640px){ .dist-grid{ grid-template-columns:1fr 1fr; } }
.dist-item {
  display:flex;align-items:center;gap:.75rem;
  padding:.75rem 1.25rem;background:#fff;border-radius:var(--radius-pill);
  font-size:.75rem;
}
.dist-item > span:last-child { margin-left:auto; }
.dist-dot { width:10px;height:10px;background:var(--badge-txt);border-radius:50%;flex-shrink:0; }
.dist-label { flex:1;font-weight:500;color:var(--text); }
.dist-time { font-weight:600;color:var(--text); }

.map-wrap {
  aspect-ratio:4/3;border-radius:1.25rem;overflow:hidden;position:relative;
  max-width:100%;width:100%;
}
@media(min-width:1024px){ .map-wrap{ aspect-ratio:1;max-width:460px;margin:0 auto; } }
.map-wrap iframe { width:100%;height:100%;border:0; }
.map-label {
  position:absolute;top:.875rem;left:.875rem;
  background:rgba(40,40,40,.95);color:#fff;
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:.35rem .75rem;border-radius:.375rem;pointer-events:none;
}

/* ══════════════════════════════════════════
   NEARBY
   ══════════════════════════════════════════ */
#yakin { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #yakin{ padding:7rem 0; } }
@media(min-width:1024px){ #yakin{ padding:9rem 0; } }
.nearby-grid {
  display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:72rem;margin:0 auto;
}
@media(min-width:640px){ .nearby-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .nearby-grid{ grid-template-columns:repeat(4,1fr); } }
.nearby-card {
  padding:1.5rem;background:var(--badge-bg);border-radius:1.25rem;
  display:flex;flex-direction:column;gap:.75rem;
  transition:box-shadow .2s,background .2s;
}
.nearby-card:hover { box-shadow:0 0 0 1px var(--primary) inset; }
.nearby-icon {
  width:48px;height:48px;background:#fff;border-radius:1rem;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.nearby-icon svg { width:24px;height:24px;color:var(--primary); }
.nearby-card h4 { font-size:.875rem;font-weight:800;color:var(--primary); }
.nearby-time { font-size:.75rem;font-weight:900;color:var(--primary);display:block; }
.nearby-card p { font-size:.6875rem;color:var(--text);line-height:1.6; }

/* ══════════════════════════════════════════
   RULES
   ══════════════════════════════════════════ */
#kurallar { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #kurallar{ padding:7rem 0; } }
@media(min-width:1024px){ #kurallar{ padding:9rem 0; } }
.rules-grid {
  display:grid;grid-template-columns:1fr;gap:1rem;
}
@media(min-width:640px){ .rules-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .rules-grid{ grid-template-columns:repeat(3,1fr);gap:1.25rem; } }
.rule-card {
  padding:1.5rem;background:var(--badge-bg);border-radius:1.25rem;
  display:flex;flex-direction:column;gap:.75rem;
  transition:box-shadow .2s;
}
.rule-card:hover { box-shadow:0 0 0 1.5px var(--primary) inset; }
.rule-icon {
  width:40px;height:40px;background:#fff;border-radius:.75rem;
  display:flex;align-items:center;justify-content:center;
}
.rule-icon svg { width:20px;height:20px;color:var(--primary); }
.rule-card h3 { font-size:.875rem;font-weight:700;color:var(--primary); }
.rule-card p { font-size:.75rem;color:var(--text);line-height:1.65; }

/* ══════════════════════════════════════════
   CTA BANNER
   ══════════════════════════════════════════ */
#cta-banner {
  padding:4rem 0;background:var(--badge-bg);
  border-bottom:1px solid var(--border);
}
.cta-inner {
  background:var(--primary);border-radius:1.5rem;
  padding:3rem 2rem;text-align:center;position:relative;overflow:hidden;
}
.cta-inner::before {
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:20px 20px;pointer-events:none;
}
.cta-tag { display:inline-flex;margin-bottom:1rem;position:relative; }
.cta-inner h2 {
  font-size:clamp(1.5rem,4vw,3rem);color:#fff;margin:.5rem 0 1rem;
  line-height:1.15;position:relative;
}
.cta-inner h2 span { color:#e8feef; }
.cta-inner p { color:rgba(232,254,239,.8);max-width:560px;margin:0 auto 2rem;line-height:1.7;position:relative; }
.cta-btns { display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;position:relative; }

/* ══════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════ */
#sss { padding:5rem 0;border-bottom:1px solid var(--border); }
@media(min-width:768px){ #sss{ padding:7rem 0; } }
@media(min-width:1024px){ #sss{ padding:9rem 0; } }
.faq-list { max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:.75rem; }
.faq-item { background:var(--badge-bg);border-radius:1.25rem;overflow:hidden; }
.faq-q {
  width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:1.25rem 1.5rem;text-align:left;
  font-size:.875rem;font-weight:700;color:var(--heading);
  background:none;cursor:pointer;transition:color .2s;
}
.faq-q:hover { background:rgba(248,248,248,.5); }
.faq-icon {
  flex-shrink:0;width:24px;height:24px;border-radius:50%;
  background:#fff;display:flex;align-items:center;justify-content:center;
  transition:transform .3s var(--trans);
}
.faq-icon svg { width:13px;height:13px;color:var(--primary); }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-a {
  max-height:0;overflow:hidden;
  transition:max-height .35s var(--trans);
}
.faq-a p { padding:0 1.5rem 1.25rem;font-size:.8375rem;color:var(--text);line-height:1.7; }

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
#site-footer { background:#282828;color:#fff; }
.footer-grid {
  display:grid;grid-template-columns:1fr;gap:2.5rem;
  padding:4rem 0;border-bottom:1px solid rgba(255,255,255,.1);
}
@media(min-width:640px){ .footer-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .footer-grid{ grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem; } }

.footer-brand img { height:36px;width:auto;filter:brightness(0) invert(1);margin-bottom:1.25rem;display:block; }
.footer-brand p { font-size:.8125rem;color:rgba(255,255,255,.5);line-height:1.7;max-width:260px;margin-bottom:1.25rem; }
.footer-contact { display:flex;flex-direction:column;gap:.75rem; }
.footer-contact a,.footer-contact div {
  display:flex;align-items:flex-start;gap:.625rem;
  font-size:.8125rem;color:rgba(255,255,255,.6);
  transition:color .2s;line-height:1.5;
}
.footer-contact a:hover { color:#fff; }
.footer-contact svg { width:16px;height:16px;color:#6d918d;flex-shrink:0;margin-top:2px; }
.footer-col h4 {
  font-size:.6875rem;font-weight:700;color:#fff;text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:1.25rem;
}
.footer-col ul { display:flex;flex-direction:column;gap:.75rem; }
.footer-col ul a { font-size:.8125rem;color:rgba(255,255,255,.55);transition:color .2s; }
.footer-col ul a:hover { color:#fff; }
.footer-wa-btn {
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.25rem;background:var(--primary);color:#fff;
  border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;
  transition:background .2s;margin-top:.25rem;
}
.footer-wa-btn:hover { background:#128c7e; }
.footer-wa-btn svg { width:16px;height:16px;fill:currentColor; }
.footer-bottom {
  padding:1.5rem 0;
  display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;
}
@media(min-width:768px){
  .footer-bottom{flex-direction:row;justify-content:space-between;text-align:left;}
}
.footer-bottom p,.footer-bottom a { font-size:.7rem;color:rgba(255,255,255,.35); }
.footer-bottom a:hover { color:rgba(255,255,255,.6); }
.footer-legal { display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center; }

/* ══════════════════════════════════════════
   STICKY BOTTOM BAR (Mobile)
   ══════════════════════════════════════════ */
#sticky-bar {
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:98;
  background:#fff;border-top:1px solid var(--border);
  padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
  gap:.5rem;
  transform:translateY(100%);transition:transform .35s var(--trans);
}
#sticky-bar.show { transform:translateY(0); }
#sticky-bar a {
  flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.75rem .5rem;border-radius:.75rem;
  font-size:.7rem;font-weight:700;white-space:nowrap;
}
#sticky-bar .s-wa { background:var(--primary);color:#fff; }
#sticky-bar .s-phone { border:2px solid var(--primary);color:var(--primary); }
#sticky-bar .s-loc { background:var(--badge-bg);color:var(--text); }
#sticky-bar svg { width:16px;height:16px;flex-shrink:0; }
#sticky-bar .s-wa svg { fill:currentColor; }

/* ══════════════════════════════════════════
   SCROLL REVEAL
   ══════════════════════════════════════════ */
.reveal {
  opacity:0;transform:translateY(24px);
  transition:opacity .65s var(--trans),transform .65s var(--trans);
}
.reveal.visible { opacity:1;transform:none; }

/* ══════════════════════════════════════════
   RESPONSIVE HELPERS
   ══════════════════════════════════════════ */
@media(max-width:767px){
  .nav-links,.header-phone,.header-rez { display:none; }
  .hamburger { display:flex; }
  .mobile-menu { display:flex; }
  #sticky-bar { display:flex; }
  .hero-title { font-size:clamp(1.6rem,6vw,2.2rem); }
  .neden-left { position:static; }
}
@media(min-width:768px){
  .header-phone { display:flex; }
  .header-rez { display:inline-flex; }
}

/* ── Toast ── */
.toast {
  position:fixed;bottom:5rem;left:50%;transform:translateX(-50%) translateY(16px);
  z-index:200;padding:.75rem 1.5rem;border-radius:var(--radius-pill);
  font-size:.8rem;font-weight:700;color:#fff;
  opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;
}
.toast.show { opacity:1;transform:translateX(-50%) translateY(0); }
.toast.ok { background:#075e54; }
.toast.err { background:#e40014; }