/* =========================================================================
   MasaRezerve — misafir rezervasyon sayfası, "ölçülü sayfa" teması
   -------------------------------------------------------------------------
   app.css'ten SONRA yüklenir ve yalnızca .body-guest kapsamını yeniden
   biçimlendirir. Sunucu mantığına, işaretlemeye ve panel stillerine
   dokunmaz. Geri almak için layouts/guest.php'deki <link> satırını
   kaldırmak yeterlidir.

   Tipografi: Figtree (app.css zaten yüklüyor — ek istek yok).
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. JETONLAR
   ------------------------------------------------------------------------- */
.body-guest{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  --paper:#F1F0EB;
  --sheet:#FBFBF8;
  --sheet-2:#F5F4EE;
  --sheet-3:#EAE9E1;
  --ink:#17211E;
  --ink-2:#5C6763;
  --ink-3:#8A938F;
  --line:#DCDCD4;
  --line-2:#C6C7BC;
  --accent:#073866;
  --accent-2:#0a4a7a;
  --accent-ink:#FFFFFF;
  --accent-soft:#E4ECF3;
  --select:var(--accent);   /* seçim = marka rengi; tek kaynak */
  --select-ink:#FFFFFF;
  --mark:#E9B824;
  --mark-2:#8F6604;      /* seçili masa kenarı — kâğıda karşı 4.98:1 */
  --mark-ink:#2A1F00;
  --ok:#2F7D4F;
  --busy:#A93226;
  --busy-soft:#F6E7E4;
  --closed:#9AA39F;

  --r:4px;
  --r-lg:8px;
  --tap:48px;
  --cover-h:clamp(150px, 26vw, 230px);
  --shadow:0 1px 0 rgba(23,33,30,.05), 0 12px 28px -18px rgba(23,33,30,.4);
  --shadow-lift:0 2px 0 rgba(23,33,30,.06), 0 22px 44px -22px rgba(23,33,30,.45);

  /* app.css'in kendi değişkenlerini de hizala */
  --guest-ink:var(--ink);
  --guest-brand:var(--accent);
  --guest-deep:var(--ink);
  --guest-glow:var(--accent);
  --guest-glow-soft:rgba(7,56,102,.14);
  --guest-paper:var(--sheet-2);
  --guest-line:var(--line);
  --guest-sand:var(--sheet-3);
  --card:var(--sheet);
  --text:var(--ink);
  --muted:var(--ink-2);

  background:var(--paper);
  color:var(--ink);
  color-scheme:light;
  font-variant-numeric:tabular-nums;
}

/* ---- RENK SİSTEMİ ----
   TEK marka rengi: panel/web laciverti #073866 (--accent / --oa-primary).
   Hem seçim durumları
   (tarih çipi, gün kartı, saat dönemi, süre segmenti, alan sekmesi) hem
   eylem (birincil buton, bağlantı, odak halkası) bu renktedir.
   Ayrım renkle değil BİÇİMLE yapılır: birincil buton tam genişlik, 48px,
   kalın ve adımın sonunda; seçim çipleri küçük ve satır içinde.
   --mark (kehribar) yalnızca "seçtiğiniz masa" içindir — plandaki fosforlu
   kalem izi. Sayfadaki tek doygun renk odur, bu bilinçli.
   Yeşil/kırmızı yalnızca semantik durum (açık/kapalı, dolu/boş).
   ---------------------------------------------------------------- */

/* Ortak yardımcılar */
.body-guest .mr-eyebrow,
.body-guest .guest-field-label,
.body-guest .guest-info-label{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ink-2);
}

/* -------------------------------------------------------------------------
   2. KAPAK — sabit tam ekran yerine SINIRLI BANT
   Kritik metin artık fotoğrafın üstünde durmuyor; kontrast işletmenin
   yüklediği görsele bağlı değil.
   ------------------------------------------------------------------------- */
.body-guest .guest-cover{
  position:absolute;
  top:0; left:0; right:0; bottom:auto;
  height:var(--cover-h);
  overflow:hidden;
  z-index:0;
  pointer-events:none;
}
.body-guest .guest-cover-img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  transform:none;
  opacity:1;
}
.body-guest .guest-cover::after{
  background:linear-gradient(180deg, rgba(6,20,18,.30) 0%, rgba(6,20,18,.12) 48%, rgba(6,20,18,.34) 100%);
}
.body-guest .guest-page,
.body-guest .guest-page--cover{min-height:0}
.body-guest .guest-shell{
  min-height:0;
  padding:0 0 0;
  z-index:1;
}

/* -------------------------------------------------------------------------
   3. BAŞLIK BLOĞU
   ------------------------------------------------------------------------- */
.body-guest .guest-top{
  width:min(760px, calc(100% - 2rem));
  margin:calc(var(--cover-h) - 1.9rem) auto 0;
  padding:0 0 1rem;
  position:relative;
  /* .guest-main de z-index:2 — eşit olunca sonraki kardeş kazanıyor ve
     bölümler menüsü sihirbaz kartının ALTINDA kalıyordu. Menünün kendi
     z-index'i (40) başlığın yığılma bağlamında hapis olduğu için dışarı
     çıkamıyor; çözüm başlığı bir üst katmana almak. */
  z-index:30;
}
.body-guest .guest-top-bar{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:.5rem .75rem;
}
.body-guest .guest-top-brand{
  align-items:flex-start;
  gap:.85rem;
  padding-top:0;
  flex:1 1 auto;
  min-width:0;
  width:100%;
}
.body-guest .guest-logo{
  width:3.75rem; height:3.75rem; max-width:3.75rem; max-height:3.75rem;
  border-radius:var(--r-lg);
  background:var(--sheet);
  border:1px solid var(--line);
  padding:.3rem;
  box-shadow:var(--shadow);
}
.body-guest .guest-top-titles{
  padding-top:1.85rem;
  min-width:0;
  padding-right:8.5rem; /* TR/EN + menü altında kalmasın */
}
.body-guest .guest-brand-name{
  font-weight:800;
  font-size:clamp(1.5rem, 5.5vw, 1.875rem);
  letter-spacing:-.038em;
  line-height:1.02;
  color:var(--ink);
  text-shadow:none;
}
.body-guest .guest-official{
  margin:.15rem 0 0;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ink-3);
  text-shadow:none;
}

/* Dil anahtarı — banda oturur */
.body-guest .guest-lang-bar{
  gap:2px;
  background:var(--sheet);
  border:1px solid var(--line);
  border-radius:999px;
  padding:2px;
  margin-top:0;
}
.body-guest .guest-lang-bar a{
  min-width:44px; min-height:34px;
  display:grid; place-items:center;
  font-size:.8125rem; font-weight:700; letter-spacing:.06em;
  color:var(--ink-2);
  background:transparent;
  border:0;
  border-radius:999px;
  backdrop-filter:none;
  padding:0;
}
.body-guest .guest-lang-bar a:hover{background:var(--sheet-3); color:var(--ink)}
.body-guest .guest-lang-bar a.is-active{
  background:var(--select); color:var(--select-ink); border-color:var(--select);
}

/* -------------------------------------------------------------------------
   4. İLETİŞİM ŞERİDİ — kâğıt zeminde, koyu mürekkep
   ------------------------------------------------------------------------- */
.body-guest .guest-contact{
  gap:.5rem;
  margin:.75rem 0 0;
  padding-top:.75rem;
  border-top:1px solid var(--line);
}
.body-guest .guest-contact-line{
  font-size:.8125rem;
  font-weight:500;
  color:var(--ink-2);
  text-shadow:none;
}
.body-guest .guest-contact-line a{
  color:var(--ink);
  font-weight:600;
  border-bottom:1px solid var(--line-2);
}
.body-guest .guest-contact-line a:hover{color:var(--accent); border-bottom-color:var(--accent)}
.body-guest .guest-contact-keep{white-space:nowrap}
.body-guest .guest-pfx{
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.body-guest .guest-contact-glyph{color:var(--ink-3)}

/* Marka ikonları — 34px idi, dokunma hedefi 44px */
.body-guest .guest-brand-icon{
  width:44px; height:44px;
  min-width:44px; min-height:44px;
  border-radius:var(--r-lg);
  display:inline-grid; place-items:center;
}
.body-guest .guest-brand-icon svg{width:22px; height:22px}
.body-guest .guest-map-icons,
.body-guest .guest-social-icons{gap:.375rem; flex-wrap:wrap}

.body-guest .guest-cards-line{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--ink-3);
  opacity:1;
}

/* -------------------------------------------------------------------------
   4a. BÖLÜMLER MENÜSÜ + BAŞA DÖN
   Bölüm bağlantıları JS ile gerçekten basılan bölümlerden kurulur; kiracı
   içeriği boşsa o bölüm yok, bağlantısı da yok.
   ------------------------------------------------------------------------- */
/* TR/EN + bölümler: başlığın sağ üstünde, akışı bozmadan. */
.body-guest .guest-top-actions{
  position:absolute;
  top:1.85rem;
  right:0;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  width:auto;
  max-width:none;
  margin:0;
  gap:.375rem;
  z-index:2;
}
.body-guest .guest-lang-bar{margin-top:0}
.body-guest .guest-sections{position:relative; margin-top:0}
.body-guest .guest-sections-btn{
  width:52px; height:38px;   /* üstündeki TR/EN hapıyla aynı yükseklik */
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:999px;
  background:var(--sheet); color:var(--ink-2); cursor:pointer;
}
.body-guest .guest-sections-btn svg{width:22px; height:22px}
.body-guest .guest-sections-btn:hover{border-color:var(--accent); color:var(--accent)}
.body-guest .guest-sections-btn[aria-expanded="true"]{
  background:var(--select); border-color:var(--select); color:var(--select-ink);
}
.body-guest .guest-sections-menu{
  position:absolute; right:0; top:calc(100% + .375rem); z-index:40;
  min-width:190px; padding:.3rem;
  display:flex; flex-direction:column;
  background:var(--sheet); border:1px solid var(--line-2);
  border-radius:var(--r-lg); box-shadow:var(--shadow-lift);
}
.body-guest .guest-sections-menu a{
  padding:.55rem .625rem; border-radius:var(--r);
  font-size:.8125rem; font-weight:600; color:var(--ink); text-decoration:none;
  white-space:nowrap;
}
.body-guest .guest-sections-menu a:hover{background:var(--accent-soft); color:var(--accent)}

/* Yüzen düğme yığını: WhatsApp üstte (her zaman), başa dön altta (kaydırınca).
   Sütun hizası altta sabitlendiği için başa dön gizliyken WhatsApp boşlukta
   kalmıyor, köşeye oturuyor. */
.body-guest .guest-fab{
  position:fixed; right:1rem; z-index:44;
  bottom:calc(1rem + env(safe-area-inset-bottom, 0px));
  display:flex; flex-direction:column; align-items:flex-end; gap:.5rem;
}
.body-guest .guest-fab.is-hidden{display:none}
/* Çerez bildirimi açıkken onun üstüne binmesin */
.body-guest .mr-cookie:not([hidden]) ~ .guest-fab{bottom:calc(6rem + env(safe-area-inset-bottom, 0px))}

.body-guest .guest-totop,
.body-guest .guest-fab-wa{
  width:48px; height:48px;
  display:grid; place-items:center;
  border-radius:999px;
  box-shadow:var(--shadow-lift); cursor:pointer;
}
.body-guest .guest-totop{
  border:1px solid var(--line-2);
  background:var(--sheet); color:var(--ink);
}
.body-guest .guest-totop svg{width:20px; height:20px}
.body-guest .guest-totop:hover{border-color:var(--accent); color:var(--accent)}

/* WhatsApp kendi markasının yeşiliyle: insanlar bu düğmeyi renginden tanıyor.
   Sayfadaki tek doygun öğe olması bilinçli — yardım istemenin yeri burası. */
/* WhatsApp markasının yeşili yerine sayfanın kendi rengi: bu palette
   #25D366 tek doygun leke olarak öne fırlıyordu ve kehribar "seçtiğiniz
   masa" işaretiyle dikkat için yarışıyordu. Glif zaten tanınıyor. */
.body-guest .guest-fab-wa{
  border:0; background:var(--accent); color:#fff; text-decoration:none;
}
.body-guest .guest-fab-wa svg{width:26px; height:26px}
.body-guest .guest-fab-wa:hover{background:var(--accent-2)}

.body-guest .guest-totop:focus-visible,
.body-guest .guest-fab-wa:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

@media (min-width:1100px){
  .body-guest .guest-fab{right:2rem}
}

/* -------------------------------------------------------------------------
   4b. ALET PANELİ — eşit hücreli tek nesne
   Eskiden telefon 21px, web adresi 17px yüksekliğinde dokunma hedefiydi
   ve bilgiler dağınık satırlardaydı.
   ------------------------------------------------------------------------- */
.body-guest .guest-sep{color:var(--ink-3); padding:0 .15rem}

.body-guest .guest-toolbar{
  /* Hucre sayisi degiskenle degil, otomatik esit sutunlarla belirlenir.
     CSP'de style-src-attr 'none' oldugu icin satir ici stil kullanilamaz. */
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0, 1fr);
  margin-top:.875rem;
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  background:var(--sheet);
  overflow:hidden;
}
.body-guest .guest-tool{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.3rem;
  min-height:64px; padding:.5rem .25rem;
  border:0; border-left:1px solid var(--line);
  background:transparent; color:var(--ink); text-decoration:none; cursor:pointer;
  font-size:.8125rem; font-weight:600; line-height:1.15; text-align:center;
}
.body-guest .guest-tool:first-child{border-left:0}
.body-guest .guest-tool svg{
  width:20px; height:20px; flex:none;
  color:var(--ink-2); transition:color .12s ease;
}
.body-guest .guest-tool:hover{background:var(--accent-soft); color:var(--accent)}
.body-guest .guest-tool:hover svg{color:var(--accent)}
.body-guest .guest-tool:focus-visible{outline:2px solid var(--accent); outline-offset:-2px}
.body-guest .guest-tool span{
  max-width:100%;
  text-wrap:balance;
  hyphens:none;
  letter-spacing:-.01em;
}
.body-guest .guest-tool[aria-expanded="true"]{background:var(--select); color:var(--select-ink)}
.body-guest .guest-tool[aria-expanded="true"] svg{color:var(--select-ink)}

/* Açılır şeritler: yol tarifi ve geçerli kartlar */
.body-guest .guest-tool-row{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  margin-top:.5rem; padding:.625rem .75rem;
  border:1px dashed var(--line-2); border-radius:var(--r-lg);
  background:var(--sheet-2);
}
.body-guest .guest-tool-row b{
  font-size:.75rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-3);
  align-self:center; margin-right:.25rem;
}
.body-guest .guest-tool-row a{
  min-height:40px; padding:.35rem .75rem;
  display:inline-flex; align-items:center;
  border:1px solid var(--line-2); border-radius:999px;
  background:var(--sheet);
  font-size:.8125rem; font-weight:600; color:var(--ink); text-decoration:none;
}
.body-guest .guest-tool-row a:hover{border-color:var(--accent); color:var(--accent)}
.body-guest .guest-card-chip{
  font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  padding:.42rem .6rem;
  border:1px solid var(--line-2); border-radius:var(--r);
  color:var(--ink-2); background:var(--sheet);
}

@media (max-width:400px){
  .body-guest .guest-tool{font-size:.75rem; min-height:60px}
}

/* -------------------------------------------------------------------------
   4c. DURUM SATIRI — isim altında tek satır
   Eskiden ayrı bir bilgi şeridiydi ve "Menü" hem orada hem alet panelinde
   tekrar ediyordu. Menü panele ait; burada yalnızca durum, saat ve hava.
   ------------------------------------------------------------------------- */
.body-guest .guest-status{
  display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .625rem;
  margin:.375rem 0 0;
  font-size:.8125rem;
  color:var(--ink-2);
}
.body-guest .guest-k{font-weight:500; color:var(--ink-3)}
.body-guest .guest-dot{
  width:3px; height:3px; border-radius:50%;
  background:var(--line-2); flex:none;
}
.body-guest .guest-open{
  display:inline-flex; align-items:center; gap:.4rem;
  font-weight:600; color:var(--ok);
}
.body-guest .guest-open::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--ok); flex:none;
}
/* Kapalıyken kırmızı: misafiri durduran tek bilgi bu. */
.body-guest .guest-open.is-closed{color:var(--busy); font-weight:700}
.body-guest .guest-open.is-closed::before{background:var(--busy)}
.body-guest #guestClock{font-variant-numeric:tabular-nums; font-weight:600; color:var(--ink)}

/* ---- Kişi sayacı ---- */
.body-guest .guest-party-field,
.body-guest .guest-package-field{
  display:flex; flex-direction:column; gap:.5rem; min-width:0;
}
.body-guest .guest-stepper{
  display:flex; align-items:stretch; width:fit-content; max-width:100%;
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  background:var(--sheet-2); overflow:hidden;
}
.body-guest .guest-step-btn{
  width:var(--tap); min-height:var(--tap);
  border:0; background:transparent; color:var(--ink);
  font-size:1.25rem; line-height:1; cursor:pointer;
}
.body-guest .guest-step-btn:hover:not(:disabled){background:var(--sheet-3)}
.body-guest .guest-step-btn:disabled{color:var(--ink-3); cursor:not-allowed}
.body-guest .guest-stepper input[type="number"]{
  width:70px; min-height:var(--tap);
  border:0; border-inline:1px solid var(--line-2);
  border-radius:0; background:transparent;
  text-align:center; font-size:var(--t-md, 1.0625rem); font-weight:700;
  font-variant-numeric:tabular-nums;
  appearance:textfield;
  -moz-appearance:textfield;
}
.body-guest .guest-stepper input[type="number"]::-webkit-outer-spin-button,
.body-guest .guest-stepper input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
.body-guest .guest-stepper input[type="number"]:focus{
  outline:2px solid var(--accent); outline-offset:-2px; background:var(--sheet);
}

/* ---- Paket segmentleri ---- */
.body-guest .guest-segments{display:flex; flex-wrap:wrap; gap:.5rem}
.body-guest .guest-seg{
  flex:1 1 auto; min-height:var(--tap); padding:.5rem .875rem;
  display:flex; flex-direction:column; justify-content:center; gap:.1rem;
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  background:var(--sheet-2); color:var(--ink);
  cursor:pointer; text-align:left;
}
.body-guest .guest-seg strong{font-size:.8125rem; font-weight:600}
.body-guest .guest-seg small{font-size:.75rem; color:var(--ink-2)}
.body-guest .guest-seg:hover{border-color:var(--accent)}
.body-guest .guest-seg.is-on{background:var(--select); border-color:var(--select); color:var(--select-ink)}
.body-guest .guest-seg.is-on small{color:var(--select-ink); opacity:.72}

/* Kişi + süre yan yana; tarih ve saat tam genişlik. */
@media (min-width:640px){
  .body-guest .guest-book-fields--4{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .body-guest .guest-book-fields--4 > .guest-date-field,
  .body-guest .guest-book-fields--4 > .guest-time-field{grid-column:1 / -1}
  .body-guest .guest-book-fields--3 > .guest-date-field,
  .body-guest .guest-book-fields--3 > .guest-time-field{grid-column:1 / -1}
}

/* ---- Sosyal hesaplar bölümü (alta taşındı) ---- */
.body-guest .guest-social{
  width:min(760px, calc(100% - 2rem));
  margin-inline:auto;
  padding:1.25rem 1.125rem 1.375rem;
  background:var(--sheet);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow);
}

/* -------------------------------------------------------------------------
   5. BİLGİ ŞERİDİ — "Saat: 22:47" satır içi
   ------------------------------------------------------------------------- */
.body-guest .guest-info-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem 1.125rem;
  margin-top:.625rem;
  padding:.75rem 0 0;
  border-top:1px solid var(--line);
}
.body-guest .guest-info-item{
  flex:0 0 auto;
  min-width:0;
  display:inline-flex;
  flex-direction:row;
  align-items:baseline;
  gap:.4rem;
  padding:0;
  border:0;
}
.body-guest .guest-info-label{
  font-size:.75rem;
  letter-spacing:.14em;
  color:var(--ink-3);
  white-space:nowrap;
}
.body-guest .guest-info-label::after{content:":"}
.body-guest .guest-info-value{
  font-size:.9375rem;
  font-weight:700;
  letter-spacing:0;
  color:var(--ink);
  text-shadow:none;
}
/* Menü bağlantısı yeterli dokunma alanı alsın */
.body-guest .guest-info-menu{
  min-height:40px;
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.25rem .625rem;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:var(--sheet);
  font-size:.8125rem;
  color:var(--ink);
}
.body-guest .guest-info-menu:hover{border-color:var(--accent); color:var(--accent)}

/* -------------------------------------------------------------------------
   5b. GENİŞLİK HİZASI
   app.css: .guest-main{width:min(760px, calc(100% - 1.25rem))}
   Kart kuralım min(780px, calc(100% - 3rem)) bu 760px'e göre hesaplanıyor
   ve 712px çıkıyordu; başlık bloğu ise görünüm alanına göre 780px.
   Sonuç: başlık ile kartlar arasında 68px kayma. Kabı serbest bırakıp
   genişliği çocuklara veriyoruz.
   ------------------------------------------------------------------------- */
.body-guest .guest-main{
  width:100%;
  max-width:none;
  margin:0 auto;
  padding:0 0 2rem;
}

/* -------------------------------------------------------------------------
   6. SİHİRBAZ SAYFASI
   ------------------------------------------------------------------------- */
.body-guest .guest-wizard,
.body-guest .guest-about,
.body-guest .guest-gallery,
.body-guest .guest-hours-week,
.body-guest .guest-zones,
.body-guest .guest-terms{
  width:min(760px, calc(100% - 2rem));
  margin-inline:auto;
  background:var(--sheet);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow);
  backdrop-filter:none;
}
.body-guest .guest-book-form.guest-wizard{
  box-shadow:var(--shadow-lift);
  padding:0;
  overflow:hidden;
}

/* Adım göstergesi → ölçü çizgisi */
.body-guest .guest-steps{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin:0;
  padding:1rem 1.125rem .875rem;
  background:var(--sheet-2);
  border-bottom:1px solid var(--line);
  list-style:none;
}
.body-guest .guest-steps li{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  min-width:0;
  position:relative;
  background:none;
  border:0;
  padding:0;
}
.body-guest .guest-steps li::before{
  content:"";
  position:absolute;
  left:0; right:0; top:6px;
  height:1px;
  background:var(--line-2);
}
.body-guest .guest-steps li:first-child::before{left:6px}
.body-guest .guest-steps li:last-child::before{right:6px}
.body-guest .guest-step-num{
  position:relative;
  z-index:1;
  width:13px; height:13px;
  min-width:13px; min-height:13px;
  border:1px solid var(--line-2);
  background:var(--sheet);
  border-radius:2px;
  font-size:0;
  color:transparent;
  display:block;
  box-shadow:none;
}
.body-guest .guest-steps li.is-active .guest-step-num{
  background:var(--select); border-color:var(--select); transform:scale(1.15);
}
.body-guest .guest-steps li.is-done .guest-step-num{
  background:var(--accent); border-color:var(--accent);
}
.body-guest .guest-step-txt{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--ink-3);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.body-guest .guest-steps li.is-active .guest-step-txt{color:var(--ink); font-weight:700}
.body-guest .guest-steps li.is-done .guest-step-txt{color:var(--ink-2)}

.body-guest .guest-step{
  padding:1.25rem 1.125rem 1.375rem;
  border:0;
  background:transparent;
}
.body-guest .guest-step-sub{
  margin:.25rem 0 0;
  font-size:.8125rem;
  color:var(--ink-2);
}
.body-guest .guest-step-title{
  font-size:1.375rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  margin:0 0 .25rem;
}
.body-guest .guest-step .muted,
.body-guest .guest-wizard .muted{
  color:var(--ink-2);
  font-size:.8125rem;
}

/* -------------------------------------------------------------------------
   7. FORM ALANLARI
   ------------------------------------------------------------------------- */
.body-guest .guest-book-fields{gap:1.125rem}
.body-guest label{color:var(--ink); font-size:.8125rem}
.body-guest .guest-book-fields > label,
.body-guest .guest-date-field,
.body-guest .guest-time-field{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.body-guest input:not([type="checkbox"]):not([type="radio"]),
.body-guest select,
.body-guest textarea{
  min-height:var(--tap);
  padding:.625rem .75rem;
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  color:var(--ink);
  font-size:.9375rem;
  font-weight:500;
  letter-spacing:normal;
  text-transform:none;
}
.body-guest textarea{min-height:76px; line-height:1.5}
.body-guest input::placeholder,
.body-guest textarea::placeholder{color:var(--ink-3)}
.body-guest input:not([type="checkbox"]):not([type="radio"]):focus,
.body-guest select:focus,
.body-guest textarea:focus{
  outline:2px solid var(--accent);
  outline-offset:1px;
  border-color:var(--accent);
  background:var(--sheet);
  box-shadow:none;
}
/* Takvim alanı diğerleriyle aynı hizada */
.body-guest .guest-date-more{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:.4rem;
  margin-top:.25rem;
  font-size:.75rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ink-3);
}
/* app.css: .guest-date-more input[type="date"]{flex:0 1 11rem}
   11rem satır düzeni için yazılmış bir GENİŞLİK tabanı. Sarmalayıcıyı
   sütuna çevirince yükseklik tabanına dönüşüp input'u 176px yapıyordu —
   çerez kutusundaki hatanın aynısı. */
.body-guest .guest-date-more input[type="date"]{
  flex:0 0 auto;
  max-width:220px;
}

/* -------------------------------------------------------------------------
   8. ÇİPLER — tarih ve saat
   ------------------------------------------------------------------------- */
.body-guest .guest-chip-row{gap:.5rem}
.body-guest .guest-chip{
  min-height:var(--tap);
  min-width:62px;
  padding:.4rem .625rem;
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  color:var(--ink);
  box-shadow:none;
  gap:.05rem;
}
.body-guest .guest-chip:hover{border-color:var(--accent); color:var(--accent)}
.body-guest .guest-chip .guest-chip-top{
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.body-guest .guest-chip .guest-chip-bot{
  font-size:.8125rem;
  font-weight:700;
  color:inherit;
}
.body-guest .guest-chip.is-on,
.body-guest .guest-chip[aria-selected="true"]{
  background:var(--select);
  border-color:var(--select);
  color:var(--select-ink);
}
.body-guest .guest-chip.is-on .guest-chip-top,
.body-guest .guest-chip[aria-selected="true"] .guest-chip-top{color:var(--select-ink); opacity:.72}

/* Saat dönemleri — Sabah / Öğlen / Akşamüstü / Gece
   Gün boyu açık mekânda 20+ saat çipi mobilde ~400px yer kaplıyordu.
   Boş dönem basılmaz; her düğme slot sayısını gösterir ki müsaitlik
   dokunuşun arkasında gizlenmesin. */
.body-guest .guest-time-periods{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0, 1fr);
  gap:.5rem;
  margin-bottom:.625rem;
}
.body-guest .guest-period{
  min-height:52px;
  padding:.4rem .5rem;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.1rem;
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  color:var(--ink);
  cursor:pointer;
  text-align:center;
}
.body-guest .guest-period:hover{border-color:var(--accent); color:var(--accent)}
.body-guest .guest-period-name{
  font-size:.8125rem; font-weight:700; letter-spacing:-.01em;
  max-width:100%; text-wrap:balance;
}
.body-guest .guest-period-n{
  font-size:.75rem; font-weight:500; color:var(--ink-3);
  font-variant-numeric:tabular-nums;
}
.body-guest .guest-period.is-on{
  background:var(--select); border-color:var(--select); color:var(--select-ink);
}
.body-guest .guest-period.is-on .guest-period-n{color:var(--select-ink); opacity:.7}
.body-guest .guest-period:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

@media (max-width:400px){
  .body-guest .guest-period-name{font-size:.75rem}
  .body-guest .guest-period{min-height:50px}
}

/* Saat çipleri: kaydırma yerine ızgara — hepsi görünür */
.body-guest .guest-time-chips{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(84px, 1fr));
  gap:.5rem;
  overflow:visible;
}
.body-guest .guest-chip--time{
  min-width:0;
  font-size:.9375rem;
  font-weight:600;
  letter-spacing:.01em;
}

/* Tarih seçimi — Bugün / Yarın büyük kart, sonrası kompakt çip.
   Eskiden 14 gün yatay kaydırmalı tek şeritti: mobilde 4 çip görünüp
   gerisi gizleniyordu ve en çok istenen iki gün, 12 gün sonrasıyla
   aynı görsel ağırlıktaydı. */
.body-guest .guest-date-soon{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.5rem;
  margin-bottom:.625rem;
}
.body-guest .guest-daycard{
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:.1rem;
  min-height:60px; padding:.55rem .75rem;
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  background:var(--sheet-2); color:var(--ink);
  cursor:pointer; text-align:left;
}
.body-guest .guest-daycard strong{font-size:.9375rem; font-weight:700; letter-spacing:-.01em}
.body-guest .guest-daycard small{font-size:.75rem; color:var(--ink-2)}
.body-guest .guest-daycard:hover:not(:disabled){border-color:var(--accent)}
.body-guest .guest-daycard.is-on{background:var(--select); border-color:var(--select); color:var(--select-ink)}
.body-guest .guest-daycard.is-on small{color:var(--select-ink); opacity:.72}
.body-guest .guest-daycard.is-closed,
.body-guest .guest-daycard:disabled{
  background:var(--sheet-3); border-style:dashed; color:var(--ink-3); cursor:not-allowed;
}
.body-guest .guest-daycard.is-closed small{color:var(--busy); font-weight:600}

.body-guest .guest-date-next-label{
  margin:0 0 .375rem;
  font-size:.75rem; font-weight:600; letter-spacing:.15em;
  text-transform:uppercase; color:var(--ink-3);
}
.body-guest .guest-chip.is-closed,
.body-guest .guest-chip:disabled{
  background:var(--sheet-3); border-style:dashed; color:var(--ink-3); cursor:not-allowed;
}
.body-guest .guest-chip.is-closed .guest-chip-bot{color:var(--busy)}

/* Tarih şeridi yatay kaydırma kalsın ama gölge ipucu net olsun */
.body-guest .guest-date-strip{
  display:flex; flex-wrap:wrap;
  overflow-x:visible;
  padding-bottom:0;
  scrollbar-width:thin;
  scrollbar-color:var(--line-2) transparent;
}
.body-guest .guest-date-strip::-webkit-scrollbar{height:5px}
.body-guest .guest-date-strip::-webkit-scrollbar-thumb{background:var(--line-2); border-radius:3px}

/* -------------------------------------------------------------------------
   9. MASA SEÇİMİ
   ------------------------------------------------------------------------- */
.body-guest .guest-random-card{
  min-height:var(--tap);
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  padding:.75rem .875rem;
  box-shadow:none;
}
.body-guest .guest-random-card.is-on{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.body-guest .zone-page-titles{gap:.5rem; flex-wrap:wrap}
.body-guest .zone-page-title{
  min-height:42px;
  padding:.4rem .875rem;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:var(--sheet-2);
  color:var(--ink);
  font-size:.8125rem;
  font-weight:600;
  box-shadow:none;
}
.body-guest .zone-page-title.is-active,
.body-guest .zone-page-title[aria-pressed="true"]{
  background:var(--select); border-color:var(--select); color:var(--select-ink);
}

/* Efsane: renk TEK ayırt edici değil — desen ve çerçeve de ayırıyor.
   Ayrıca aria-hidden kaldırıldığında ekran okuyucu da okuyabilir. */
.body-guest .guest-floor-legend{
  display:flex; flex-wrap:wrap; gap:.375rem .875rem;
  font-size:.8125rem; color:var(--ink-2);
}
.body-guest .guest-floor-legend .leg::before{
  width:16px; height:16px;
  border-width:1.5px;
  border-radius:3px;
}
.body-guest .guest-floor-legend .leg-free::before{
  background:var(--sheet); border-color:var(--ink-3); border-style:solid;
}
.body-guest .guest-floor-legend .leg-busy::before{
  border-color:var(--busy); border-style:solid;
  background:repeating-linear-gradient(45deg, var(--busy-soft) 0 3px, var(--sheet) 3px 6px);
}
.body-guest .guest-floor-legend .leg-closed::before{
  background:var(--sheet-3); border-color:var(--closed); border-style:dashed;
}

/* Grid/flex öğeleri varsayılan min-width:auto ile içeriğinden küçülmeyi
   reddediyor. Bu yüzden 1359px'lik plan tuvali adımı ve kartı birlikte
   şişiriyor, kaydırma sarmalayıcısı da kısaltamıyordu. */
.body-guest .guest-book-form,
.body-guest .guest-step,
.body-guest .guest-main,
.body-guest .guest-main > *,
.body-guest #guestPickPanel{
  min-width:0;
}
.body-guest .floor-map,
.body-guest .floor-scroll{
  width:100%;
  max-width:100%;
  min-width:0;
}

/* Zemin planı — floor-responsive.js host (.floor-map) + kaydırma sarmalayıcısı */
.body-guest .floor-map{position:relative}
.body-guest .floor-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  scrollbar-width:thin;
  scrollbar-color:var(--line-2) transparent;
}
.body-guest .floor-scroll::-webkit-scrollbar{height:6px}
.body-guest .floor-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
.body-guest .floor-scroll > .floor-canvas.guest{
  border:0;
  border-radius:0;
  margin:0 auto;
  /* Dekoratif nesneler sınır kutusunun dışına taşabilir; tuval kenarında
     kırpılsınlar, fazladan kaydırma alanı doğurmasınlar. */
  overflow:hidden;
}
/* Kaydırılabilir olduğu görünsün: sağ kenarda solma. */
.body-guest .floor-scroll{position:relative}
.body-guest .plan-fade{
  position:absolute; top:1px; bottom:8px; right:1px; width:32px;
  pointer-events:none; border-radius:0 var(--r-lg) var(--r-lg) 0;
  background:linear-gradient(90deg, rgba(245,244,238,0), var(--sheet-2));
}

/* Zemin planı */
.body-guest .floor-canvas.guest{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
}
/* Yalnızca gerçek masalar. Dekoratif nesneler (.floor-prop — deniz, bar,
   duvar, şezlong) app.css'teki kendi şekil stillerini korur; genel bir
   kural onları düzleştirip denizin mavisini yok ediyordu. */
.body-guest .floor-table:not(.floor-prop){
  border-width:1.5px;
  border-color:var(--ink-3);
  background:var(--sheet);
  color:var(--ink);
  border-radius:3px;
  box-shadow:none;
}
.body-guest .floor-table.shape-round{border-radius:50%}
.body-guest .floor-table .table-name{font-weight:700; letter-spacing:-.02em}
.body-guest .floor-table .cap-label{color:var(--ink-2)}
.body-guest .floor-table.pick.is-pickable:hover{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}
/* app-guest.css hover transform, floor-responsive.js'in inline rotate
   değerini ezmesin diye buradan kapatılır. */
.body-guest .floor-canvas.guest .floor-table.pick:hover{transform:none}
/* Onay kutusu tüm masayı kaplasın — 1×1 px hedef haritayı tıklanamaz yapıyordu. */
.body-guest .floor-canvas.guest .floor-table.pick input[type="checkbox"]{
  position:absolute;
  inset:0;
  width:auto; height:auto;
  margin:0;
  opacity:0;
  cursor:pointer;
  z-index:4;
  pointer-events:auto;
}
/* Seçili masa = fosforlu kalem izi.
   JS sınıfı is-selected; tema is-picked bekliyordu. app-guest.css
   .is-selected { background:#fff } aynı özgüllükte amber dolguyu eziyordu. */
.body-guest .floor-canvas.guest .floor-table.pick.is-selected,
.body-guest .floor-canvas.guest .floor-table.pick.is-picked,
.body-guest .floor-canvas.guest .floor-table.pick:has(input:checked){
  background:var(--mark);
  border-color:var(--mark-2);
  border-width:2px;
  outline:none;
  box-shadow:0 0 0 4px rgba(233,184,36,.32);
  z-index:5;
}
.body-guest .floor-canvas.guest .floor-table.pick.is-selected .table-name,
.body-guest .floor-canvas.guest .floor-table.pick.is-selected .cap-label,
.body-guest .floor-canvas.guest .floor-table.pick.is-picked .table-name,
.body-guest .floor-canvas.guest .floor-table.pick.is-picked .cap-label,
.body-guest .floor-canvas.guest .floor-table.pick:has(input:checked) .table-name,
.body-guest .floor-canvas.guest .floor-table.pick:has(input:checked) .cap-label{color:var(--mark-ink)}
.body-guest .floor-table.pick:focus-within{outline:2px solid var(--accent); outline-offset:3px}

/* Plan küçük ölçekteyken etiketler kısalır: "Masa 1" yerine "1",
   kapasite gizlenir. Tam ad ve kapasite listede zaten var. */
.body-guest .floor-canvas.guest.is-compact .cap-label{display:none}
.body-guest .floor-canvas.guest.is-compact .table-face{gap:0}
.body-guest .floor-canvas.guest.is-tiny .table-name{font-weight:800}

/* Planı büyüt düğmesi — .floor-map üzerinde, sayfa köşesine kaçmasın */
.body-guest .plan-zoom{
  position:absolute; right:.5rem; top:.5rem; z-index:3;
  min-height:36px; padding:.3rem .7rem;
  display:inline-flex; align-items:center; gap:.35rem;
  border:1px solid var(--line-2); border-radius:999px;
  background:var(--sheet); color:var(--ink);
  font-size:.75rem; font-weight:600; cursor:pointer;
  box-shadow:var(--shadow);
}
.body-guest .floor-map > .plan-zoom{right:.5rem; top:.5rem}
.body-guest .plan-zoom:hover{border-color:var(--accent); color:var(--accent)}
.body-guest .plan-zoom svg{width:15px; height:15px}
.body-guest .plan-zoom.is-open{
  background:var(--accent); color:var(--accent-ink); border-color:var(--accent);
}
.body-guest .plan-zoom.is-open:hover{background:var(--accent-2); border-color:var(--accent-2); color:var(--accent-ink)}
.body-guest .plan-modal .plan-zoom{z-index:8}

/* Tam ekran plan */
.body-guest .plan-modal{
  border:0; padding:0; background:transparent;
  width:100vw; max-width:100vw; height:100dvh; max-height:100dvh;
}
.body-guest .plan-modal::backdrop{background:rgba(8,16,14,.72)}
.body-guest .plan-modal-inner{
  display:flex; flex-direction:column; height:100%;
  background:var(--paper);
}
.body-guest .plan-modal-head{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.75rem 1rem; border-bottom:1px solid var(--line); background:var(--sheet);
}
.body-guest .plan-modal-head strong{font-size:.9375rem}
.body-guest .plan-modal-body{flex:1; overflow:auto; padding:1rem; min-height:0}

/* Liste kısayolu */
.body-guest .guest-table-more{
  width:100%;
  margin:.75rem 0 0;
  min-height:var(--tap);
}
.body-guest .guest-table-list{gap:.5rem; margin-top:.5rem}
.body-guest .guest-table-list[hidden],
.body-guest .guest-table-more[hidden]{display:none !important}
.body-guest .guest-list-table{
  min-height:var(--tap);
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  color:var(--ink);
  font-size:.8125rem;
  font-weight:600;
}
.body-guest .guest-table-list .guest-list-table.is-selected,
.body-guest .guest-table-list .guest-list-table.is-on{
  background:var(--mark); border-color:var(--mark-2); color:var(--mark-ink);
}
.body-guest .guest-table-list .guest-list-table:hover:not(.is-selected):not(.is-on){
  border-color:var(--accent); background:var(--accent-soft); color:var(--ink);
}
.body-guest .guest-step2-error:not([hidden]){
  display:block;
  margin:.75rem 0 0;
  padding:.75rem .875rem;
  border-radius:var(--r-lg);
  background:var(--busy-soft);
  border:1px solid var(--busy);
  color:var(--busy);
  font-size:.8125rem;
  font-weight:700;
}
.body-guest .guest-pick-recap:not([hidden]){margin:.75rem 0 0}
.body-guest .guest-recap-title{
  margin:0 0 .5rem;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.body-guest .guest-pick-recap.is-short .guest-recap-item{border-color:var(--busy)}
.body-guest .guest-pick-warn:not([hidden]){
  margin:.5rem 0 0;
  font-size:.8125rem;
  font-weight:700;
  color:var(--busy);
}

/* -------------------------------------------------------------------------
   10. BUTONLAR VE ÖZET
   ------------------------------------------------------------------------- */
.body-guest .btn{
  min-height:var(--tap);
  padding:.625rem 1.25rem;
  border-radius:var(--r-lg);
  border:1px solid transparent;
  background:var(--accent);
  color:var(--accent-ink);
  font-size:.9375rem;
  font-weight:700;
  box-shadow:none;
}
.body-guest .btn:hover{background:var(--accent-2); filter:none; color:var(--accent-ink)}
.body-guest .btn-ghost{
  background:transparent; color:var(--ink); border-color:var(--line-2);
}
.body-guest .btn-ghost:hover{background:var(--sheet-3); color:var(--ink)}
.body-guest .btn:focus-visible,
.body-guest a:focus-visible,
.body-guest button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.body-guest .guest-step-actions{gap:.625rem}

.body-guest .guest-sticky-bar{
  display:flex;
  flex-direction:column;
  position:static;
  z-index:auto;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  margin:1rem 0 0;
  padding:0;
  gap:.75rem;
  animation:none;
}
.body-guest .guest-recap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  margin:0;
  padding:0;
  list-style:none;
}
.body-guest .guest-recap-item{
  min-width:0;
  padding:.7rem .75rem .65rem;
  background:var(--sheet-2);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
}
.body-guest .guest-recap-k{
  display:block;
  margin:0 0 .2rem;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.body-guest .guest-recap-v{
  display:block;
  font-size:1.0625rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--ink);
  line-height:1.2;
  overflow-wrap:anywhere;
}

/* KVKK onay kutusu — 18px idi */
.body-guest .guest-consent{
  gap:.75rem;
  padding:.75rem;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  font-size:.8125rem;
}
.body-guest .guest-consent input[type="checkbox"]{
  width:24px; height:24px; min-width:24px; min-height:24px;
  accent-color:var(--accent);
  margin:0;
}

/* -------------------------------------------------------------------------
   11. BÖLÜM SIRASI
   ------------------------------------------------------------------------- */
.body-guest .guest-main{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
/* Bilinmeyen çocuklar (script, lightbox) order:0 ile formu yukarı itmesin. */
.body-guest .guest-main > *{order:50; min-width:0}
.body-guest .guest-main > .guest-book-form{order:1}
.body-guest .guest-main > .guest-waitlist{order:2}
.body-guest .guest-main > .guest-about{order:3}
.body-guest .guest-main > .guest-gallery{order:4}
.body-guest .guest-main > .guest-hours-week{order:5}
.body-guest .guest-main > .guest-terms{order:6}
.body-guest .guest-main > .guest-social{order:7}

/* -------------------------------------------------------------------------
   12. İÇERİK BÖLÜMLERİ
   ------------------------------------------------------------------------- */
.body-guest .guest-about,
.body-guest .guest-gallery,
.body-guest .guest-hours-week,
.body-guest .guest-zones,
.body-guest .guest-terms{
  padding:1.25rem 1.125rem 1.375rem;
}
.body-guest .guest-section-heading{
  font-size:1.0625rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 .75rem;
}
.body-guest .guest-about-text{
  font-size:.9375rem;
  color:var(--ink-2);
  max-width:62ch;
  line-height:1.6;
}
.body-guest .guest-hours-list{display:grid; gap:0; margin:0; padding:0; list-style:none}
.body-guest .guest-hours-list li{
  display:flex; justify-content:space-between; gap:1rem;
  padding:.45rem 0;
  border-bottom:1px solid var(--line);
  font-size:.8125rem;
  color:var(--ink-2);
}
.body-guest .guest-hours-list li:last-child{border-bottom:0}
.body-guest .guest-hours-list li.is-today{font-weight:700; color:var(--ink)}
.body-guest .guest-hours-time{font-variant-numeric:tabular-nums}
.body-guest .guest-parking-note{
  margin:.75rem 0 0;
  font-size:.8125rem;
  color:var(--ink-2);
  line-height:1.55;
}
.body-guest .guest-hours-list + .guest-parking-note{
  padding-top:.75rem;
  border-top:1px solid var(--line);
}

/* Galeri — kontakt baskı ızgarası, mevcut lightbox'a bağlı */
.body-guest .guest-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));
  gap:.5rem;
}
.body-guest .guest-gallery-btn{
  position:relative;
  display:block; width:100%; padding:0;
  aspect-ratio:4 / 3;
  border:1px solid var(--line); border-radius:var(--r);
  background:var(--sheet-3);
  overflow:hidden; cursor:zoom-in;
}
.body-guest .guest-gallery-btn img{
  width:100%; height:100%;
  object-fit:cover; display:block;
  pointer-events:none;
}
.body-guest .guest-gallery-btn:hover{border-color:var(--accent)}
.body-guest .guest-gallery-btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

/* Kahvaltı saati / mutfak kapanış — haftalık listeden görsel olarak ayrı.
   Bunlar gün gün değişen açılış saatleri değil, servis bilgisi. */
.body-guest .guest-service-notes{
  display:grid;
  gap:.5rem;
  margin:.875rem 0 0;
  padding:.75rem .875rem;
  border-radius:var(--r-lg);
  background:var(--accent-soft);
  border:1px solid rgba(7,56,102,.22);
}
.body-guest .guest-service-notes > div{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
}
.body-guest .guest-service-notes dt{
  font-size:.75rem; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-2); margin:0;
}
.body-guest .guest-service-notes dd{
  margin:0; font-size:.9375rem; font-weight:700; color:var(--ink);
  font-variant-numeric:tabular-nums;
}

.body-guest .guest-zones-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:.75rem;
}
.body-guest .guest-zone-card{
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--sheet-2);
  overflow:hidden;
  box-shadow:none;
}
.body-guest .guest-zone-img-btn{border:0; padding:0; background:none; display:block; width:100%}
.body-guest .guest-zone-img{
  width:100%;
  height:120px;
  aspect-ratio:auto;
  object-fit:cover;
  border-bottom:1px solid var(--line);
}
.body-guest .guest-zone-body{padding:.625rem .75rem}
.body-guest .guest-zone-name{font-size:.8125rem; font-weight:700; color:var(--ink); margin:0}
.body-guest .guest-zone-desc{font-size:.8125rem; color:var(--ink-2); margin:.15rem 0 0}

.body-guest .guest-terms-list{
  margin:0; padding-left:1.1rem;
  display:grid; gap:.4rem;
  font-size:.8125rem; color:var(--ink-2);
}

/* -------------------------------------------------------------------------
   13. ALT BİLGİ — Powered by
   Kaynak logo saf beyaz saydam PNG; kâğıt zeminde görünmez.
   Ters çevirip mürekkep tonuna yaklaştırıyoruz.
   ------------------------------------------------------------------------- */
.body-guest .guest-powered{padding:1.5rem 1rem 3rem}
.body-guest .guest-powered-text{
  font-size:.8125rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-3);
  text-shadow:none;
}
.body-guest .guest-powered-logo{
  height:clamp(3rem, 7.5vw, 4.5rem);
  max-width:min(20rem, 74vw);
  filter:invert(1);
  opacity:.84;
  transition:opacity .15s ease;
}
.body-guest .guest-powered-link{opacity:1}
.body-guest .guest-powered-link:hover .guest-powered-logo{opacity:1}

/* -------------------------------------------------------------------------
   14. ÇEREZ BİLDİRİMİ — dar ekrandaki 441px yükseklik hatasının düzeltmesi
   Sebep: .mr-cookie-text{flex:1 1 22rem} sütun yönünde yükseklik tabanına
   dönüşüyordu.
   ------------------------------------------------------------------------- */
.body-guest .mr-cookie{
  width:min(620px, calc(100% - 1.5rem));
  padding:.75rem .875rem;
  gap:.625rem .875rem;
  background:var(--sheet);
  border:1px solid var(--line-2);
  border-radius:var(--r-lg);
  color:var(--ink);
  box-shadow:0 18px 44px -18px rgba(0,0,0,.55);
}
.body-guest .mr-cookie-text{font-size:.8125rem; color:var(--ink-2)}
.body-guest .mr-cookie .btn{min-height:40px; padding:.4rem .9rem}
@media (max-width:560px){
  .body-guest .mr-cookie{flex-direction:column; align-items:stretch}
  .body-guest .mr-cookie-text{flex:0 0 auto}   /* ← düzeltme */
  .body-guest .mr-cookie-actions{justify-content:space-between}
}

/* -------------------------------------------------------------------------
   15. BİLDİRİM / UYARI KUTULARI
   ------------------------------------------------------------------------- */
.body-guest .guest-date-note,
.body-guest #timeEmptyHint,
.body-guest #guestFloorHint{
  display:flex; gap:.625rem; align-items:flex-start;
  padding:.75rem .875rem;
  border-radius:var(--r-lg);
  background:var(--accent-soft);
  border:1px solid rgba(7,56,102,.28);
  color:var(--ink);
  font-size:.8125rem;
}
.body-guest .guest-date-note::before,
.body-guest #timeEmptyHint::before{
  content:""; flex:none; width:3px; align-self:stretch;
  background:var(--accent); border-radius:2px;
}

/* -------------------------------------------------------------------------
   15b. MOBİL — başlık bloğunu kısalt
   375px'te ilk form alanı y=798'e düşüyordu; tarayıcı çubuklarıyla birlikte
   formdan hiçbir şey görünmüyordu. Sayfanın işi rezervasyon almak, o yüzden
   başlık kısalıyor.
   ------------------------------------------------------------------------- */
@media (max-width:560px){
  .body-guest{ --cover-h:116px; }

  .body-guest .guest-top{
    margin-top:calc(var(--cover-h) - 1.5rem);
    padding-bottom:.625rem;
  }

  /* Dil + hamburger logo hizasında sağ üstte. Başlık metni alta tam
     genişlikte iner — 360px'te 8.5rem sağ boşluk eyebrow'u 3 satıra
     bölüp "23:00'a kadar"ı kırıyordu. */
  .body-guest .guest-top-actions{
    top:0;
    right:0;
    width:auto;
    margin:0;
  }
  .body-guest .guest-top-brand{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    justify-items:start;
    row-gap:.35rem;
    padding-right:0;
    min-height:2.5rem; /* logo yoksa TR/EN satırı boş kalsın, metin üstüne binmesin */
  }
  .body-guest .guest-top-titles{
    width:100%;
    max-width:100%;
    padding-top:.15rem;
    padding-right:0;
  }
  .body-guest .guest-lang-bar{margin-top:0}
  .body-guest .guest-sections{margin-top:0}

  .body-guest .guest-official{
    font-size:11px;
    letter-spacing:.05em;
  }

  .body-guest .guest-logo{
    width:3rem; height:3rem; max-width:3rem; max-height:3rem;
  }
  .body-guest .guest-contact{margin-top:.5rem; padding-top:.5rem}
  .body-guest .guest-toolbar{margin-top:.625rem}
  .body-guest .guest-tool{font-size:.75rem; padding:.45rem .12rem}

  .body-guest .guest-lang-bar a{min-width:40px}
  .body-guest .guest-sections-btn{width:44px; height:38px}

  /* Dört eşit kolon aktif etiketi ~73px'de kesiyordu ("Tarih ve sa...").
     Aktif adım kalan genişliği alır, diğerleri yalnız işaret. */
  .body-guest .guest-steps{
    display:flex;
    align-items:flex-start;
    padding:.875rem 1.125rem .75rem;
  }
  .body-guest .guest-steps li{flex:0 0 auto; width:auto}
  .body-guest .guest-steps li.is-active{flex:1 1 auto; min-width:0}
  .body-guest .guest-step-txt{display:none}
  .body-guest .guest-steps li.is-active .guest-step-txt{
    display:block;
    white-space:nowrap;
    font-size:.75rem;
    overflow:visible;
    text-overflow:clip;
  }

  /* Yüzen düğmeler biraz küçülsün, içeriği daha az örtsün. */
  .body-guest .guest-fab{right:.75rem; gap:.4rem}
  .body-guest .guest-totop,
  .body-guest .guest-fab-wa{width:44px; height:44px}
  .body-guest .guest-fab-wa svg{width:24px; height:24px}
}

@media (max-width:720px){
  .body-guest .guest-top-bar{flex-wrap:nowrap}
  .body-guest .guest-top-actions{
    position:absolute;
    width:auto;
    max-width:none;
    margin:0;
    justify-content:flex-end;
  }
}

/* -------------------------------------------------------------------------
   16. GENİŞ EKRAN
   ------------------------------------------------------------------------- */
@media (min-width:640px){
  .body-guest .guest-top,
  .body-guest .guest-wizard,
  .body-guest .guest-about,
  .body-guest .guest-hours-week,
  .body-guest .guest-zones,
  .body-guest .guest-terms,
  .body-guest .guest-social{
    width:min(780px, calc(100% - 3rem));
  }
  .body-guest .guest-step{padding:1.5rem 1.5rem 1.75rem}
  .body-guest .guest-steps{padding:1.125rem 1.5rem 1rem}
  .body-guest .guest-recap{grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.625rem}
  .body-guest .guest-about,
  .body-guest .guest-hours-week,
  .body-guest .guest-zones,
  .body-guest .guest-terms,
  .body-guest .guest-social{padding:1.375rem 1.5rem}
}

/* -------------------------------------------------------------------------
   17. HAREKET TERCİHİ
   ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .body-guest *,
  .body-guest *::before,
  .body-guest *::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }
}
