/* ════════════════════════════════════════════════════════════
   La Blanche Guest Info PWA — v3
   Brand: Navy #0e3859 · Gold rgb(var(--lbg-1)) · Teal #35c6d3 · Green #25D366
════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }

:root {
  --navy:        #0c3254;
  --navy-mid:    #103b5e;
  --navy-deep:   #071c2e;
  --navy-darker: #04101d;
  --gold:        #c9a04e;
  --gold-light:  #e4bf6e;
  --gold-soft:   #f2d58a;
  --gold-deep:   #9e7a32;
  --gold-shine:  #f8e4a8;
  --teal:        #35c6d3;
  --green:       #25D366;
  --green-deep:  #075E54;
  --white:       #ffffff;
  --off-white:   #f8f5f0;
  --muted:       rgba(255,255,255,.65);
  --font-sans:   'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display:'Playfair Display', Georgia, serif;
  --font-logo:   'Caveat Brush', 'Permanent Marker', 'Brush Script MT', cursive;
  --font-signature: 'Caveat', 'Caveat Brush', 'Brush Script MT', cursive;
  --ease:        cubic-bezier(.22,.68,0,1.2);
  --ease-out:    cubic-bezier(.16,1,.3,1);
  --ease-in:     cubic-bezier(.55,0,.7,.2);
  --ease-luxury: cubic-bezier(.19,1,.22,1);
  --header-h:    62px;
  --safe-top:    env(safe-area-inset-top, 0px);
  --safe-bot:    env(safe-area-inset-bottom, 0px);
  --shadow-card: 0 14px 40px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.08) inset;
  --shadow-soft: 0 10px 28px rgba(0,0,0,.32);
  --blur-glass:  blur(20px) saturate(1.3);
  /* Tema 2 refactor: gold rgba literalleri için RGB kanal değişkenleri (Tema 1 değerleri) */
  --lbg-1: 199,154,74;
  --lbg-2: 201,160,78;
  --lbg-3: 201,154,78;
  --lbg-4: 231,196,111;
  --lbg-5: 232,197,114;
  --lbg-6: 232,198,122;
  --lbg-7: 226,185,106;
  --lbg-8: 228,191,110;
  --lbg-9: 194,163,106;
  --lbg-10: 201,171,116;
  --lbg-11: 248,228,168;
  --lbg-12: 244,213,137;
  --lbg-13: 245,217,138;
  --lbg-14: 161,124,52;
  --lbg-15: 255,245,184;

}

/* ════════════════════════════════════════════════════════════════
   TEMA 2 — "LB" (logo mavisi · okyanus-azur taban + canlı aqua aksan)
   Sadece RENK değişkenleri ezilir; yapı/font/glass/shadow Tema 1 ile aynı.
   data-theme="lb" → <html> üzerinde set edilince tüm UI bu palete döner.
   Tema 1 (default) hiç etkilenmez — bu blok yalnız [data-theme="lb"] altında.
   ════════════════════════════════════════════════════════════════ */
:root[data-theme="lb"] {
  --navy:        #1f6fb8;   /* CANLI azur — yüzey/cam (logo mavisi, parlak) */
  --navy-mid:    #2c86d0;
  --navy-deep:   #1a619f;
  --navy-darker: #1a63a6;   /* gövde — PARLAK AZUR (logo mavisi; koyu değil) — beyaz-cam kartlar bunun üstünde aydınlık görünür */
  /* Aksan: gold ailesi → canlı turkuaz/aqua (logoyla tutarlı, serin ada-deniz hissi) */
  --gold:        #1cc6dc;
  --gold-light:  #74e2ef;
  --gold-soft:   #abedf5;
  --gold-deep:   #1296a9;
  --gold-shine:  #d2f5fb;
  --teal:        #2fd2e0;
  --muted:       rgba(255,255,255,.72);
  /* gold RGB kanalları → aqua (Tema 2) */
  --lbg-1: 22,198,218;
  --lbg-2: 22,198,218;
  --lbg-3: 22,198,218;
  --lbg-4: 111,224,238;
  --lbg-5: 111,224,238;
  --lbg-6: 111,224,238;
  --lbg-7: 95,214,231;
  --lbg-8: 111,224,238;
  --lbg-9: 90,196,212;
  --lbg-10: 104,206,221;
  --lbg-11: 205,245,251;
  --lbg-12: 166,236,244;
  --lbg-13: 166,236,244;
  --lbg-14: 15,147,166;
  --lbg-15: 205,245,251;

}
:root[data-theme="lb"] body {
  background:
    radial-gradient(ellipse at top, rgba(120,205,245,.22) 0%, transparent 60%),
    radial-gradient(ellipse 90% 55% at center bottom, rgba(40,190,220,.12) 0%, transparent 72%),
    linear-gradient(170deg, #2a86cf 0%, #1d6cb6 46%, #195e9f 100%);
}
/* Tema 2 — Otel Haritası CTA: tek-tonlu, şık azur/aqua (iki-renk degrade yerine) */
:root[data-theme="lb"] .lb-map-cta {
  background: linear-gradient(135deg, #21cfe2 0%, #14a7bd 100%);
  box-shadow: 0 10px 26px rgba(20,180,205,.42), 0 2px 6px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.42);
}
:root[data-theme="lb"] .lb-map-cta::after { opacity: .5; }
/* Tema 2 — parlak azur zeminde kartlara net kenar + ferah cam (koyu değil, aydınlık frosted) */
:root[data-theme="lb"] .lb-card,
:root[data-theme="lb"] .lb-ghub-card-cta,
:root[data-theme="lb"] .lb-today,
:root[data-theme="lb"] .lb-rsv-card,
:root[data-theme="lb"] .lb-quick-card {
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.30);
  box-shadow: 0 12px 30px rgba(8,42,80,.26), inset 0 1px 0 rgba(255,255,255,.30);
}

html { height: 100%; }
body {
  font-family: var(--font-sans);
  background:
    radial-gradient(ellipse at top, rgba(53,198,211,.07) 0%, transparent 55%),
    radial-gradient(ellipse 80% 60% at center bottom, rgba(var(--lbg-1),.06) 0%, transparent 70%),
    var(--navy-darker);
  color: var(--white);
  height: 100%;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  font-feature-settings: "ss01", "cv01";
}

::selection {
  background: rgba(var(--lbg-1),.36);
  color: var(--white);
}
::-moz-selection {
  background: rgba(var(--lbg-1),.36);
  color: var(--white);
}

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(var(--lbg-1),.28);
  border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(var(--lbg-1),.48); }

:focus-visible {
  outline: 2px solid rgba(var(--lbg-1),.55);
  outline-offset: 2px;
}

/* ════════════════════════════════════════════════════════
   LA BLANCHE WORDMARK
   "La Blanche" brush-style logo — tüm boyutlarda kullanılabilir
═══════════════════════════════════════════════════════ */
.lb-wordmark {
  font-family: var(--font-logo);
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: .82;
  color: var(--white);
  letter-spacing: 0;
  position: relative;
  user-select: none;
}
.lb-wm-la {
  font-size: .48em;
  margin-left: 11%;
  margin-bottom: -.06em;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.35)) drop-shadow(0 0 8px rgba(var(--lbg-1),.18));
  letter-spacing: -.01em;
  font-weight: 400;
}
.lb-wm-blanche {
  font-size: 1em;
  letter-spacing: -.005em;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.45)) drop-shadow(0 0 12px rgba(var(--lbg-1),.22));
  font-weight: 400;
}
/* Sizes */
.lb-wordmark.size-sm  { font-size: 30px; }   /* header */
.lb-wordmark.size-md  { font-size: 44px; }
.lb-wordmark.size-lg  { font-size: 58px; }   /* drawer */
.lb-wordmark.size-xl  { font-size: 88px; }   /* splash */

/* ════════════════════════════════════════════════════════
   FONT AWESOME 3D STYLE
═══════════════════════════════════════════════════════ */
.fa-solid, .fa-brands, .fa-regular {
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
}

/* ════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════ */
.lb-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: calc(var(--header-h) + var(--safe-top));
  padding-top: var(--safe-top);
  display: flex;
  align-items: center;
  padding-left: 12px;
  padding-right: 12px;
  z-index: 100;
  background: linear-gradient(180deg, rgba(5,15,28,.88) 0%, rgba(5,15,28,.52) 70%, rgba(5,15,28,0) 100%);
  backdrop-filter: var(--blur-glass);
  -webkit-backdrop-filter: var(--blur-glass);
  gap: 8px;
}

.lb-icon-btn {
  width: 42px; height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all .25s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 2;
}
.lb-icon-btn:active {
  transform: scale(.9);
  background: rgba(var(--lbg-1),.22);
  border-color: rgba(var(--lbg-1),.45);
  box-shadow: 0 0 0 4px rgba(var(--lbg-1),.10);
}
.lb-icon-btn i {
  font-size: 16px;
  color: var(--white);
}

/* ─── Hamburger — premium SVG, gold-accent, smooth morph ─── */
.lb-burger {
  position: relative;
  padding: 0;
  background: linear-gradient(145deg, rgba(var(--lbg-1),.18), rgba(var(--lbg-1),.05));
  border: 1px solid rgba(var(--lbg-1),.3);
}
.lb-burger:active {
  background: linear-gradient(145deg, rgba(var(--lbg-1),.32), rgba(var(--lbg-1),.12));
  border-color: rgba(var(--lbg-1),.55);
}
.lb-burger svg {
  width: 22px;
  height: 22px;
  stroke: var(--gold-light);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
}
.lb-burger svg line {
  transition: transform .35s cubic-bezier(.5,0,0,1.2), opacity .25s ease;
  transform-origin: center;
}
.lb-burger.is-active svg line.lb-burger-l1 { transform: translateY(5px) rotate(45deg); }
.lb-burger.is-active svg line.lb-burger-l2 { opacity: 0; transform: scaleX(0); }
.lb-burger.is-active svg line.lb-burger-l3 { transform: translateY(-5px) rotate(-45deg); }

/* ─── Logo (orijinal "La Blanche Island Bodrum" PNG) ─── */
.lb-logo {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  height: 100%;
  justify-content: center;
}
.lb-logo-img {
  height: 42px;
  width: auto;
  display: block;
  filter:
    drop-shadow(0 2px 6px rgba(0,0,0,.6))
    drop-shadow(0 0 8px rgba(0,0,0,.35));
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  transition: opacity .3s ease;
}
.lb-header:not(.has-title) .lb-logo {
  position: absolute;
  left: 50%;
  top: var(--safe-top);
  width: max-content;
  height: var(--header-h);
  justify-content: center;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 1;
}
.lb-header:not(.has-title) .lb-logo .lb-logo-img {
  height: 46px;
}
@media (max-width: 380px) {
  .lb-logo-img { height: 38px; }
  .lb-header:not(.has-title) .lb-logo .lb-logo-img { height: 42px; }
}

.lb-header-title {
  flex: 1 1 auto;
  min-width: 0;
  height: 34px;
  line-height: 32px;
  max-width: 100%;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    rgba(5,15,28,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 22px rgba(0,0,0,.18);
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 800;
  color: var(--white);
  letter-spacing: .012em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  text-shadow: 0 1px 8px rgba(0,0,0,.4);
}
.lb-header.has-title {
  gap: 7px;
}
.lb-header.has-title .lb-lang {
  gap: 2px;
}
.lb-header.has-title .lb-lang-btn {
  min-width: 36px;
  padding-left: 6px;
  padding-right: 6px;
}

/* Language */
.lb-lang {
  display: flex;
  gap: 3px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  margin-left: auto;
}
.lb-lang-btn {
  height: 28px;
  padding: 0 8px;
  border-radius: 7px;
  border: 1px solid rgba(255,255,255,.12);
  background: transparent;
  color: rgba(255,255,255,.55);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  transition: all .22s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
}
.lb-lang-btn.active {
  background: linear-gradient(135deg, var(--gold-soft), var(--gold-deep));
  border-color: var(--gold);
  color: var(--white);
  box-shadow: 0 4px 14px rgba(var(--lbg-1),.45), 0 0 0 3px rgba(var(--lbg-1),.12);
}

/* ════════════════════════════════════════════════════════
   DRAWER
═══════════════════════════════════════════════════════ */
.lb-drawer-scrim {
  position: fixed;
  inset: 0;
  background: rgba(5,15,28,.72);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity .38s var(--ease-luxury);
}
.lb-drawer-scrim.is-open {
  opacity: 1;
  pointer-events: auto;
}

.lb-drawer {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: 86%;
  max-width: 340px;
  background:
    radial-gradient(ellipse at 20% 10%, rgba(53,198,211,.06), transparent 50%),
    linear-gradient(165deg, var(--navy) 0%, var(--navy-darker) 70%);
  z-index: 210;
  transform: translateX(-100%);
  transition: transform .45s var(--ease-luxury);
  display: flex;
  flex-direction: column;
  box-shadow: 22px 0 70px rgba(0,0,0,.58), 6px 0 20px rgba(0,0,0,.3);
  border-right: 1px solid rgba(var(--lbg-1),.22);
  padding-top: var(--safe-top);
}
.lb-drawer.is-open { transform: translateX(0); }

.lb-drawer-head {
  padding: 30px 22px 22px;
  text-align: center;
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.07);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lb-drawer-head::before {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 90px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
/* Drawer / header logo */
.lb-island-logo {
  display: block;
  height: auto;
  max-width: 100%;
}
.lb-island-logo--md {
  width: clamp(110px, 30vw, 148px);
}
/* Fallback: drawer-head içindeki her img için de kısıtla */
.lb-drawer-head img {
  display: block;
  height: auto;
  width: clamp(110px, 30vw, 148px);
  max-width: 100%;
}

.lb-drawer-head .lb-wordmark {
  font-size: 60px;
}
.lb-drawer-head p {
  font-size: 11px;
  color: var(--gold-light);
  letter-spacing: .3em;
  text-transform: uppercase;
  margin-top: 14px;
  font-weight: 700;
}

.lb-drawer-nav {
  flex: 1;
  overflow-y: auto;
  padding: 14px 12px 18px;
  -webkit-overflow-scrolling: touch;
}
.lb-drawer-nav::-webkit-scrollbar { display: none; }

.lb-drawer-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-1),.2), transparent);
  margin: 12px 8px;
}

.lb-drawer-list { display: flex; flex-direction: column; gap: 2px; }

.lb-drawer-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 14px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--white);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: all .25s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
}
.lb-drawer-item:active {
  background: rgba(var(--lbg-1),.14);
  border-color: rgba(var(--lbg-1),.32);
  transform: scale(.98);
}
.lb-drawer-item.is-home {
  background: linear-gradient(135deg, rgba(var(--lbg-1),.18), rgba(var(--lbg-1),.06));
  border-color: rgba(var(--lbg-1),.32);
}

.lb-drawer-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.10);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  position: relative;
  box-shadow: 0 4px 12px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .25s var(--ease-luxury);
}
.lb-drawer-item:active .lb-drawer-icon {
  transform: scale(.92);
}
.lb-drawer-icon i {
  font-size: 16px;
  color: var(--gold-light);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
.lb-drawer-icon.teal i { color: var(--teal); }
.lb-drawer-icon.green i { color: var(--green); }
.lb-drawer-icon.gold i { color: var(--gold); }

.lb-drawer-text {
  flex: 1;
  font-size: 14px;
  font-weight: 750;
  color: var(--white);
  letter-spacing: .003em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lb-drawer-chev {
  font-size: 11px !important;
  color: rgba(255,255,255,.25);
  transition: transform .2s, color .2s;
}
.lb-drawer-item:active .lb-drawer-chev {
  color: var(--gold-light);
  transform: translateX(3px);
}

.lb-drawer-foot {
  padding: 14px 22px calc(20px + var(--safe-bot));
  border-top: 1px solid rgba(255,255,255,.07);
  text-align: center;
}
.lb-drawer-foot small {
  font-size: 11px;
  color: rgba(255,255,255,.45);
  letter-spacing: .04em;
}
.lb-drawer-foot small i { color: var(--green); margin-right: 4px; }

/* ════════════════════════════════════════════════════════
   MAIN
═══════════════════════════════════════════════════════ */
.lb-main { position: fixed; inset: 0; overflow: hidden; }

.lb-screen {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-top: calc(var(--header-h) + var(--safe-top));
  padding-bottom: calc(24px + var(--safe-bot));
  background: transparent;
  will-change: transform, opacity;
  backface-visibility: hidden;
  contain: layout paint style;
  transform-origin: center center;
  transform: translate3d(0,0,0) scale(1);
  opacity: 1;
}
.lb-screen[hidden] { display: none !important; }
.lb-screen::-webkit-scrollbar { display: none; }

/* ════════════════════════════════════════════════════════
   PROFESYONEL SAYFA GEÇİŞLERİ
   iOS-card-stack: translate + scale + opacity layered
═══════════════════════════════════════════════════════ */

/* — FORWARD: yeni sayfa sağdan kayar, eski geri itilir (depth) — */
.lb-screen.screen-in-fwd {
  z-index: 3;
  animation: screenInFwd .38s cubic-bezier(.16, 1, .3, 1) both;
}
.lb-screen.screen-out-fwd {
  animation: screenOutFwd .38s cubic-bezier(.16, 1, .3, 1) both;
  z-index: 1;
}
@keyframes screenInFwd {
  0%   { opacity: 0; transform: translate3d(24px, 0, 0) scale(.985); }
  45%  { opacity: 1; }
  100% { opacity: 1;  transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes screenOutFwd {
  0%   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  100% { opacity: .58; transform: translate3d(-14px, 0, 0) scale(.985); }
}

/* — BACK: eski sayfa sağa kayar/küçülür, yeni soldan büyüyerek gelir — */
.lb-screen.screen-in-back {
  z-index: 1;
  animation: screenInBack .38s cubic-bezier(.16, 1, .3, 1) both;
}
.lb-screen.screen-out-back {
  animation: screenOutBack .38s cubic-bezier(.16, 1, .3, 1) both;
  z-index: 2;
}
@keyframes screenInBack {
  0%   { opacity: .58; transform: translate3d(-14px, 0, 0) scale(.985); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes screenOutBack {
  0%   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  100% { opacity: 0; transform: translate3d(24px, 0, 0) scale(.985); }
}

/* Geçiş sırasında scroll kararlı kalsın */
.lb-screen.screen-in-fwd,
.lb-screen.screen-in-back,
.lb-screen.screen-out-fwd,
.lb-screen.screen-out-back {
  pointer-events: none;
}

/* Header da geçiş sırasında smooth davransın */
.lb-header {
  transition: backdrop-filter .35s ease;
}

/* Geçiş sırasında FAB & burger görünür kalır ama tıklanmaz olsun */
body.is-transitioning .lb-grab-fab,
body.is-transitioning .lb-room-fab { pointer-events: none; }
body.is-transitioning .lb-burger,
body.is-transitioning .lb-back { pointer-events: none; }
body.is-transitioning .lb-header {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ════════════════════════════════════════════════════════
   SPLASH / LOADER  (v4 — Clean Edition)
═══════════════════════════════════════════════════════ */

.lb-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at 50% 40%,
    #0d2744 0%,
    #071627 55%,
    #030c18 100%);
  transition: opacity .8s cubic-bezier(.4,0,.2,1), transform .8s cubic-bezier(.4,0,.2,1);
}
.lb-loader.fade-out {
  opacity: 0;
  transform: scale(1.04);
  pointer-events: none;
}

/* Gold ambient glow */
.lb-splash-glow {
  position: absolute;
  width: clamp(220px, 65vw, 320px);
  height: clamp(220px, 65vw, 320px);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--lbg-5),.10) 0%, transparent 70%);
  pointer-events: none;
  animation: splashGlowPulse 3.5s ease-in-out infinite;
}
@keyframes splashGlowPulse {
  0%, 100% { opacity: .6; transform: scale(1); }
  50%      { opacity: 1;  transform: scale(1.18); }
}

/* Content stack */
.lb-splash-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: splashContentIn .85s cubic-bezier(.16,1,.3,1) .08s both;
}
@keyframes splashContentIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: none; }
}

/* Eyebrow badge */
.lb-splash-badge {
  font-size: clamp(8px, 2vw, 10px);
  font-weight: 700;
  letter-spacing: .45em;
  text-indent: .45em;
  text-transform: uppercase;
  color: rgba(var(--lbg-5),.65);
  margin-bottom: 18px;
  animation: splashFadeIn .6s ease .15s both;
}

/* Logo */
.lb-splash-logo {
  display: block;
  width: clamp(140px, 38vw, 200px);
  height: auto;
  filter:
    drop-shadow(0 6px 20px rgba(0,0,0,.65))
    drop-shadow(0 0 32px rgba(var(--lbg-5),.12));
  animation:
    splashLogoIn .8s cubic-bezier(.16,1,.3,1) .25s both,
    splashLogoGlow 4s ease-in-out 1.4s infinite;
}
@keyframes splashLogoIn {
  from { opacity: 0; transform: scale(.88) translateY(10px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes splashLogoGlow {
  0%, 100% {
    filter:
      drop-shadow(0 6px 20px rgba(0,0,0,.65))
      drop-shadow(0 0 28px rgba(var(--lbg-5),.10));
  }
  50% {
    filter:
      drop-shadow(0 8px 28px rgba(0,0,0,.68))
      drop-shadow(0 0 44px rgba(var(--lbg-5),.22));
  }
}

/* Gold rule */
.lb-splash-rule {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 20px 0 16px;
  animation: splashFadeIn .6s ease .55s both;
}
.lb-splash-rule span {
  display: block;
  height: 1px;
  width: clamp(36px, 11vw, 60px);
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-5),.65));
}
.lb-splash-rule span:last-child {
  background: linear-gradient(270deg, transparent, rgba(var(--lbg-5),.65));
}
.lb-splash-rule i {
  font-style: normal;
  font-size: 7px;
  color: rgba(var(--lbg-5),.85);
  text-shadow: 0 0 10px rgba(var(--lbg-5),.5);
}

/* Tag */
.lb-splash-tag {
  margin: 0 0 22px;
  font-size: clamp(8px, 2.2vw, 10px);
  font-weight: 700;
  letter-spacing: .42em;
  text-indent: .42em;
  text-transform: uppercase;
  color: rgba(255,255,255,.38);
  animation: splashFadeIn .6s ease .7s both;
}

/* Progress bar */
.lb-splash-progress {
  width: clamp(72px, 20vw, 120px);
  height: 1.5px;
  background: rgba(255,255,255,.08);
  border-radius: 2px;
  overflow: hidden;
  animation: splashFadeIn .4s ease .85s both;
}
.lb-splash-progress-fill {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg,
    rgba(var(--lbg-5),.5),
    rgba(255,235,160,.92) 50%,
    rgba(var(--lbg-5),.7));
  border-radius: 2px;
  box-shadow: 0 0 6px rgba(var(--lbg-5),.55);
  animation: splashBarFill 2s cubic-bezier(.4,0,.2,1) .95s both;
}
@keyframes splashBarFill {
  from { width: 0; }
  to   { width: 100%; }
}

/* Shared keyframe */
@keyframes splashFadeIn {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: none; }
}

/* Dynamic config copy hidden */
.lb-loader-copy { display: none; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .lb-splash-glow,
  .lb-splash-content,
  .lb-splash-logo,
  .lb-splash-rule,
  .lb-splash-badge,
  .lb-splash-tag,
  .lb-splash-progress,
  .lb-splash-progress-fill {
    animation-duration: .001ms !important;
    animation-delay: 0ms !important;
  }
}


/* ════════════════════════════════════════════════════════
   ÖZEL GÜNLER — Package Cards
═══════════════════════════════════════════════════════ */

.lb-pkg-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: 18px;
  padding: 8px 0 4px;
}
.lb-pkg-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: linear-gradient(145deg, rgba(14,30,53,.95) 0%, rgba(22,43,72,.95) 100%);
  border: 1px solid rgba(var(--lbg-5),.2);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 6px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.lb-pkg-media {
  position: relative;
  min-height: clamp(176px, 34vw, 244px);
  margin: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 10%, rgba(var(--lbg-5),.28), transparent 36%),
    linear-gradient(145deg, rgba(9,30,52,.96), rgba(5,15,28,.98));
}
.lb-pkg-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  filter: saturate(1.06) contrast(1.03);
}
.lb-pkg-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,9,18,.03), rgba(2,9,18,.18) 46%, rgba(2,9,18,.84)),
    linear-gradient(90deg, rgba(2,9,18,.26), transparent 52%, rgba(2,9,18,.18));
}
.lb-pkg-media span {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 1.05;
  font-weight: 800;
  text-shadow: 0 3px 18px rgba(0,0,0,.72);
}
.lb-pkg-media span i {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  box-shadow: 0 10px 24px rgba(0,0,0,.30);
}
.lb-pkg-media.is-empty img {
  display: none;
}
.lb-pkg-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px 14px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(135deg, rgba(var(--lbg-5),.09) 0%, transparent 55%);
  position: relative;
}
.lb-pkg-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 18px; right: 18px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-5),.25), transparent);
}
.lb-pkg-icon {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 14px;
  background: rgba(var(--lbg-5),.1);
  border: 1px solid rgba(var(--lbg-5),.22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #e8c572;
  box-shadow: 0 0 18px rgba(var(--lbg-5),.15);
}
.lb-pkg-meta { flex: 1; min-width: 0; }
.lb-pkg-name {
  margin: 0 0 5px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}
.lb-pkg-price {
  display: flex;
  align-items: baseline;
  gap: 3px;
}
.lb-pkg-price span {
  font-size: 24px;
  font-weight: 800;
  color: #e8c572;
  line-height: 1;
}
.lb-pkg-price em {
  font-style: normal;
  font-size: 15px;
  font-weight: 700;
  color: rgba(var(--lbg-5),.8);
}
.lb-pkg-price small {
  font-size: 11px;
  color: rgba(255,255,255,.35);
  margin-left: 2px;
  font-weight: 400;
}
.lb-pkg-items {
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 14px 18px 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.lb-pkg-items li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.78);
  line-height: 1.45;
}
.lb-pkg-items li i {
  color: #e8c572;
  font-size: 12px;
  margin-top: 2px;
  flex-shrink: 0;
  opacity: .85;
}
.lb-pkg-footer {
  display: grid;
  gap: 8px;
  padding: 4px 18px 18px;
}
.lb-pkg-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  padding: 13px 16px;
  border: 0;
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(245,217,128,.96), rgba(185,138,59,.96));
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(var(--lbg-1),.22), inset 0 1px 0 rgba(255,255,255,.24);
  transition: transform .18s var(--ease-out), filter .18s var(--ease-out);
}
.lb-pkg-cta:active { transform: scale(.985); filter: brightness(.96); }
.lb-pkg-cta i { font-size: 18px; }
.lb-pkg-footer small {
  color: rgba(255,255,255,.46);
  font-size: 10.5px;
  line-height: 1.35;
  text-align: center;
}
.lb-pkg-note {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 11px;
  color: rgba(255,255,255,.3);
  margin: 4px 0 8px;
  letter-spacing: .02em;
}

/* ════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════ */
/* Pavilions — Cabana / Pavilion 2026 */
.pav-hero-card,
.pav-card,
.pav-package-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-4),.18);
  background:
    radial-gradient(circle at 12% 0%, rgba(53,198,211,.16), transparent 34%),
    radial-gradient(circle at 92% 12%, rgba(var(--lbg-4),.15), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.020));
  box-shadow: 0 24px 48px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.07);
}
.pav-hero-card::before,
.pav-card::before,
.pav-package-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 26%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 10px);
  opacity: .45;
}
.pav-hero-card {
  display: grid;
  gap: 18px;
  padding: 18px;
  border-radius: 22px;
}
.pav-hero-copy,
.pav-metrics,
.pav-section-head,
.pav-price-scroll,
.pav-service-scroll,
.pav-service-grid,
.pav-package-body,
.pav-gallery {
  position: relative;
  z-index: 1;
}
.pav-hero-copy h3,
.pav-section-head h3 {
  margin: 4px 0 6px;
  font-family: var(--font-display);
  color: var(--white);
  line-height: 1.04;
}
.pav-hero-copy h3 {
  font-size: clamp(30px, 7vw, 48px);
}
.pav-section-head h3 {
  font-size: clamp(24px, 5vw, 34px);
}
.pav-hero-copy p,
.pav-section-head p {
  max-width: 820px;
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: 13px;
  line-height: 1.55;
  font-weight: 720;
}
.pav-section-head small {
  color: var(--gold-light);
  font-size: 8.5px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.pav-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pav-metric {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-areas: "icon label" "icon value";
  align-items: center;
  gap: 2px 10px;
  min-height: 70px;
  padding: 10px;
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(5,15,28,.32);
}
.pav-metric span {
  grid-area: icon;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #06111f;
  background: linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: 0 10px 22px rgba(0,0,0,.24);
}
.pav-metric small {
  grid-area: label;
  min-width: 0;
  color: rgba(255,255,255,.52);
  font-size: 8.2px;
  font-weight: 940;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pav-metric strong {
  grid-area: value;
  min-width: 0;
  color: var(--white);
  font-size: 14px;
  line-height: 1.16;
  font-weight: 900;
}
.pav-package-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.pav-package-card {
  display: grid;
  align-content: start;
  border-radius: 22px;
}
.pav-gallery {
  height: clamp(220px, 30vw, 330px);
  overflow: hidden;
  border-bottom: 1px solid rgba(var(--lbg-4),.16);
  background:
    radial-gradient(circle at 30% 10%, rgba(53,198,211,.18), transparent 34%),
    linear-gradient(145deg, rgba(6,20,34,.98), rgba(3,10,18,.98));
}
.pav-gallery-track {
  display: flex;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.pav-gallery-track::-webkit-scrollbar {
  display: none;
}
.pav-slide {
  position: relative;
  flex: 0 0 100%;
  height: 100%;
  margin: 0;
  scroll-snap-align: start;
}
.pav-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,9,18,.02), rgba(2,9,18,.22) 64%, rgba(2,9,18,.62));
}
.pav-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(1.08) contrast(1.04);
}
.pav-gallery-dots {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  display: flex;
  justify-content: center;
  gap: 6px;
  pointer-events: auto;
  z-index: 4;
}
.pav-gallery-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  color: transparent;
  background: rgba(255,255,255,.36);
  box-shadow: 0 0 0 1px rgba(255,255,255,.12);
  cursor: pointer;
  transition: width .18s var(--ease-out), background .18s var(--ease-out), transform .18s var(--ease-out);
}
.pav-gallery-dots button.is-active {
  width: 20px;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 0 0 1px rgba(255,255,255,.22), 0 6px 16px rgba(0,0,0,.24);
}
.pav-gallery-controls {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  pointer-events: none;
}
.pav-gallery-btn {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  color: var(--white);
  background: rgba(4,13,23,.54);
  box-shadow: 0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  cursor: pointer;
  pointer-events: auto;
  opacity: .88;
  transform: translateY(4px);
  transition: opacity .18s var(--ease-out), transform .18s var(--ease-out), background .18s var(--ease-out);
}
.pav-gallery:hover .pav-gallery-btn,
.pav-gallery:focus-within .pav-gallery-btn {
  opacity: 1;
  transform: translateY(0);
}
.pav-gallery-btn:active {
  transform: translateY(0) scale(.96);
}
.pav-gallery-btn i {
  font-size: 13px;
}
.pav-empty-media {
  height: 100%;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  color: rgba(255,255,255,.68);
  text-align: center;
  padding: 24px;
}
.pav-empty-media i {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: #06111f;
  font-size: 25px;
  background: linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: 0 16px 32px rgba(0,0,0,.28);
}
.pav-empty-media span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pav-package-body {
  display: grid;
  gap: 13px;
  padding: 16px;
}
.pav-package-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.pav-package-head > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--white);
  background: linear-gradient(145deg, rgba(53,198,211,.65), rgba(11,77,94,.92));
  border: 1px solid rgba(255,255,255,.16);
}
.pav-package-head small {
  display: block;
  color: var(--gold-light);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pav-package-head h3 {
  margin: 3px 0 0;
  color: var(--white);
  font-size: 20px;
  line-height: 1.06;
  font-weight: 920;
}
.pav-package-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.pav-package-meta b,
.pav-package-meta strong {
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 8px;
  border-radius: 14px;
  background: rgba(5,15,28,.34);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
  font-size: 11px;
  line-height: 1.12;
  text-align: center;
}
.pav-package-meta strong {
  color: var(--gold-light);
  font-size: 13px;
  font-weight: 950;
}
.pav-package-body p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 720;
}
.pav-package-body ul {
  list-style: none;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.pav-package-body li {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  gap: 8px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  line-height: 1.42;
  font-weight: 680;
}
.pav-package-body li i {
  color: var(--gold-light);
  margin-top: 3px;
  font-size: 10px;
}
.pav-package-cta {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 15px;
  color: #06111f;
  font-family: inherit;
  font-weight: 950;
  font-size: 13px;
  cursor: pointer;
  background: linear-gradient(135deg, #74e4ef, #3cb5c4 45%, #e6c56c);
  box-shadow: 0 14px 30px rgba(53,198,211,.22), inset 0 1px 0 rgba(255,255,255,.34);
}
.pav-card {
  display: grid;
  gap: 14px;
  padding: 17px;
  border-radius: 22px;
}
.pav-price-scroll,
.pav-service-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--lbg-4),.45) rgba(255,255,255,.07);
}
.pav-price-scroll::-webkit-scrollbar,
.pav-service-scroll::-webkit-scrollbar {
  height: 8px;
}
.pav-price-scroll::-webkit-scrollbar-track,
.pav-service-scroll::-webkit-scrollbar-track {
  background: rgba(255,255,255,.07);
  border-radius: 999px;
}
.pav-price-scroll::-webkit-scrollbar-thumb,
.pav-service-scroll::-webkit-scrollbar-thumb {
  background: rgba(var(--lbg-4),.45);
  border-radius: 999px;
}
.pav-price-table {
  width: 100%;
  min-width: 820px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 16px;
}
.pav-price-table th,
.pav-price-table td {
  padding: 11px 12px;
  border-right: 1px solid rgba(255,255,255,.07);
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(5,15,28,.34);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
}
.pav-price-table thead th {
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: rgba(var(--lbg-4),.12);
}
.pav-price-table tbody th {
  color: var(--white);
  text-align: left;
  font-weight: 900;
}
.pav-service-grid {
  min-width: 840px;
  width: max(100%, 840px);
  display: grid;
  grid-template-columns: minmax(230px, 1.5fr) repeat(4, minmax(128px, 1fr));
  gap: 1px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
}
.pav-service-cell {
  min-height: 48px;
  display: grid;
  place-items: center;
  padding: 10px;
  background: rgba(5,15,28,.44);
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}
.pav-service-cell.is-head {
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
  background: rgba(var(--lbg-4),.12);
}
.pav-service-cell.is-label {
  justify-items: start;
  text-align: left;
  color: rgba(255,255,255,.82);
  font-weight: 780;
}
.pav-service-cell.is-yes i {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #06111f;
  background: linear-gradient(145deg, var(--gold-light), var(--gold));
}
.pav-service-cell.is-no i {
  color: rgba(255,255,255,.24);
}
.pav-terms-list {
  position: relative;
  z-index: 1;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
}
.pav-terms-list li {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 11px;
  border-radius: 14px;
  color: rgba(255,255,255,.74);
  background: rgba(5,15,28,.34);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 11.5px;
  line-height: 1.42;
  font-weight: 680;
}
.pav-terms-list i {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #06111f;
  font-size: 11px;
  background: linear-gradient(145deg, var(--gold-light), var(--gold));
}
.pav-form-hint {
  margin: 0 0 10px;
  color: rgba(255,255,255,.46);
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 760px) {
  .pav-metrics,
  .pav-package-grid,
  .pav-terms-list {
    grid-template-columns: 1fr;
  }
  .pav-metrics {
    gap: 8px;
  }
  .pav-gallery {
    height: clamp(212px, 58vw, 280px);
  }
  .pav-package-body {
    padding: 14px;
  }
  .pav-card,
  .pav-hero-card {
    padding: 15px;
    border-radius: 20px;
  }
}

@media (max-width: 430px) {
  .pav-package-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pav-package-meta strong {
    grid-column: 1 / -1;
  }
  .pav-hero-copy h3 {
    font-size: 32px;
  }
  .pav-metric {
    min-height: 64px;
  }
}

.lb-hero {
  position: relative;
  width: 100%;
  height: 60vw;
  min-height: 240px;
  max-height: 380px;
  overflow: visible;          /* floating icon overflow için */
  flex-shrink: 0;
  isolation: isolate;
  --hero-action-top: clamp(18px, 5vw, 28px);
}
.lb-hero.small { max-height: 250px; height: 48vw; min-height: 200px; }

/* Image clipping wrapper — image scale(1.08) sınırlanmalı */
.lb-hero-clip {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}
.lb-hero-img {
  position: absolute;
  inset: -4%;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-color: var(--navy-mid);
  transform: scale(1.04);
  transform-origin: center;
  filter: saturate(1.08) contrast(1.04);
  will-change: transform;
}
.lb-hero-img.loaded {
  animation: lbHeroCinematicZoom 26s ease-in-out infinite alternate;
}

@keyframes lbHeroCinematicZoom {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to   { transform: scale(1.16) translate3d(-1.2%, -.8%, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .lb-hero-img.loaded {
    animation: none;
    transform: scale(1.06);
  }
}

.lb-bg-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s var(--ease-luxury);
  z-index: 0;
}
.loaded > .lb-bg-video { opacity: 1; }

.lb-bg-embed {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  height: 120%;
  min-width: 100%;
  min-height: 100%;
  border: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(1.08);
  transition: opacity .75s var(--ease-luxury);
  z-index: 0;
}
.loaded > .lb-bg-embed { opacity: 1; }
.lb-hero-img.is-youtube {
  background-size: cover;
  background-position: center;
}
.lb-hero-img.is-slider,
.lb-hero-img.is-slider.loaded {
  inset: 0;
  animation: none;
  transform: none;
  filter: none;
  background: var(--navy-darker);
}
.lb-hero-slider,
.lb-hero-slider-track,
.lb-hero-slide,
.lb-hero-slide img {
  position: absolute;
  inset: 0;
}
.lb-hero-slider {
  overflow: hidden;
  border-radius: inherit;
}
.lb-hero-slide {
  margin: 0;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity .9s var(--ease-luxury), transform 6.5s ease;
}
.lb-hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.lb-hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.lb-hero-slider-controls,
.lb-hero-slider-dots {
  position: absolute;
  right: clamp(14px, 4vw, 28px);
  z-index: 3;
  display: flex;
  align-items: center;
}
.lb-hero-slider-controls {
  bottom: clamp(48px, 10vw, 66px);
  gap: 10px;
}
.lb-hero-slider-btn {
  width: 42px;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.12);
  box-shadow: 0 12px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: var(--blur-glass);
  -webkit-backdrop-filter: var(--blur-glass);
}
.lb-hero-slider-btn:active {
  transform: scale(.95);
}
.lb-hero-slider-btn i {
  font-size: 13px;
}
.lb-hero-slider-dots {
  bottom: clamp(18px, 4vw, 28px);
  gap: 8px;
}
.lb-hero-slider-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  box-shadow: 0 0 0 1px rgba(255,255,255,.12);
  transition: width .25s var(--ease-luxury), background .25s var(--ease-luxury);
}
.lb-hero-slider-dots button.is-active {
  width: 24px;
  background: var(--gold-light);
}

.lb-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at center top, rgba(53,198,211,.14) 0%, transparent 55%),
    linear-gradient(180deg,
      rgba(5,15,28,.10) 0%,
      rgba(5,15,28,.10) 30%,
      rgba(5,15,28,.7) 75%,
      rgba(5,15,28,.98) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  /* Tutarlı padding: tüm yönlerde aynı oransal boşluk */
  padding: 24px 22px 26px;
  gap: 8px;
  align-items: flex-start;
}
.lb-hero-overlay > * {
  margin: 0;          /* Çocukların kendi margin'leri layout'u kaydırmasın */
}
.lb-hero-overlay::before {
  content: '';
  display: block;
  width: 42px;
  height: 1.5px;
  background: linear-gradient(90deg, var(--gold-light), var(--gold));
  opacity: .9;
  margin: 0 0 4px 0;
  animation: lineGrow .9s .35s both;
}
@keyframes lineGrow {
  from { width: 0; opacity: 0; }
  to   { width: 42px; opacity: .9; }
}

.lb-hero-tag {
  font-family: var(--font-sans);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold-light);
  opacity: 0;
  animation: heroFade .7s .25s both;
}
.lb-hero-title {
  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.08;
  color: var(--white);
  letter-spacing: .005em;
  text-shadow: 0 2px 24px rgba(0,0,0,.5);
  white-space: pre-line;
  opacity: 0;
  animation: heroFade .7s .4s both;
}

.home-hero .lb-hero-overlay {
  padding: 22px 22px 24px;
  gap: 6px;
}

.home-hero .lb-hero-title {
  font-size: clamp(28px, 7.4vw, 34px);
  line-height: 1.02;
  max-width: min(76%, 320px);
  letter-spacing: 0;
  text-shadow: 0 2px 18px rgba(0,0,0,.48);
}

.home-hero .lb-hero-tag {
  font-size: 9.5px;
  letter-spacing: .20em;
}

.home-hero .lb-hero-sub {
  font-size: 12.5px;
  line-height: 1.35;
  margin-top: 1px;
}

.home-hero .lb-hero-stars {
  margin-top: 6px;
}

.home-hero .lb-map-cta {
  margin-top: 10px;
}
.lb-hero-sub {
  font-family: var(--font-sans);
  font-size: 14.5px;
  color: rgba(255,255,255,.78);
  letter-spacing: .01em;
  margin-top: 4px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.55;
  opacity: 0;
  animation: heroFade .7s .55s both;
}
.lb-hero-stars {
  display: flex;
  gap: 4px;
  margin-top: 10px;
  opacity: 0;
  animation: heroFade .7s .7s both;
}
.lb-hero-stars i {
  color: var(--gold-light);
  font-size: 12px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
}
@keyframes heroFade {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Floating quick map button on home hero — gizlendi, primary CTA hero overlay'da */
.lb-hero-fab { display: none; }

/* ════════════════════════════════════════════════════════
   PRIMARY MAP CTA (Hero) — Sade & Şık Pill
═══════════════════════════════════════════════════════ */
.lb-map-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 7px 16px 7px 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(228,185,106,.96) 0%, rgba(var(--lbg-1),.96) 60%, rgba(var(--lbg-14),.96) 100%);
  border: 1px solid rgba(255,255,255,.4);
  color: var(--white);
  text-decoration: none;
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  align-self: flex-start;
  width: fit-content;
  max-width: 92%;
  position: relative;
  z-index: 4;
  box-shadow:
    0 10px 28px rgba(var(--lbg-1),.5),
    0 3px 8px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.45),
    inset 0 -2px 5px rgba(0,0,0,.18);
  transition: transform .25s var(--ease-out);
  animation: mapCtaIn .55s var(--ease-out) 1.1s both;
}
@keyframes mapCtaIn {
  from { opacity: 0; transform: translateY(16px) scale(.94); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.lb-map-cta:active { transform: scale(.97); }

/* Soft pulsing ring — sade, sönük altın halka */
.lb-map-cta::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  border: 2px solid rgba(228,185,106,.55);
  animation: lbMapPulse 2.6s ease-out 1.9s infinite;
  opacity: 0;
  pointer-events: none;
}
@keyframes lbMapPulse {
  0%   { opacity: .75; transform: scale(1);    border-width: 2px; }
  85%  { opacity: 0;   transform: scale(1.18); border-width: 1px; }
  100% { opacity: 0; }
}

.lb-map-cta-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
  border: 1px solid rgba(255,255,255,.42);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
.lb-map-cta-icon i {
  font-size: 14px;
  color: var(--white);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.35));
}

.lb-map-cta strong {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.005em;
  color: var(--white);
  text-shadow: 0 1px 3px rgba(0,0,0,.32);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.lb-map-cta-arrow {
  font-size: 12px;
  color: var(--white);
  margin-left: 2px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
  animation: lbMapArrow 1.6s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes lbMapArrow {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(4px); }
}

/* Küçük ekranlarda biraz daha kompakt */
@media (max-width: 380px) {
  .lb-map-cta { padding: 6px 14px 6px 6px; gap: 8px; }
  .lb-map-cta-icon { width: 28px; height: 28px; }
  .lb-map-cta-icon i { font-size: 13px; }
  .lb-map-cta strong { font-size: 16px; }
}

/* Geniş ekranlarda biraz büyüsün */
@media (min-width: 600px) {
  .lb-map-cta { padding: 8px 18px 8px 8px; gap: 11px; margin-top: 16px; }
  .lb-map-cta-icon { width: 34px; height: 34px; }
  .lb-map-cta-icon i { font-size: 15px; }
  .lb-map-cta strong { font-size: 18px; }
}

.lb-hero-socials {
  position: absolute;
  top: calc(var(--hero-action-top) + 54px);
  right: 16px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(5,15,28,.58), rgba(5,15,28,.32));
  box-shadow: 0 12px 32px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.lb-hero-socials a {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.88);
  text-decoration: none;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  transition: transform .22s var(--ease-out), background .22s ease, color .22s ease;
  -webkit-tap-highlight-color: transparent;
}
.lb-hero-socials a:active {
  transform: scale(.92);
  background: rgba(var(--lbg-1),.22);
  color: var(--gold-light);
}
.lb-hero-socials i { font-size: 15px; }

/* Floating icon over hero (category/detail) */
.lb-floating-icon {
  position: absolute;
  bottom: -28px;
  right: 20px;
  width: 64px; height: 64px;
  border-radius: 18px;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  display: grid;
  place-items: center;
  z-index: 4;
  box-shadow:
    0 14px 40px rgba(0,0,0,.4),
    0 4px 12px rgba(var(--lbg-1),.4),
    inset 0 2px 0 rgba(255,255,255,.4),
    inset 0 -3px 6px rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.25);
  animation: floatIn .55s .4s var(--ease) both;
}
.lb-floating-icon.green {
  background: linear-gradient(145deg, var(--green), var(--green-deep));
}
@keyframes floatIn {
  from { opacity: 0; transform: scale(0.5) rotate(-25deg); }
  to   { opacity: 1; transform: scale(1) rotate(0); }
}
.lb-floating-icon i {
  font-size: 26px;
  color: var(--white);
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.4));
}

/* ════════════════════════════════════════════════════════
   HOME GRID
═══════════════════════════════════════════════════════ */
/* ── Hero kişisel selam + ilk giriş karşılama modalı ──────── */
/* ToDay kartı içinde, "ToDay La Blanche Island" altında kişisel selam */
.lb-weather-card-copy .lb-weather-greet {
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-style: italic;
  font-weight: 400;
  color: rgba(255, 255, 255, .85);
  letter-spacing: .01em;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .55);
  margin-top: 2px;
}
.lb-weather-card-copy .lb-weather-greet b { color: var(--gold-light); font-weight: 400; font-style: italic; }

.lb-onboard-actions { display: flex; gap: 10px; margin-top: 20px; }
.lb-onboard-go {
  flex: 1;
  padding: 13px 16px;
  border: none;
  border-radius: 14px;
  font: inherit;
  font-weight: 700;
  font-size: 1rem;
  color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  cursor: pointer;
  transition: transform .2s var(--ease-luxury), box-shadow .2s var(--ease-luxury);
}
.lb-onboard-go:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(var(--lbg-2), .35); }
.lb-onboard-go:active { transform: translateY(0) scale(.98); }
.lb-onboard-skip {
  padding: 13px 16px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 14px;
  font: inherit;
  font-weight: 600;
  color: rgba(255, 255, 255, .72);
  background: transparent;
  cursor: pointer;
  transition: border-color .2s var(--ease-luxury), color .2s var(--ease-luxury);
}
.lb-onboard-skip:hover { border-color: rgba(255, 255, 255, .4); color: #fff; }
.lb-onboard-note { margin: 13px 0 0; text-align: center; font-size: .74rem; color: rgba(255, 255, 255, .45); }
.lb-modal.lb-onboard { z-index: 10000; }   /* açılış karşılaması yükleme ekranının üstünde belirsin */
.lb-onboard-brand { margin-bottom: 12px; font-size: .66rem; letter-spacing: 3px; font-weight: 600; text-transform: uppercase; color: var(--gold); opacity: .82; }
.lb-modal-head .lb-onboard-intro { margin: 9px 0 0; font-size: .84rem; line-height: 1.5; color: rgba(255, 255, 255, .6); text-transform: none; letter-spacing: normal; }
.lb-onboard-ok { background: linear-gradient(145deg, #3ad29a, #1f9d72) !important; }
.lb-onboard-done h3 { color: #fff; }

/* ── İlk giriş karşılaması — premium cam (glassmorphism) bottom-sheet ──
   Sadece .lb-onboard'a uygulanır → paylaşılan .lb-modal-card (rezervasyon,
   concierge, bilgi modalleri) etkilenmez. Açılış ekranı artık opak panel
   yerine, ardındaki bulanık ana ekranın süzüldüğü buzlu cam yüzey olur. */
.lb-modal.lb-onboard .lb-modal-scrim {
  background: rgba(3, 11, 20, .56);
  backdrop-filter: blur(22px) saturate(1.3);
  -webkit-backdrop-filter: blur(22px) saturate(1.3);
}
.lb-modal.lb-onboard .lb-modal-card {
  background:
    radial-gradient(ellipse 130% 62% at 50% -8%, rgba(var(--lbg-2), .22), transparent 56%),
    radial-gradient(ellipse 96% 50% at 6% 112%, rgba(53, 198, 211, .10), transparent 58%),
    linear-gradient(168deg, rgba(16, 59, 94, .70) 0%, rgba(6, 24, 40, .85) 96%);
  -webkit-backdrop-filter: blur(34px) saturate(1.45);
  backdrop-filter: blur(34px) saturate(1.45);
  border-top: 1px solid rgba(var(--lbg-7), .46);
  box-shadow:
    0 -30px 90px rgba(0, 0, 0, .56),
    0 -2px 44px rgba(var(--lbg-2), .10),
    inset 0 1px 0 rgba(255, 255, 255, .22);
}
/* üstte ortadan sönen ince altın parıltı çizgisi */
.lb-modal.lb-onboard .lb-modal-card::after {
  content: '';
  position: absolute;
  left: 18%; right: 18%; top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-7), .8), transparent);
  pointer-events: none;
}
.lb-modal.lb-onboard .lb-modal-handle {
  width: 48px;
  background: linear-gradient(90deg, rgba(var(--lbg-7), .45), rgba(var(--lbg-7), .85), rgba(var(--lbg-7), .45));
  box-shadow: 0 0 12px rgba(var(--lbg-7), .4);
}
/* cam yüzeyde input'lar bir tık daha şeffaf + altın odak */
.lb-modal.lb-onboard .lb-field input {
  background-color: rgba(8, 26, 44, .55);
  border-color: rgba(255, 255, 255, .16);
}
.lb-modal.lb-onboard .lb-field input:focus {
  background-color: rgba(12, 38, 60, .72);
  border-color: var(--gold);
}
/* zorunlu alan yıldızı */
.lb-onboard .lb-req { color: var(--gold-light); font-style: normal; font-weight: 700; margin-left: 1px; }
/* kapat (yalnız düzenleme modunda görünür; zorunlu ilk girişte gizli) */
.lb-onboard-close {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .18); background: rgba(8, 26, 44, .55);
  color: rgba(255, 255, 255, .8); font-size: .95rem; cursor: pointer;
  display: grid; place-items: center;
  transition: background .2s var(--ease-luxury), color .2s var(--ease-luxury), border-color .2s var(--ease-luxury);
}
.lb-onboard-close:hover { background: rgba(12, 38, 60, .8); color: #fff; border-color: rgba(255, 255, 255, .4); }
/* zarif yönlendirme / hata mesajı */
.lb-onboard-msg {
  margin: 4px 2px 0; padding: 11px 14px; border-radius: 12px; font-size: .82rem; line-height: 1.45;
  border: 1px solid transparent;
}
.lb-onboard-msg.is-info {
  color: var(--gold-light);
  background: rgba(var(--lbg-2), .12);
  border-color: rgba(var(--lbg-7), .42);
}
.lb-onboard-msg.is-warn {
  color: #ffd9c2;
  background: rgba(220, 80, 40, .14);
  border-color: rgba(235, 120, 80, .42);
}
/* hatalı alanın çerçevesi */
.lb-onboard .lb-field.has-error input {
  border-color: rgba(235, 120, 80, .7) !important;
  box-shadow: 0 0 0 3px rgba(220, 80, 40, .16);
}
/* zorunlu girişte küçük titreşim (dikkat çek) */
@keyframes lbShake { 10%,90%{transform:translateX(-1px)} 20%,80%{transform:translateX(2px)} 30%,50%,70%{transform:translateX(-5px)} 40%,60%{transform:translateX(5px)} }
.lb-modal.lb-onboard .lb-modal-card.lb-shake { animation: lbShake .5s cubic-bezier(.36,.07,.19,.97) both; }

/* ───────────────────────────────────────────────────────────────────────────
   MOBİL PERFORMANS — sürekli (infinite) dekoratif animasyonları durdur.
   Ana ekranda aynı anda ~13 sonsuz arka-plan animasyonu (hero zoom, kart
   sürüklenmeleri/parıltıları, nabız efektleri) + cam efektleri birleşince
   Android amiral gemilerinde bile kasma/yavaşlama oluyordu. Mobilde bu
   DEKORATİF döngüleri kapatıyoruz — kartlar son karede sabit, premium görünüm
   korunur. Giriş animasyonları, dokunuş geçişleri, yükleyiciler ve içerik
   karuselleri (concierge servis kayması vb.) etkilenmez.
─────────────────────────────────────────────────────────────────────────── */
@media (max-width: 760px) {
  .lb-hero-img.loaded,
  .lb-weather-card-bg,
  .lb-concierge-card-bg,
  .lb-concierge-live span,
  .lb-concierge-deck-card,
  .lb-concierge-route span::after,
  .lb-concierge-bg-slide,
  .lb-resvhub-bg-slide,
  .lb-resvhub-card-metrics b,
  .lb-shuttle-bg,
  .lb-shuttle-orbit {
    animation: none !important;
  }
  /* GPU compositing'i hafiflet: sürekli dönüştürülen büyük yüzeylerde katman ipucu */
  .lb-hero-img.loaded { transform: none !important; }
}

/* STATİK kapak (otomatik değişen carousel YOK) + üstünde nazik ışıltı (sheen).
   Alttaki hizmet seçkisi ORİJİNAL otomatik kayan slider (.lb-concierge-service-slider) ile gelir;
   o slider'ın stili aşağıda (5104+) zaten tanımlı — burada yalnızca kapağı sabitliyoruz. */
.lb-concierge-card-static .lb-concierge-card-bg { animation: none !important; }
.lb-concierge-card-static .lb-concierge-card-sheen {
  display: block;       /* normalde gizli; statik kartta nazikçe görünür */
  opacity: .5;          /* daha hafif parıltı */
  animation-duration: 9s; /* daha yavaş/seyrek geçiş */
}

/* ── Global arama (header butonu + tam ekran overlay) ─────── */
.lb-search-btn { color: var(--gold-light); }
.lb-search {
  position: fixed; inset: 0; z-index: 1300;
  display: flex; flex-direction: column;
  background: linear-gradient(180deg, var(--navy) 0%, var(--navy-darker) 100%);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .28s var(--ease-luxury), transform .28s var(--ease-luxury), visibility .28s;
}
.lb-search.is-open { opacity: 1; visibility: visible; transform: none; }
.lb-search-bar {
  display: flex; align-items: center; gap: 12px;
  padding: calc(14px + env(safe-area-inset-top, 0px)) 16px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(7, 28, 46, .6);
  backdrop-filter: var(--blur-glass);
  -webkit-backdrop-filter: var(--blur-glass);
}
.lb-search-ico { color: var(--gold-light); font-size: 1.05rem; }
#lbSearchInput {
  flex: 1; min-width: 0;
  background: transparent; border: none; outline: none;
  color: #fff; font-family: var(--font-sans); font-size: 1.1rem; font-weight: 600;
}
#lbSearchInput::placeholder { color: rgba(255, 255, 255, .45); font-weight: 400; }
#lbSearchInput::-webkit-search-cancel-button { -webkit-appearance: none; }
.lb-search-close {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 12px;
  background: rgba(255, 255, 255, .08); border: none; color: #fff; cursor: pointer;
  display: grid; place-items: center;
}
.lb-search-results { flex: 1; overflow-y: auto; padding: 12px 12px calc(28px + env(safe-area-inset-bottom, 0px)); }
.lb-search-hint, .lb-search-empty { text-align: center; color: rgba(255, 255, 255, .5); padding: 44px 22px; font-size: 14px; }
.lb-search-empty i { font-size: 1.9rem; opacity: .4; display: block; margin-bottom: 12px; }
.lb-search-empty p { margin: 0; }
.lb-search-row {
  display: flex; align-items: center; gap: 13px; width: 100%; text-align: left;
  background: linear-gradient(135deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03));
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 16px; padding: 12px 14px; margin-bottom: 9px;
  color: #fff; font: inherit; cursor: pointer;
  transition: transform .15s var(--ease-luxury), border-color .15s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
}
.lb-search-row:active { transform: scale(.985); }
.lb-search-row:hover { border-color: rgba(var(--lbg-2), .42); }
.lb-search-row-ico {
  flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 13px; color: #fff;
  background: linear-gradient(135deg, rgba(var(--lbg-2), .9), rgba(153, 112, 38, .95));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3);
}
.lb-search-row-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-search-row-txt strong { font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-search-row-txt em { font-size: 11.5px; font-style: normal; color: rgba(255, 255, 255, .55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-search-row-chev { flex: 0 0 auto; color: rgba(255, 255, 255, .3); font-size: .8rem; }
@media (prefers-reduced-motion: reduce) { .lb-search { transition: opacity .2s; transform: none; } }

/* ── Memnuniyet nabzı (rating → yorum / Guest Relations) ─── */
.lb-pulse-stars { display: flex; justify-content: center; gap: 6px; margin: 8px 0 18px; }
.lb-pulse-star { background: none; border: none; cursor: pointer; padding: 6px; font-size: 30px; line-height: 1; color: rgba(255,255,255,.24); transition: transform .15s var(--ease-luxury), color .15s var(--ease-luxury); -webkit-tap-highlight-color: transparent; }
.lb-pulse-star:hover { color: var(--gold-light); transform: translateY(-2px); }
.lb-pulse-star:active { transform: scale(1.18); }
.lb-pulse-star.lit { color: var(--gold-light); }
.lb-pulse-actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.lb-pulse-review { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 14px 16px; border-radius: 14px; border: none; font: inherit; font-weight: 700; font-size: 1rem; color: #fff; cursor: pointer; text-decoration: none; transition: transform .18s var(--ease-luxury), box-shadow .18s var(--ease-luxury); }
.lb-pulse-review:active { transform: scale(.98); }
.lb-pulse-review:hover { box-shadow: 0 10px 26px rgba(0,0,0,.32); }
.lb-pulse-review.g { background: linear-gradient(135deg, #4285F4, #2f63c9); }
.lb-pulse-review.t { background: linear-gradient(135deg, #00aa6c, #00794c); }
.lb-pulse-review.gr { background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: var(--navy-darker); }

/* ── Detay sayfası: çalışma saati / şu an açık çipi ───────── */
.lb-detail-hours {
  display: inline-flex; align-items: center; gap: 9px;
  margin: 0 0 14px; padding: 9px 15px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.13);
  font-size: 13px; color: #fff;
}
.lb-detail-hours strong { font-weight: 800; }
.lb-detail-hours em { font-style: normal; color: rgba(255,255,255,.72); display: inline-flex; align-items: center; gap: 5px; }
.lb-detail-hours em i { color: var(--gold-light); }
.lb-detail-hours-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex: 0 0 auto; }
.lb-detail-hours.is-open { border-color: rgba(53,198,211,.45); }
.lb-detail-hours.is-open .lb-detail-hours-dot { background: var(--teal); box-shadow: 0 0 0 4px rgba(53,198,211,.18); animation: lbTodayPulse 1.4s ease-in-out infinite; }
.lb-detail-hours.is-soon .lb-detail-hours-dot { background: var(--gold-light); }
.lb-detail-hours.is-closed { opacity: .82; }
.lb-detail-hours.is-closed .lb-detail-hours-dot { background: rgba(255,255,255,.4); }
@media (prefers-reduced-motion: reduce) { .lb-detail-hours.is-open .lb-detail-hours-dot { animation: none; } }
.lb-detail-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.lb-detail-meta > .lb-detail-hours, .lb-detail-meta > .lb-fav-btn { margin-bottom: 0; }

/* ── Favori / Benim Planım ──────────────────────────────── */
.lb-fav-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.14); color: #fff;
  font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s var(--ease-luxury), border-color .18s var(--ease-luxury), background .18s var(--ease-luxury);
}
.lb-fav-btn i { color: var(--gold-light); }
.lb-fav-btn:active { transform: scale(.95); }
.lb-fav-btn.is-on { background: linear-gradient(135deg, rgba(var(--lbg-2),.30), rgba(var(--lbg-2),.10)); border-color: rgba(var(--lbg-2),.5); }
.lb-myplan-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--gold); color: var(--navy-darker); font-size: 11px; font-weight: 900; display: inline-grid; place-items: center; margin-left: auto; }
.lb-myplan-title { color: #fff; font-family: var(--font-display); font-size: 1.15rem; flex: 1; min-width: 0; }
.lb-myplan-star { color: var(--gold-light); font-size: 1.05rem; padding: 8px; flex: 0 0 auto; }

.lb-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  padding: 16px 14px 8px;
}

.lb-card {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  aspect-ratio: 1 / 1.12;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  background: var(--navy-mid);
  transition: transform .32s var(--ease-luxury), box-shadow .32s var(--ease-luxury);
  box-shadow: var(--shadow-card);
  opacity: 0;
  animation: cardEnter .6s var(--ease-luxury) both;
}
.lb-card:nth-child(1) { animation-delay: .05s; }
.lb-card:nth-child(2) { animation-delay: .12s; }
.lb-card:nth-child(3) { animation-delay: .19s; }
.lb-card:nth-child(4) { animation-delay: .26s; }
.lb-card:nth-child(5) { animation-delay: .33s; }
.lb-card:nth-child(6) { animation-delay: .40s; }
.lb-card:nth-child(7) { animation-delay: .47s; }
.lb-card:nth-child(8) { animation-delay: .54s; }
.lb-card:nth-child(9) { animation-delay: .61s; }
.lb-card:nth-child(n+10) { animation-delay: .68s; }
@keyframes cardEnter {
  from { opacity: 0; transform: translateY(28px) scale(.93); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.lb-card:active {
  transform: scale(.965);
  box-shadow: 0 8px 24px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.08) inset;
}
.lb-card:first-child:nth-last-child(odd) {
  grid-column: 1 / -1;
  aspect-ratio: 2.4 / 1;
}

/* ── Skeleton shimmer (görsel yüklenene kadar) + kart girişi ── */
.lb-card-img:not(.loaded) {
  background-color: var(--navy-mid);
  background-image: linear-gradient(100deg, rgba(255,255,255,.03) 28%, rgba(255,255,255,.11) 50%, rgba(255,255,255,.03) 72%);
  background-size: 220% 100%;
  background-repeat: no-repeat;
  animation: lbShimmer 1.5s ease-in-out infinite;
}
@keyframes lbShimmer { 0% { background-position: 130% 0; } 100% { background-position: -130% 0; } }
.lb-grid > *,
.lb-today-list > * { animation: lbCardIn .5s var(--ease-luxury) both; }
.lb-grid > *:nth-child(2), .lb-today-list > *:nth-child(2) { animation-delay: .045s; }
.lb-grid > *:nth-child(3), .lb-today-list > *:nth-child(3) { animation-delay: .09s; }
.lb-grid > *:nth-child(4), .lb-today-list > *:nth-child(4) { animation-delay: .135s; }
.lb-grid > *:nth-child(5), .lb-today-list > *:nth-child(5) { animation-delay: .18s; }
.lb-grid > *:nth-child(6), .lb-today-list > *:nth-child(6) { animation-delay: .225s; }
.lb-grid > *:nth-child(n+7), .lb-today-list > *:nth-child(n+7) { animation-delay: .27s; }
@keyframes lbCardIn { from { opacity: 0; transform: translateY(11px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .lb-card-img:not(.loaded) { animation: none; }
  .lb-grid > *, .lb-today-list > * { animation: none; }
}

.lb-card-img {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  transition: transform .6s var(--ease-luxury), filter .4s var(--ease-luxury);
  filter: saturate(1.05);
}
.lb-card:active .lb-card-img { transform: scale(1.08); filter: saturate(1.2) brightness(1.06); }

.lb-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  border: 1px solid rgba(var(--lbg-1),.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
  z-index: 3;
}

/* 3D Floating FA Icon on home cards */
.lb-card-fa-icon {
  position: absolute;
  top: 14px;
  left: 14px;
  width: 42px; height: 42px;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  display: grid;
  place-items: center;
  z-index: 3;
  box-shadow:
    0 6px 18px rgba(var(--lbg-1),.45),
    0 2px 4px rgba(0,0,0,.3),
    inset 0 2px 0 rgba(255,255,255,.35),
    inset 0 -2px 4px rgba(0,0,0,.2);
  border: 1px solid rgba(255,255,255,.22);
  transition: transform .35s var(--ease-luxury);
}
.lb-card:active .lb-card-fa-icon {
  transform: scale(1.12) rotate(-8deg);
}
.lb-card-fa-icon i {
  font-size: 17px;
  color: var(--white);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.5));
}

.lb-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, rgba(5,15,28,.55) 60%, rgba(5,15,28,.94) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 16px 16px 14px;
  gap: 4px;
  z-index: 2;
}
.lb-card-weather {
  width: min(100%, 300px);
  margin: 0 0 auto auto;
  padding: 8px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.16);
  background:
    linear-gradient(145deg, rgba(8,31,50,.66), rgba(5,15,28,.34)),
    radial-gradient(circle at 18% 0%, rgba(53,198,211,.20), transparent 50%);
  box-shadow:
    0 10px 24px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: var(--blur-glass);
  -webkit-backdrop-filter: var(--blur-glass);
  transform: translateY(-1px);
}
.lb-card-weather[hidden] { display: none !important; }
.lb-weather-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}
.lb-weather-head span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: rgba(255,255,255,.78);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lb-weather-head span i { color: var(--gold-light); font-size: 11px; }
.lb-weather-head strong {
  color: var(--white);
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
  text-shadow: 0 2px 9px rgba(0,0,0,.36);
}
.lb-weather-days {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}
.lb-weather-day {
  min-width: 0;
  display: grid;
  place-items: center;
  gap: 3px;
  padding: 5px 3px;
  border-radius: 10px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.08);
}
.lb-weather-day b {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  color: rgba(255,255,255,.74);
  font-size: 8.5px;
  font-weight: 900;
  white-space: nowrap;
}
.lb-weather-day i {
  color: var(--gold-light);
  font-size: 12px;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.34));
}
.lb-weather-day em {
  color: rgba(255,255,255,.86);
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.lb-card-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.14;
  letter-spacing: .002em;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.lb-card-count {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: var(--gold-light);
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  margin-top: 4px;
}
.lb-card-count i { font-size: 9px; }

.lb-weather-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 232px;
  border-radius: 22px;
  overflow: hidden;
  background: var(--navy-mid);
  box-shadow: 0 18px 42px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.04);
  opacity: 0;
  transform-style: preserve-3d;
  perspective: 900px;
  transform: translateY(24px) scale(.94) rotateX(10deg);
}
body.lb-app-ready .lb-weather-card {
  animation: weatherCardIn .82s cubic-bezier(.16, 1, .3, 1) .12s both;
}
.lb-weather-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  border: 1px solid rgba(var(--lbg-4),.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    inset 0 -26px 46px rgba(2,8,16,.34);
  z-index: 4;
}
.lb-weather-card-bg {
  position: absolute;
  inset: -32px;
  background-image: url('assets/today/today-noon.webp');
  background-size: cover;
  background-position: center 64%;
  filter: saturate(1.12) contrast(1.05) brightness(.84);
  --weather-bg-shift-y: clamp(-30px, -5.8vw, -18px);
  transform: translate3d(0, var(--weather-bg-shift-y), -24px) scale(1.03);
  transform-origin: center 62%;
  animation: weatherBgSlowZoom 16s cubic-bezier(.22, .61, .36, 1) 1.1s infinite alternate;
}
.lb-weather-card-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 86%, rgba(53,198,211,.12), transparent 40%),
    radial-gradient(circle at 84% 12%, rgba(var(--lbg-4),.16), transparent 38%),
    radial-gradient(120% 92% at 50% 118%, rgba(4,13,23,.30), transparent 62%),
    linear-gradient(180deg, rgba(4,13,23,.08) 0%, rgba(4,13,23,.30) 36%, rgba(4,13,23,.70) 66%, rgba(4,13,23,.92) 100%),
    linear-gradient(90deg, rgba(4,13,23,.74) 0%, rgba(4,13,23,.40) 46%, rgba(4,13,23,.20) 100%);
  z-index: 1;
}
.lb-weather-card-shade::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255,255,255,.08) 0%, transparent 24%, transparent 72%, rgba(var(--lbg-4),.08) 100%);
  mix-blend-mode: screen;
  opacity: .52;
  pointer-events: none;
}
.lb-weather-card-copy {
  position: relative;
  z-index: 2;
  padding: 18px 18px 0;
  display: grid;
  gap: 4px;
  transform: translateZ(28px);
}
.lb-weather-card-copy span {
  color: var(--gold-light);
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .26em;
  text-shadow: 0 2px 7px rgba(0,0,0,.55);
}
.lb-weather-card .lb-card-weather {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 3;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: translateZ(42px);
}
.lb-weather-daily {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "main range"
    "advice advice"
    "activity activity";
  align-items: end;
  gap: 7px 14px;
}
.lb-weather-main {
  grid-area: main;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  column-gap: 12px;
  row-gap: 2px;
}
.lb-weather-main strong {
  color: var(--white);
  font-size: 70px;
  line-height: .8;
  font-weight: 900;
  text-shadow: 0 8px 28px rgba(0,0,0,.62);
}
.lb-weather-main em {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.93);
  font-size: 12.5px;
  font-style: normal;
  font-weight: 820;
  text-shadow: 0 4px 16px rgba(0,0,0,.62);
  white-space: nowrap;
  padding-bottom: 7px;
}
.lb-weather-main em i {
  color: var(--gold-light);
  font-size: 14px;
}
.lb-weather-range {
  grid-area: range;
  justify-self: end;
  align-self: end;
  color: rgba(255,255,255,.92);
  text-align: right;
  border-top: 0;
  padding-top: 0;
  min-width: 0;
  max-width: none;
  padding-left: 0;
  border-left: 0;
  display: block;
  text-shadow: 0 4px 16px rgba(0,0,0,.62);
}
.lb-weather-range span {
  color: var(--white);
  font-size: 16px;
  font-weight: 850;
  white-space: nowrap;
  display: inline-block;
  margin-top: 0;
  padding-top: 8px;
  border-top: 1px solid rgba(var(--lbg-4),.70);
  letter-spacing: .02em;
}
.lb-weather-activity {
  grid-area: activity;
  display: grid;
  grid-template-columns: minmax(104px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin-top: 7px;
  padding-top: 10px;
  border-top: 1px solid rgba(var(--lbg-4),.38);
}
.lb-weather-activity small {
  color: var(--gold-light);
  font-size: 8.6px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  white-space: nowrap;
}
.lb-weather-activity-mask {
  height: 22px;
  overflow: hidden;
  min-width: 0;
  position: relative;
}
.lb-weather-activity-track {
  position: relative;
  height: 22px;
  min-width: 0;
}
.lb-weather-activity-item {
  display: flex;
  align-items: center;
  gap: 8px;
  position: absolute;
  inset: 0;
  height: 22px;
  opacity: 0;
  transform: translate3d(10px, 0, 0);
  pointer-events: none;
  transition:
    opacity .45s ease,
    transform .52s cubic-bezier(.16, 1, .3, 1);
}
.lb-weather-activity-item.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.lb-weather-activity-item b {
  color: var(--white);
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .01em;
}
.lb-weather-activity-item em {
  color: rgba(255,255,255,.88);
  min-width: 0;
  font-size: 12px;
  font-style: normal;
  font-weight: 780;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-weather-activity-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 5px;
}
.lb-weather-activity-dots i {
  width: 10px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.28);
  transition: width .28s ease, background .28s ease;
}
.lb-weather-activity-dots i.is-active {
  width: 18px;
  background: var(--gold-light);
}
.lb-weather-advice {
  grid-area: advice;
  width: min(100%, 310px);
  max-width: 100%;
  margin: 0;
  color: rgba(255,255,255,.94);
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: 12.6px;
  font-weight: 760;
  line-height: 1.3;
  text-shadow: 0 4px 18px rgba(0,0,0,.72);
}

/* Concierge Shuttle — compact home service teaser */
.lb-shuttle-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 146px;
  border-radius: 22px;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  background: #102841;
  box-shadow:
    0 18px 46px rgba(0,0,0,.34),
    0 0 0 1px rgba(var(--lbg-4),.14);
  opacity: 0;
  transform: translateY(22px) scale(.95) rotateX(8deg);
  transform-style: preserve-3d;
  perspective: 900px;
}
body.lb-app-ready .lb-shuttle-card {
  animation: shuttleCardIn .85s var(--ease-luxury) .22s both;
}
.lb-shuttle-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  border-radius: inherit;
  border: 1px solid rgba(var(--lbg-4),.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -54px 82px rgba(2,8,16,.56);
}
.lb-shuttle-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(96deg, rgba(3,11,21,.86) 0%, rgba(5,19,33,.62) 48%, rgba(5,19,33,.22) 100%),
    linear-gradient(180deg, rgba(3,11,21,.05), rgba(3,11,21,.82)),
    url('assets/bodrum-kalesi.webp');
  background-size: cover;
  background-position: center 44%;
  filter: saturate(1.06) contrast(1.03);
  transform: scale(1.04);
  animation: shuttleBgDrift 18s ease-in-out infinite alternate;
}
.lb-shuttle-orbit {
  position: absolute;
  z-index: 1;
  right: -46px;
  top: -62px;
  width: 158px;
  height: 158px;
  border-radius: 50%;
  border: 1px solid rgba(var(--lbg-4),.20);
  background:
    radial-gradient(circle at 50% 50%, rgba(var(--lbg-4),.19), transparent 56%),
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.14), transparent 22%);
  opacity: .72;
  animation: shuttleOrbFloat 7s ease-in-out infinite alternate;
}
.lb-shuttle-copy,
.lb-shuttle-strip,
.lb-shuttle-cta {
  position: relative;
  z-index: 3;
}
.lb-shuttle-copy {
  width: min(100%, 420px);
  padding: 15px 18px 8px;
  display: grid;
  gap: 4px;
  transform: translateZ(38px);
}
.lb-shuttle-copy span {
  color: var(--gold-light);
  font-size: 8.4px;
  font-weight: 900;
  letter-spacing: .24em;
  text-shadow: 0 3px 13px rgba(0,0,0,.58);
}
.lb-shuttle-copy h2 {
  max-width: 11ch;
  font-family: var(--font-display);
  color: var(--white);
  font-size: clamp(28px, 7.2vw, 40px);
  line-height: .94;
  letter-spacing: 0;
  text-wrap: balance;
  text-shadow: 0 8px 28px rgba(0,0,0,.54);
}
.lb-shuttle-copy p {
  max-width: min(100%, 310px);
  color: rgba(255,255,255,.88);
  font-size: 11.3px;
  font-weight: 760;
  line-height: 1.28;
  text-shadow: 0 4px 18px rgba(0,0,0,.62);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lb-shuttle-strip {
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border-radius: 999px;
  background: rgba(5,15,28,.58);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: translateZ(56px);
}
.lb-shuttle-strip > span {
  min-width: 0;
  height: 32px;
  padding: 0 9px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.90);
  font-size: 10.3px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.08);
}
.lb-shuttle-strip > span:first-child {
  flex: 1;
}
.lb-shuttle-strip i {
  flex: 0 0 auto;
  color: var(--gold-soft);
  font-size: 11px;
}
.lb-shuttle-cta {
  flex: 0 0 auto;
  height: 32px;
  min-width: 92px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  background: linear-gradient(135deg, #f5d98a, var(--gold));
  color: #0d2338;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  font-size: 10.5px;
  font-weight: 950;
  cursor: pointer;
  box-shadow:
    0 14px 34px rgba(var(--lbg-1),.28),
    inset 0 1px 0 rgba(255,255,255,.42);
}
.lb-shuttle-cta:active,
.lb-shuttle-card:active .lb-shuttle-cta {
  transform: scale(.985);
}
@keyframes shuttleCardIn {
  0% { opacity: 0; transform: translateY(22px) scale(.95) rotateX(8deg); }
  65% { opacity: 1; transform: translateY(-3px) scale(1.01) rotateX(-1.5deg); }
  100% { opacity: 1; transform: translateY(0) scale(1) rotateX(0deg); }
}
@keyframes shuttleBgDrift {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to { transform: scale(1.11) translate3d(-1.6%, -.8%, 0); }
}
@keyframes shuttleOrbFloat {
  from { transform: translate3d(0,0,0) scale(1); opacity: .58; }
  to { transform: translate3d(-14px,16px,0) scale(1.08); opacity: .84; }
}

/* Concierge Shuttle modal */
.lb-shuttle-modal {
  position: fixed;
  inset: 0;
  z-index: 1340;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(14px + var(--safe-top)) 12px calc(14px + var(--safe-bot));
  background: rgba(2,10,18,.66);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
  overflow: hidden;
}
.lb-shuttle-modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.lb-shuttle-modal.is-leaving {
  opacity: 0;
}
.lb-shuttle-modal-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 16%, rgba(var(--lbg-5),.22), transparent 34%),
    linear-gradient(120deg, rgba(2,10,18,.94), rgba(5,19,33,.76)),
    url('assets/bodrum-kalesi.webp') center/cover;
  filter: blur(20px) saturate(1.14) brightness(.70);
  transform: scale(1.14);
}
.lb-shuttle-panel {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
  max-height: calc(100vh - 32px - var(--safe-top) - var(--safe-bot));
  overflow: hidden auto;
  border-radius: 32px;
  border: 1px solid rgba(var(--lbg-5),.28);
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.04)),
    rgba(5,18,31,.88);
  box-shadow:
    0 38px 120px rgba(0,0,0,.64),
    0 0 0 1px rgba(255,255,255,.06) inset,
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(28px) saturate(1.24);
  -webkit-backdrop-filter: blur(28px) saturate(1.24);
  transform: translateY(30px) scale(.965);
  transition: transform .52s cubic-bezier(.16, 1, .3, 1);
}
.lb-shuttle-modal.is-visible .lb-shuttle-panel {
  transform: translateY(0) scale(1);
}
.lb-shuttle-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(5,15,28,.60);
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.lb-shuttle-panel-hero {
  position: relative;
  min-height: 238px;
  padding: 34px 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  overflow: hidden;
  background:
    linear-gradient(88deg, rgba(3,11,21,.86), rgba(3,11,21,.42) 58%, rgba(3,11,21,.08)),
    linear-gradient(180deg, rgba(3,11,21,.02), rgba(3,11,21,.86)),
    url('assets/bodrum-kalesi.webp') center 42%/cover;
}
.lb-shuttle-panel-hero::after {
  content: '';
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(var(--lbg-5),.72), transparent);
  pointer-events: none;
}
.lb-shuttle-panel-badge {
  width: max-content;
  max-width: calc(100% - 58px);
  min-height: 34px;
  padding: 0 11px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-soft);
  background: rgba(3,11,21,.48);
  border: 1px solid rgba(var(--lbg-5),.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.lb-shuttle-panel-badge span {
  color: var(--gold-soft);
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.lb-shuttle-panel-hero h3 {
  font-family: var(--font-display);
  font-size: clamp(40px, 8vw, 66px);
  line-height: .94;
  color: var(--white);
  max-width: 9.5ch;
  text-shadow: 0 10px 30px rgba(0,0,0,.56);
}
.lb-shuttle-panel-hero p {
  width: min(100%, 520px);
  color: rgba(255,255,255,.88);
  font-weight: 760;
  line-height: 1.4;
}
.lb-shuttle-hero-ticket {
  width: min(100%, 420px);
  min-height: 64px;
  margin-top: 4px;
  border-radius: 20px;
  padding: 9px 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  background: rgba(4,13,24,.58);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.lb-shuttle-hero-ticket span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.lb-shuttle-hero-ticket small {
  color: rgba(255,255,255,.62);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lb-shuttle-hero-ticket b {
  color: #fff;
  font-size: 22px;
  line-height: 1;
}
.lb-shuttle-hero-ticket i {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
}
.lb-shuttle-panel-body {
  display: grid;
  gap: 12px;
  padding: 16px 18px 0;
}
.lb-shuttle-info {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
}
.lb-shuttle-info div {
  min-width: 0;
  min-height: 86px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.13);
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 12px 10px;
}
.lb-shuttle-info i {
  color: var(--gold-soft);
  font-size: 17px;
}
.lb-shuttle-info span {
  color: rgba(255,255,255,.70);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.lb-shuttle-info b {
  color: var(--white);
  font-size: 18px;
}
.lb-shuttle-route-card {
  min-height: 92px;
  border-radius: 22px;
  padding: 14px;
  display: grid;
  grid-template-columns: 46px 1fr;
  align-items: center;
  gap: 12px;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--lbg-5),.20), transparent 44%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  border: 1px solid rgba(var(--lbg-5),.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.lb-shuttle-route-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow: 0 12px 26px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.42);
}
.lb-shuttle-route-card div:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.lb-shuttle-route-card span {
  color: var(--gold-soft);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.lb-shuttle-route-card strong {
  color: #fff;
  font-size: 17px;
  line-height: 1.16;
}
.lb-shuttle-route-card em {
  color: rgba(255,255,255,.70);
  font-size: 12px;
  line-height: 1.35;
  font-style: normal;
}
.lb-shuttle-note {
  margin: 0;
  border-radius: 18px;
  padding: 12px 13px;
  display: flex;
  gap: 9px;
  color: rgba(255,255,255,.82);
  background: rgba(3,11,21,.34);
  border: 1px solid rgba(255,255,255,.10);
  font-size: 12.5px;
  line-height: 1.48;
}
.lb-shuttle-note i {
  color: var(--gold-soft);
  margin-top: 2px;
}
.lb-shuttle-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}
.lb-shuttle-form-head {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  padding: 2px 2px 4px;
}
.lb-shuttle-form-head span {
  color: #fff;
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}
.lb-shuttle-form-head p {
  color: rgba(255,255,255,.68);
  font-size: 12.5px;
  line-height: 1.42;
}
.lb-shuttle-form label {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.lb-shuttle-form label.wide {
  grid-column: 1 / -1;
}
.lb-shuttle-form label span {
  color: var(--gold-soft);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.lb-shuttle-form input,
.lb-shuttle-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  background: rgba(3,11,21,.46);
  color: var(--white);
  outline: none;
  font: inherit;
  min-height: 48px;
  padding: 12px 13px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.lb-shuttle-form textarea {
  resize: vertical;
  min-height: 80px;
}
.lb-shuttle-form input:focus,
.lb-shuttle-form textarea:focus {
  border-color: rgba(var(--lbg-4),.62);
  box-shadow: 0 0 0 3px rgba(var(--lbg-4),.12), inset 0 1px 0 rgba(255,255,255,.08);
}
.lb-shuttle-error {
  grid-column: 1 / -1;
  min-height: 18px;
  color: #ffd6d6;
  font-size: 12px;
  font-weight: 800;
}
.lb-shuttle-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 10px;
}
.lb-shuttle-actions button {
  min-height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: var(--white);
  font-weight: 950;
  cursor: pointer;
}
.lb-shuttle-actions button.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: linear-gradient(135deg, #22df70, #128c4d);
  color: #fff;
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 16px 38px rgba(37,211,102,.30), inset 0 1px 0 rgba(255,255,255,.35);
}
@media (min-width: 760px) {
  .lb-shuttle-card {
    min-height: 176px;
    border-radius: 26px;
  }
  .lb-shuttle-copy {
    width: min(100%, 560px);
    padding: 24px 32px 10px;
  }
  .lb-shuttle-copy h2 { max-width: 13ch; }
  .lb-shuttle-copy p {
    font-size: 13.4px;
    max-width: 430px;
  }
  .lb-shuttle-strip {
    left: 30px;
    right: auto;
    bottom: 20px;
    width: min(620px, calc(100% - 60px));
  }
  .lb-shuttle-cta {
    min-width: 118px;
    padding: 0 18px;
  }
}
@media (max-width: 759px) {
  .lb-shuttle-card {
    min-height: 144px;
  }
  .lb-shuttle-copy {
    padding: 14px 15px 6px;
  }
  .lb-shuttle-copy h2 {
    max-width: 9.5ch;
    font-size: clamp(26px, 7.1vw, 32px);
  }
  .lb-shuttle-copy p {
    max-width: 235px;
    font-size: 10.4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lb-shuttle-strip {
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 4px;
    padding: 4px;
  }
  .lb-shuttle-strip > span {
    height: 30px;
    padding: 0 8px;
    font-size: 9.4px;
  }
  .lb-shuttle-strip > span:first-child {
    display: none;
  }
  .lb-shuttle-strip > span:nth-of-type(2) {
    justify-content: flex-start;
  }
  .lb-shuttle-cta {
    height: 30px;
    min-width: 74px;
    padding: 0 9px;
    font-size: 9.5px;
  }
  .lb-shuttle-cta i {
    font-size: 10px;
  }
  .lb-shuttle-info,
  .lb-shuttle-form {
    grid-template-columns: 1fr;
  }
  .lb-shuttle-actions {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 520px) {
  .lb-shuttle-strip {
    right: auto;
    width: min(282px, calc(100% - 20px));
    grid-template-columns: minmax(0, 1fr) 34px;
    padding-right: 4px;
  }
  .lb-shuttle-strip > span:nth-of-type(3) {
    display: none;
  }
  .lb-shuttle-cta {
    position: relative;
    width: 34px;
    min-width: 34px;
    padding: 0;
  }
  .lb-shuttle-cta span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .lb-shuttle-info,
  .lb-shuttle-form {
    grid-template-columns: 1fr;
  }
  .lb-shuttle-actions {
    grid-template-columns: 1fr;
  }
}

/* Shuttle card final polish: Bodrum concierge pass */
.lb-shuttle-card {
  min-height: 166px;
  border-radius: 24px;
  background: #071421;
  box-shadow:
    0 24px 58px rgba(0,0,0,.42),
    0 0 0 1px rgba(var(--lbg-5),.25),
    inset 0 1px 0 rgba(255,255,255,.16);
}
.lb-shuttle-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(92deg, rgba(4,12,22,.78) 0%, rgba(4,12,22,.48) 43%, rgba(4,12,22,.04) 100%),
    linear-gradient(180deg, rgba(255,255,255,.14), transparent 42%, rgba(2,8,15,.42) 100%),
    radial-gradient(circle at 84% 18%, rgba(var(--lbg-5),.32), transparent 30%);
}
.lb-shuttle-card::after {
  border-color: rgba(var(--lbg-5),.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -34px 58px rgba(2,8,16,.38),
    inset 0 0 0 1px rgba(255,255,255,.06);
}
.lb-shuttle-bg {
  opacity: 1;
  background-image: url('assets/bodrum-kalesi.webp');
  background-position: center 43%;
  transform: scale(1.07);
  filter: saturate(1.18) contrast(1.04) brightness(1.08);
}
.lb-shuttle-orbit {
  display: none;
}
.lb-shuttle-copy {
  width: auto;
  padding: 17px 118px 58px 18px;
  gap: 4px;
}
.lb-shuttle-copy span {
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  color: #f5d98a;
  background: rgba(3,11,20,.34);
  border: 1px solid rgba(var(--lbg-5),.26);
  font-size: 8px;
  letter-spacing: .22em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.lb-shuttle-copy h2 {
  max-width: 8.5ch;
  font-size: clamp(34px, 8.7vw, 44px);
  line-height: .92;
}
.lb-shuttle-copy p {
  max-width: 276px;
  color: rgba(255,255,255,.92);
  font-size: 11.5px;
  line-height: 1.32;
}
.lb-shuttle-strip {
  left: 10px;
  right: 10px;
  bottom: 12px;
  width: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(112px, .72fr) 40px;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.lb-shuttle-strip > span {
  height: 34px;
  padding: 0 12px;
  background: rgba(4,13,24,.56);
  border-color: rgba(255,255,255,.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 22px rgba(0,0,0,.20);
}
.lb-shuttle-strip > span:nth-of-type(2) {
  justify-content: center;
}
.lb-shuttle-strip > span:nth-of-type(3) {
  display: none;
}
.lb-shuttle-strip i {
  color: #f5d98a;
}
.lb-shuttle-cta {
  width: 40px;
  min-width: 40px;
  height: 34px;
  padding: 0;
  border-color: rgba(255,255,255,.46);
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.42), transparent 34%),
    linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow:
    0 14px 32px rgba(var(--lbg-5),.36),
    inset 0 1px 0 rgba(255,255,255,.52);
}
.lb-shuttle-cta span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.lb-shuttle-cta i {
  font-size: 12px;
}
@media (min-width: 760px) {
  .lb-shuttle-card {
    min-height: 184px;
  }
  .lb-shuttle-copy {
    padding: 26px 210px 64px 30px;
  }
  .lb-shuttle-copy h2 {
    max-width: none;
    font-size: clamp(42px, 4.2vw, 56px);
  }
  .lb-shuttle-copy p {
    max-width: 430px;
    font-size: 13.4px;
  }
  .lb-shuttle-strip {
    left: 30px;
    right: 30px;
    bottom: 20px;
    width: auto;
    grid-template-columns: minmax(0, 1fr) auto auto 118px;
  }
  .lb-shuttle-strip > span:nth-of-type(3) {
    display: inline-flex;
  }
  .lb-shuttle-cta {
    width: auto;
    min-width: 118px;
    padding: 0 16px;
    font-size: 10.5px;
  }
  .lb-shuttle-cta span {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
  }
}
@media (max-width: 759px) {
  .lb-shuttle-card {
    min-height: 164px;
  }
  .lb-shuttle-copy {
    padding: 16px 92px 56px 14px;
  }
  .lb-shuttle-copy h2 {
    font-size: clamp(32px, 8.2vw, 38px);
  }
  .lb-shuttle-copy p {
    max-width: 250px;
    font-size: 10.8px;
  }
  .lb-shuttle-strip {
    left: 10px;
    right: 10px;
    width: auto;
    bottom: 11px;
    grid-template-columns: minmax(0, 1.25fr) minmax(112px, .75fr) 40px;
  }
  .lb-shuttle-strip > span:first-child {
    display: inline-flex;
  }
  .lb-shuttle-strip > span:nth-of-type(2) {
    font-size: 9.6px;
  }
}
@media (max-width: 380px) {
  .lb-shuttle-copy {
    padding-right: 72px;
  }
  .lb-shuttle-copy p {
    max-width: 218px;
  }
  .lb-shuttle-strip {
    grid-template-columns: minmax(0, 1fr) 38px;
  }
  .lb-shuttle-strip > span:nth-of-type(2) {
    display: none;
  }
}

@media (max-width: 759px) {
  .lb-shuttle-panel {
    border-radius: 28px;
  }
  .lb-shuttle-panel-hero {
    min-height: 226px;
    padding: 30px 26px 22px;
  }
  .lb-shuttle-panel-hero h3 {
    max-width: 12ch;
    font-size: clamp(36px, 10vw, 48px);
  }
  .lb-shuttle-panel-hero p {
    font-size: 13.5px;
    line-height: 1.34;
  }
  .lb-shuttle-hero-ticket {
    min-height: 58px;
    border-radius: 18px;
    padding: 8px 10px;
  }
  .lb-shuttle-hero-ticket b {
    font-size: 20px;
  }
  .lb-shuttle-panel-body {
    padding: 14px 14px 0;
    gap: 10px;
  }
  .lb-shuttle-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lb-shuttle-info div {
    min-height: 74px;
    border-radius: 17px;
    padding: 10px;
  }
  .lb-shuttle-info b {
    font-size: 16px;
  }
  .lb-shuttle-route-card {
    min-height: 86px;
    border-radius: 19px;
    grid-template-columns: 42px 1fr;
    padding: 12px;
  }
  .lb-shuttle-route-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }
  .lb-shuttle-form {
    grid-template-columns: 1fr;
    padding: 14px;
  }
}
@media (max-width: 380px) {
  .lb-shuttle-panel-hero {
    padding-inline: 22px;
  }
  .lb-shuttle-info {
    grid-template-columns: 1fr;
  }
}

/* Premium Concierge experience */
.lb-concierge-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 242px;
  border-radius: 26px;
  overflow: hidden;
  isolation: isolate;
  cursor: pointer;
  background: #071421;
  box-shadow:
    0 26px 64px rgba(0,0,0,.44),
    0 0 0 1px rgba(var(--lbg-5),.28),
    inset 0 1px 0 rgba(255,255,255,.14);
  opacity: 0;
  transform: translateY(22px) scale(.95) rotateX(8deg);
  transform-style: preserve-3d;
  perspective: 900px;
}
body.lb-app-ready .lb-concierge-card {
  animation: conciergeCardIn .86s var(--ease-luxury) .22s both;
}
.lb-concierge-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  border-radius: inherit;
  border: 1px solid rgba(var(--lbg-5),.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -46px 70px rgba(2,8,15,.44),
    inset 0 0 0 1px rgba(255,255,255,.06);
}
.lb-concierge-card-bg,
.lb-concierge-card-sheen,
.lb-concierge-live,
.lb-concierge-card-glass,
.lb-concierge-card-deck,
.lb-concierge-route,
.lb-concierge-card-copy,
.lb-concierge-card-strip {
  position: absolute;
}
.lb-concierge-card-bg {
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 84% 17%, rgba(var(--lbg-5),.24), transparent 24%),
    linear-gradient(96deg, rgba(4,12,22,.94) 0%, rgba(4,12,22,.74) 37%, rgba(4,12,22,.10) 100%),
    linear-gradient(180deg, rgba(255,255,255,.12), transparent 43%, rgba(2,8,15,.60) 100%),
    url('assets/concierge/concierge-service.jpg') center 48%/cover;
  filter: saturate(1.16) contrast(1.08) brightness(1.06);
  transform: scale(1.04);
  animation: conciergeBgDrift 16s ease-in-out infinite alternate;
}
.lb-concierge-card-sheen {
  inset: -35% -55%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 38%, rgba(255,255,255,.20) 49%, transparent 60%);
  transform: translateX(-36%) rotate(8deg);
  animation: conciergeSheen 6.8s ease-in-out infinite;
  opacity: .72;
}
.lb-concierge-live {
  z-index: 4;
  top: 13px;
  right: 13px;
  width: 124px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 999px;
  display: grid;
  grid-template-columns: 11px auto 1fr;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.92);
  background: rgba(4,13,24,.48);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 10px 26px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.lb-concierge-live span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #46f28a;
  box-shadow: 0 0 0 0 rgba(70,242,138,.42);
  animation: conciergePulse 1.7s ease-out infinite;
}
.lb-concierge-live b {
  font-size: 11px;
  line-height: 1;
}
.lb-concierge-live small {
  min-width: 0;
  color: rgba(255,255,255,.68);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-concierge-card-glass {
  z-index: 4;
  right: 13px;
  top: 58px;
  width: 124px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.18);
  background:
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.045)),
    rgba(9,26,40,.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 16px 42px rgba(0,0,0,.22);
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 8px;
  backdrop-filter: blur(10px) saturate(1.08);
  -webkit-backdrop-filter: blur(10px) saturate(1.08);
}
.lb-concierge-card-glass i {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow: 0 14px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.48);
}
.lb-concierge-card-glass small {
  color: rgba(255,255,255,.86);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .10em;
  text-transform: uppercase;
  line-height: 1.12;
}
.lb-concierge-card-deck {
  z-index: 3;
  right: 14px;
  top: 112px;
  width: 154px;
  height: 94px;
  transform: translateZ(44px);
  pointer-events: none;
}
.lb-concierge-deck-card {
  position: absolute;
  top: calc(var(--i) * 24px);
  right: calc(var(--i) * 4px);
  z-index: calc(8 - var(--i));
  width: 142px;
  height: 43px;
  border-radius: 16px;
  padding: 0 9px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  color: #fff;
  background-image:
    linear-gradient(90deg, rgba(4,13,24,.78), rgba(4,13,24,.46)),
    var(--service-bg);
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(255,255,255,.17);
  box-shadow:
    0 12px 28px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.13);
  transform: translate3d(0, 0, 0) rotate(calc((var(--i) - 1.5) * -1.4deg));
  animation: conciergeDeckFloat 5.6s ease-in-out infinite;
  animation-delay: calc(var(--i) * -.7s);
}
.lb-concierge-deck-card i {
  width: 30px;
  height: 30px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
}
.lb-concierge-deck-card span {
  min-width: 0;
  color: rgba(255,255,255,.94);
  font-size: 10px;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-concierge-route {
  z-index: 3;
  left: 18px;
  right: 178px;
  bottom: 63px;
  height: 22px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 8px;
  color: #f5d98a;
  opacity: .92;
  transform: translateZ(38px);
}
.lb-concierge-route span {
  position: relative;
  height: 1px;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(var(--lbg-13),.18), rgba(var(--lbg-13),.82), rgba(var(--lbg-13),.18));
}
.lb-concierge-route span::after {
  content: '';
  position: absolute;
  inset: -2px auto -2px 0;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.92), transparent);
  animation: conciergeRouteMove 2.4s ease-in-out infinite;
}
.lb-concierge-route i {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(4,13,24,.52);
  border: 1px solid rgba(var(--lbg-13),.28);
  font-size: 9px;
}
.lb-concierge-card-copy {
  z-index: 3;
  left: 18px;
  right: 172px;
  top: 18px;
  display: grid;
  gap: 6px;
  transform: translateZ(42px);
}
.lb-concierge-card-copy span {
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #f5d98a;
  background: rgba(3,11,20,.42);
  border: 1px solid rgba(var(--lbg-5),.28);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .21em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.lb-concierge-card-copy h2 {
  max-width: 9ch;
  font-family: var(--font-display);
  color: #fff;
  font-size: clamp(38px, 9.4vw, 54px);
  line-height: .90;
  letter-spacing: 0;
  text-shadow: 0 10px 30px rgba(0,0,0,.54);
}
.lb-concierge-card-copy p {
  max-width: 254px;
  color: rgba(255,255,255,.90);
  font-size: 11.6px;
  font-weight: 760;
  line-height: 1.36;
  text-shadow: 0 4px 16px rgba(0,0,0,.58);
}
.lb-concierge-card-strip {
  z-index: 7;
  left: 10px;
  right: 10px;
  bottom: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 42px;
  gap: 7px;
  transform: translateZ(56px);
}
.lb-concierge-chip,
.lb-concierge-card-cta {
  min-width: 0;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.17);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 22px rgba(0,0,0,.18);
}
.lb-concierge-chip {
  padding: 0 8px;
  color: rgba(255,255,255,.92);
  background: rgba(4,13,24,.58);
  font-size: 9.5px;
  font-weight: 930;
  cursor: pointer;
}
.lb-concierge-chip i {
  flex: 0 0 auto;
  color: #f5d98a;
  font-size: 10px;
}
.lb-concierge-chip span {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lb-concierge-chip:active,
.lb-concierge-card-cta:active {
  transform: scale(.975);
}
.lb-concierge-card-cta {
  padding: 0;
  background:
    linear-gradient(145deg, #f8df95, #b98a39);
  color: #10243a;
  cursor: pointer;
  animation: conciergeArrowPulse 2.2s ease-in-out infinite;
}
.lb-concierge-modal {
  position: fixed;
  inset: 0;
  z-index: 1345;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(14px + var(--safe-top)) 12px calc(14px + var(--safe-bot));
  background: rgba(2,10,18,.68);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
  overflow: hidden;
}
.lb-concierge-modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.lb-concierge-modal.is-leaving {
  opacity: 0;
}
.lb-concierge-modal-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(2,10,18,.94), rgba(5,25,40,.74)),
    url('assets/concierge/yacht-my004.jpg') center/cover;
  filter: blur(22px) saturate(1.12) brightness(.74);
  transform: scale(1.14);
}
.lb-concierge-panel {
  position: relative;
  z-index: 2;
  width: min(920px, 100%);
  max-height: calc(100vh - 32px - var(--safe-top) - var(--safe-bot));
  overflow: hidden auto;
  border-radius: 32px;
  border: 1px solid rgba(var(--lbg-5),.28);
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
    rgba(5,18,31,.90);
  box-shadow:
    0 38px 120px rgba(0,0,0,.64),
    0 0 0 1px rgba(255,255,255,.06) inset,
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(28px) saturate(1.18);
  -webkit-backdrop-filter: blur(28px) saturate(1.18);
  transform: translateY(30px) scale(.965);
  transition: transform .52s cubic-bezier(.16, 1, .3, 1);
}
.lb-concierge-modal.is-visible .lb-concierge-panel {
  transform: translateY(0) scale(1);
}
.lb-concierge-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 6;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(5,15,28,.66);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.lb-concierge-hero {
  position: relative;
  min-height: 332px;
  padding: 34px 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 14px;
  overflow: hidden;
  isolation: isolate;
}
.lb-concierge-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(92deg, rgba(3,11,21,.92), rgba(3,11,21,.62) 48%, rgba(3,11,21,.16)),
    linear-gradient(180deg, rgba(3,11,21,.02), rgba(3,11,21,.90));
  pointer-events: none;
}
.lb-concierge-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url('assets/concierge/yacht-my004.jpg') center 48%/cover;
  filter: saturate(1.12) contrast(1.02) brightness(.96);
}
.lb-concierge-hero-copy {
  position: relative;
  z-index: 3;
  width: min(100%, 565px);
  display: grid;
  gap: 9px;
}
.lb-concierge-hero-copy span,
.lb-concierge-block-head span,
.lb-concierge-service-body > span:not(.lb-concierge-service-action),
.lb-concierge-mini span,
.lb-concierge-yacht span,
.lb-concierge-shuttle span {
  color: var(--gold-soft);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.lb-concierge-hero-copy h3 {
  max-width: 14ch;
  font-family: var(--font-display);
  color: #fff;
  font-size: clamp(42px, 6vw, 60px);
  line-height: .94;
  letter-spacing: 0;
  text-shadow: 0 12px 34px rgba(0,0,0,.58);
}
.lb-concierge-hero-copy p {
  max-width: 540px;
  color: rgba(255,255,255,.88);
  font-weight: 760;
  line-height: 1.45;
}
.lb-concierge-stats {
  position: relative;
  z-index: 3;
  width: min(100%, 720px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.lb-concierge-stats span {
  min-width: 0;
  min-height: 42px;
  padding: 0 10px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.88);
  background: rgba(4,13,24,.54);
  border: 1px solid rgba(255,255,255,.13);
  font-size: 10px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lb-concierge-stats i {
  color: #f5d98a;
  flex: 0 0 auto;
}
.lb-concierge-body {
  display: grid;
  gap: 16px;
  padding: 18px;
}
.lb-concierge-overview {
  display: grid;
  gap: 16px;
}
.lb-concierge-overview[hidden],
.lb-concierge-detail-view[hidden] {
  display: none !important;
}
.lb-concierge-block,
.lb-concierge-split,
.lb-concierge-plan {
  display: grid;
  gap: 12px;
}
.lb-concierge-block-head {
  display: grid;
  gap: 5px;
  padding: 0 2px;
}
.lb-concierge-block-head p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.46;
}
.lb-concierge-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.lb-concierge-service {
  min-width: 0;
  position: relative;
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr);
  min-height: 166px;
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.032)),
    rgba(5,16,29,.68);
  border: 1px solid rgba(var(--lbg-5),.18);
  box-shadow:
    0 18px 44px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.12);
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.lb-concierge-service:hover,
.lb-concierge-service:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(248,223,149,.42);
  box-shadow:
    0 24px 56px rgba(0,0,0,.32),
    0 0 0 1px rgba(248,223,149,.18) inset;
  outline: none;
}
.lb-concierge-service-img {
  position: relative;
  min-height: 0;
  height: 100%;
  background-size: cover;
  background-position: center 54%;
  filter: saturate(1.02) contrast(1.04) brightness(.96);
  transform: scale(1.01);
}
.lb-concierge-service-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(4,13,24,.02) 0%, rgba(4,13,24,.18) 48%, rgba(4,13,24,.88) 100%),
    linear-gradient(115deg, rgba(255,255,255,.12), transparent 34%, rgba(var(--lbg-5),.12) 100%);
  pointer-events: none;
}
.lb-concierge-service-body {
  position: relative;
  min-height: 0;
  padding: 15px;
  display: grid;
  align-content: start;
  gap: 8px;
}
.lb-concierge-service-icon {
  width: 42px;
  height: 42px;
  margin-top: 0;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  border: 1px solid rgba(255,255,255,.30);
  box-shadow: 0 16px 34px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.50);
}
.lb-concierge-service h4 {
  color: #fff;
  font-size: 18px;
  line-height: 1.08;
  text-shadow: 0 8px 24px rgba(0,0,0,.36);
}
.lb-concierge-service p {
  color: rgba(255,255,255,.74);
  font-size: 12px;
  line-height: 1.38;
}
.lb-concierge-service-action,
.lb-concierge-main-cta,
.lb-concierge-shuttle button {
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 999px;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  color: #10243a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  font-size: 11px;
  font-weight: 950;
  cursor: pointer;
  box-shadow:
    0 14px 32px rgba(var(--lbg-5),.28),
    inset 0 1px 0 rgba(255,255,255,.52);
}
.lb-concierge-service-action {
  margin-top: auto;
  color: #10243a;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}
.lb-concierge-mini-grid,
.lb-concierge-yacht-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.lb-concierge-yacht-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lb-concierge-mini,
.lb-concierge-yacht {
  min-width: 0;
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    rgba(4,13,24,.36);
  border: 1px solid rgba(var(--lbg-5),.15);
  box-shadow: 0 14px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.10);
}
.lb-concierge-mini img,
.lb-concierge-yacht img {
  width: 100%;
  height: 136px;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.02) contrast(1.03) brightness(.96);
  background: rgba(255,255,255,.06);
}
.lb-concierge-mini div,
.lb-concierge-yacht div {
  padding: 12px;
  display: grid;
  gap: 5px;
}
.lb-concierge-mini strong,
.lb-concierge-yacht strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.16;
}
.lb-concierge-mini p,
.lb-concierge-yacht p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.36;
}
.lb-concierge-main-cta {
  width: max-content;
  min-width: 190px;
  justify-self: start;
}
.lb-concierge-shuttle {
  min-height: 138px;
  border-radius: 24px;
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  overflow: hidden;
  position: relative;
  background:
    linear-gradient(92deg, rgba(4,12,22,.86), rgba(4,12,22,.56) 48%, rgba(4,12,22,.12)),
    url('assets/bodrum-kalesi.webp') center 44%/cover;
  border: 1px solid rgba(var(--lbg-5),.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.lb-concierge-shuttle > div,
.lb-concierge-shuttle button {
  position: relative;
  z-index: 2;
}
.lb-concierge-shuttle strong {
  display: block;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(32px, 6vw, 48px);
  line-height: .95;
  letter-spacing: 0;
  text-shadow: 0 10px 28px rgba(0,0,0,.54);
}
.lb-concierge-shuttle p {
  max-width: 460px;
  margin: 5px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  line-height: 1.4;
}
.lb-concierge-plan {
  border-radius: 22px;
  padding: 14px;
  background: rgba(4,13,24,.34);
  border: 1px solid rgba(255,255,255,.10);
}
.lb-concierge-plan-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.lb-concierge-plan-steps span {
  min-height: 54px;
  border-radius: 16px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.80);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}
.lb-concierge-plan-steps b {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
}
.lb-concierge-detail-view {
  display: grid;
  gap: 14px;
}
.lb-concierge-detail-back {
  justify-self: start;
  min-height: 42px;
  border: 1px solid rgba(var(--lbg-5),.24);
  border-radius: 999px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,255,255,.92);
  background: rgba(var(--lbg-5),.08);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  transition: transform .25s var(--ease-luxury), background .25s var(--ease-luxury), border-color .25s var(--ease-luxury);
}
.lb-concierge-detail-back:active {
  transform: scale(.97);
  background: rgba(var(--lbg-5),.16);
  border-color: rgba(var(--lbg-5),.42);
}
.lb-concierge-detail-back i {
  color: var(--gold-light);
}
.lb-concierge-detail-hero {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  grid-template-rows: clamp(180px, 32vw, 240px) auto auto;
  gap: 14px;
  padding: 0 22px 22px;
  background:
    linear-gradient(180deg, rgba(3,11,21,0) 0%, rgba(3,11,21,.20) 38%, rgba(3,11,21,.82) 64%, rgba(7,24,39,.96) 100%),
    var(--service-image, linear-gradient(135deg, var(--navy), var(--navy-darker))) center 32%/cover;
  background-color: rgba(7,24,39,.78);
  border: 1px solid rgba(var(--lbg-5),.28);
  box-shadow:
    0 24px 60px rgba(0,0,0,.42),
    0 0 0 1px rgba(var(--lbg-5),.08) inset,
    inset 0 1px 0 rgba(255,255,255,.14);
  isolation: isolate;
}
.lb-concierge-detail-shade {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 78% 14%, rgba(248,223,149,.18), transparent 38%),
    radial-gradient(circle at 12% 86%, rgba(53,198,211,.12), transparent 42%);
  pointer-events: none;
}
.lb-concierge-detail-copy,
.lb-concierge-detail-cta {
  position: relative;
  z-index: 2;
}
.lb-concierge-detail-copy {
  grid-row: 2;
  max-width: 100%;
  display: grid;
  gap: 8px;
  padding-top: 2px;
}
.lb-concierge-detail-copy span,
.lb-concierge-detail-grid span,
.lb-concierge-required span {
  color: var(--gold-soft);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.lb-concierge-detail-copy h3 {
  max-width: 18ch;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(28px, 4.8vw, 44px);
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 0 8px 24px rgba(0,0,0,.7);
}
.lb-concierge-detail-copy p {
  max-width: 560px;
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 13.5px;
  font-weight: 760;
  line-height: 1.5;
}
.lb-concierge-detail-cta {
  grid-row: 3;
  width: 100%;
  min-height: 54px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 16px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #10243a;
  background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  font-size: 13.5px;
  font-weight: 950;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow:
    0 14px 38px rgba(var(--lbg-5),.42),
    0 0 0 1px rgba(255,255,255,.14) inset,
    inset 0 1px 0 rgba(255,255,255,.55);
  transition: transform .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
}
.lb-concierge-detail-cta:active {
  transform: scale(.98);
  box-shadow:
    0 8px 22px rgba(var(--lbg-5),.32),
    0 0 0 1px rgba(255,255,255,.14) inset,
    inset 0 1px 0 rgba(255,255,255,.55);
}
.lb-concierge-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.lb-concierge-detail-grid article,
.lb-concierge-required {
  position: relative;
  min-width: 0;
  border-radius: 22px;
  padding: 18px 16px 16px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
    rgba(4,13,24,.48);
  border: 1px solid rgba(var(--lbg-5),.18);
  box-shadow:
    0 12px 28px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10);
  overflow: hidden;
}
.lb-concierge-detail-grid article::before,
.lb-concierge-required::before {
  content: '';
  position: absolute;
  top: 0; left: 14px; right: 14px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-5),.42), transparent);
}
.lb-concierge-detail-grid article {
  display: grid;
  gap: 10px;
}
.lb-concierge-detail-grid p {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: rgba(255,255,255,.78);
  font-size: 12.5px;
  font-weight: 760;
  line-height: 1.35;
}
.lb-concierge-detail-grid i {
  color: #f5d98a;
  margin-top: 2px;
}
.lb-concierge-required {
  display: grid;
  gap: 12px;
}
.lb-concierge-required strong {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 17px;
  line-height: 1.2;
}
.lb-concierge-required-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lb-concierge-required-list b {
  min-height: 34px;
  border-radius: 999px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  color: rgba(255,255,255,.88);
  background: linear-gradient(145deg, rgba(var(--lbg-5),.12), rgba(var(--lbg-5),.04));
  border: 1px solid rgba(var(--lbg-5),.22);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
@media (min-width: 760px) {
  .lb-concierge-card {
    min-height: 274px;
  }
  .lb-concierge-card-copy {
    left: 30px;
    top: 28px;
    right: 380px;
  }
  .lb-concierge-card-copy h2 {
    max-width: none;
    font-size: clamp(54px, 5vw, 72px);
  }
  .lb-concierge-card-copy p {
    max-width: 470px;
    font-size: 14px;
  }
  .lb-concierge-live {
    right: 30px;
    top: 22px;
  }
  .lb-concierge-card-glass {
    right: 30px;
    top: 72px;
    width: 150px;
  }
  .lb-concierge-card-deck {
    right: 30px;
    top: 132px;
    width: 230px;
  }
  .lb-concierge-deck-card {
    width: 210px;
    height: 48px;
  }
  .lb-concierge-route {
    left: 30px;
    right: 390px;
    bottom: 76px;
  }
  .lb-concierge-card-strip {
    left: 30px;
    right: 30px;
    bottom: 20px;
    grid-template-columns: repeat(3, minmax(0, 170px)) 48px;
  }
}
@media (max-width: 759px) {
  .lb-concierge-card {
    min-height: 244px;
  }
  .lb-concierge-card-copy {
    left: 14px;
    right: 160px;
    top: 16px;
  }
  .lb-concierge-card-copy h2 {
    font-size: clamp(35px, 9vw, 43px);
  }
  .lb-concierge-card-copy p {
    max-width: 236px;
    font-size: 10.8px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lb-concierge-card-glass {
    right: 86px;
    top: 58px;
    width: 116px;
    height: 50px;
  }
  .lb-concierge-live {
    right: 86px;
    top: 13px;
    width: 78px;
    grid-template-columns: 11px auto;
  }
  .lb-concierge-live small {
    display: none;
  }
  .lb-concierge-card-deck {
    right: 86px;
    top: 115px;
    width: 132px;
  }
  .lb-concierge-deck-card {
    width: 124px;
    height: 42px;
  }
  .lb-concierge-route {
    left: 15px;
    right: 172px;
    bottom: 62px;
  }
  .lb-concierge-card-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) 42px;
  }
  .lb-concierge-chip {
    font-size: 8.7px;
    gap: 4px;
    padding: 0 6px;
  }
  .lb-concierge-panel {
    border-radius: 28px;
  }
  .lb-concierge-hero {
    min-height: 304px;
    padding: 28px 20px 18px;
  }
  .lb-concierge-hero-copy h3 {
    max-width: 11ch;
    font-size: clamp(36px, 10vw, 48px);
  }
  .lb-concierge-hero-copy p {
    max-width: 300px;
    font-size: 13px;
    line-height: 1.36;
  }
  .lb-concierge-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lb-concierge-body {
    padding: 14px;
    gap: 14px;
  }
  .lb-concierge-service-grid,
  .lb-concierge-mini-grid,
  .lb-concierge-yacht-grid,
  .lb-concierge-plan-steps {
    grid-template-columns: 1fr;
  }
  .lb-concierge-service-grid,
  .lb-concierge-mini-grid,
  .lb-concierge-yacht-grid {
    gap: 14px;
  }
  .lb-concierge-service {
    grid-template-columns: 1fr;
    grid-template-rows: 154px auto;
    min-height: 0;
    border-radius: 24px;
  }
  .lb-concierge-service-img {
    height: 154px;
    min-height: 0;
    background-position: center 55%;
  }
  .lb-concierge-service-body {
    min-height: 0;
    padding: 0 14px 15px;
    gap: 7px;
  }
  .lb-concierge-service-icon {
    width: 46px;
    height: 46px;
    margin-top: -23px;
    border-radius: 17px;
  }
  .lb-concierge-service h4 {
    font-size: 18px;
  }
  .lb-concierge-service p {
    font-size: 12px;
    line-height: 1.4;
  }
  .lb-concierge-service-action {
    width: 100%;
    min-height: 44px;
    margin-top: 4px;
  }
  .lb-concierge-mini,
  .lb-concierge-yacht {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 150px auto;
    border-radius: 22px;
  }
  .lb-concierge-mini img,
  .lb-concierge-yacht img {
    height: 150px;
    min-height: 0;
  }
  .lb-concierge-mini div,
  .lb-concierge-yacht div {
    padding: 14px;
  }
  .lb-concierge-shuttle {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .lb-concierge-main-cta,
  .lb-concierge-shuttle button {
    width: 100%;
  }
  .lb-concierge-detail-hero {
    min-height: 268px;
    padding: 18px;
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(3,11,21,.18), rgba(3,11,21,.92)),
      linear-gradient(98deg, rgba(3,11,21,.84), rgba(3,11,21,.32)),
      var(--service-image) center/cover;
  }
  .lb-concierge-detail-copy h3 {
    max-width: 12ch;
    font-size: clamp(32px, 9vw, 42px);
  }
  .lb-concierge-detail-copy p {
    font-size: 12.5px;
    line-height: 1.38;
  }
  .lb-concierge-detail-cta,
  .lb-concierge-detail-back {
    width: 100%;
  }
  .lb-concierge-detail-grid {
    grid-template-columns: 1fr;
  }
  .lb-concierge-required-list b {
    width: 100%;
  }
}
@media (max-width: 380px) {
  .lb-concierge-card-copy {
    right: 126px;
  }
  .lb-concierge-card-copy p {
    max-width: 196px;
  }
  .lb-concierge-live {
    width: 72px;
    right: 64px;
  }
  .lb-concierge-card-glass {
    width: 108px;
    right: 64px;
  }
  .lb-concierge-card-deck {
    width: 118px;
    right: 64px;
  }
  .lb-concierge-deck-card {
    width: 110px;
  }
  .lb-concierge-deck-card:nth-child(4) {
    display: none;
  }
  .lb-concierge-route {
    right: 138px;
  }
  .lb-concierge-card-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) 42px;
  }
  .lb-concierge-chip:nth-child(3) {
    display: none;
  }
  .lb-concierge-service,
  .lb-concierge-mini,
  .lb-concierge-yacht {
    grid-template-columns: 1fr;
  }
  .lb-concierge-service {
    grid-template-rows: 142px auto;
  }
  .lb-concierge-service-img {
    height: 142px;
    min-height: 0;
  }
  .lb-concierge-mini,
  .lb-concierge-yacht {
    grid-template-rows: 136px auto;
  }
  .lb-concierge-mini img,
  .lb-concierge-yacht img {
    height: 136px;
    min-height: 0;
  }
}

/* Concierge card: weather-card style with a calm service slider */
.lb-concierge-card {
  min-height: 206px;
  border-radius: 24px;
  background: var(--navy-mid);
  box-shadow:
    0 18px 42px rgba(0,0,0,.32),
    0 0 0 1px rgba(255,255,255,.045);
  perspective: 900px;
}
.lb-concierge-card::after {
  z-index: 7;
  border-color: rgba(var(--lbg-4),.24);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -28px 48px rgba(2,8,16,.34);
}
.lb-concierge-card-bg {
  overflow: hidden;
  background-image: var(--concierge-card-fallback, url('assets/concierge/concierge-service.jpg'));
  background-size: cover;
  background-position: center 58%;
  filter: saturate(1.08) brightness(.96);
  transform: translateZ(-24px) scale(1.035);
  transform-origin: center 56%;
}
.lb-concierge-bg-slide {
  position: absolute;
  inset: -24px;
  background-image: var(--bg);
  background-size: cover;
  background-position: center var(--pos, 56%);
  opacity: 0;
  transform: scale(1.035) translate3d(0, 0, 0);
  animation: conciergeBgFade 30s ease-in-out infinite both;
  animation-delay: calc(var(--i) * 6s);
  will-change: opacity, transform;
}
.lb-concierge-card-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 18% 84%, rgba(53,198,211,.12), transparent 38%),
    radial-gradient(circle at 86% 30%, rgba(var(--lbg-4),.22), transparent 46%),
    radial-gradient(circle at 78% 10%, rgba(var(--lbg-4),.14), transparent 30%),
    linear-gradient(180deg, rgba(4,13,23,.04) 0%, rgba(4,13,23,.22) 48%, rgba(4,13,23,.80) 100%),
    linear-gradient(90deg, rgba(4,13,23,.80) 0%, rgba(4,13,23,.40) 50%, rgba(4,13,23,.08) 100%);
}
.lb-concierge-card-shade::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255,255,255,.08) 0%, transparent 25%, transparent 72%, rgba(var(--lbg-4),.08) 100%);
  mix-blend-mode: screen;
  opacity: .48;
  pointer-events: none;
}
.lb-concierge-card-sheen,
.lb-concierge-live,
.lb-concierge-card-glass,
.lb-concierge-card-deck,
.lb-concierge-route,
.lb-concierge-pill,
.lb-concierge-slider {
  display: none;
}
.lb-concierge-card-copy {
  z-index: 3;
  left: 18px;
  right: 18px;
  top: 17px;
  display: grid;
  gap: 5px;
  transform: translateZ(28px);
}
.lb-concierge-card-copy span {
  display: block;
  width: fit-content;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .25em;
  text-shadow: 0 2px 7px rgba(0,0,0,.55);
  background: transparent;
}
.lb-concierge-card-copy h2 {
  max-width: 9ch;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(42px, 10vw, 56px);
  line-height: .86;
  letter-spacing: 0;
  text-shadow: 0 8px 28px rgba(0,0,0,.62);
}
.lb-concierge-card-copy p {
  margin-top: 8px;
  max-width: min(100%, 292px);
  color: rgba(255,255,255,.92);
  font-size: 12.4px;
  font-weight: 780;
  line-height: 1.28;
  text-shadow: 0 4px 18px rgba(0,0,0,.66);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.lb-concierge-service-slider {
  position: absolute;
  left: 18px;
  right: 86px;
  bottom: 16px;
  z-index: 4;
  display: grid;
  gap: 6px;
  transform: translateZ(42px);
}
.lb-concierge-service-slider small {
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-shadow: 0 3px 12px rgba(0,0,0,.58);
}
.lb-concierge-service-mask {
  position: relative;
  height: 34px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(5,15,28,.58);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.lb-concierge-service-item {
  position: absolute;
  inset: 0;
  min-width: 0;
  padding: 0 12px;
  display: flex;
  align-items: center;
  opacity: 0;
  transform: translateX(22px);
  animation: conciergeServiceSlide 30s cubic-bezier(.16, 1, .3, 1) infinite;
  animation-delay: calc(var(--i) * 6s);
}
.lb-concierge-service-item b {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.94);
  font-size: 10.8px;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lb-concierge-service-item i {
  color: var(--gold-light);
  flex: 0 0 auto;
}
.lb-concierge-service-item em {
  display: none;
}
.lb-concierge-slider-dots {
  position: absolute;
  top: 3px;
  right: 0;
  z-index: 5;
  display: flex;
  gap: 4px;
}
.lb-concierge-slider-dots i {
  display: block;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  font-size: 0;
  background: rgba(255,255,255,.34);
  animation: conciergeDotShow 30s linear infinite;
  animation-delay: calc(var(--i) * 6s);
}
.lb-concierge-card-strip {
  z-index: 5;
  left: auto;
  right: 26px;
  bottom: 16px;
  display: block;
  transform: translateZ(42px);
}
.lb-concierge-card-cta {
  width: 48px;
  height: 48px;
  min-width: 0;
  padding: 0;
  border-radius: 999px;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  border: 1px solid rgba(255,255,255,.26);
  box-shadow:
    0 15px 32px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.48);
  font-size: 14px;
  animation: none;
}
.lb-concierge-card-cta span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.lb-reservation-hub-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 198px;
  border-radius: 24px;
  overflow: hidden;
  cursor: pointer;
  background: #0c2234;
  box-shadow:
    0 18px 44px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.05);
  opacity: 0;
  animation: cardEnter .62s var(--ease-luxury) .29s both;
  isolation: isolate;
}
.lb-reservation-hub-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 7;
  border-radius: inherit;
  pointer-events: none;
  border: 1px solid rgba(var(--lbg-4),.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13), inset 0 -34px 62px rgba(2,8,16,.38);
}
.lb-resvhub-card-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background-image: var(--resvhub-card-fallback, url('assets/pavilions/azure-pavilion/azure-pavilion-02.webp'));
  background-size: cover;
  background-position: center 56%;
  filter: saturate(1.08) brightness(.92);
  transform: scale(1.035);
}
.lb-resvhub-bg-slide {
  position: absolute;
  inset: -24px;
  z-index: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center var(--pos, 56%);
  opacity: 0;
  transform: scale(1.035) translate3d(0, 0, 0);
  animation: resvHubBgFade 32s ease-in-out infinite both;
  animation-delay: calc(var(--i) * 8s);
  will-change: opacity, transform;
}
.lb-resvhub-card-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 80% 16%, rgba(104,209,220,.18), transparent 32%),
    linear-gradient(90deg, rgba(3,13,24,.86) 0%, rgba(3,13,24,.66) 42%, rgba(3,13,24,.24) 100%),
    linear-gradient(180deg, rgba(3,13,24,.05) 0%, rgba(3,13,24,.44) 58%, rgba(3,13,24,.88) 100%);
}
.lb-resvhub-card-copy {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 6px;
  padding: 20px 20px 78px;
}
.lb-resvhub-card-copy span {
  width: fit-content;
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.lb-resvhub-card-copy h2 {
  max-width: 11ch;
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(39px, 9vw, 54px);
  line-height: .9;
  letter-spacing: 0;
  text-shadow: 0 8px 28px rgba(0,0,0,.62);
}
.lb-resvhub-card-copy p {
  max-width: 330px;
  margin: 2px 0 0;
  color: rgba(255,255,255,.88);
  font-size: 12.4px;
  font-weight: 780;
  line-height: 1.34;
  text-shadow: 0 4px 18px rgba(0,0,0,.66);
}
.lb-resvhub-card-metrics {
  position: absolute;
  left: 18px;
  right: 84px;
  bottom: 16px;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.lb-resvhub-card-metrics b {
  flex: 0 0 auto;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-4),.22);
  background: rgba(5,15,28,.56);
  color: rgba(255,255,255,.92);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .01em;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: resvHubMetricPulse 32s linear infinite;
  animation-delay: calc(var(--i) * 8s);
}
.lb-resvhub-card-cta {
  position: absolute;
  right: 24px;
  bottom: 14px;
  z-index: 6;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 999px;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow: 0 15px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.48);
}
.lb-resvhub-card-cta span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.lb-reservation-hub-card:active {
  transform: scale(.982);
}

.lb-reservation-hub-detail {
  padding-top: 12px;
  padding-bottom: 108px;
}
#screenDetail.is-reservation-hub-page .detail-hero {
  display: none;
}
#screenDetail.is-reservation-hub-page .lb-content {
  padding-top: 12px;
}
.resv-hub {
  display: grid;
  gap: 16px;
  padding: 0 14px 8px;
}
.resv-hub-hero {
  position: relative;
  min-height: 332px;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-4),.24);
  border-radius: 24px;
  background: #081a2c;
  box-shadow: 0 22px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10);
}
.resv-hub-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 84% 10%, rgba(62,176,191,.22), transparent 34%),
    linear-gradient(90deg, rgba(4,15,28,.93), rgba(4,15,28,.52) 54%, rgba(4,15,28,.30)),
    linear-gradient(0deg, rgba(4,15,28,.72), rgba(4,15,28,.10) 44%),
    url('assets/pavilions/azure-cabana/azure-cabana-03.webp') center/cover;
  filter: saturate(1.08) brightness(.88);
  transform: scale(1.02);
}
.resv-hub-hero-copy,
.resv-hub-metrics {
  position: relative;
  z-index: 2;
}
.resv-hub-hero-copy {
  display: grid;
  gap: 12px;
  padding: 28px 22px 18px;
}
.resv-hub-hero-copy span,
.resv-hub-section-head > span,
.resv-hub-confirm i,
.resv-hub-guide > div > span,
.resv-hub-section-note i {
  color: var(--gold-light);
}
.resv-hub-hero-copy span {
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.resv-hub-hero-copy h3 {
  max-width: 100%;
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(36px, 2.75rem, 44px);
  line-height: .96;
  letter-spacing: 0;
}
.resv-hub-hero-copy p {
  max-width: 540px;
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 14px;
  font-weight: 760;
  line-height: 1.52;
}
.resv-hub-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 4px;
}
.resv-hub-hero-actions button,
.resv-hub-nav button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(var(--lbg-4),.28);
  border-radius: 14px;
  color: rgba(255,255,255,.92);
  background: rgba(9,24,39,.62);
  font-size: 12px;
  font-weight: 920;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.resv-hub-hero-actions button:first-child,
.resv-hub-nav button.is-active {
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow: 0 12px 28px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.42);
}
.resv-hub-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 22px 22px;
}
.resv-hub-metrics b {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 3px 9px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background: rgba(5,15,28,.58);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.resv-hub-metrics i {
  grid-row: span 2;
  color: var(--gold-light);
}
.resv-hub-metrics strong {
  color: var(--white);
  font-size: 21px;
  line-height: 1;
}
.resv-hub-metrics small {
  min-width: 0;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.resv-hub-nav {
  position: sticky;
  top: 72px;
  z-index: 25;
  display: flex;
  gap: 8px;
  padding: 9px;
  margin: -4px 0 0;
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(7,18,31,.82);
  box-shadow: 0 14px 30px rgba(0,0,0,.24);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  scrollbar-width: none;
}
.resv-hub-nav::-webkit-scrollbar {
  display: none;
}
.resv-hub-nav button {
  flex: 0 0 auto;
  min-width: 122px;
  padding: 0 13px;
  white-space: nowrap;
}
.resv-hub-guide {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0% 0%, rgba(53,198,211,.12), transparent 36%),
    linear-gradient(145deg, rgba(14,45,70,.86), rgba(5,17,31,.95));
}
.resv-hub-guide > div > span {
  display: block;
  margin-bottom: 7px;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.resv-hub-guide h3 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 27px;
  line-height: 1.05;
  letter-spacing: 0;
}
.resv-hub-guide p {
  margin: 8px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 12.8px;
  font-weight: 740;
  line-height: 1.48;
}
.resv-hub-journey {
  display: grid;
  gap: 9px;
}
.resv-hub-journey div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 3px 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
}
.resv-hub-journey span {
  grid-row: span 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
}
.resv-hub-journey strong {
  min-width: 0;
  color: var(--white);
  font-size: 13px;
  line-height: 1.2;
}
.resv-hub-journey p {
  margin: 0;
  font-size: 11.8px;
  line-height: 1.42;
}
.resv-hub-section {
  display: grid;
  gap: 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  padding: 16px;
  background:
    radial-gradient(circle at 8% 0%, rgba(53,198,211,.08), transparent 42%),
    linear-gradient(145deg, rgba(14,45,70,.92), rgba(5,17,31,.96));
}
.resv-hub-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.resv-hub-section-head > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(var(--lbg-4),.12);
  border: 1px solid rgba(var(--lbg-4),.24);
}
.resv-hub-section-head h3 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.05;
  letter-spacing: 0;
}
.resv-hub-section-head p {
  margin: 5px 0 0;
  color: rgba(255,255,255,.70);
  font-size: 12.6px;
  font-weight: 720;
  line-height: 1.42;
}
.resv-hub-section-head button,
.resv-hub-wide-action,
.resv-hub-tile-actions button {
  border: 1px solid rgba(var(--lbg-4),.28);
  border-radius: 14px;
  background: rgba(var(--lbg-4),.12);
  color: rgba(255,255,255,.92);
  font-weight: 920;
}
.resv-hub-section-head button {
  grid-column: 1 / -1;
  min-height: 42px;
  padding: 0 14px;
}
.resv-hub-section-note {
  margin: -3px 0 0;
  color: rgba(255,255,255,.70);
  font-size: 12.2px;
  font-weight: 760;
  line-height: 1.44;
}
.resv-hub-premium-grid {
  display: grid;
  gap: 12px;
}
.resv-hub-premium-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.035)),
    rgba(5,16,29,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 28px rgba(0,0,0,.18);
}
.resv-hub-premium-card figure {
  position: relative;
  min-height: 144px;
  margin: 0;
  border-radius: 17px;
  overflow: hidden;
  background: rgba(var(--lbg-4),.10);
}
.resv-hub-premium-card figure::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(2,8,16,.58));
}
.resv-hub-premium-card img {
  width: 100%;
  height: 100%;
  min-height: 144px;
  object-fit: cover;
  display: block;
  filter: saturate(1.08) brightness(.92);
}
.resv-hub-premium-card figure span {
  position: absolute;
  left: 9px;
  bottom: 9px;
  z-index: 2;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow: 0 10px 22px rgba(0,0,0,.30);
}
.resv-hub-premium-body {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
}
.resv-hub-premium-body small,
.resv-hub-tile small {
  display: block;
  max-width: 100%;
  color: var(--gold-light);
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.resv-hub-premium-body h4 {
  margin: 0;
  color: var(--white);
  font-size: 17px;
  line-height: 1.12;
  font-weight: 950;
  letter-spacing: 0;
}
.resv-hub-card-facts {
  display: grid;
  gap: 6px;
}
.resv-hub-card-facts b {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: rgba(255,255,255,.78);
  font-size: 11.3px;
  font-weight: 780;
  line-height: 1.34;
}
.resv-hub-card-facts i {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--gold-light);
}
.resv-hub-service-list {
  display: grid;
  gap: 6px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}
.resv-hub-service-list li {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border-radius: 12px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.78);
  font-size: 11.5px;
  font-weight: 760;
  line-height: 1.32;
}
.resv-hub-service-list b,
.resv-hub-service-list em {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(255,255,255,.66);
  font-size: 10.7px;
  font-style: normal;
  font-weight: 740;
}
.resv-hub-service-list em {
  color: var(--gold-light);
}
.resv-hub-actionbar {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.resv-hub-actionbar button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid rgba(var(--lbg-4),.25);
  border-radius: 14px;
  color: rgba(255,255,255,.90);
  background: rgba(var(--lbg-4),.10);
  font-size: 11.8px;
  font-weight: 920;
}
.resv-hub-actionbar button.is-primary {
  color: #10243a;
  background: linear-gradient(135deg, rgba(248,223,149,.96), rgba(185,138,57,.96));
}
.resv-hub-tiles {
  display: grid;
  gap: 10px;
}
.resv-hub-tile {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.060);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.resv-hub-tile figure {
  position: relative;
  width: 74px;
  height: 74px;
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(var(--lbg-4),.12);
}
.resv-hub-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) brightness(.92);
}
.resv-hub-tile figure span {
  position: absolute;
  right: 7px;
  bottom: 7px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #10243a;
  background: linear-gradient(145deg, #f8df95, #b98a39);
  box-shadow: 0 8px 18px rgba(0,0,0,.26);
}
.resv-hub-tile h4 {
  margin: 4px 0 0;
  color: var(--white);
  font-size: 15px;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: 0;
}
.resv-hub-tile-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.resv-hub-tile-actions button,
.resv-hub-wide-action {
  min-height: 42px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  font-size: 12px;
}
.resv-hub-wide-action {
  width: 100%;
  min-height: 48px;
  background: linear-gradient(135deg, rgba(var(--lbg-4),.86), rgba(179,128,45,.90));
  color: #10243a;
}
.resv-hub-confirm {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(var(--lbg-4),.18);
  border-radius: 18px;
  background: rgba(var(--lbg-4),.08);
  color: rgba(255,255,255,.76);
  font-size: 12.4px;
  font-weight: 760;
  line-height: 1.45;
}

@media (min-width: 760px) {
  .resv-hub {
    width: min(1180px, calc(100% - 44px));
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
  .resv-hub-hero {
    min-height: 350px;
    display: grid;
    align-items: end;
  }
  .resv-hub-hero-copy {
    padding: 40px 38px 22px;
  }
  .resv-hub-hero-copy h3 {
    max-width: 14ch;
    font-size: clamp(58px, 4.75rem, 76px);
  }
  .resv-hub-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 38px 32px;
  }
  .resv-hub-guide {
    grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
    align-items: center;
    padding: 22px;
  }
  .resv-hub-section {
    padding: 20px;
  }
  .resv-hub-section-head {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .resv-hub-section-head button {
    grid-column: auto;
    min-width: 154px;
  }
  .resv-hub-premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .resv-hub-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .resv-hub-section.is-concierge .resv-hub-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1080px) {
  .resv-hub-premium-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .resv-hub-premium-grid.is-pavilion-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .resv-hub-premium-card {
    grid-template-columns: 132px minmax(0, 1fr);
  }
}
@media (max-width: 380px) {
  .resv-hub-premium-card {
    grid-template-columns: 1fr;
  }
  .resv-hub-premium-card figure,
  .resv-hub-premium-card img {
    min-height: 168px;
  }
  .resv-hub-actionbar,
  .resv-hub-tile-actions {
    grid-template-columns: 1fr;
  }
}

/* ════════════════════════════════════════════════════════
   RESERVATION & A'LA CARTE — Editorial Hotel (v3)
   Inspired by Four Seasons / Ritz digital · navy hero,
   restrained gold rule, ivory CTA, signature feature card,
   compact list grid · clear hierarchy
═══════════════════════════════════════════════════════════ */
.lb-reservation-hub-detail {
  padding-top: 0;
  padding-bottom: 132px;
  background: linear-gradient(180deg, #04111f 0%, #061a2c 60%, #04111f 100%);
}
.resv-hub.rhub {
  --rh-navy-1: #04101d;
  --rh-navy-2: #0a1d33;
  --rh-navy-3: #122a45;
  --rh-ivory:  #f4ead7;
  --rh-cream:  #d7c9a8;
  --rh-gold:   #c2a36a;
  --rh-line:   rgba(244,234,215,.16);
  --rh-line-strong: rgba(244,234,215,.34);
  --rh-text:   rgba(244,234,215,.92);
  --rh-muted:  rgba(244,234,215,.62);
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 14px 8px;
  display: grid;
  gap: 28px;
  color: var(--rh-text);
  font-feature-settings: "ss01" on, "ss02" on;
}

/* ────────── HERO ────────── */
.rhub-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 18px;
  min-height: 540px;
  padding: 56px 22px 28px;
  text-align: center;
  border-radius: 4px;
  overflow: hidden;
  background: var(--rh-navy-1);
}
.rhub-hero-art {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: var(--rhub-hero-bg, url('assets/pavilions/azure-pavilion/azure-pavilion-02.webp')) center 38%/cover no-repeat;
  filter: saturate(.94) brightness(.62) contrast(1.06);
  transform: scale(1.04);
}
.rhub-hero-veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(4,16,29,.78) 0%, rgba(4,16,29,.46) 40%, rgba(4,16,29,.94) 100%),
    radial-gradient(ellipse at 50% 32%, rgba(4,16,29,0) 0%, rgba(4,16,29,.42) 70%);
}
.rhub-hero-inner {
  display: grid;
  justify-items: center;
  gap: 18px;
  max-width: 760px;
}
.rhub-hero-kicker {
  color: var(--rh-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .38em;
  text-transform: uppercase;
}
.rhub-hero-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(40px, 8.8vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.012em;
}
.rhub-hero-rule {
  display: block;
  width: 80px;
  height: 1px;
  background: var(--rh-gold);
  opacity: .82;
  margin: 4px 0 6px;
}
.rhub-hero-lead {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.66;
  font-family: var(--font-display);
  font-style: italic;
}
.rhub-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
}

/* Hero meta strip below */
.rhub-hero-meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
  max-width: 920px;
  border-top: 1px solid var(--rh-line);
  border-bottom: 1px solid var(--rh-line);
}
.rhub-hero-meta li + li { border-left: 1px solid var(--rh-line); }
.rhub-hero-meta button {
  width: 100%;
  display: grid;
  gap: 4px;
  padding: 16px 8px;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  text-align: center;
  transition: background .25s var(--ease-luxury);
}
.rhub-hero-meta button:hover { background: rgba(244,234,215,.05); }
.rhub-hero-meta strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.rhub-hero-meta em {
  color: var(--rh-muted);
  font-style: normal;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ────────── CTA BUTTONS ────────── */
.rhub-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 2px;
  border: 1px solid transparent;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .3s var(--ease-luxury), color .3s var(--ease-luxury), border-color .3s var(--ease-luxury), transform .2s var(--ease-luxury);
  white-space: nowrap;
}
.rhub-cta i { font-size: 11px; transition: transform .3s var(--ease-luxury); }
.rhub-cta:hover i { transform: translateX(4px); }
.rhub-cta:active { transform: scale(.98); }
.rhub-cta--ivory {
  color: #0a1d33;
  background: var(--rh-ivory);
  border-color: var(--rh-ivory);
}
.rhub-cta--ivory:hover {
  background: #fff;
  border-color: #fff;
}
.rhub-cta--ghost {
  color: var(--rh-ivory);
  background: transparent;
  border-color: rgba(244,234,215,.5);
}
.rhub-cta--ghost:hover {
  background: rgba(244,234,215,.10);
  border-color: var(--rh-ivory);
}
.rhub-cta--primary {
  color: #0a1d33;
  background: var(--rh-cream);
  border-color: var(--rh-cream);
}
.rhub-cta--primary:hover {
  background: var(--rh-ivory);
  border-color: var(--rh-ivory);
}
.rhub-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--rh-ivory);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
}
.rhub-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 22px;
  bottom: 0;
  height: 1px;
  background: currentColor;
  opacity: .42;
  transition: opacity .25s var(--ease-luxury), right .3s var(--ease-luxury);
}
.rhub-link i { font-size: 10px; transition: transform .3s var(--ease-luxury); }
.rhub-link:hover { color: var(--rh-gold); }
.rhub-link:hover::after { opacity: 1; right: 18px; }
.rhub-link:hover i { transform: translateX(3px); }
.rhub-link--head { color: var(--rh-gold); }

/* ────────── STICKY TABS ────────── */
.rhub-tabs {
  position: sticky;
  /* #screenDetail already has padding-top equal to header-h + safe-top, so top:0 flushes against header */
  top: 0;
  z-index: 30;
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rh-line);
  border-bottom: 1px solid var(--rh-line);
  background: rgba(4,16,29,.96);
  backdrop-filter: blur(20px) saturate(1.15);
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  overflow-x: auto;
  scrollbar-width: none;
}
.rhub-tabs::-webkit-scrollbar { display: none; }
.rhub-tab {
  position: relative;
  flex: 1 0 auto;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  border: 0;
  background: transparent;
  color: var(--rh-muted);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: color .25s var(--ease-luxury);
}
.rhub-tab::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--rh-gold);
  transform: translateX(-50%);
  transition: width .35s var(--ease-luxury);
}
.rhub-tab-count {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  padding: 0 6px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0;
  opacity: .72;
  font-variant-numeric: tabular-nums;
}
.rhub-tab:hover { color: var(--rh-ivory); }
.rhub-tab.is-active { color: var(--rh-ivory); }
.rhub-tab.is-active::after { width: 38%; }
.rhub-tab.is-active .rhub-tab-count { opacity: 1; color: var(--rh-gold); border-color: var(--rh-gold); }

/* ────────── SECTIONS ────────── */
.rhub-sections {
  display: grid;
  gap: 56px;
  padding: 8px 0 0;
  min-width: 0;
}
.rhub-section {
  display: grid;
  gap: 22px;
  scroll-margin-top: 140px;
  min-width: 0;
}
.rhub-section-head {
  display: grid;
  gap: 14px;
  text-align: center;
  justify-items: center;
  padding: 8px 0 4px;
}
.rhub-section-head-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.rhub-section-num {
  color: var(--rh-gold);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
}
.rhub-section-rule {
  display: block;
  width: 42px;
  height: 1px;
  background: var(--rh-line-strong);
}
.rhub-section-tag {
  color: var(--rh-muted);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.rhub-section-head-copy { max-width: 640px; }
.rhub-section-head-copy h2 {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(30px, 5.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -.008em;
}
.rhub-section-head-copy p {
  margin: 12px 0 0;
  color: var(--rh-text);
  font-size: 14.4px;
  font-weight: 400;
  line-height: 1.62;
  font-family: var(--font-display);
  font-style: italic;
}
.rhub-section-head-action { margin-top: 2px; }

/* ────────── SIGNATURE FEATURE CARD ────────── */
.rhub-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  background: var(--rh-navy-2);
  border: 1px solid var(--rh-line);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}
.rhub-feature::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(var(--lbg-9),.18);
  margin: 6px;
}
.rhub-feature-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--rh-navy-3);
}
.rhub-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.2s var(--ease-luxury);
  filter: saturate(.96) contrast(1.04);
}
.rhub-feature:hover .rhub-feature-media img { transform: scale(1.04); }
.rhub-feature-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,16,29,0) 60%, rgba(4,16,29,.62) 100%);
}
.rhub-feature-badge {
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 2;
  padding: 7px 12px;
  background: rgba(4,16,29,.78);
  border: 1px solid rgba(var(--lbg-9),.42);
  color: var(--rh-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.rhub-feature-body {
  position: relative;
  display: grid;
  gap: 14px;
  padding: 28px 24px 26px;
}
.rhub-feature-overline {
  color: var(--rh-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .34em;
  text-transform: uppercase;
}
.rhub-feature-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 5.6vw, 40px);
  line-height: 1.04;
  letter-spacing: -.008em;
}
.rhub-feature-desc {
  margin: 0;
  color: var(--rh-text);
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.62;
}
.rhub-feature-facts {
  display: grid;
  gap: 0;
  margin: 4px 0 0;
  padding: 16px 0;
  border-top: 1px solid var(--rh-line);
  border-bottom: 1px solid var(--rh-line);
}
.rhub-feature-facts > div {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}
.rhub-feature-facts > div + div { border-top: 1px solid rgba(244,234,215,.06); }
.rhub-feature-facts dt {
  margin: 0;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: var(--rh-gold);
  font-size: 12px;
}
.rhub-feature-facts dd {
  margin: 0;
  color: var(--rh-text);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .04em;
}
.rhub-feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 4px;
}

/* ────────── COMPACT MINI GRID ────────── */
.rhub-mini-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.rhub-mini {
  position: relative;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 0;
  background: var(--rh-navy-2);
  border: 1px solid var(--rh-line);
  border-radius: 2px;
  overflow: hidden;
  transition: border-color .3s var(--ease-luxury), background .3s var(--ease-luxury);
}
.rhub-mini:hover {
  border-color: var(--rh-line-strong);
  background: var(--rh-navy-3);
}
.rhub-mini-media {
  position: relative;
  overflow: hidden;
  background: var(--rh-navy-3);
}
.rhub-mini-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.96);
  transition: transform .8s var(--ease-luxury);
}
.rhub-mini:hover .rhub-mini-media img { transform: scale(1.05); }
.rhub-mini-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,16,29,0) 50%, rgba(4,16,29,.42));
}
.rhub-mini-num {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  color: var(--rh-gold);
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-shadow: 0 2px 6px rgba(0,0,0,.6);
}
.rhub-mini-body {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px 18px;
  min-width: 0;
}
.rhub-mini-overline {
  color: var(--rh-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rhub-mini-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 19px;
  line-height: 1.12;
  letter-spacing: -.005em;
}
.rhub-mini-facts {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.rhub-mini-facts li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  color: var(--rh-muted);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .03em;
  line-height: 1.35;
}
.rhub-mini-facts li i { color: var(--rh-gold); font-size: 10px; }
.rhub-mini-facts li span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rhub-mini-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}
.rhub-mini-actions .rhub-cta {
  min-height: 38px;
  padding: 0 16px;
  font-size: 10.5px;
}

/* ────────── SECTION FOOTNOTE ────────── */
.rhub-section-footnote {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 14px 8px 0;
  color: var(--rh-muted);
  font-size: 11.5px;
  font-style: italic;
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.5;
  text-align: center;
}
.rhub-section-footnote i { color: var(--rh-gold); font-size: 11px; }

/* ────────── WORKFLOW ────────── */
.rhub-flow {
  position: relative;
  padding: 40px 24px;
  border-top: 1px solid var(--rh-line);
  border-bottom: 1px solid var(--rh-line);
  text-align: center;
}
.rhub-flow-head { margin-bottom: 28px; }
.rhub-flow-kicker {
  display: block;
  color: var(--rh-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .38em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.rhub-flow-head h2 {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(26px, 5vw, 36px);
  line-height: 1.1;
  letter-spacing: -.008em;
}
.rhub-flow-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.rhub-flow-steps li {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 0 8px;
}
.rhub-flow-num {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 36px;
  color: var(--rh-gold);
  line-height: 1;
  letter-spacing: -.02em;
  margin-bottom: 4px;
}
.rhub-flow-steps strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 500;
}
.rhub-flow-steps p {
  margin: 0;
  color: var(--rh-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  max-width: 280px;
}

/* ────────── PROMISE / FOOTER ────────── */
.rhub-promise {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 44px 24px 36px;
  text-align: center;
  background: linear-gradient(180deg, rgba(10,29,51,0) 0%, var(--rh-navy-2) 100%);
  border: 1px solid var(--rh-line);
}
.rhub-promise-mark {
  display: block;
  width: 36px;
  height: 1px;
  background: var(--rh-gold);
  margin-bottom: 4px;
}
.rhub-promise strong {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 4.4vw, 30px);
  line-height: 1.18;
  letter-spacing: -.006em;
  max-width: 620px;
}
.rhub-promise p {
  margin: 0;
  max-width: 580px;
  color: var(--rh-muted);
  font-size: 13.2px;
  font-family: var(--font-display);
  font-style: italic;
  line-height: 1.6;
}
.rhub-promise .rhub-cta { margin-top: 8px; }

/* Legacy harmless shim */
.resv-hub-confirm { display: none; }

/* ════════════════════════════════════════════════════════
   RHUB SLIDER — Premium horizontal carousel
═══════════════════════════════════════════════════════════ */
.rhub-slider {
  position: relative;
  margin: 0 -14px;
  outline: none;
  min-width: 0;
}
.rhub-slider-viewport {
  display: flex;
  width: 100%;
  max-width: 100%;
  gap: 16px;
  padding: 8px 14px 22px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 14px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  min-width: 0;
}
.rhub-slider-viewport::-webkit-scrollbar { display: none; }

.rhub-slide {
  flex: 0 0 88vw;
  scroll-snap-align: start;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(18,42,68,.94), rgba(7,21,38,.97));
  border: 1px solid rgba(244,234,215,.14);
  box-shadow: 0 14px 36px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.04) inset;
  transition: border-color .3s var(--ease-luxury), transform .25s var(--ease-luxury), box-shadow .3s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
  min-width: 0;
}
.rhub-slide:hover {
  border-color: rgba(var(--lbg-9),.42);
  transform: translateY(-3px);
  box-shadow: 0 24px 52px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.07) inset;
}

.rhub-slide-media {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: rgba(var(--lbg-5),.06);
}
.rhub-slide-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease-luxury);
  filter: saturate(.98) contrast(1.04);
}
.rhub-slide:hover .rhub-slide-media img { transform: scale(1.05); }
.rhub-slide-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,16,29,0) 56%, rgba(4,16,29,.72));
}
.rhub-slide-icon {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-9),.5);
  background: rgba(4,16,29,.85);
  color: var(--rh-gold, rgb(var(--lbg-9)));
  font-size: 14px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.rhub-slide-counter {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 2;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(244,234,215,.24);
  background: rgba(4,16,29,.85);
  color: var(--rh-cream, #d7c9a8);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
  backdrop-filter: blur(10px);
}

.rhub-slide-body {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 22px 22px 22px;
  min-width: 0;
}
.rhub-slide-overline {
  color: var(--rh-gold, rgb(var(--lbg-9)));
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rhub-slide-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 5.4vw, 30px);
  line-height: 1.1;
  letter-spacing: -.008em;
  overflow-wrap: break-word;
  hyphens: auto;
}
.rhub-slide-desc {
  margin: 0;
  color: rgba(244,234,215,.78);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rhub-slide-facts {
  display: grid;
  gap: 0;
  margin: 4px 0 6px;
  padding: 12px 0;
  border-top: 1px solid rgba(244,234,215,.10);
  border-bottom: 1px solid rgba(244,234,215,.10);
}
.rhub-slide-facts > div {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 7px 0;
}
.rhub-slide-facts > div + div { border-top: 1px solid rgba(244,234,215,.06); }
.rhub-slide-facts dt {
  margin: 0;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-9),.4);
  color: var(--rh-gold, rgb(var(--lbg-9)));
  font-size: 10px;
}
.rhub-slide-facts dd {
  margin: 0;
  color: rgba(244,234,215,.92);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.4;
}

.rhub-slide-actions {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.rhub-slide-primary,
.rhub-slide-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  padding: 0 20px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), color .25s var(--ease-luxury), transform .15s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
}
.rhub-slide-primary {
  border: 1px solid var(--rh-ivory, #f4ead7);
  background: var(--rh-ivory, #f4ead7);
  color: #0a1d33;
  box-shadow: 0 12px 26px rgba(0,0,0,.34), 0 1px 0 rgba(255,255,255,.55) inset;
}
.rhub-slide-primary:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.65) inset;
}
.rhub-slide-primary i { color: var(--rh-gold, rgb(var(--lbg-9))); font-size: 12px; transition: transform .3s var(--ease-luxury); }
.rhub-slide-primary:hover i { transform: translateX(4px); }

.rhub-slide-ghost {
  border: 1px solid rgba(var(--lbg-5),.42);
  background: linear-gradient(180deg, rgba(var(--lbg-5),.08), rgba(var(--lbg-5),.03));
  color: var(--rh-ivory, #f4ead7);
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 6px 14px rgba(0,0,0,.22);
}
.rhub-slide-ghost:hover {
  background: linear-gradient(180deg, rgba(var(--lbg-5),.96), rgba(var(--lbg-9),.92));
  color: #0a1d33;
  border-color: rgba(244,234,215,.5);
}
.rhub-slide-ghost i { color: var(--rh-gold, rgb(var(--lbg-9))); font-size: 11px; transition: color .25s var(--ease-luxury); }
.rhub-slide-ghost:hover i { color: #0a1d33; }
.rhub-slide-primary:active,
.rhub-slide-ghost:active { transform: scale(.985); }

/* Slider controls */
.rhub-slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 4px 14px 4px;
}
.rhub-slider-arrow {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-5),.45);
  background: linear-gradient(180deg, rgba(var(--lbg-5),.10), rgba(var(--lbg-5),.04));
  color: var(--rh-ivory, #f4ead7);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 6px 16px rgba(0,0,0,.26), 0 1px 0 rgba(255,255,255,.05) inset;
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), color .25s var(--ease-luxury), transform .15s var(--ease-luxury), opacity .25s var(--ease-luxury);
}
.rhub-slider-arrow:hover:not(:disabled) {
  background: linear-gradient(180deg, rgba(var(--lbg-5),.96), rgba(var(--lbg-9),.92));
  border-color: rgba(244,234,215,.55);
  color: #0a1d33;
  transform: translateY(-1px);
}
.rhub-slider-arrow:active:not(:disabled) { transform: scale(.94); }
.rhub-slider-arrow:disabled {
  opacity: .32;
  cursor: not-allowed;
}
.rhub-slider-arrow i { font-size: 12px; }

.rhub-slider-dots {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.rhub-slider-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 1px solid rgba(244,234,215,.34);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: width .3s var(--ease-luxury), background .25s var(--ease-luxury), border-color .25s var(--ease-luxury);
}
.rhub-slider-dot.is-active {
  width: 26px;
  background: var(--rh-gold, rgb(var(--lbg-9)));
  border-color: var(--rh-gold, rgb(var(--lbg-9)));
}
.rhub-slider-dot:hover:not(.is-active) {
  border-color: var(--rh-ivory, #f4ead7);
}

@media (min-width: 720px) {
  .rhub-slider { margin: 0; }
  .rhub-slider-viewport {
    padding: 8px 4px 22px;
    scroll-padding-left: 4px;
  }
  .rhub-slide { flex: 0 0 calc(50% - 8px); }
}
@media (min-width: 1080px) {
  .rhub-slide { flex: 0 0 calc(33.333% - 11px); }
}

/* ════════════════════════════════════════════════════════
   CONCIERGE — Editorial Polish (v3)
   Refines the existing .lb-concierge-* / .lb-cxd-* structure
   with Four Seasons typography & restrained gold accents
═══════════════════════════════════════════════════════════ */
.lb-concierge-modal { --cnc-gold: rgb(var(--lbg-9)); --cnc-ivory: #f4ead7; --cnc-cream: #d7c9a8; }

.lb-concierge-modal-bg {
  background: rgba(2,10,20,.88) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
.lb-concierge-panel {
  background: linear-gradient(180deg, #04111f 0%, #061a2c 60%, #04111f 100%) !important;
  scrollbar-color: rgba(var(--lbg-5),.4) transparent;
}
.lb-concierge-panel::-webkit-scrollbar { width: 8px; }
.lb-concierge-panel::-webkit-scrollbar-thumb { background: rgba(var(--lbg-5),.32); border-radius: 4px; }

.lb-concierge-close {
  border: 1px solid rgba(244,234,215,.34) !important;
  background: rgba(4,16,29,.86) !important;
  color: var(--cnc-ivory) !important;
  border-radius: 999px !important;
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), transform .25s var(--ease-luxury);
}
.lb-concierge-close:hover {
  background: rgba(244,234,215,.18) !important;
  border-color: rgba(244,234,215,.6) !important;
  transform: scale(1.06);
}

/* Hero refinements */
.lb-concierge-hero {
  border-radius: 0 !important;
  padding: 80px 24px 28px !important;
  text-align: center;
  isolation: isolate;
}
.lb-concierge-hero-media {
  filter: saturate(.94) brightness(.62) contrast(1.06) !important;
  transform: scale(1.04) !important;
}
.lb-concierge-hero::after {
  background:
    radial-gradient(ellipse at 50% 36%, rgba(4,16,29,0) 0%, rgba(4,16,29,.42) 70%),
    linear-gradient(180deg, rgba(4,16,29,.78) 0%, rgba(4,16,29,.46) 38%, rgba(4,16,29,.94) 100%) !important;
}
.lb-concierge-hero-copy {
  display: grid;
  justify-items: center;
  gap: 14px !important;
  max-width: 720px;
  margin: 0 auto;
}
.lb-concierge-hero-copy span {
  color: var(--cnc-gold) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .38em !important;
  text-transform: uppercase !important;
}
.lb-concierge-hero-copy h3 {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: clamp(38px, 7.6vw, 64px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.012em !important;
  text-shadow: 0 10px 30px rgba(0,0,0,.5);
  margin: 0 !important;
}
.lb-concierge-hero-copy h3::after {
  content: '';
  display: block;
  width: 80px;
  height: 1px;
  background: var(--cnc-gold);
  margin: 14px auto 0;
}
.lb-concierge-hero-copy p {
  color: rgba(255,255,255,.86) !important;
  font-size: 14.5px !important;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  max-width: 580px;
  margin: 0 auto !important;
}

/* Hero stats — convert from chips to editorial strip */
.lb-concierge-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  max-width: 720px;
  margin: 22px auto 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(244,234,215,.16);
  border-bottom: 1px solid rgba(244,234,215,.16);
  background: transparent !important;
}
.lb-concierge-stats span {
  display: grid !important;
  justify-items: center;
  gap: 6px !important;
  padding: 16px 8px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  text-align: center;
  line-height: 1.32 !important;
}
.lb-concierge-stats span + span { border-left: 1px solid rgba(244,234,215,.16); }
.lb-concierge-stats span i {
  font-size: 16px !important;
  color: var(--cnc-gold) !important;
  margin-right: 0 !important;
}

/* Body container */
.lb-concierge-body {
  padding: 38px 22px 80px !important;
  max-width: 1180px;
  margin: 0 auto;
}
.lb-concierge-overview { display: grid; gap: 48px; }

/* Section heads — centered editorial */
.lb-concierge-block-head {
  display: grid !important;
  justify-items: center;
  gap: 10px !important;
  text-align: center;
  max-width: 640px;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  border: 0 !important;
}
.lb-concierge-block-head span {
  color: var(--cnc-gold) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
}
.lb-concierge-block-head span::before,
.lb-concierge-block-head span::after {
  content: '';
  width: 28px;
  height: 1px;
  background: rgba(var(--lbg-9),.5);
}
.lb-concierge-block-head p {
  color: rgba(244,234,215,.92) !important;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 6px 0 0 !important;
  max-width: 580px;
}

/* Service cards grid — vertical editorial cards (photo-top, body-below) */
.lb-concierge-service-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 18px !important;
}
.lb-concierge-service {
  position: relative;
  display: grid !important;
  grid-template-rows: 220px auto !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  background: linear-gradient(160deg, rgba(18,42,68,.92), rgba(7,21,38,.96)) !important;
  border: 1px solid rgba(244,234,215,.14) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 0 !important;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 10px 30px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.04) inset !important;
  transition: border-color .3s var(--ease-luxury), background .3s var(--ease-luxury), transform .25s var(--ease-luxury), box-shadow .3s var(--ease-luxury) !important;
}
.lb-concierge-service:hover {
  border-color: rgba(var(--lbg-9),.42) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.06) inset !important;
}
.lb-concierge-service:focus-visible {
  border-color: rgba(var(--lbg-9),.55) !important;
  outline: 2px solid rgba(var(--lbg-5),.4) !important;
  outline-offset: 2px;
}
.lb-concierge-service:active {
  transform: scale(.985) translateY(-1px) !important;
}
.lb-concierge-service-img {
  position: relative !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  background-size: cover !important;
  background-position: center !important;
  filter: saturate(.96) brightness(.92);
}
.lb-concierge-service-img::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background: linear-gradient(180deg, rgba(4,16,29,0) 55%, rgba(4,16,29,.78)) !important;
}
.lb-concierge-service-body {
  position: relative !important;
  display: grid !important;
  gap: 10px !important;
  padding: 22px 22px 22px !important;
  align-content: start;
  min-width: 0 !important;
}
.lb-concierge-service-icon {
  position: absolute !important;
  top: -22px !important;
  right: 22px !important;
  z-index: 3 !important;
  width: 44px !important;
  height: 44px !important;
  background: rgba(4,16,29,.95) !important;
  border: 1px solid rgba(var(--lbg-9),.5) !important;
  border-radius: 999px !important;
  color: var(--cnc-gold) !important;
  font-size: 16px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.4) !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
}
.lb-concierge-service-body > span:not(.lb-concierge-service-action) {
  color: var(--cnc-gold) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
  max-width: calc(100% - 56px) !important;
}
.lb-concierge-service-body h4 {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -.005em !important;
  margin: 0 !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
}
.lb-concierge-service-body p {
  color: rgba(244,234,215,.72) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: break-word !important;
}
.lb-concierge-service-action {
  margin-top: 14px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100% !important;
  min-height: 48px;
  padding: 0 18px !important;
  border: 1px solid rgba(var(--lbg-5),.42) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(var(--lbg-5),.08), rgba(var(--lbg-5),.04)) !important;
  color: var(--cnc-ivory) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  position: relative;
  box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 6px 16px rgba(0,0,0,.22);
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), color .25s var(--ease-luxury), transform .15s var(--ease-luxury) !important;
}
.lb-concierge-service-action::after { display: none !important; }
.lb-concierge-service-action i {
  font-size: 11px !important;
  color: var(--cnc-gold) !important;
  transition: transform .3s var(--ease-luxury);
}
.lb-concierge-service:hover .lb-concierge-service-action {
  background: linear-gradient(180deg, rgba(var(--lbg-5),.96), rgba(var(--lbg-9),.92)) !important;
  border-color: rgba(244,234,215,.5) !important;
  color: #0a1d33 !important;
}
.lb-concierge-service:hover .lb-concierge-service-action i {
  color: #0a1d33 !important;
  transform: translateX(4px);
}

/* Split sections (cars / yachts) */
.lb-concierge-split,
.lb-concierge-block,
.lb-concierge-plan {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.lb-cx-scroll {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(260px, 78vw) !important;
  gap: 14px !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory !important;
  padding: 8px 22px 14px !important;
  margin: 0 -22px;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--lbg-5),.32) transparent;
  -webkit-overflow-scrolling: touch;
}
.lb-cx-scroll > * { scroll-snap-align: start; }
.lb-cx-scroll::-webkit-scrollbar { height: 4px; }
.lb-cx-scroll::-webkit-scrollbar-thumb { background: rgba(var(--lbg-5),.32); border-radius: 3px; }
@media (min-width: 720px) {
  .lb-cx-scroll {
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    scroll-snap-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 18px !important;
  }
}

.lb-cx-vehicle-card,
.lb-cx-yacht-card {
  scroll-snap-align: start;
  display: grid !important;
  grid-template-rows: 180px auto !important;
  background: linear-gradient(160deg, rgba(18,42,68,.92), rgba(7,21,38,.96)) !important;
  border: 1px solid rgba(244,234,215,.12) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 10px 28px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.04) inset !important;
  transition: border-color .3s var(--ease-luxury), transform .25s var(--ease-luxury), box-shadow .3s var(--ease-luxury) !important;
}
.lb-cx-vehicle-card:hover,
.lb-cx-yacht-card:hover {
  border-color: rgba(var(--lbg-9),.4) !important;
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.06) inset !important;
}
.lb-cx-vehicle-card:active,
.lb-cx-yacht-card:active { transform: scale(.985) translateY(-1px); }
.lb-cx-vehicle-img,
.lb-cx-yacht-img {
  width: 100% !important;
  height: 180px !important;
  background: rgba(var(--lbg-5),.08) !important;
  overflow: hidden;
}
.lb-cx-vehicle-img img,
.lb-cx-yacht-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(.96) !important;
  transition: transform .8s var(--ease-luxury) !important;
}
.lb-cx-vehicle-card:hover .lb-cx-vehicle-img img,
.lb-cx-yacht-card:hover .lb-cx-yacht-img img { transform: scale(1.05); }
.lb-cx-vehicle-info,
.lb-cx-yacht-info {
  display: grid;
  gap: 6px;
  padding: 16px 20px 18px !important;
}
.lb-cx-vehicle-info span,
.lb-cx-yacht-info span {
  color: var(--cnc-gold) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
.lb-cx-vehicle-info strong,
.lb-cx-yacht-info strong {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 19px !important;
  line-height: 1.16 !important;
  letter-spacing: -.005em !important;
}
.lb-cx-vehicle-info p,
.lb-cx-yacht-info p {
  color: rgba(244,234,215,.72) !important;
  font-size: 12.2px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  margin: 4px 0 0 !important;
}

/* Main CTA — premium ivory pill */
.lb-concierge-main-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px !important;
  width: 100%;
  margin: 24px auto 0 !important;
  max-width: 420px;
  min-height: 56px !important;
  padding: 0 28px !important;
  border: 1px solid var(--cnc-ivory) !important;
  border-radius: 999px !important;
  background: var(--cnc-ivory) !important;
  color: #0a1d33 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 14px 32px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.6) inset !important;
  transition: background .3s var(--ease-luxury), border-color .3s var(--ease-luxury), transform .15s var(--ease-luxury), box-shadow .3s var(--ease-luxury) !important;
}
.lb-concierge-main-cta:hover {
  background: #fff !important;
  border-color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.7) inset !important;
}
.lb-concierge-main-cta:active { transform: scale(.985); }
.lb-concierge-main-cta i { color: var(--cnc-gold) !important; font-size: 14px !important; }

/* Bodrum Shuttle */
.lb-concierge-shuttle {
  display: grid !important;
  gap: 14px !important;
  padding: 28px 24px !important;
  border: 1px solid rgba(244,234,215,.14) !important;
  border-radius: 14px !important;
  background: linear-gradient(160deg, rgba(18,42,68,.92), rgba(7,21,38,.96)) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.04) inset !important;
}
.lb-concierge-shuttle > div { display: grid; gap: 8px; }
.lb-concierge-shuttle span {
  color: var(--cnc-gold) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
.lb-concierge-shuttle strong {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: 26px !important;
  line-height: 1.1 !important;
  letter-spacing: -.008em !important;
}
.lb-concierge-shuttle p {
  color: rgba(244,234,215,.78) !important;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
.lb-concierge-shuttle button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px !important;
  width: 100%;
  min-height: 54px !important;
  padding: 0 24px !important;
  border: 1px solid rgba(var(--lbg-5),.45) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(var(--lbg-5),.10), rgba(var(--lbg-5),.04)) !important;
  color: var(--cnc-ivory) !important;
  font-family: inherit !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 8px 22px rgba(0,0,0,.26), 0 1px 0 rgba(255,255,255,.05) inset !important;
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), color .25s var(--ease-luxury), transform .15s var(--ease-luxury) !important;
}
.lb-concierge-shuttle button:hover {
  background: linear-gradient(180deg, rgba(var(--lbg-5),.96), rgba(var(--lbg-9),.92)) !important;
  border-color: rgba(244,234,215,.55) !important;
  color: #0a1d33 !important;
  transform: translateY(-2px);
}
.lb-concierge-shuttle button:active { transform: scale(.985); }
.lb-concierge-shuttle button i { color: var(--cnc-gold) !important; transition: color .25s var(--ease-luxury); }
.lb-concierge-shuttle button:hover i { color: #0a1d33 !important; }

/* Plan steps — editorial numbered */
.lb-concierge-plan-steps {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
  padding: 0 !important;
}
.lb-concierge-plan-steps span {
  position: relative;
  display: grid !important;
  justify-items: center;
  gap: 12px !important;
  padding: 0 8px !important;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(244,234,215,.86) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  font-family: var(--font-display) !important;
  max-width: 320px;
  margin: 0 auto !important;
}
.lb-concierge-plan-steps span b {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--cnc-gold) !important;
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  font-size: 32px !important;
  line-height: 1 !important;
  margin: 0 !important;
  letter-spacing: -.02em !important;
}

/* ────────── SERVICE DETAIL VIEW ────────── */
.lb-cxd-wrap {
  display: grid;
  gap: 0;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.lb-cxd-back {
  display: inline-flex !important;
  align-items: center;
  gap: 10px !important;
  width: fit-content !important;
  margin: 20px 22px 14px !important;
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--cnc-gold) !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  position: relative;
}
.lb-cxd-back::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 1px;
  background: currentColor;
  opacity: .42;
}
.lb-cxd-back:hover { color: var(--cnc-ivory) !important; }

/* Static hero (transfer/shuttle) */
.lb-cxd-hero-img {
  position: relative;
  min-height: 380px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  isolation: isolate;
  display: grid;
  align-items: end;
  filter: none !important;
}
.lb-cxd-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse at 50% 36%, rgba(4,16,29,0) 0%, rgba(4,16,29,.42) 70%),
    linear-gradient(180deg, rgba(4,16,29,.32) 0%, rgba(4,16,29,.58) 38%, rgba(4,16,29,.94) 100%) !important;
}
.lb-cxd-hero-copy {
  position: relative !important;
  z-index: 2;
  display: grid !important;
  justify-items: center;
  gap: 14px !important;
  padding: 64px 24px 36px !important;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
}
.lb-cxd-hero-copy span {
  color: var(--cnc-gold) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .38em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
.lb-cxd-hero-copy h3 {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: clamp(34px, 7.4vw, 56px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.012em !important;
  margin: 0 !important;
  text-shadow: 0 10px 30px rgba(0,0,0,.5);
}
.lb-cxd-hero-copy h3::after {
  content: '';
  display: block;
  width: 70px;
  height: 1px;
  background: var(--cnc-gold);
  margin: 14px auto 0;
}
.lb-cxd-hero-copy p {
  color: rgba(255,255,255,.86) !important;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 560px;
}

/* Cinema slider — refined */
.lb-cxd-cinema {
  position: relative;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: #04111f !important;
  height: clamp(360px, 56vh, 540px) !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.lb-cxd-slide img { filter: saturate(.96) brightness(.92); }
.lb-cxd-cinema-gradient {
  background:
    linear-gradient(180deg, rgba(4,16,29,.30) 0%, rgba(4,16,29,0) 26%, rgba(4,16,29,.78) 88%, rgba(4,16,29,.96) 100%) !important;
}
.lb-cxd-overlay {
  padding: 0 24px 88px !important;
  text-align: center;
}
.lb-cxd-overlay-item {
  display: grid;
  justify-items: center;
  gap: 8px !important;
  max-width: 620px;
  margin: 0 auto;
}
.lb-cxd-overlay-meta {
  color: var(--cnc-gold) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
.lb-cxd-overlay-name {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: clamp(30px, 6vw, 48px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.01em !important;
  text-shadow: 0 8px 24px rgba(0,0,0,.5);
}
.lb-cxd-overlay-name::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: var(--cnc-gold);
  margin: 12px auto 0;
}
.lb-cxd-cinema-controls {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px !important;
  bottom: 22px !important;
}
.lb-cxd-arrow {
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(244,234,215,.34) !important;
  border-radius: 999px !important;
  background: rgba(4,16,29,.72) !important;
  color: var(--cnc-ivory) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury) !important;
}
.lb-cxd-arrow:hover {
  background: rgba(244,234,215,.18) !important;
  border-color: var(--cnc-ivory) !important;
}
.lb-cxd-dots { gap: 8px !important; }
.lb-cxd-dot {
  width: 8px !important;
  height: 8px !important;
  border: 1px solid rgba(244,234,215,.34) !important;
  border-radius: 999px !important;
  background: transparent !important;
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury) !important;
}
.lb-cxd-dot.is-active {
  background: var(--cnc-gold) !important;
  border-color: var(--cnc-gold) !important;
}
.lb-cxd-counter {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  padding: 6px 10px !important;
  background: rgba(4,16,29,.72) !important;
  border: 1px solid rgba(244,234,215,.24) !important;
  border-radius: 999px !important;
  color: var(--cnc-cream) !important;
  font-family: var(--font-display) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  font-variant-numeric: tabular-nums;
  backdrop-filter: blur(10px);
}

/* Lead card under slider */
.lb-cxd-lead-card {
  text-align: center;
  padding: 36px 24px 12px !important;
  background: transparent !important;
  border: 0 !important;
  display: grid;
  justify-items: center;
  gap: 10px !important;
  max-width: 720px;
  margin: 0 auto;
}
.lb-cxd-eyebrow {
  color: var(--cnc-gold) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}
.lb-cxd-section-title {
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 5.6vw, 38px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.008em !important;
  margin: 0 !important;
}
.lb-cxd-section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: var(--cnc-gold);
  margin: 12px auto 0;
}
.lb-cxd-section-lead {
  color: rgba(244,234,215,.86) !important;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 560px;
}

/* Service feature badges */
.lb-cxd-features {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 16px 22px 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(244,234,215,.14);
}
.lb-cxd-badge {
  display: grid !important;
  justify-items: center;
  gap: 8px !important;
  padding: 18px 12px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(244,234,215,.10) !important;
  border-right: 1px solid rgba(244,234,215,.10) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center;
}
.lb-cxd-badge:nth-child(2n) { border-right: 0 !important; }
.lb-cxd-badge i {
  font-size: 18px !important;
  color: var(--cnc-gold) !important;
}
.lb-cxd-badge em {
  color: rgba(244,234,215,.82) !important;
  font-style: normal !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  line-height: 1.36 !important;
}

/* Section blocks (scope / options) */
.lb-cxd-section-block {
  margin: 28px 22px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.lb-cxd-section-label {
  color: var(--cnc-gold) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  text-align: center;
  padding: 0 0 18px !important;
  border: 0 !important;
  background: transparent !important;
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  width: 100%;
  justify-content: center;
}
.lb-cxd-section-label::before,
.lb-cxd-section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(var(--lbg-9),.4);
}
.lb-cxd-scope-cards {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  border-top: 1px solid rgba(244,234,215,.10);
}
.lb-cxd-scope-card {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  align-items: center;
  gap: 14px !important;
  padding: 14px 4px !important;
  border-bottom: 1px solid rgba(244,234,215,.08) !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: rgba(244,234,215,.92) !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}
.lb-cxd-scope-card i {
  width: 22px !important;
  height: 22px !important;
  display: grid;
  place-items: center;
  border-radius: 999px !important;
  border: 1px solid rgba(var(--lbg-9),.42) !important;
  color: var(--cnc-gold) !important;
  font-size: 10px !important;
  background: transparent !important;
}
.lb-cxd-options-block { background: transparent !important; }
.lb-cxd-option-pills {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
  justify-content: center;
}
.lb-cxd-option-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 9px !important;
  padding: 11px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(244,234,215,.18) !important;
  background: rgba(10,29,51,.6) !important;
  color: rgba(244,234,215,.94) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}
.lb-cxd-option-pill i { color: var(--cnc-gold) !important; font-size: 11px !important; }

/* Required block — left rule */
.lb-cxd-required-block {
  margin: 32px 22px 0 !important;
  padding: 16px 22px !important;
  background: linear-gradient(90deg, rgba(var(--lbg-5),.06), transparent 60%) !important;
  border: 0 !important;
  border-left: 2px solid var(--cnc-gold) !important;
  border-radius: 0 !important;
}
.lb-cxd-required-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.lb-cxd-required-head i {
  color: var(--cnc-gold) !important;
  font-size: 13px !important;
}
.lb-cxd-required-head span {
  color: var(--cnc-ivory) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
}
.lb-cxd-tags {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.lb-cxd-tags span {
  display: inline-flex !important;
  align-items: baseline;
  gap: 8px;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: rgba(244,234,215,.82) !important;
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.lb-cxd-tags span::before {
  content: '—';
  color: var(--cnc-gold);
  font-style: normal;
}

/* WhatsApp CTA — pill */
.lb-cxd-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px !important;
  width: calc(100% - 44px) !important;
  margin: 36px 22px 24px !important;
  padding: 0 26px !important;
  min-height: 60px !important;
  border: 1px solid var(--cnc-ivory) !important;
  border-radius: 999px !important;
  background: var(--cnc-ivory) !important;
  color: #0a1d33 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 16px 38px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.6) inset !important;
  transition: background .3s var(--ease-luxury), border-color .3s var(--ease-luxury), transform .15s var(--ease-luxury) !important;
}
.lb-cxd-cta:hover {
  background: #fff !important;
  border-color: #fff !important;
  transform: translateY(-2px);
}
.lb-cxd-cta:active { transform: scale(.985); }
.lb-cxd-cta > i:first-child {
  font-size: 18px !important;
  color: #25d366 !important;
}
.lb-cxd-cta > span { flex: 0 1 auto !important; text-align: center !important; }
.lb-cxd-cta-arrow { font-size: 11px !important; color: var(--cnc-gold) !important; opacity: 1 !important; }

@media (min-width: 720px) {
  .lb-concierge-hero { padding: 110px 36px 32px !important; }
  .lb-concierge-body { padding: 52px 36px 88px !important; }
  .lb-concierge-plan-steps { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .lb-cxd-features { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .lb-cxd-badge { border-right: 1px solid rgba(244,234,215,.10) !important; }
  .lb-cxd-badge:last-child { border-right: 0 !important; }
}
@media (min-width: 1080px) {
  .lb-concierge-hero { padding: 130px 56px 44px !important; }
  .lb-concierge-body { padding: 64px 56px 96px !important; }
}

/* ────────── RESPONSIVE ────────── */
@media (min-width: 720px) {
  .resv-hub.rhub { padding: 0 20px 8px; gap: 36px; }
  .rhub-hero { min-height: 600px; padding: 90px 36px 36px; }
  .rhub-feature {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
  }
  .rhub-feature-media { aspect-ratio: auto; min-height: 420px; }
  .rhub-feature-body { padding: 44px 40px; align-content: center; }
  .rhub-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rhub-mini { grid-template-columns: 156px minmax(0, 1fr); }
  .rhub-flow-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rhub-flow { padding: 52px 36px; }
}
@media (min-width: 1080px) {
  .resv-hub.rhub { padding: 0; }
  .rhub-hero { min-height: 660px; padding: 120px 60px 44px; }
  .rhub-hero-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rhub-feature-media { min-height: 480px; }
  .rhub-feature-body { padding: 56px 56px; }
  .rhub-mini-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rhub-section.is-pavilions .rhub-mini-grid,
  .rhub-section.is-cabana .rhub-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .rhub-hero { padding: 44px 16px 22px; min-height: 480px; }
  .rhub-hero-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rhub-hero-meta li:nth-child(3),
  .rhub-hero-meta li:nth-child(4) { border-top: 1px solid var(--rh-line); }
  .rhub-hero-meta li:nth-child(3) { border-left: 0; }
  .rhub-tab { padding: 0 14px; font-size: 10.5px; letter-spacing: .18em; }
  .rhub-mini { grid-template-columns: 116px minmax(0, 1fr); }
  .rhub-mini-body { padding: 14px 14px 14px 16px; }
  .rhub-mini-title { font-size: 17px; }
  .rhub-feature-body { padding: 22px 18px 22px; }
}

@media (min-width: 760px) {
  .lb-concierge-card {
    min-height: 228px;
  }
  .lb-concierge-card-copy {
    left: 30px;
    top: 28px;
    right: 32px;
  }
  .lb-concierge-card-copy h2 {
    max-width: none;
    font-size: clamp(56px, 4.8vw, 70px);
  }
  .lb-concierge-card-copy p {
    max-width: 480px;
    font-size: 13.2px;
    margin-top: 10px;
  }
  .lb-concierge-service-slider {
    left: 30px;
    right: 110px;
    bottom: 22px;
  }
  .lb-concierge-card-strip {
    right: 36px;
    bottom: 22px;
  }
}
@media (max-width: 759px) {
  .lb-concierge-card {
    min-height: 198px;
  }
  .lb-concierge-card-copy {
    left: 16px;
    right: 16px;
    top: 17px;
  }
  .lb-concierge-card-copy h2 {
    font-size: clamp(39px, 9.6vw, 50px);
  }
  .lb-concierge-card-copy p {
    max-width: 292px;
    font-size: 11.6px;
    margin-top: 9px;
  }
  .lb-concierge-service-slider {
    left: 16px;
    right: 88px;
    bottom: 14px;
  }
  .lb-concierge-card-strip {
    right: 24px;
    bottom: 14px;
  }
  .lb-concierge-card-cta {
    width: 48px;
    height: 48px;
  }
}
@media (max-width: 380px) {
  .lb-concierge-card {
    min-height: 192px;
  }
  .lb-concierge-card-copy h2 {
    font-size: clamp(36px, 9.4vw, 44px);
  }
  .lb-concierge-card-copy p {
    max-width: 242px;
    -webkit-line-clamp: 2;
  }
  .lb-concierge-service-slider small {
    font-size: 8px;
    letter-spacing: .14em;
  }
  .lb-concierge-service-item b {
    font-size: 10px;
  }
}
@keyframes conciergeCardIn {
  0% { opacity: 0; transform: translateY(22px) scale(.95) rotateX(8deg); }
  65% { opacity: 1; transform: translateY(-3px) scale(1.01) rotateX(-1.5deg); }
  100% { opacity: 1; transform: translateY(0) scale(1) rotateX(0deg); }
}
@keyframes conciergeServiceSlide {
  0% { opacity: 0; transform: translateX(20px); }
  4%, 18% { opacity: 1; transform: translateX(0); }
  26%, 100% { opacity: 0; transform: translateX(-18px); }
}
@keyframes conciergeDotShow {
  0%, 3% { background: rgba(255,255,255,.36); transform: scale(1); }
  4%, 18% { background: #f5d98a; transform: scale(1.28); }
  26%, 100% { background: rgba(255,255,255,.36); transform: scale(1); }
}
@keyframes conciergeBgFade {
  0% { opacity: 0; transform: scale(1.035) translate3d(0, 0, 0); }
  4%, 18% { opacity: 1; }
  26%, 100% { opacity: 0; transform: scale(1.105) translate3d(-1.4%, -1%, 0); }
}
@keyframes resvHubBgFade {
  0% { opacity: 0; transform: scale(1.035) translate3d(0, 0, 0); }
  5%, 20% { opacity: 1; }
  28%, 100% { opacity: 0; transform: scale(1.105) translate3d(-1.2%, -1%, 0); }
}
@keyframes resvHubMetricPulse {
  0%, 4% {
    border-color: rgba(var(--lbg-4),.22);
    background: rgba(5,15,28,.56);
    color: rgba(255,255,255,.92);
  }
  5%, 20% {
    border-color: rgba(var(--lbg-13),.60);
    background: rgba(var(--lbg-13),.20);
    color: #fff8df;
  }
  28%, 100% {
    border-color: rgba(var(--lbg-4),.22);
    background: rgba(5,15,28,.56);
    color: rgba(255,255,255,.92);
  }
}
@keyframes conciergePhotoBreath {
  from { transform: translateZ(-24px) scale(1.055); }
  to { transform: translateZ(-24px) scale(1.09); }
}
@keyframes conciergeBgDrift {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to { transform: scale(1.10) translate3d(-1.8%, -1.2%, 0); }
}
@keyframes conciergeSheen {
  0%, 52% { transform: translateX(-42%) rotate(8deg); opacity: 0; }
  62% { opacity: .58; }
  82% { transform: translateX(34%) rotate(8deg); opacity: 0; }
  100% { transform: translateX(34%) rotate(8deg); opacity: 0; }
}
@keyframes conciergePulse {
  0% { box-shadow: 0 0 0 0 rgba(70,242,138,.42); }
  75%, 100% { box-shadow: 0 0 0 9px rgba(70,242,138,0); }
}
@keyframes conciergeDeckFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(calc((var(--i) - 1.5) * -1.4deg)); }
  50% { transform: translate3d(-5px, -4px, 0) rotate(calc((var(--i) - 1.5) * -1.4deg)); }
}
@keyframes conciergeRouteMove {
  from { transform: translateX(-105%); }
  to { transform: translateX(305%); }
}
@keyframes conciergeArrowPulse {
  0%, 100% { box-shadow: 0 10px 26px rgba(var(--lbg-5),.24), inset 0 1px 0 rgba(255,255,255,.42); }
  50% { box-shadow: 0 16px 34px rgba(var(--lbg-5),.42), inset 0 1px 0 rgba(255,255,255,.54); }
}
@media (prefers-reduced-motion: reduce) {
  .lb-concierge-bg-slide,
  .lb-concierge-service-item,
  .lb-concierge-slider-dots i,
  .lb-resvhub-bg-slide,
  .lb-resvhub-card-metrics b {
    animation: none !important;
  }
  .lb-concierge-bg-slide:first-child,
  .lb-concierge-service-item:first-child,
  .lb-resvhub-bg-slide:first-child {
    opacity: 1;
    transform: none;
  }
  .lb-concierge-slider-dots i:first-child {
    background: #f5d98a;
    transform: scale(1.28);
  }
  .lb-resvhub-card-metrics b:first-child {
    border-color: rgba(var(--lbg-13),.60);
    background: rgba(var(--lbg-13),.20);
    color: #fff8df;
  }
}

@keyframes weatherCardIn {
  0% { opacity: 0; transform: translateY(24px) scale(.94) rotateX(10deg); }
  65% { opacity: 1; transform: translateY(-4px) scale(1.015) rotateX(-2deg); }
  100% { opacity: 1; transform: translateY(0) scale(1) rotateX(0deg); }
}
@keyframes weatherBgSlowZoom {
  from { transform: translate3d(0, var(--weather-bg-shift-y, 0), -24px) scale(1.03); }
  to   { transform: translate3d(0, var(--weather-bg-shift-y, 0), -24px) scale(1.11); }
}
@media (min-width: 760px) {
  .lb-weather-card {
    min-height: 258px;
    border-radius: 26px;
    box-shadow:
      0 22px 54px rgba(0,0,0,.34),
      0 0 0 1px rgba(var(--lbg-4),.10);
  }
  .lb-weather-card::after {
    border-color: rgba(var(--lbg-4),.30);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.15),
      inset 0 -18px 42px rgba(2,8,16,.22);
  }
  .lb-weather-card-bg {
    background-position: center 60%;
    --weather-bg-shift-y: -16px;
    filter: saturate(1.08) contrast(1.03) brightness(.98);
  }
  .lb-weather-card-shade {
    background:
      radial-gradient(ellipse at 17% 76%, rgba(53,198,211,.12), transparent 42%),
      radial-gradient(ellipse at 76% 18%, rgba(var(--lbg-4),.15), transparent 38%),
      linear-gradient(180deg, rgba(4,13,23,.00) 0%, rgba(4,13,23,.13) 43%, rgba(4,13,23,.62) 100%),
      linear-gradient(90deg, rgba(4,13,23,.72) 0%, rgba(4,13,23,.30) 32%, rgba(4,13,23,.08) 62%, rgba(4,13,23,.36) 100%);
  }
  .lb-weather-card-shade::before {
    opacity: .66;
    background:
      linear-gradient(105deg, rgba(255,255,255,.10) 0%, transparent 25%, transparent 68%, rgba(var(--lbg-4),.10) 100%);
  }
  .lb-weather-card-copy {
    padding: 24px 34px 0;
  }
  .lb-weather-card-copy span {
    font-size: 10.5px;
    letter-spacing: .32em;
  }
  .lb-weather-card .lb-card-weather {
    left: 34px;
    right: 34px;
    bottom: 24px;
  }
  .lb-weather-daily {
    grid-template-columns: minmax(0, 1fr) minmax(170px, auto);
    gap: 10px 28px;
  }
  .lb-weather-main {
    column-gap: 16px;
  }
  .lb-weather-main strong {
    font-size: 86px;
    letter-spacing: .01em;
  }
  .lb-weather-main em {
    font-size: 14px;
    padding-bottom: 9px;
  }
  .lb-weather-range span {
    font-size: 18px;
    min-width: 128px;
    text-align: right;
  }
  .lb-weather-advice {
    width: min(100%, 430px);
    font-size: 14px;
    line-height: 1.34;
  }
  .lb-weather-activity {
    grid-template-columns: minmax(154px, auto) minmax(0, 1fr) auto;
    gap: 14px;
    padding-top: 12px;
    border-top-color: rgba(var(--lbg-4),.30);
  }
  .lb-weather-activity small {
    font-size: 9px;
    letter-spacing: .18em;
  }
  .lb-weather-activity-item b {
    font-size: 14px;
  }
  .lb-weather-activity-item em {
    font-size: 13px;
  }
}
@media (max-width: 390px) {
  .lb-card-weather {
    width: min(100%, 260px);
    padding: 7px;
  }
  .lb-weather-card {
    min-height: 232px;
  }
  .lb-weather-card .lb-card-weather {
    width: auto;
    left: 16px;
    right: 16px;
    bottom: 14px;
  }
  .lb-weather-daily {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 10px;
  }
  .lb-weather-range {
    min-width: 0;
    max-width: none;
  }
  .lb-weather-range span { font-size: 14.5px; }
  .lb-weather-activity {
    grid-template-columns: 1fr auto;
    gap: 7px;
  }
  .lb-weather-activity small {
    grid-column: 1 / -1;
    font-size: 7.9px;
    letter-spacing: .1em;
  }
  .lb-weather-activity-item b {
    font-size: 12.6px;
  }
  .lb-weather-activity-item em {
    font-size: 11.2px;
  }
  .lb-weather-advice {
    font-size: 11.5px;
  }
  .lb-weather-main strong { font-size: 62px; }
  .lb-weather-main em {
    font-size: 11.4px;
    padding-bottom: 5px;
  }
}

/* ════════════════════════════════════════════════════════
   LA BLANCHE'TA BUGÜN — WEATHER CARD INTERACTIVE HUB
════════════════════════════════════════════════════════ */
.lb-weather-card {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.lb-weather-card:focus-visible {
  outline: 2px solid rgba(var(--lbg-12),.9);
  outline-offset: 3px;
}

/* ════════════════════════════════════════════════════════
   SUNRISE SNACK QR ORDERING
════════════════════════════════════════════════════════ */
.sunrise-order {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(var(--lbg-5),.26);
  background:
    linear-gradient(145deg, rgba(20,61,88,.94), rgba(6,18,32,.98)),
    radial-gradient(circle at 18% 0%, rgba(97,211,222,.18), transparent 34%);
  box-shadow: 0 24px 56px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
.sunrise-order.is-room-service {
  border-color: rgba(var(--lbg-12),.34);
  background:
    linear-gradient(145deg, rgba(14,50,72,.96), rgba(5,17,31,.99)),
    radial-gradient(circle at 18% 0%, rgba(var(--lbg-12),.18), transparent 35%),
    radial-gradient(circle at 100% 18%, rgba(74,187,201,.15), transparent 32%);
}
.sunrise-order.is-room-service .sunrise-mark {
  background: linear-gradient(145deg, #f7dc91, #b88533);
}
.sunrise-order::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.07), transparent 28%, transparent 72%, rgba(var(--lbg-5),.10));
  pointer-events: none;
}
.sunrise-order > * { position: relative; z-index: 1; }
.sunrise-head {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: start;
  margin-bottom: 16px;
}
.sunrise-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(145deg, rgba(225,190,103,.98), rgba(139,104,40,.95));
  box-shadow: 0 12px 24px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.45);
}
.sunrise-head small,
.sunrise-table-line span,
.sunrise-product small,
.sunrise-note span {
  display: block;
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.sunrise-head h3 {
  margin: 2px 0 7px;
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(25px, 6vw, 34px);
  line-height: 1.05;
}
.sunrise-head p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.55;
}
.sunrise-scan {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
}
.sunrise-primary,
.sunrise-input-row button,
.sunrise-submit {
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  color: #071322;
  background: linear-gradient(145deg, #f6d982, #b98e3f);
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: 0 14px 26px rgba(179,137,60,.22), inset 0 1px 0 rgba(255,255,255,.52);
}
.sunrise-primary {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.sunrise-input-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}
.sunrise-input-row input,
.sunrise-note textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  color: #fff;
  background: rgba(4,12,23,.58);
  outline: none;
}
.sunrise-input-row input {
  min-width: 0;
  height: 48px;
  padding: 0 13px;
}
.sunrise-input-row input::placeholder,
.sunrise-note textarea::placeholder { color: rgba(255,255,255,.40); }
.sunrise-scan small,
.sunrise-status {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.45;
}
.sunrise-status {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
}
.sunrise-status.is-good {
  color: #b9f4cf;
  border-color: rgba(82,211,132,.32);
}
.sunrise-status.is-bad {
  color: #ffd0d0;
  border-color: rgba(255,108,108,.32);
}
.sunrise-status.is-warn {
  color: #ffe4a8;
  border-color: rgba(var(--lbg-5),.34);
}
.sunrise-scanner {
  position: fixed;
  inset: 0;
  z-index: 1800;
  overflow: hidden;
  margin: 0;
  border-radius: 0;
  background: #020812;
  border: 0;
  display: block;
}
.sunrise-scanner[hidden] { display: none; }
.sunrise-scanner video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sunrise-scanner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 50% 48%, transparent 0 32%, rgba(1,9,18,.20) 45%, rgba(1,9,18,.78) 100%),
    linear-gradient(180deg, rgba(2,9,17,.82) 0%, transparent 30%, transparent 68%, rgba(2,9,17,.86) 100%);
  pointer-events: none;
}
.sunrise-scanner-top {
  position: absolute;
  top: max(18px, env(safe-area-inset-top));
  left: 18px;
  right: 18px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.sunrise-scanner-top span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 999px;
  color: #fff;
  background: rgba(6,18,32,.62);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-weight: 900;
}
.sunrise-scanner-top button {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  color: #fff;
  background: rgba(6,18,32,.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.sunrise-scanner-frame {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: min(76vw, 390px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(246,217,130,.95);
  border-radius: 30px;
  box-shadow:
    0 0 0 999px rgba(0,0,0,.26),
    0 20px 80px rgba(0,0,0,.32),
    inset 0 0 0 1px rgba(255,255,255,.18);
}
.sunrise-scanner-frame::before,
.sunrise-scanner-frame::after,
.sunrise-scanner-frame span::before,
.sunrise-scanner-frame span::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 34px;
  border-color: #fff;
  border-style: solid;
}
.sunrise-scanner-frame::before {
  top: 14px;
  left: 14px;
  border-width: 3px 0 0 3px;
  border-radius: 12px 0 0 0;
}
.sunrise-scanner-frame::after {
  top: 14px;
  right: 14px;
  border-width: 3px 3px 0 0;
  border-radius: 0 12px 0 0;
}
.sunrise-scanner-frame span::before {
  bottom: 14px;
  left: 14px;
  border-width: 0 0 3px 3px;
  border-radius: 0 0 0 12px;
}
.sunrise-scanner-frame span::after {
  right: 14px;
  bottom: 14px;
  border-width: 0 3px 3px 0;
  border-radius: 0 0 12px 0;
}
.sunrise-scanner-bottom {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 3;
  max-width: 520px;
  margin: 0 auto;
  padding: 14px 18px;
  border-radius: 18px;
  color: rgba(255,255,255,.88);
  background: rgba(6,18,32,.68);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  text-align: center;
  font-size: 14px;
  font-weight: 800;
}
body.sunrise-scanner-open {
  overflow: hidden;
}
.sunrise-menu {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}
.sunrise-order.has-menu .sunrise-head,
.sunrise-order.has-menu .sunrise-scan,
.sunrise-order.is-loading .sunrise-head,
.sunrise-order.is-loading .sunrise-scan {
  display: none;
}
.sunrise-order.has-menu .sunrise-menu,
.sunrise-order.is-loading .sunrise-menu {
  margin-top: 0;
}
.sunrise-loading-card {
  min-height: 330px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 34px 24px;
  border-radius: 28px;
  color: #fff;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--lbg-5),.22), transparent 34%),
    linear-gradient(145deg, rgba(29,73,99,.86), rgba(6,18,31,.94));
  border: 1px solid rgba(var(--lbg-5),.24);
  box-shadow: 0 24px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12);
}
.sunrise-loading-orbit {
  position: relative;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 31px;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.32), transparent 35%),
    linear-gradient(145deg, #f4d77f, #a67932);
  box-shadow: 0 18px 38px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.36);
  transform-style: preserve-3d;
  animation: sunriseLoadingFloat 2.6s ease-in-out infinite;
}
.sunrise-loading-orbit span {
  position: absolute;
  inset: -10px;
  border-radius: 34px;
  border: 1px solid rgba(var(--lbg-5),.46);
  border-top-color: rgba(255,255,255,.92);
  animation: sunriseLoadingSpin 1.1s linear infinite;
}
.sunrise-loading-orbit i {
  color: #071322;
  font-size: 34px;
}
.sunrise-loading-card small {
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .22em;
}
.sunrise-loading-card h3 {
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(30px, 8vw, 46px);
  line-height: 1;
}
.sunrise-loading-card p {
  max-width: 360px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.55;
}
.sunrise-loading-steps {
  width: min(260px, 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.sunrise-loading-steps span {
  height: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  overflow: hidden;
}
.sunrise-loading-steps span::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f8df8a, #b98939);
  transform: translateX(-105%);
  animation: sunriseLoadingBar 1.4s ease-in-out infinite;
}
.sunrise-loading-steps span:nth-child(2)::after { animation-delay: .16s; }
.sunrise-loading-steps span:nth-child(3)::after { animation-delay: .32s; }
@keyframes sunriseLoadingSpin {
  to { transform: rotate(360deg); }
}
@keyframes sunriseLoadingFloat {
  0%, 100% { transform: translateY(0) rotateX(0deg); }
  50% { transform: translateY(-6px) rotateX(7deg); }
}
@keyframes sunriseLoadingBar {
  0% { transform: translateX(-105%); }
  55%, 100% { transform: translateX(105%); }
}
.sunrise-menu-shell {
  display: grid;
  gap: 12px;
}
.sunrise-session-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sunrise-session-bar span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-size: 12px;
  font-weight: 900;
}
.sunrise-session-bar i {
  color: var(--gold-light);
}
.sunrise-root-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.sunrise-root-tabs button {
  min-height: 74px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  color: rgba(255,255,255,.70);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.sunrise-root-tabs button.is-active {
  color: #fff;
  border-color: rgba(var(--lbg-5),.58);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--lbg-5),.22), transparent 45%),
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow: 0 16px 34px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.14);
}
.sunrise-root-tabs i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #061421;
  background: linear-gradient(145deg, #f4d77f, #ad8238);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 18px rgba(0,0,0,.22);
}
.sunrise-root-tabs span,
.sunrise-tabs span {
  display: block;
  font-weight: 900;
  font-size: 12px;
  line-height: 1.18;
}
.sunrise-root-tabs small,
.sunrise-tabs small {
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  color: var(--gold-light);
  background: rgba(4,12,23,.36);
  border: 1px solid rgba(var(--lbg-5),.16);
  font-weight: 900;
}
.sunrise-category-stage {
  display: grid;
  gap: 10px;
  padding: 13px;
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.09);
  overflow: hidden;
}
.sunrise-stage-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.sunrise-stage-head small {
  color: var(--gold-light);
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.sunrise-stage-head h4 {
  margin: 3px 0 0;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 22px;
  line-height: 1.05;
}
.sunrise-stage-head > span {
  min-width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #071322;
  background: linear-gradient(145deg, #f6d982, #b98e3f);
  font-weight: 950;
}
.sunrise-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 2px;
}
.sunrise-tabs button {
  min-width: 0;
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 9px 10px;
  color: rgba(255,255,255,.70);
  background: rgba(4,12,23,.24);
  text-align: left;
}
.sunrise-tabs button.is-active {
  color: #fff;
  border-color: rgba(var(--lbg-5),.55);
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--lbg-5),.18), transparent 48%),
    rgba(255,255,255,.07);
}
.sunrise-tabs i {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #061421;
  background: linear-gradient(145deg, #f3d77c, #a57a35);
  font-size: 13px;
}
.sunrise-tabs span {
  min-width: 0;
  white-space: normal;
}
.sunrise-tabs small {
  margin: 0;
}
.sunrise-products {
  display: grid;
  gap: 12px;
}
.sunrise-product {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 12px 14px;
  align-items: center;
  padding: 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.sunrise-product img,
.sunrise-product-glyph {
  width: 62px;
  height: 62px;
  object-fit: cover;
  border-radius: 17px;
}
.sunrise-product-glyph {
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.28), transparent 36%),
    linear-gradient(145deg, #d6b359, #8b6c31);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30), 0 10px 18px rgba(0,0,0,.22);
  font-size: 23px;
}
.sunrise-product h4 {
  margin: 3px 0 4px;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
}
.sunrise-product-price {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 6px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #071322;
  background: linear-gradient(145deg, #f6d982, #b98e3f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}
.sunrise-product p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.42;
}
.sunrise-product button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 15px;
  color: #071322;
  background: linear-gradient(145deg, #f6d982, #b98e3f);
  font-weight: 900;
}
.sunrise-product button:disabled {
  color: rgba(255,255,255,.48);
  background: rgba(255,255,255,.08);
}
.sunrise-cart {
  display: grid;
  gap: 11px;
  padding: 15px;
  border-radius: 22px;
  border: 1px solid rgba(var(--lbg-5),.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--lbg-5),.16), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  box-shadow: 0 18px 40px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10);
}
.sunrise-cart.is-empty p {
  margin: 2px 0 0;
  color: rgba(255,255,255,.58);
}
.sunrise-cart-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.sunrise-cart-title strong,
.sunrise-cart.is-empty strong {
  color: #fff;
  font-family: var(--font-serif);
  font-size: 21px;
}
.sunrise-cart-title span {
  color: var(--gold-light);
  font-weight: 900;
}
.sunrise-cart-list {
  display: grid;
  gap: 8px;
}
.sunrise-cart-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  color: #fff;
  font-weight: 800;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sunrise-cart-item:last-child {
  border-bottom: 0;
}
.sunrise-cart-name {
  display: grid;
  gap: 4px;
}
.sunrise-cart-name small {
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 950;
}
.sunrise-cart-item div {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.sunrise-cart-item button {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  color: #fff;
  background: rgba(255,255,255,.08);
}
.sunrise-note {
  display: grid;
  gap: 7px;
}
.sunrise-note textarea {
  min-height: 78px;
  padding: 12px;
  resize: vertical;
}
.sunrise-submit.is-armed {
  color: #fff;
  background: linear-gradient(145deg, #d77c4f, #9e4e31);
}
@media (min-width: 760px) {
  .sunrise-order {
    max-width: 980px;
    margin-inline: auto;
    padding: 26px;
  }
  .sunrise-head {
    grid-template-columns: 64px 1fr;
  }
  .sunrise-mark {
    width: 64px;
    height: 64px;
    border-radius: 18px;
  }
  .sunrise-scan {
    grid-template-columns: auto minmax(360px, 1fr);
    align-items: center;
  }
  .sunrise-scan small {
    grid-column: 1 / -1;
  }
  .sunrise-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sunrise-root-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sunrise-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sunrise-product {
    grid-template-columns: 76px 1fr auto;
  }
  .sunrise-product img,
  .sunrise-product-glyph {
    width: 76px;
    height: 76px;
  }
  .sunrise-product button {
    grid-column: auto;
    width: auto;
    min-width: 96px;
    align-self: stretch;
  }
}
@media (max-width: 430px) {
  .sunrise-tabs button {
    grid-template-columns: 30px 1fr auto;
    padding: 8px;
  }
  .sunrise-tabs i {
    width: 30px;
    height: 30px;
  }
  .sunrise-product {
    grid-template-columns: 58px 1fr;
  }
  .sunrise-product img,
  .sunrise-product-glyph {
    width: 58px;
    height: 58px;
  }
  .sunrise-product button {
    grid-column: 1 / -1;
    width: 100%;
  }
  .sunrise-input-row {
    grid-template-columns: 1fr;
  }
}
body.today-open { overflow: hidden; }
body.today-tv-mode {
  overflow: hidden;
  background: #020811;
}
body.today-tv-mode .lb-header,
body.today-tv-mode .lb-main,
body.today-tv-mode .lb-drawer,
body.today-tv-mode .lb-drawer-scrim,
body.today-tv-mode .lb-grab-fab,
body.today-tv-mode .lb-room-fab,
body.today-tv-mode .lb-ai-fab,
body.today-tv-mode .lb-back {
  display: none !important;
}
.lb-today-tv {
  position: fixed;
  inset: 0;
  z-index: 5000;
  min-width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  color: #fff;
  background: #020811;
  font-family: var(--font-sans);
  isolation: isolate;
}
.lb-tv-bg,
.lb-tv-bg video,
.lb-tv-bg-fallback,
.lb-tv-shade {
  position: absolute;
  inset: 0;
}
.lb-tv-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.08) brightness(.72);
  transform: scale(1.04);
  animation: tvBgDrift 26s ease-in-out infinite alternate;
}
.lb-tv-bg-fallback {
  background-image: url('assets/today/today-noon.webp');
  background-size: cover;
  background-position: center;
  filter: saturate(1.06) brightness(.72);
  animation: tvBgDrift 24s ease-in-out infinite alternate;
}
.lb-tv-bg video + .lb-tv-bg-fallback {
  opacity: .28;
}
.lb-tv-shade {
  background:
    radial-gradient(circle at 80% 15%, rgba(var(--lbg-4),.22), transparent 31%),
    radial-gradient(circle at 18% 82%, rgba(53,198,211,.16), transparent 34%),
    linear-gradient(90deg, rgba(2,8,17,.94), rgba(2,8,17,.58) 48%, rgba(2,8,17,.84)),
    linear-gradient(180deg, rgba(2,8,17,.62), rgba(2,8,17,.18) 34%, rgba(2,8,17,.88));
}
.lb-tv-top {
  position: relative;
  z-index: 3;
  height: clamp(92px, 7.5vw, 126px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(22px, 2.6vw, 42px) clamp(42px, 5vw, 84px) 0;
}
.lb-tv-top img {
  width: clamp(116px, 9vw, 180px);
  height: auto;
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.42));
}
.lb-tv-top-side {
  display: flex;
  align-items: center;
  gap: 16px;
}
.lb-tv-lang-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.lb-tv-lang-switch a {
  min-width: clamp(38px, 2.8vw, 54px);
  height: clamp(34px, 2.35vw, 46px);
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: rgba(255,255,255,.70);
  font-size: clamp(13px, .86vw, 17px);
  font-weight: 950;
  text-decoration: none;
}
.lb-tv-lang-switch a.is-active {
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  box-shadow: 0 8px 22px rgba(var(--lbg-4),.24), inset 0 1px 0 rgba(255,255,255,.34);
}
.lb-tv-top-pill {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.lb-tv-top span {
  color: var(--gold-light);
  font-size: clamp(12px, .9vw, 18px);
  font-weight: 950;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.lb-tv-top strong {
  font-size: clamp(24px, 2.1vw, 40px);
  line-height: 1;
  font-weight: 950;
}
.lb-tv-stage {
  position: relative;
  z-index: 2;
  height: calc(100vh - clamp(190px, 14vw, 230px));
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(420px, .78fr) minmax(560px, 1.22fr);
  gap: clamp(34px, 4vw, 72px);
  align-items: center;
  padding: clamp(10px, 1.6vw, 28px) clamp(42px, 5vw, 84px) clamp(70px, 6.2vw, 112px);
  overflow: hidden;
}
.lb-tv-stage[data-slide="show-week"],
.lb-tv-stage[data-slide="kids-week"] {
  grid-template-columns: minmax(360px, .52fr) minmax(720px, 1.48fr);
  gap: clamp(32px, 3.5vw, 62px);
}
.lb-tv-stage[data-slide="activities"] {
  grid-template-columns: minmax(340px, .46fr) minmax(900px, 1.54fr);
  gap: clamp(26px, 3vw, 54px);
}
.lb-tv-stage[data-slide="activities"] .lb-tv-copy {
  max-width: 520px;
  align-self: center;
}
.lb-tv-stage[data-slide="activities"] .lb-tv-copy h1 {
  font-size: clamp(62px, 5.2vw, 108px);
}
.lb-tv-stage[data-slide="activities"] .lb-tv-copy p {
  max-width: 24em;
}
.lb-tv-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: clamp(16px, 1.4vw, 24px);
  animation: tvCopyIn .82s cubic-bezier(.16,1,.3,1) both;
}
.lb-tv-copy > span {
  width: fit-content;
  padding-left: 54px;
  position: relative;
  color: var(--gold-light);
  font-size: clamp(12px, 1vw, 18px);
  font-weight: 950;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.lb-tv-copy > span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 38px;
  height: 2px;
  background: linear-gradient(90deg, #f8df8a, transparent);
}
.lb-tv-copy h1 {
  max-width: 9.8em;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(66px, 6.4vw, 132px);
  line-height: .88;
  letter-spacing: 0;
  text-shadow: 0 24px 60px rgba(0,0,0,.48);
}
.lb-tv-copy p {
  max-width: 36em;
  color: rgba(255,255,255,.84);
  font-size: clamp(19px, 1.28vw, 27px);
  line-height: 1.45;
  font-weight: 720;
}
.lb-tv-visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  max-height: 100%;
  overflow: hidden;
  animation: tvVisualIn .86s cubic-bezier(.16,1,.3,1) both;
}
.lb-tv-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(18px, 1.5vw, 26px);
}
.lb-tv-weather-orb,
.lb-tv-metric,
.lb-tv-feature,
.lb-tv-row,
.lb-tv-route-card,
.lb-tv-empty {
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.045));
  box-shadow: 0 24px 56px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.lb-tv-weather-orb {
  grid-row: span 2;
  min-height: clamp(310px, 27vw, 520px);
  display: grid;
  align-content: end;
  gap: 18px;
  padding: clamp(28px, 3vw, 54px);
  border-radius: clamp(28px, 3vw, 46px);
  background:
    radial-gradient(circle at 78% 16%, rgba(var(--lbg-4),.24), transparent 34%),
    linear-gradient(145deg, rgba(14,60,88,.70), rgba(7,20,34,.78));
}
.lb-tv-weather-orb strong {
  font-size: clamp(116px, 11vw, 220px);
  line-height: .78;
  font-weight: 950;
}
.lb-tv-weather-orb span {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: rgba(255,255,255,.88);
  font-size: clamp(22px, 1.6vw, 34px);
  font-weight: 850;
}
.lb-tv-weather-orb i,
.lb-tv-row-icon i,
.lb-tv-route-card span i {
  color: var(--gold-light);
}
.lb-tv-metric {
  min-height: clamp(132px, 10.8vw, 206px);
  display: grid;
  align-content: center;
  gap: 12px;
  padding: clamp(22px, 2vw, 38px);
  border-radius: clamp(22px, 2vw, 34px);
}
.lb-tv-metric span,
.lb-tv-feature span {
  color: var(--gold-light);
  font-size: clamp(12px, .92vw, 18px);
  font-weight: 950;
  letter-spacing: .20em;
  text-transform: uppercase;
}
.lb-tv-metric strong {
  color: #fff;
  font-size: clamp(34px, 2.72vw, 58px);
  line-height: 1.05;
  font-weight: 950;
  overflow-wrap: anywhere;
}
.lb-tv-timeline,
.lb-tv-card-grid,
.lb-tv-route-grid {
  display: grid;
  gap: clamp(12px, 1vw, 18px);
}
.lb-tv-card-grid,
.lb-tv-route-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lb-tv-row,
.lb-tv-route-card {
  min-height: clamp(82px, 5.65vw, 114px);
  display: grid;
  grid-template-columns: clamp(58px, 4.4vw, 86px) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(14px, 1.2vw, 24px);
  padding: clamp(14px, 1.3vw, 24px);
  border-radius: clamp(20px, 1.8vw, 32px);
}
.lb-tv-empty {
  min-height: clamp(120px, 9vw, 180px);
  display: grid;
  place-items: center;
  padding: clamp(24px, 2vw, 42px);
  border-radius: clamp(22px, 2vw, 34px);
  color: rgba(255,255,255,.80);
  font-size: clamp(22px, 1.6vw, 34px);
  line-height: 1.25;
  font-weight: 820;
  text-align: center;
}
.lb-tv-row-icon,
.lb-tv-route-card span {
  width: clamp(58px, 4.4vw, 86px);
  height: clamp(58px, 4.4vw, 86px);
  display: grid;
  place-items: center;
  border-radius: clamp(18px, 1.5vw, 28px);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.30), transparent 34%),
    linear-gradient(145deg, #e6c66c, #96702e);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 14px 24px rgba(0,0,0,.24);
}
.lb-tv-row-icon i,
.lb-tv-route-card span i {
  color: #071322;
  font-size: clamp(23px, 1.7vw, 36px);
}
.lb-tv-row div,
.lb-tv-route-card div {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.lb-tv-row strong,
.lb-tv-route-card strong {
  color: #fff;
  font-size: clamp(22px, 1.52vw, 32px);
  line-height: 1.08;
  font-weight: 950;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.lb-tv-row em,
.lb-tv-route-card em {
  color: rgba(255,255,255,.68);
  font-size: clamp(14px, .96vw, 20px);
  line-height: 1.25;
  font-style: normal;
  font-weight: 720;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-tv-row b,
.lb-tv-route-card b {
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: clamp(14px, 1vw, 20px);
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}
.lb-tv-row.is-open .lb-tv-row-icon {
  background: linear-gradient(145deg, #5de0eb, #0c6c7e);
}
.lb-tv-split {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: clamp(18px, 1.5vw, 28px);
  align-items: stretch;
}
.lb-tv-feature {
  min-height: clamp(310px, 25vw, 490px);
  display: grid;
  align-content: end;
  gap: 16px;
  padding: clamp(26px, 2.6vw, 48px);
  border-radius: clamp(28px, 2.6vw, 44px);
  background:
    radial-gradient(circle at 68% 14%, rgba(var(--lbg-4),.25), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
}
.lb-tv-feature span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.lb-tv-feature strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(46px, 3.8vw, 82px);
  line-height: .95;
}
.lb-tv-feature em {
  color: rgba(255,255,255,.78);
  font-size: clamp(24px, 1.8vw, 38px);
  font-style: normal;
  font-weight: 850;
}
.lb-tv-poster-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 1.8vw, 32px);
  align-items: stretch;
}
.lb-tv-poster-card {
  position: relative;
  min-height: clamp(430px, 34vw, 650px);
  overflow: hidden;
  border-radius: clamp(28px, 2.6vw, 46px);
  border: 1px solid rgba(var(--lbg-4),.22);
  background: rgba(5,15,28,.56);
  box-shadow:
    0 26px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.lb-tv-poster-card::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: calc(clamp(28px, 2.6vw, 46px) - 10px);
  border: 1px solid rgba(var(--lbg-4),.16);
  pointer-events: none;
}
.lb-tv-poster-media,
.lb-tv-poster-shade {
  position: absolute;
  inset: 0;
}
.lb-tv-poster-media {
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  animation: tvPosterDrift 18s ease-in-out infinite alternate;
}
.lb-tv-poster-shade {
  background:
    linear-gradient(180deg, rgba(2,8,17,.04), rgba(2,8,17,.42) 48%, rgba(2,8,17,.94)),
    radial-gradient(circle at 50% 0%, rgba(var(--lbg-4),.16), transparent 42%);
}
.lb-tv-poster-copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: clamp(7px, .65vw, 12px);
  padding: clamp(28px, 2.7vw, 48px);
}
.lb-tv-poster-copy span {
  width: fit-content;
  color: var(--gold-light);
  font-size: clamp(12px, .9vw, 18px);
  font-weight: 950;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.lb-tv-poster-copy strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(46px, 4vw, 84px);
  line-height: .95;
  letter-spacing: 0;
  text-shadow: 0 18px 44px rgba(0,0,0,.52);
}
.lb-tv-poster-copy em {
  color: rgba(255,255,255,.74);
  font-size: clamp(18px, 1.22vw, 28px);
  line-height: 1.2;
  font-style: normal;
  font-weight: 840;
}
.lb-tv-poster-copy b {
  width: fit-content;
  margin-top: 4px;
  padding: 12px 16px;
  border-radius: 999px;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: clamp(17px, 1.18vw, 26px);
  line-height: 1;
  font-weight: 950;
}
@keyframes tvPosterDrift {
  0% {
    background-position: center 0%;
    transform: scale(1.03);
  }
  100% {
    background-position: center 100%;
    transform: scale(1.08);
  }
}
.lb-tv-daily-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, .62vw, 12px);
  max-height: min(64vh, 690px);
  align-content: center;
  overflow: hidden;
}
.lb-tv-daily-item {
  min-height: clamp(58px, 3.95vw, 78px);
  display: grid;
  grid-template-columns: clamp(62px, 4.1vw, 82px) clamp(40px, 2.9vw, 58px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(8px, .72vw, 14px);
  padding: clamp(10px, .78vw, 16px);
  border-radius: clamp(18px, 1.45vw, 28px);
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
  box-shadow: 0 18px 42px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.lb-tv-daily-item b {
  height: clamp(38px, 2.8vw, 54px);
  display: grid;
  place-items: center;
  border-radius: clamp(14px, 1.1vw, 22px);
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: clamp(16px, 1vw, 22px);
  font-weight: 950;
}
.lb-tv-daily-item span {
  width: clamp(38px, 2.8vw, 54px);
  height: clamp(38px, 2.8vw, 54px);
  display: grid;
  place-items: center;
  border-radius: clamp(14px, 1.1vw, 22px);
  color: #071322;
  background: linear-gradient(145deg, #6edce7, #1b7c91);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.lb-tv-daily-item span i {
  font-size: clamp(16px, 1.1vw, 24px);
}
.lb-tv-daily-item div {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.lb-tv-daily-item strong {
  color: #fff;
  font-size: clamp(16px, 1.04vw, 23px);
  line-height: 1.12;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-tv-daily-item em {
  color: rgba(255,255,255,.64);
  font-size: clamp(11px, .74vw, 16px);
  line-height: 1.2;
  font-style: normal;
  font-weight: 760;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-tv-daily-item.is-past {
  opacity: .62;
}
.lb-tv-daily-item.is-next {
  border-color: rgba(var(--lbg-4),.62);
  background:
    radial-gradient(circle at 90% 0%, rgba(var(--lbg-4),.24), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  box-shadow:
    0 24px 60px rgba(var(--lbg-4),.18),
    inset 0 0 0 1px rgba(var(--lbg-4),.18);
}
.lb-tv-week-board {
  width: 100%;
  min-height: min(68vh, 760px);
  max-height: min(72vh, 820px);
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(480px, 1.28fr);
  gap: clamp(18px, 1.8vw, 34px);
  align-items: stretch;
}
.lb-tv-week-hero,
.lb-tv-week-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-4),.24);
  background: rgba(5,15,28,.56);
  box-shadow:
    0 26px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.lb-tv-week-hero {
  min-height: 100%;
  border-radius: clamp(30px, 2.6vw, 48px);
}
.lb-tv-week-hero::after,
.lb-tv-week-card::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: inherit;
  border: 1px solid rgba(var(--lbg-4),.14);
  pointer-events: none;
}
.lb-tv-week-hero-backdrop,
.lb-tv-week-hero-media,
.lb-tv-week-hero-shade,
.lb-tv-week-card-bg,
.lb-tv-week-card-shade {
  position: absolute;
  inset: 0;
}
.lb-tv-week-hero-backdrop {
  background-size: cover;
  background-position: center top;
  opacity: .42;
  filter: blur(16px) saturate(1.16);
  transform: scale(1.14);
  animation: tvEventBackdropPan 28s ease-in-out infinite alternate;
}
.lb-tv-week-hero-media {
  background-size: cover;
  background-position: center top;
  transform: scale(1.025);
  animation: tvEventPosterPan 24s cubic-bezier(.42, 0, .20, 1) infinite alternate;
}
.lb-tv-week-hero-shade {
  background:
    linear-gradient(180deg, rgba(2,8,17,.04), rgba(2,8,17,.14) 26%, rgba(2,8,17,.64) 70%, rgba(2,8,17,.97)),
    radial-gradient(circle at 52% 0%, rgba(var(--lbg-4),.14), transparent 44%);
}
.lb-tv-week-hero-copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: clamp(8px, .72vw, 14px);
  padding: clamp(30px, 2.8vw, 54px);
}
.lb-tv-week-hero-copy span,
.lb-tv-week-head span,
.lb-tv-week-card-copy small {
  color: var(--gold-light);
  font-weight: 950;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.lb-tv-week-hero-copy span {
  font-size: clamp(12px, .92vw, 18px);
}
.lb-tv-week-hero-copy strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(52px, 4.1vw, 88px);
  line-height: .92;
  letter-spacing: 0;
  text-shadow: 0 22px 56px rgba(0,0,0,.54);
}
.lb-tv-week-hero-copy em {
  color: rgba(255,255,255,.78);
  font-size: clamp(19px, 1.22vw, 28px);
  line-height: 1.25;
  font-style: normal;
  font-weight: 830;
}
.lb-tv-week-hero-copy b,
.lb-tv-week-card-meta b {
  width: fit-content;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  border-radius: 999px;
  font-weight: 950;
  white-space: nowrap;
}
.lb-tv-week-hero-copy b {
  padding: 13px 17px;
  font-size: clamp(18px, 1.25vw, 28px);
  line-height: 1;
}
.lb-tv-week-list {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto repeat(7, minmax(0, 1fr));
  gap: clamp(10px, .8vw, 16px);
}
.lb-tv-week-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: clamp(48px, 3.4vw, 70px);
  padding: 0 clamp(14px, 1.1vw, 22px);
  border-radius: clamp(16px, 1.2vw, 24px);
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.lb-tv-week-head span {
  font-size: clamp(12px, .84vw, 16px);
}
.lb-tv-week-head b {
  color: rgba(255,255,255,.82);
  font-size: clamp(16px, 1.05vw, 22px);
  font-weight: 900;
}
.lb-tv-week-card {
  min-height: 0;
  border-radius: clamp(18px, 1.45vw, 28px);
}
.lb-tv-week-card-bg {
  background-size: cover;
  background-position: center top;
  transform: scale(1.025);
  animation: tvEventPosterPan 26s cubic-bezier(.42, 0, .20, 1) infinite alternate;
}
.lb-tv-week-card-shade {
  background:
    linear-gradient(90deg, rgba(2,8,17,.90), rgba(2,8,17,.48) 52%, rgba(2,8,17,.30)),
    linear-gradient(180deg, rgba(2,8,17,.05), rgba(2,8,17,.78));
}
.lb-tv-week-card.is-active {
  border-color: rgba(var(--lbg-4),.70);
  box-shadow:
    0 20px 52px rgba(var(--lbg-4),.18),
    inset 0 0 0 1px rgba(var(--lbg-4),.16);
}
.lb-tv-week-card-copy,
.lb-tv-week-card-meta {
  position: absolute;
  z-index: 1;
}
.lb-tv-week-card-copy {
  left: clamp(16px, 1.25vw, 26px);
  right: 34%;
  bottom: clamp(14px, 1.05vw, 22px);
  display: grid;
  gap: 3px;
}
.lb-tv-week-card-copy small {
  font-size: clamp(9px, .62vw, 13px);
}
.lb-tv-week-card-copy strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(24px, 1.65vw, 38px);
  line-height: 1;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-tv-week-card-copy em {
  color: rgba(255,255,255,.70);
  font-size: clamp(12px, .82vw, 17px);
  line-height: 1.2;
  font-style: normal;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-tv-week-card-meta {
  right: clamp(14px, 1.05vw, 22px);
  bottom: clamp(14px, 1.05vw, 22px);
  display: grid;
  justify-items: end;
  gap: 8px;
}
.lb-tv-week-card-meta span {
  max-width: 20em;
  color: rgba(255,255,255,.76);
  font-size: clamp(11px, .74vw, 15px);
  font-weight: 780;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-tv-week-card-meta b {
  padding: 9px 13px;
  font-size: clamp(13px, .9vw, 18px);
  line-height: 1;
}
@keyframes tvEventPosterPan {
  0% {
    background-position: center 0%;
    transform: scale(1.025);
  }
  100% {
    background-position: center 100%;
    transform: scale(1.065);
  }
}
@keyframes tvEventBackdropPan {
  0% { background-position: center 0%; }
  100% { background-position: center 100%; }
}
.lb-tv-footer {
  position: absolute;
  left: clamp(42px, 5vw, 84px);
  right: clamp(42px, 5vw, 84px);
  bottom: clamp(22px, 2.3vw, 42px);
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(260px, 30vw) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
}
.lb-tv-progress {
  display: flex;
  gap: 10px;
}
.lb-tv-progress i {
  width: clamp(44px, 4vw, 76px);
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  overflow: hidden;
}
.lb-tv-progress i.is-active::after {
  content: "";
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f8df8a, #b98a3b);
  animation: tvProgress 28s linear both;
}
.lb-tv-ticker {
  min-width: 0;
  overflow: hidden;
  height: clamp(48px, 3.6vw, 66px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  border-radius: 18px;
  border: 1px solid rgba(var(--lbg-4),.20);
  background:
    linear-gradient(90deg, rgba(8,20,33,.78), rgba(255,255,255,.07), rgba(8,20,33,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 42px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.lb-tv-ticker b {
  height: 100%;
  display: grid;
  place-items: center;
  padding: 0 clamp(18px, 1.4vw, 28px);
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: clamp(13px, .88vw, 18px);
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.lb-tv-ticker span {
  display: block;
  width: max-content;
  padding: 0 20px;
  color: rgba(255,255,255,.82);
  font-size: clamp(15px, 1.05vw, 22px);
  font-weight: 820;
  white-space: nowrap;
  animation: tvTicker 70s linear infinite;
}
.lb-tv-stage[data-slide="dining"] .lb-tv-feature {
  min-height: clamp(260px, 20vw, 410px);
}
.lb-tv-stage[data-slide="dining"] .lb-tv-split {
  align-items: center;
}
.lb-tv-stage[data-slide="shows"] .lb-tv-visual,
.lb-tv-stage[data-slide="show-week"] .lb-tv-visual,
.lb-tv-stage[data-slide="kids-week"] .lb-tv-visual {
  overflow: visible;
}
.lb-tv-stage[data-slide="activities"] .lb-tv-visual {
  overflow: hidden;
}
@media (min-width: 1180px) {
  .lb-tv-stage {
    height: calc(100vh - clamp(220px, 15vw, 276px));
  }
  .lb-tv-timeline,
  .lb-tv-card-grid,
  .lb-tv-route-grid {
    max-height: min(64vh, 660px);
    overflow: hidden;
  }
}
@keyframes tvBgDrift {
  from { transform: scale(1.03) translate3d(-.7%, -.4%, 0); }
  to { transform: scale(1.13) translate3d(.9%, .5%, 0); }
}
@keyframes tvCopyIn {
  from { opacity: 0; transform: translate3d(-34px, 0, 0); filter: blur(10px); }
  to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
@keyframes tvVisualIn {
  from { opacity: 0; transform: translate3d(38px, 0, 0) scale(.985); filter: blur(10px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}
@keyframes tvProgress {
  from { width: 0; }
  to { width: 100%; }
}
@keyframes tvTicker {
  from { transform: translateX(18%); }
  to { transform: translateX(-100%); }
}
@media (max-aspect-ratio: 4/3) {
  .lb-tv-stage {
    grid-template-columns: 1fr;
    align-content: center;
  }
  .lb-tv-copy h1 {
    max-width: 11em;
  }
}
.lb-today-panel {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: end center;
  pointer-events: none;
}
.lb-today-panel[aria-hidden="true"] {
  visibility: hidden;
}
.lb-today-panel.is-open {
  pointer-events: auto;
  visibility: visible;
}
.lb-today-scrim {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 14%, rgba(53,198,211,.12), transparent 36%),
    rgba(1,8,15,.72);
  opacity: 0;
  transition: opacity .38s var(--ease-luxury);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
}
.lb-today-panel.is-open .lb-today-scrim { opacity: 1; }
.lb-today-sheet {
  position: relative;
  width: min(100%, 760px);
  max-height: min(92vh, 940px);
  margin: 0 auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 30px 30px 0 0;
  background:
    linear-gradient(180deg, rgba(14,56,89,.98), rgba(5,19,33,.99));
  border: 1px solid rgba(var(--lbg-4),.25);
  box-shadow: 0 -24px 74px rgba(0,0,0,.58), 0 -4px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.14);
  transform: translate3d(0, 34px, 0) scale(.985);
  opacity: 0;
  transition:
    transform .48s var(--ease-luxury),
    opacity .38s var(--ease-luxury);
}
.lb-today-panel.is-open .lb-today-sheet {
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
}
.lb-today-hero {
  position: relative;
  min-height: 236px;
  overflow: hidden;
}
.lb-today-hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('assets/today/today-noon.webp');
  background-size: cover;
  background-position: center center;
  filter: saturate(1.08) brightness(.93);
  animation: todayHeroZoom 18s cubic-bezier(.22,.61,.36,1) infinite alternate;
}
.lb-today-hero-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 16%, rgba(var(--lbg-4),.22), transparent 34%),
    linear-gradient(180deg, rgba(4,13,24,.10), rgba(4,13,24,.48) 54%, rgba(4,13,24,.96)),
    linear-gradient(90deg, rgba(4,13,24,.88), rgba(4,13,24,.34) 58%, rgba(4,13,24,.68));
}
.lb-today-close {
  position: absolute;
  right: 16px;
  top: calc(14px + var(--safe-top));
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(8,21,35,.58);
  color: rgba(255,255,255,.88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 12px 28px rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 3;
}
.lb-today-hero-copy {
  position: relative;
  z-index: 2;
  padding: calc(34px + var(--safe-top)) 22px 22px;
  width: min(100%, 560px);
  display: grid;
  gap: 10px;
}
.lb-today-hero-copy > span {
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .26em;
}
.lb-today-hero-copy h2 {
  font-family: var(--font-display);
  font-size: clamp(34px, 9vw, 56px);
  line-height: .98;
  color: var(--white);
  letter-spacing: 0;
  text-shadow: 0 10px 34px rgba(0,0,0,.58);
}
/* Kişisel selam: büyük hero başlığı boyutunda kalsın, sadece isim altın */
.lb-today-greet-name { color: var(--gold-light); }
.lb-today-hero-copy p {
  max-width: 32em;
  color: rgba(255,255,255,.84);
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 650;
}
.lb-today-hero-copy small {
  max-width: 34em;
  color: rgba(255,255,255,.92);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 780;
  text-shadow: 0 4px 14px rgba(0,0,0,.55);
}
.lb-today-weather-mini {
  display: inline-flex;
  align-items: end;
  gap: 10px;
  width: fit-content;
  padding-top: 2px;
}
.lb-today-weather-mini strong {
  color: var(--white);
  font-size: 48px;
  line-height: .8;
  font-weight: 900;
  text-shadow: 0 10px 26px rgba(0,0,0,.48);
}
.lb-today-weather-mini em {
  color: rgba(255,255,255,.9);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
  padding-bottom: 3px;
}
.lb-today-weather-mini i { color: var(--gold-light); }
.lb-today-body {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background:
    linear-gradient(180deg, rgba(8,31,50,.94), rgba(5,19,33,.98));
}
.lb-today-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  scrollbar-width: none;
}
.lb-today-tabs::-webkit-scrollbar { display: none; }
.lb-today-tabs button {
  flex: 0 0 auto;
  min-height: 40px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 0 15px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.68);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .01em;
}
.lb-today-tabs button.is-active {
  background: linear-gradient(135deg, rgba(var(--lbg-4),.96), rgba(166,126,48,.94));
  border-color: rgba(255,255,255,.24);
  color: rgba(9,21,34,.96);
  box-shadow: 0 12px 24px rgba(var(--lbg-1),.22);
}
.lb-today-content {
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 14px 16px calc(26px + var(--safe-bot));
}
.lb-today-content::-webkit-scrollbar { display: none; }
.lb-today-stats {
  display: grid;
  grid-template-columns: .7fr 1.15fr 1.15fr;
  gap: 8px;
  margin-bottom: 12px;
}
.lb-today-stats div {
  min-width: 0;
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.lb-today-stats span {
  display: block;
  color: var(--gold-light);
  font-size: 8.4px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.lb-today-stats strong {
  display: block;
  color: var(--white);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 880;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-today-stats div:first-child strong {
  font-size: 30px;
  line-height: .95;
}
.lb-today-note {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  padding: 11px 12px;
  border-radius: 16px;
  color: rgba(255,255,255,.78);
  background: rgba(53,198,211,.08);
  border: 1px solid rgba(53,198,211,.18);
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 720;
}
.lb-today-note i { color: var(--teal); }
.lb-today-list {
  display: grid;
  gap: 10px;
}
.lb-today-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 13px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 28px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08);
}
/* Lüks: kart arka planında mekan görseli + navy scrim */
.lb-today-card { position: relative; overflow: hidden; isolation: isolate; }
.lb-today-card.has-img { background: var(--navy-deep); border-color: rgba(255,255,255,.16); }
.lb-today-card-bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: var(--ti);
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
}
.lb-today-card-scrim {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(100deg, rgba(4,16,29,.95) 0%, rgba(5,22,38,.9) 38%, rgba(7,28,46,.56) 76%, rgba(7,28,46,.3) 100%),
    linear-gradient(to top, rgba(4,16,29,.72), rgba(4,16,29,0) 56%);
}
.lb-today-card.has-img > .lb-today-card-icon,
.lb-today-card.has-img > .lb-today-card-main { position: relative; z-index: 2; }
.lb-today-card.has-img .lb-today-card-top strong { text-shadow: 0 2px 9px rgba(0,0,0,.65); }
.lb-today-card.has-img .lb-today-card-main p,
.lb-today-card.has-img .lb-today-card-meta em { text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.lb-today-card-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: var(--white);
  background: linear-gradient(135deg, rgba(var(--lbg-7),.92), rgba(153,112,38,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 12px 22px rgba(0,0,0,.22);
}
.lb-today-card.is-open .lb-today-card-icon { background: linear-gradient(135deg, rgba(53,198,211,.92), rgba(12,108,126,.94)); }
.lb-today-card.is-closed { opacity: .62; }
.lb-today-card-main {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.lb-today-card-top {
  min-width: 0;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}
.lb-today-card-top strong {
  min-width: 0;
  color: var(--white);
  font-size: 15px;
  line-height: 1.22;
  font-weight: 900;
}
.lb-today-card-top span {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  color: rgba(6,18,28,.94);
  background: rgba(var(--lbg-7),.92);
  font-size: 9.5px;
  font-weight: 900;
}
.lb-today-card.is-open .lb-today-card-top span {
  color: #042026;
  background: rgba(93,224,235,.92);
}
.lb-today-card.is-closed .lb-today-card-top span {
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.12);
}
.lb-today-card.is-ending .lb-today-card-top span {
  color: #2a1800;
  background: rgba(245,182,92,.95);
}
.lb-today-card.is-ending .lb-today-card-icon { background: linear-gradient(135deg, rgba(245,182,92,.95), rgba(176,116,38,.95)); }
.lb-today-card-top span .lb-today-dot {
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  margin-right: 5px;
  vertical-align: middle;
  animation: lbTodayPulse 1.4s ease-in-out infinite;
}
@keyframes lbTodayPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.6); } }
@media (prefers-reduced-motion: reduce) { .lb-today-card-top span .lb-today-dot { animation: none; } }
.lb-today-card-main p {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 680;
}
.lb-today-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lb-today-card-meta em {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.88);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.lb-today-card-meta i { color: var(--gold-light); }
.lb-today-actions {
  display: flex;
  gap: 8px;
  padding-top: 3px;
}
.lb-today-actions button {
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.84);
  background: rgba(255,255,255,.07);
  font-size: 11.5px;
  font-weight: 850;
}
.lb-today-actions button.is-route {
  background: linear-gradient(135deg, rgba(62,139,255,.95), rgba(18,76,176,.95));
  border-color: rgba(117,181,255,.55);
  color: var(--white);
  box-shadow: 0 10px 22px rgba(34,102,214,.22);
}
.lb-today-empty {
  padding: 22px;
  border-radius: 20px;
  color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  text-align: center;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 720;
}
@keyframes todayHeroZoom {
  from { transform: scale(1.02); }
  to { transform: scale(1.13); }
}
@media (min-width: 760px) {
  .lb-today-panel { place-items: center; padding: 24px; }
  .lb-today-sheet { border-radius: 30px; max-height: min(88vh, 900px); }
}
@media (max-width: 430px) {
  .lb-today-sheet { max-height: 94vh; }
  .lb-today-hero { min-height: 222px; }
  .lb-today-hero-copy { padding: calc(30px + var(--safe-top)) 18px 18px; }
  .lb-today-hero-copy h2 { font-size: 37px; }
  .lb-today-hero-copy p { font-size: 12.7px; }
  .lb-today-stats { grid-template-columns: .62fr 1fr 1fr; gap: 7px; }
  .lb-today-stats div { padding: 10px; border-radius: 14px; }
  .lb-today-stats strong { font-size: 11.2px; }
  .lb-today-stats div:first-child strong { font-size: 26px; }
  .lb-today-card { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 12px; border-radius: 18px; }
  .lb-today-card-icon { width: 48px; height: 48px; border-radius: 15px; }
  .lb-today-actions button { flex: 1 1 0; justify-content: center; padding: 0 8px; }
}

/* ════════════════════════════════════════════════════════
   CATEGORY LIST
═══════════════════════════════════════════════════════ */
.lb-list {
  padding: 38px 14px 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lb-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.08);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .25s var(--ease-luxury), background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
  text-decoration: none;
  color: var(--white);
  position: relative;
  overflow: hidden;
  opacity: 0;
  animation: rowEnter .55s var(--ease-luxury) both;
}
.lb-row:nth-child(1) { animation-delay: .04s; }
.lb-row:nth-child(2) { animation-delay: .09s; }
.lb-row:nth-child(3) { animation-delay: .14s; }
.lb-row:nth-child(4) { animation-delay: .19s; }
.lb-row:nth-child(5) { animation-delay: .24s; }
.lb-row:nth-child(6) { animation-delay: .29s; }
.lb-row:nth-child(7) { animation-delay: .34s; }
.lb-row:nth-child(8) { animation-delay: .39s; }
.lb-row:nth-child(9) { animation-delay: .44s; }
.lb-row:nth-child(n+10) { animation-delay: .50s; }
@keyframes rowEnter {
  from { opacity: 0; transform: translateX(22px) scale(.98); }
  to   { opacity: 1; transform: translateX(0) scale(1); }
}

.lb-row:active {
  background: linear-gradient(135deg, rgba(var(--lbg-1),.20), rgba(var(--lbg-1),.08));
  border-color: rgba(var(--lbg-1),.42);
  transform: scale(.98);
  box-shadow: 0 6px 20px rgba(0,0,0,.28);
}

.lb-row-thumb {
  width: 64px; height: 64px;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  background-color: var(--navy-mid);
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
  position: relative;
  overflow: hidden;
}
.lb-row-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
/* Icon overlay on thumb when image not yet loaded */
.lb-row-thumb-icon {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(var(--lbg-1),.2), rgba(8,31,50,.6));
  z-index: 1;
  opacity: .9;
  transition: opacity .4s ease;
}
.lb-row-thumb.loaded .lb-row-thumb-icon { opacity: 0; }
.lb-row-thumb-icon i {
  font-size: 20px;
  color: var(--gold-light);
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.4));
}

.lb-row-body { flex: 1; min-width: 0; }
.lb-row-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.16;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: .002em;
}
.lb-row-sub {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: rgba(255,255,255,.5);
  margin-top: 4px;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.lb-row-sub i { font-size: 9px; }
.lb-row-sub.gold { color: var(--gold-light); }
.lb-row-chev {
  font-size: 13px !important;
  color: rgba(var(--lbg-1),.55);
  flex-shrink: 0;
  transition: transform .25s var(--ease-luxury), color .25s var(--ease-luxury);
}
.lb-row:active .lb-row-chev { transform: translateX(5px); color: var(--gold-light); }

/* ── Lüks: satır arka planında mekan görseli (yalnız görselli satırlar) ── */
.lb-row-bg, .lb-row-scrim { display: none; }
.lb-row.has-img { background: var(--navy-deep); }
.lb-row.has-img > .lb-row-bg,
.lb-row.has-img > .lb-row-scrim { display: block; position: absolute; inset: 0; }
.lb-row.has-img > .lb-row-bg {
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-color: var(--navy-mid);
  transform: scale(1.06);
}
.lb-row.has-img > .lb-row-scrim {
  z-index: 1;
  background:
    linear-gradient(100deg, rgba(4,16,29,.94) 0%, rgba(5,22,38,.86) 44%, rgba(7,28,46,.5) 78%, rgba(7,28,46,.26) 100%),
    linear-gradient(to top, rgba(4,16,29,.72), rgba(4,16,29,0) 60%);
}
.lb-row.has-img > .lb-row-thumb,
.lb-row.has-img > .lb-row-body,
.lb-row.has-img > .lb-row-chev { position: relative; z-index: 2; }
.lb-row.has-img .lb-row-thumb { background: linear-gradient(135deg, rgba(var(--lbg-2),.92), rgba(153,112,38,.96)); }
.lb-row.has-img .lb-row-thumb-icon { opacity: 1; background: transparent; }
.lb-row.has-img .lb-row-name { text-shadow: 0 2px 9px rgba(0,0,0,.62); }
.lb-row.has-img .lb-row-sub { color: rgba(255,255,255,.82); text-shadow: 0 1px 6px rgba(0,0,0,.55); }
.lb-row.has-img.is-leaf { background: var(--navy-deep); }
.lb-row.has-img.is-leaf::after { display: none; }
.lb-row.has-img.is-leaf::before { z-index: 2; }

/* ─── Kişiye özel hediye/teklif kartı ────────────────────── */
.lb-offer {
  position: fixed; inset: 0; z-index: 620;
  display: grid; place-items: center; padding: 22px;
  background: rgba(4,16,29,.66);
  -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
  opacity: 0; transition: opacity .3s ease;
}
.lb-offer.is-open { opacity: 1; }
.lb-offer-card {
  position: relative; width: min(380px, 100%);
  border-radius: 24px; padding: 30px 22px 22px; text-align: center; color: #fff;
  background: linear-gradient(165deg, var(--navy) 0%, var(--navy-deep) 68%, var(--navy-darker) 100%);
  border: 1px solid rgba(var(--lbg-2),.42);
  box-shadow: var(--shadow-card);
  transform: translateY(22px) scale(.97);
  transition: transform .38s cubic-bezier(.22,1,.36,1);
  overflow: hidden;
}
.lb-offer.is-open .lb-offer-card { transform: translateY(0) scale(1); }
.lb-offer-card::before {
  content: ""; position: absolute; top: -40%; left: -20%; width: 140%; height: 80%;
  background: radial-gradient(ellipse at center, rgba(var(--lbg-2),.18), transparent 60%);
  pointer-events: none;
}
.lb-offer-ribbon {
  position: relative; width: 64px; height: 64px; margin: 0 auto 14px;
  border-radius: 20px; display: grid; place-items: center; font-size: 28px;
  color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 10px 30px rgba(var(--lbg-2),.42);
}
.lb-offer-badge {
  display: inline-block; margin-bottom: 10px; padding: 4px 13px; border-radius: 999px;
  font-weight: 900; font-size: 13px; letter-spacing: .03em; color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
}
.lb-offer-hero { position: relative; height: 172px; margin: -30px -22px 18px; border-radius: 24px 24px 0 0; background-size: cover; background-position: center; }
.lb-offer-hero::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(to top, var(--navy) 4%, rgba(7,28,46,0) 62%); }
.lb-offer-card.has-img .lb-offer-badge { position: absolute; left: 14px; bottom: 12px; z-index: 2; margin: 0; box-shadow: 0 6px 18px rgba(0,0,0,.45); }
.lb-offer-kicker {
  font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 800;
  color: var(--gold-light); margin-bottom: 8px;
}
.lb-offer-title { font-family: var(--font-display); font-size: 1.45rem; line-height: 1.22; margin: 0 0 10px; }
.lb-offer-body { font-size: .95rem; line-height: 1.5; color: rgba(255,255,255,.86); margin: 0 0 20px; }
.lb-offer-actions { display: flex; flex-direction: column; gap: 9px; }
.lb-offer-cta {
  padding: 13px; border-radius: 14px; border: 0; font-weight: 800; font-size: 1rem;
  color: var(--navy-darker); background: linear-gradient(135deg, var(--gold-light), var(--gold));
  cursor: pointer; transition: transform .15s ease;
}
.lb-offer-cta:active { transform: scale(.97); }
.lb-offer-dismiss { padding: 9px; border: 0; background: transparent; color: rgba(255,255,255,.6); font-weight: 600; cursor: pointer; }
.lb-offer-x {
  position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .lb-offer, .lb-offer-card { transition: opacity .2s ease; }
  .lb-offer-card { transform: none; }
}

/* ─── Uygulama-içi tarayıcı ipucu (alt bant) ─────────────── */
.lb-webview {
  position: fixed; left: 12px; right: 12px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  z-index: 610; opacity: 0; transform: translateY(140%);
  transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease;
}
.lb-webview.is-open { opacity: 1; transform: translateY(0); }
.lb-webview-in {
  display: flex; align-items: center; gap: 11px;
  padding: 12px 14px; border-radius: 16px;
  background: linear-gradient(135deg, rgba(12,50,84,.98), rgba(7,28,46,.98));
  border: 1px solid rgba(var(--lbg-2),.42);
  box-shadow: var(--shadow-card);
  -webkit-backdrop-filter: var(--blur-glass); backdrop-filter: var(--blur-glass);
  color: #fff;
}
.lb-webview-in > i { color: var(--gold-light); font-size: 18px; flex: 0 0 auto; }
.lb-webview-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-webview-txt b { font-size: 13.5px; font-weight: 800; }
.lb-webview-txt span { font-size: 11.5px; color: rgba(255,255,255,.78); line-height: 1.35; }
.lb-webview-copy {
  flex: 0 0 auto; padding: 9px 13px; border-radius: 11px; border: 0;
  font-weight: 800; font-size: 12px; color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-light), var(--gold)); cursor: pointer; white-space: nowrap;
}
.lb-webview-x { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .lb-webview { transition: opacity .2s ease; transform: none; } .lb-webview:not(.is-open) { opacity: 0; } }

/* ─── Çevrimdışı göstergesi (üst-orta bant) ──────────────── */
.lb-offline {
  position: fixed;
  left: 50%;
  top: calc(env(safe-area-inset-top, 0px) + 10px);
  transform: translateX(-50%) translateY(-150%);
  z-index: 600;
  display: flex;
  align-items: center;
  gap: 9px;
  max-width: calc(100vw - 28px);
  padding: 9px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(12,50,84,.97), rgba(7,28,46,.97));
  border: 1px solid rgba(var(--lbg-2),.42);
  color: #fff;
  font: 800 12.5px/1.2 var(--font-sans);
  letter-spacing: .005em;
  box-shadow: var(--shadow-card);
  -webkit-backdrop-filter: var(--blur-glass);
  backdrop-filter: var(--blur-glass);
  opacity: 0;
  pointer-events: none;
  transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease;
}
.lb-offline.is-visible { transform: translateX(-50%) translateY(0); opacity: 1; }
.lb-offline i { color: var(--gold-light); font-size: 14px; flex: 0 0 auto; }
.lb-offline-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-offline.is-online { border-color: rgba(37,211,102,.55); }
.lb-offline.is-online i { color: var(--green); }
@media (prefers-reduced-motion: reduce) {
  .lb-offline { transition: opacity .2s ease; transform: translateX(-50%) translateY(0); }
  .lb-offline:not(.is-visible) { opacity: 0; }
}

/* ─── SON BAKTIKLARINIZ şeridi (ana ekran) ───────────────── */
.lb-recent { margin: 16px 0 2px; padding: 0 16px; animation: lbCardIn .5s cubic-bezier(.22,1,.36,1) both; }
.lb-recent-head {
  display: flex; align-items: center; gap: 8px;
  font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--gold-light); font-weight: 800; margin-bottom: 10px;
}
.lb-recent-head i { font-size: .82rem; opacity: .9; }
.lb-recent-row {
  display: flex; gap: 11px; overflow-x: auto;
  padding-bottom: 5px; margin: 0 -16px; padding-left: 16px; padding-right: 16px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
}
.lb-recent-row::-webkit-scrollbar { display: none; }
.lb-recent-card {
  position: relative; flex: 0 0 auto; width: 152px; height: 94px;
  border-radius: 16px; overflow: hidden; isolation: isolate;
  border: 1px solid rgba(255,255,255,.1); background: var(--navy-deep);
  cursor: pointer; padding: 0; text-align: left; scroll-snap-align: start;
  box-shadow: var(--shadow-card);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lb-recent-card:active { transform: scale(.96); }
.lb-recent-bg {
  position: absolute; inset: 0; z-index: 0;
  background-image: var(--ti); background-size: cover; background-position: center;
  transform: scale(1.05); transition: transform .4s ease;
}
.lb-recent-card:not(.has-img) .lb-recent-bg { display: none; }
.lb-recent-scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(4,16,29,.94), rgba(4,16,29,.28) 62%, rgba(4,16,29,.08));
}
.lb-recent-card:not(.has-img) .lb-recent-scrim {
  background: linear-gradient(135deg, rgba(12,50,84,.7), rgba(7,28,46,.4));
}
.lb-recent-ico {
  position: absolute; top: 9px; left: 9px; z-index: 2;
  width: 30px; height: 30px; display: grid; place-items: center;
  border-radius: 9px; color: #fff; font-size: 13px;
  background: linear-gradient(135deg, rgba(var(--lbg-2),.94), rgba(153,112,38,.96));
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
}
.lb-recent-name {
  position: absolute; left: 11px; right: 11px; bottom: 10px; z-index: 2;
  color: #fff; font-weight: 700; font-size: 13px; line-height: 1.22;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
@media (prefers-reduced-motion: reduce) {
  .lb-recent { animation: none; }
  .lb-recent-card:active { transform: none; }
}

.lb-row.is-leaf {
  min-height: 96px;
  padding: 14px 14px 14px 16px;
  gap: 15px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.018)),
    radial-gradient(circle at 8% 18%, rgba(var(--lbg-1),.20), transparent 38%),
    rgba(8,31,50,.56);
  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.09);
}
.lb-row.is-leaf::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--gold-soft), var(--gold), rgba(53,198,211,.70));
  box-shadow: 0 0 18px rgba(var(--lbg-1),.28);
}
.lb-row.is-leaf::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -34px;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53,198,211,.13), transparent 68%);
  pointer-events: none;
}
.lb-row.is-leaf:active {
  background:
    linear-gradient(135deg, rgba(var(--lbg-1),.15), rgba(255,255,255,.025)),
    radial-gradient(circle at 8% 18%, rgba(var(--lbg-1),.24), transparent 38%),
    rgba(8,31,50,.62);
  border-color: rgba(var(--lbg-1),.36);
}
.lb-row.is-leaf .lb-row-thumb {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 12px 24px rgba(0,0,0,.34),
    0 0 0 1px rgba(var(--lbg-1),.16),
    inset 0 1px 0 rgba(255,255,255,.16);
}
.lb-row.is-leaf .lb-row-thumb::after {
  border-color: rgba(255,255,255,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 34%),
    linear-gradient(0deg, rgba(5,15,28,.22), transparent 52%);
}
.lb-row.is-leaf .lb-row-thumb-icon {
  background:
    linear-gradient(145deg, rgba(var(--lbg-12),.28), rgba(8,31,50,.70)),
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.18), transparent 42%);
}
.lb-row.is-leaf .lb-row-body {
  position: relative;
  z-index: 1;
}
.lb-row.is-leaf .lb-row-name {
  font-size: 21px;
  line-height: 1.14;
  font-weight: 700;
  color: rgba(255,255,255,.96);
  text-shadow: 0 2px 14px rgba(0,0,0,.34);
}
.lb-row.is-leaf .lb-row-sub {
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  margin-top: 8px;
  background: rgba(var(--lbg-1),.08);
  border: 1px solid rgba(var(--lbg-1),.18);
  color: rgba(255,255,255,.58);
  letter-spacing: .09em;
}
.lb-row.is-leaf .lb-row-sub.gold {
  background: rgba(var(--lbg-1),.13);
  border-color: rgba(var(--lbg-1),.30);
  color: var(--gold-light);
}
.lb-row.is-leaf .lb-row-chev {
  position: relative;
  z-index: 1;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--gold-light);
  background: rgba(var(--lbg-1),.10);
  border: 1px solid rgba(var(--lbg-1),.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.lb-row.is-leaf:active .lb-row-chev {
  transform: translateX(3px) scale(1.04);
  background: rgba(var(--lbg-1),.18);
  border-color: rgba(var(--lbg-1),.38);
}
.lb-row.is-reservable {
  background: linear-gradient(135deg, rgba(var(--lbg-1),.12), rgba(var(--lbg-1),.04));
  border-color: rgba(var(--lbg-1),.28);
}
.lb-row.is-reservable::after {
  content: '\f274';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  top: 8px; right: 50px;
  font-size: 10px;
  color: var(--gold-light);
  opacity: .5;
}
.lb-row.is-leaf.is-reservable {
  background:
    linear-gradient(135deg, rgba(var(--lbg-1),.14), rgba(255,255,255,.025)),
    radial-gradient(circle at 8% 18%, rgba(var(--lbg-1),.24), transparent 38%),
    rgba(8,31,50,.58);
  border-color: rgba(var(--lbg-1),.32);
}
.lb-row.is-leaf.is-reservable::after {
  top: 10px;
  right: 14px;
  z-index: 1;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(var(--lbg-1),.14);
  border: 1px solid rgba(var(--lbg-1),.25);
  font-size: 10px;
  opacity: .85;
}

/* ════════════════════════════════════════════════════════
   DETAIL CONTENT
═══════════════════════════════════════════════════════ */
.lb-content {
  padding: 38px 14px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sec {
  animation: secFadeUp .6s var(--ease-luxury) both;
  opacity: 0;
}
@keyframes secFadeUp {
  from { opacity: 0; transform: translateY(20px) scale(.99); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.lb-exp-card {
  position: relative;
  overflow: hidden;
  padding: 17px;
  border-radius: 20px;
  border: 1px solid rgba(var(--lbg-4),.20);
  background:
    radial-gradient(circle at 16% 0%, rgba(var(--lbg-4),.18), transparent 42%),
    radial-gradient(circle at 100% 24%, rgba(53,198,211,.13), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.070), rgba(255,255,255,.020));
  box-shadow:
    0 22px 42px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.lb-exp-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-soft), var(--gold), rgba(53,198,211,.72));
}
.lb-exp-head {
  position: relative;
  z-index: 1;
}
.lb-exp-head h3 {
  margin: 4px 0 4px;
  font-family: var(--font-display);
  color: var(--white);
  font-size: 27px;
  line-height: 1.04;
}
.lb-exp-head p {
  margin: 0;
  max-width: 36em;
  color: rgba(255,255,255,.66);
  font-size: 12.4px;
  line-height: 1.45;
  font-weight: 720;
}
.lb-exp-metrics {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.lb-exp-metric {
  min-width: 0;
  min-height: 78px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-content: center;
  padding: 11px;
  border-radius: 16px;
  background: rgba(5,15,28,.32);
  border: 1px solid rgba(255,255,255,.08);
}
.lb-exp-metric span {
  grid-row: 1 / 3;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--white);
  background: linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 18px rgba(0,0,0,.18);
}
.lb-exp-metric small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255,255,255,.48);
  font-size: 8.5px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lb-exp-metric strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--white);
  font-size: 13.2px;
  line-height: 1.22;
  font-weight: 900;
}
.lb-exp-metric.is-good span { background: linear-gradient(145deg, #7ce595, #32a858); }
.lb-exp-metric.is-bad span { background: linear-gradient(145deg, #ff9c9c, #a73535); }
.lb-exp-metric.is-blue span { background: linear-gradient(145deg, #68d0df, #207b91); }
.lb-exp-actions {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 13px 0 1px;
  scrollbar-width: none;
}
.lb-exp-actions::-webkit-scrollbar { display: none; }
.lb-exp-actions button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-4),.28);
  background: rgba(var(--lbg-1),.10);
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.lb-exp-actions i {
  font-size: 11px;
}

.lux-disclosure {
  padding: 0;
}
.lux-disclosure > summary {
  list-style: none;
}
.lux-disclosure > summary::-webkit-details-marker {
  display: none;
}
.lux-summary {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px 15px;
  cursor: pointer;
  user-select: none;
}
.lux-summary-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--white);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.32), transparent 36%),
    linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: 0 9px 19px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.28);
}
.lux-summary-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.lux-summary-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gold-light);
  font-size: 8.4px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.lux-summary-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--font-display);
  color: var(--white);
  font-size: 20px;
  line-height: 1.08;
}
.lux-summary-copy em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255,255,255,.55);
  font-size: 10.8px;
  font-style: normal;
  font-weight: 760;
}
.lux-summary-action {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(5,15,28,.32);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--gold-light);
}
.lux-summary-action i {
  transition: transform .32s var(--ease-luxury);
}
.lux-disclosure[open] .lux-summary-action i {
  transform: rotate(180deg);
}
.lux-body {
  position: relative;
  z-index: 1;
  padding: 0 15px 15px;
}

/* HEADER (intro) */
.sec-header {
  text-align: center;
  padding: 14px 18px 18px;
  margin-bottom: 4px;
  position: relative;
}
.sec-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 70px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.sec-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .20em;
  color: var(--gold);
  text-transform: uppercase;
  padding: 5px 14px;
  border: 1px solid rgba(var(--lbg-1),.4);
  border-radius: 999px;
  margin-bottom: 12px;
  background: rgba(var(--lbg-1),.08);
}
.sec-tag i { font-size: 9px; }
.sec-subtitle {
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-style: italic;
  font-weight: 500;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
  margin: 4px 0;
}
.sec-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--gold-light);
  padding: 6px 14px;
  background: rgba(var(--lbg-1),.1);
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-1),.22);
}
.sec-date i { font-size: 10px; }

/* STATS GRID */
.sec-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 6px 0;
}
.stat-cell {
  position: relative;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 16px 14px 14px;
  overflow: hidden;
}
.stat-cell::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-1),.6), transparent);
  opacity: .65;
}
.stat-icon {
  width: 32px; height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(var(--lbg-1),.22), rgba(var(--lbg-1),.06));
  border: 1px solid rgba(var(--lbg-1),.25);
  display: grid;
  place-items: center;
  margin-bottom: 10px;
}
.stat-icon i { font-size: 13px; color: var(--gold-light); }
.stat-num {
  font-family: var(--font-display);
  font-size: 31px;
  font-weight: 700;
  line-height: 1.05;
  background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 60%, var(--gold-deep) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0;
}
.stat-lbl {
  margin-top: 6px;
  font-size: 9px;
  font-weight: 800;
  color: rgba(255,255,255,.55);
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* TIME SLOT */
.sec-time {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(53,198,211,.10), rgba(14,56,89,.45));
  border: 1px solid rgba(53,198,211,.18);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.sec-time::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-light), var(--gold));
}
.time-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(var(--lbg-1),.4),
              inset 0 1px 0 rgba(255,255,255,.35),
              inset 0 -2px 4px rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.22);
}
.time-icon i { font-size: 18px; color: var(--white); filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }

.time-body { flex: 1; min-width: 0; }
.time-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.14;
  letter-spacing: .002em;
}
.time-sub {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 700;
  color: rgba(255,255,255,.55);
  letter-spacing: .10em;
  text-transform: uppercase;
}
.time-val {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--gold-light);
  letter-spacing: .02em;
  flex-shrink: 0;
  white-space: nowrap;
  text-shadow: 0 1px 8px rgba(var(--lbg-1),.3);
}

/* DAILY ACTIVITY CARDS */
.sec-activity {
  position: relative;
  display: grid;
  grid-template-columns: 70px 46px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px 15px;
  min-height: 82px;
  border-radius: 18px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.022)),
    radial-gradient(circle at 12% 18%, rgba(var(--lbg-1),.18), transparent 42%),
    rgba(8,31,50,.48);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow:
    0 12px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.sec-activity::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-soft), var(--gold), rgba(53,198,211,.8));
}
.sec-activity::after {
  content: '';
  position: absolute;
  top: -35px;
  right: -35px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53,198,211,.13), transparent 68%);
  pointer-events: none;
}
.activity-time {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  height: 52px;
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(5,15,28,.62), rgba(255,255,255,.045));
  border: 1px solid rgba(var(--lbg-1),.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0;
  color: var(--gold-soft);
  text-shadow: 0 2px 12px rgba(var(--lbg-1),.22);
}
.activity-icon {
  position: relative;
  z-index: 1;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 8px 18px rgba(var(--lbg-1),.30),
    inset 0 2px 0 rgba(255,255,255,.35),
    inset 0 -2px 5px rgba(0,0,0,.22);
}
.activity-icon i {
  font-size: 17px;
  color: var(--white);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
.activity-body {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.activity-title {
  font-family: var(--font-sans);
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.28;
  color: var(--white);
  letter-spacing: .002em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.activity-sub {
  margin-top: 5px;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.35;
  color: rgba(255,255,255,.58);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.activity-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 6px 4px;
  color: var(--gold-light);
}
.activity-divider span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-1),.55));
}
.activity-divider span:last-child {
  background: linear-gradient(90deg, rgba(var(--lbg-1),.55), transparent);
}
.activity-divider div {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-1),.28);
  background: rgba(var(--lbg-1),.08);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .015em;
  color: var(--gold-light);
}
.activity-divider i {
  font-size: 12px;
  color: var(--gold-soft);
}

/* INFO CHIP */
.sec-info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px 14px 14px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
}
.sec-info::before {
  content: '';
  position: absolute;
  top: 12px; bottom: 12px; left: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-light), var(--gold));
  border-radius: 2px;
}
.info-icon {
  width: 38px; height: 38px;
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(var(--lbg-1),.2), rgba(var(--lbg-1),.05));
  border: 1px solid rgba(var(--lbg-1),.25);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.info-icon i { font-size: 15px; color: var(--gold-light); }
.info-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.info-lbl {
  font-size: 9px;
  font-weight: 800;
  color: rgba(255,255,255,.5);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.info-val {
  font-family: var(--font-display);
  font-size: 18.5px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: .002em;
  margin-top: 2px;
}

/* 2026 OPERATION SCHEDULE */
.op-card {
  position: relative;
  overflow: hidden;
  padding: 17px;
  border-radius: 18px;
  border: 1px solid rgba(var(--lbg-1),.18);
  background:
    radial-gradient(circle at 18% 0%, rgba(var(--lbg-1),.16), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.018));
  box-shadow:
    0 18px 38px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.075);
}
.op-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-soft), var(--gold), rgba(53,198,211,.7));
}
.op-head {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 5px;
  margin-bottom: 12px;
}
.op-kicker {
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.op-head h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 23px;
  line-height: 1.12;
  color: var(--white);
  letter-spacing: .002em;
}
.op-meta {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 13px;
}
.op-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(5,15,28,.34);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.op-meta i {
  color: var(--gold-light);
  font-size: 11px;
}
.op-week {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.op-day {
  min-width: 0;
  min-height: 62px;
  padding: 9px 7px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.045);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 7px;
}
.op-day span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(255,255,255,.55);
  font-size: 8.4px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.op-day strong {
  color: var(--white);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
}
.op-day.is-open strong { color: #72dc8c; }
.op-day.is-closed {
  background: rgba(154,35,35,.18);
  border-color: rgba(255,91,91,.22);
}
.op-day.is-closed strong { color: #ff8585; }
.sisha-lounge-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-4),.28);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(15,38,54,.98), rgba(4,13,23,.99));
  box-shadow:
    0 24px 52px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.sisha-lounge-card .lux-body {
  position: relative;
  z-index: 1;
  padding: 0 16px 18px;
}
.sisha-hero {
  position: relative;
  overflow: hidden;
  min-height: 350px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .82fr);
  grid-template-rows: 1fr auto;
  gap: 18px;
  margin-bottom: 18px;
  padding: 34px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(90deg, rgba(4,13,23,.95), rgba(4,13,23,.70) 48%, rgba(4,13,23,.36)),
    linear-gradient(180deg, rgba(4,13,23,.10), rgba(4,13,23,.88)),
    url("assets/sisha/flame-grand-classic.jpg") center / cover no-repeat;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.sisha-hero-copy {
  align-self: end;
  max-width: 620px;
}
.sisha-hero-copy span {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid rgba(var(--lbg-4),.34);
  background: rgba(var(--lbg-4),.10);
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.sisha-hero-copy h3 {
  margin: 12px 0 9px;
  font-family: var(--font-display);
  font-size: 52px;
  line-height: .98;
  color: var(--white);
  letter-spacing: 0;
}
.sisha-hero-copy p {
  max-width: 560px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 720;
}
.sisha-hero-gallery {
  align-self: center;
  justify-self: end;
  width: min(100%, 520px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.sisha-hero-gallery figure {
  width: 100%;
  min-height: 122px;
  margin: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--lbg-4),.18), transparent 48%),
    rgba(2,7,13,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.sisha-hero-gallery img {
  width: auto;
  height: auto;
  max-width: calc(100% - 20px);
  max-height: 102px;
  object-fit: contain;
  display: block;
}
.sisha-hero-stats {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 180px));
  gap: 10px;
}
.sisha-hero-stats div {
  min-height: 76px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 13px 15px;
  border-radius: 15px;
  border: 1px solid rgba(var(--lbg-4),.26);
  background: rgba(3,11,20,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.sisha-hero-stats strong {
  color: var(--gold-light);
  font-size: 29px;
  line-height: 1;
  font-weight: 950;
}
.sisha-hero-stats span {
  color: rgba(255,255,255,.66);
  font-size: 9.5px;
  font-weight: 950;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: uppercase;
}
.sisha-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sisha-product-card {
  --sisha-visual-height: 190px;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: var(--sisha-visual-height) auto;
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.024)),
    rgba(5,18,31,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.sisha-product-visual {
  position: relative;
  display: grid;
  place-items: center;
  padding: 14px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 50% 18%, rgba(var(--lbg-4),.20), transparent 46%),
    linear-gradient(180deg, rgba(2,8,15,.90), rgba(6,18,30,.70));
}
.sisha-product-stage {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.sisha-product-visual img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(var(--sisha-visual-height) - 34px);
  object-fit: contain;
  display: block;
  margin: auto;
  filter: saturate(1.05) contrast(1.03);
}
.sisha-product-visual.is-empty {
  min-height: 190px;
}
.sisha-product-glyph {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.30), transparent 34%),
    linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: 0 16px 32px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.26);
  color: #07131f;
  font-size: 24px;
}
.sisha-product-visual em {
  margin-top: 9px;
  color: rgba(255,255,255,.62);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  text-align: center;
}
.sisha-product-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 16px;
}
.sisha-product-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}
.sisha-product-head small {
  display: block;
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sisha-product-head h4 {
  margin: 4px 0 0;
  color: var(--white);
  font-size: 21px;
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
}
.sisha-product-head strong {
  display: inline-grid;
  justify-items: end;
  gap: 3px;
  min-width: 76px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(var(--lbg-4),.30);
  background: rgba(var(--lbg-4),.10);
  color: rgba(255,255,255,.58);
  font-size: 8.5px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.sisha-product-head strong b {
  color: var(--gold-light);
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
}
.sisha-product-copy p {
  min-height: 52px;
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 12.5px;
  line-height: 1.43;
  font-weight: 680;
}
.sisha-flavor-panel {
  margin-top: 2px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 10px;
}
.sisha-flavor-panel summary {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  color: rgba(255,255,255,.86);
  font-size: 11.5px;
  font-weight: 900;
}
.sisha-flavor-panel summary::-webkit-details-marker {
  display: none;
}
.sisha-flavor-panel summary span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.sisha-flavor-panel summary i {
  color: var(--gold-light);
  font-size: 11px;
}
.sisha-flavor-panel summary b {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(53,198,211,.09);
  color: rgba(255,255,255,.74);
  font-size: 10px;
  font-weight: 900;
}
.sisha-flavor-grid {
  display: grid;
  gap: 12px;
  padding: 8px 0 2px;
}
.sisha-flavor-section {
  display: grid;
  gap: 7px;
}
.sisha-flavor-section h5 {
  margin: 0;
  color: var(--gold-light);
  font-size: 9.5px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}
.sisha-flavor-section ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.sisha-flavor-section li {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.065);
}
.sisha-flavor-section li span {
  color: rgba(255,255,255,.90);
  font-size: 10.8px;
  line-height: 1.22;
  font-weight: 920;
  overflow-wrap: anywhere;
}
.sisha-flavor-section li small {
  color: rgba(255,255,255,.56);
  font-size: 10px;
  line-height: 1.32;
  font-weight: 620;
}
.sisha-source-note {
  margin-top: 14px;
  color: rgba(255,255,255,.62);
}
@media (max-width: 1080px) {
  .sisha-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .sisha-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    min-height: 0;
    padding: 24px 18px;
  }
  .sisha-hero-copy h3 {
    font-size: 40px;
  }
  .sisha-hero-gallery {
    justify-self: stretch;
    width: 100%;
  }
  .sisha-hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .sisha-lounge-card .lux-body {
    padding-inline: 10px;
  }
  .sisha-hero {
    border-radius: 16px;
    padding: 20px 14px;
  }
  .sisha-hero-copy h3 {
    font-size: 34px;
  }
  .sisha-hero-copy p {
    font-size: 12px;
  }
  .sisha-hero-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .sisha-hero-gallery figure {
    height: 96px;
    min-height: 96px;
  }
  .sisha-hero-gallery img {
    max-height: 78px;
  }
  .sisha-hero-stats div {
    min-height: 70px;
    padding: 11px;
  }
  .sisha-product-grid {
    grid-template-columns: 1fr;
  }
  .sisha-product-card {
    --sisha-visual-height: 178px;
  }
  .sisha-product-copy {
    padding: 14px;
  }
  .sisha-product-head {
    grid-template-columns: 1fr;
  }
  .sisha-product-head strong {
    width: max-content;
    justify-items: start;
  }
  .sisha-product-copy p {
    min-height: 0;
  }
  .sisha-flavor-section ul {
    grid-template-columns: 1fr;
  }
}
.op-day.is-today {
  box-shadow: inset 0 0 0 1px rgba(var(--lbg-4),.50);
}
.op-week-themes .op-day {
  min-height: 70px;
}
.op-week-themes .op-day strong {
  color: var(--white);
  font-size: 11.2px;
}
.op-note {
  position: relative;
  z-index: 1;
  margin: 12px 0 0;
  color: rgba(255,255,255,.66);
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 650;
}

/* 2026 ENTERTAINMENT PROGRAMS */
.event-program {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(var(--lbg-4),.22);
  background:
    radial-gradient(circle at 82% 0%, rgba(53,198,211,.16), transparent 34%),
    radial-gradient(circle at 12% 0%, rgba(var(--lbg-4),.18), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.070), rgba(255,255,255,.018));
  box-shadow:
    0 24px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.event-program::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 30%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.032) 0 1px, transparent 1px 10px);
  opacity: .36;
  pointer-events: none;
}
.event-program-head {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6px;
}
.event-program-head span {
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.event-program-head h3 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 1.04;
  letter-spacing: 0;
}
.event-program-head p {
  margin: 0;
  color: rgba(255,255,255,.66);
  font-size: 12.2px;
  line-height: 1.45;
  font-weight: 720;
}
.event-program-daily {
  display: grid;
  gap: 14px;
  padding: 17px;
}
.event-activity-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.event-activity-pill {
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  grid-template-areas:
    "time title"
    "time sub";
  align-items: center;
  gap: 2px 9px;
  min-height: 62px;
  padding: 10px;
  border-radius: 17px;
  background: rgba(5,15,28,.36);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.event-activity-pill b {
  grid-area: time;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: 13px;
  font-weight: 950;
}
.event-activity-pill span {
  grid-area: title;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--white);
  font-size: 12.4px;
  font-weight: 900;
  line-height: 1.18;
}
.event-activity-pill span i {
  color: var(--gold-light);
  font-size: 12px;
}
.event-activity-pill em {
  grid-area: sub;
  color: rgba(255,255,255,.54);
  font-size: 10px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 760;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.event-program-card.lux-disclosure {
  padding: 0;
  border-color: rgba(var(--lbg-4),.24);
  background:
    radial-gradient(circle at 82% 0%, rgba(53,198,211,.16), transparent 36%),
    radial-gradient(circle at 14% 0%, rgba(var(--lbg-4),.18), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.072), rgba(255,255,255,.018));
}
.event-today-focus {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 14px;
  align-items: end;
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.022)),
    rgba(5,15,28,.30);
  border: 1px solid rgba(255,255,255,.08);
}
.event-focus-poster {
  min-height: 154px;
  border-radius: 17px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: rgba(4, 13, 24, .72);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 16px 30px rgba(0,0,0,.28);
}
.event-today-focus small,
.event-day-copy small {
  color: var(--gold-light);
  font-size: 8.5px;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.event-today-focus strong {
  display: block;
  margin: 5px 0 4px;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.04;
}
.event-today-focus span {
  color: rgba(255,255,255,.70);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 760;
}
.event-week-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.event-day-card {
  position: relative;
  min-height: clamp(330px, 78vw, 430px);
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(5,15,28,.40);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.event-day-card.is-today {
  border-color: rgba(var(--lbg-4),.62);
  box-shadow: 0 16px 32px rgba(var(--lbg-1),.20), inset 0 0 0 1px rgba(var(--lbg-4),.18);
}
.event-day-backdrop,
.event-day-media,
.event-day-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.event-day-backdrop {
  z-index: 0;
  background-size: cover;
  background-position: center top;
  opacity: .46;
  filter: blur(13px) saturate(1.18);
  transform: scale(1.16);
  animation: eventPosterBackdropPan 18s ease-in-out infinite alternate;
}
.event-day-media {
  inset: 0;
  z-index: 1;
  border-radius: 20px;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-color: rgba(4, 13, 24, .40);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.075);
  transform: scale(1.025);
  animation: eventPosterPan 16s cubic-bezier(.42, 0, .20, 1) infinite alternate;
  transition: filter .7s var(--ease-out);
}
.event-day-card:hover .event-day-media {
  filter: saturate(1.06);
}
.event-day-shade {
  z-index: 2;
  background:
    linear-gradient(180deg, rgba(3,12,22,.04), rgba(3,12,22,.18) 28%, rgba(3,12,22,.70) 72%, rgba(3,12,22,.96)),
    linear-gradient(90deg, rgba(3,12,22,.26), transparent 58%, rgba(3,12,22,.12));
}
.event-day-copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 4px;
  padding: 14px;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3,12,22,0) 0%, rgba(3,12,22,.54) 24%, rgba(3,12,22,.96) 100%);
  text-shadow: 0 3px 14px rgba(0,0,0,.72);
}
.event-day-copy strong {
  color: var(--white);
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.02;
  letter-spacing: 0;
}
.event-day-copy em {
  color: rgba(255,255,255,.68);
  font-style: normal;
  font-size: 11.3px;
  line-height: 1.25;
  font-weight: 780;
}
.event-day-copy b {
  width: fit-content;
  margin-top: 4px;
  padding: 6px 9px;
  border-radius: 999px;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
}

/* ════════ SHOW CENTER SAHNESİ — Bu Akşam hero + sinematik haftalık carousel ════════ */
.sc-stage { display: block; }
.sc-tonight {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(372px, 92vw, 460px);
  border-radius: 24px;
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid rgba(var(--lbg-7), .30);
  box-shadow: var(--shadow-card), 0 0 0 1px rgba(var(--lbg-7), .12) inset;
}
.sc-tonight-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center top;
  transform: scale(1.04);
  animation: scKenburns 18s var(--ease-luxury) both;
}
@keyframes scKenburns { from { transform: scale(1.12); } to { transform: scale(1); } }
.sc-tonight-scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(4,15,28,.30) 0%, rgba(4,15,28,.16) 34%, rgba(4,15,28,.64) 68%, rgba(4,15,28,.97) 100%),
    linear-gradient(90deg, rgba(4,15,28,.36), transparent 58%);
}
.sc-tonight-body { position: relative; z-index: 2; width: 100%; padding: 18px; display: flex; flex-direction: column; gap: 9px; }
.sc-live {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  font: 900 10.5px/1 var(--font-sans);
  letter-spacing: .16em; color: #fff;
  background: rgba(8,20,34,.5);
  border: 1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.sc-live i { width: 7px; height: 7px; border-radius: 50%; background: #ff5b5b; animation: lbShowLiveDot 1.8s ease-out infinite; }
.sc-tonight-title { margin: 0; font: 600 clamp(28px, 8vw, 38px)/1.05 var(--font-display); color: var(--white); }
.sc-tonight-type { margin: 0; font: 760 13.5px/1.4 var(--font-sans); color: rgba(255,255,255,.78); }
.sc-tonight-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 4px; }
.sc-tonight-meta span { display: flex; flex-direction: column; gap: 3px; padding: 8px 9px; border-radius: 13px; background: linear-gradient(155deg, rgba(255,255,255,.10), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.10); }
.sc-tonight-meta small { font: 900 8px/1 var(--font-sans); letter-spacing: .1em; color: var(--gold-light); }
.sc-tonight-meta b { font: 800 11.5px/1.12 var(--font-sans); color: #fff; white-space: nowrap; }
.sc-tonight-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 6px; }
.sc-act {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 16px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(8,20,34,.5); color: #fff;
  font: 800 13.5px/1 var(--font-sans); cursor: pointer;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: transform .2s var(--ease-out), filter .2s var(--ease-out);
}
.sc-act i { font-size: 1.05em; }
.sc-act:active { transform: scale(.97); }
.sc-act-primary { border: 0; color: var(--navy-darker); background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 12px 26px rgba(var(--lbg-2),.36); }
.sc-act.is-done { background: linear-gradient(135deg, #3ad29a, #1f9d72); color: #fff; }

.sc-week-head { margin: 4px 2px 10px; }
.sc-week-head span { font: 900 11px/1 var(--font-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-light); }

.sc-daystrip { display: flex; gap: 7px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 2px 2px 10px; scrollbar-width: none; }
.sc-daystrip::-webkit-scrollbar { display: none; }
.sc-day {
  flex: 0 0 auto; min-width: 46px; padding: 9px 12px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.7); font: 800 12px/1 var(--font-sans); cursor: pointer;
  transition: background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);
}
.sc-day.is-today { border-color: rgba(var(--lbg-7),.55); color: var(--gold-light); }
.sc-day.is-active { background: linear-gradient(135deg, var(--gold-light), var(--gold)); border-color: transparent; color: var(--navy-darker); }

.sc-carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 2px 2px 6px; scrollbar-width: none; }
.sc-carousel::-webkit-scrollbar { display: none; }
.sc-slide {
  position: relative; flex: 0 0 82%; scroll-snap-align: center;
  aspect-ratio: 3 / 4; border-radius: 20px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.10); background: rgba(5,15,28,.5);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.sc-slide.is-today { border-color: rgba(var(--lbg-7),.6); box-shadow: 0 14px 32px rgba(var(--lbg-1),.24), 0 0 0 1px rgba(var(--lbg-7),.2) inset; }
.sc-slide-poster { position: absolute; inset: 0; background-size: cover; background-position: center top; }
.sc-slide-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,15,28,0) 36%, rgba(4,15,28,.6) 66%, rgba(4,15,28,.97) 100%); }
.sc-slide-badge { position: absolute; top: 12px; left: 12px; z-index: 3; padding: 5px 10px; border-radius: 999px; font: 900 9px/1 var(--font-sans); letter-spacing: .12em; color: var(--navy-darker); background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 6px 16px rgba(0,0,0,.3); }
.sc-slide-remind {
  position: absolute; top: 10px; right: 10px; z-index: 3;
  width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.2); background: rgba(8,20,34,.55); color: #fff; cursor: pointer;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: background .2s var(--ease-out);
}
.sc-slide-remind.is-done { background: linear-gradient(135deg, #3ad29a, #1f9d72); }
.sc-slide-copy { position: absolute; inset: auto 0 0; z-index: 2; display: flex; flex-direction: column; gap: 3px; padding: 16px; }
.sc-slide-copy small { font: 900 8.5px/1 var(--font-sans); letter-spacing: .12em; color: var(--gold-light); text-transform: uppercase; }
.sc-slide-copy strong { font: 600 23px/1.04 var(--font-display); color: #fff; }
.sc-slide-copy em { font: 760 12px/1.3 var(--font-sans); font-style: normal; color: rgba(255,255,255,.74); }
.sc-slide-time { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; width: fit-content; padding: 5px 10px; border-radius: 999px; font: 800 11px/1 var(--font-sans); color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.14); }
@media (min-width: 560px) { .sc-slide { flex-basis: 46%; } }

/* Show Center içecek listesi (kart değil, carousel altında temiz liste) */
.sc-bev { margin-top: 18px; }
.sc-bev-head { margin: 0 2px 12px; }
.sc-bev-kicker { display: inline-flex; align-items: center; gap: 8px; font: 900 11px/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold-light); }
.sc-bev-head h3 { margin: 8px 0 4px; font: 600 22px/1.1 var(--font-display); color: var(--white); }
.sc-bev-head p { margin: 0; font: 600 12.5px/1.45 var(--font-sans); color: rgba(255,255,255,.6); }
.sc-bev-group { padding: 14px 0; border-top: 1px solid rgba(255,255,255,.08); }
.sc-bev-group:first-of-type { border-top: 0; padding-top: 4px; }
.sc-bev-group-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.sc-bev-ic { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(145deg, rgba(var(--lbg-4),.22), rgba(var(--lbg-4),.07)); color: var(--gold-light); font-size: 13px; }
.sc-bev-group-head h4 { margin: 0; font: 800 14px/1.1 var(--font-sans); color: var(--white); letter-spacing: .01em; }
.sc-bev-items { list-style: none; margin: 0; padding: 0 0 0 40px; }
.sc-bev-items li { position: relative; padding: 7px 0; font: 600 13.5px/1.35 var(--font-sans); color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.05); }
.sc-bev-items li:last-child { border-bottom: 0; }
.sc-bev-items li::before { content: ''; position: absolute; left: -16px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: var(--gold); transform: translateY(-50%); }

@keyframes eventPosterDrift {
  from { transform: scale(1.02) translate3d(-.6%, -.4%, 0); }
  to { transform: scale(1.08) translate3d(.8%, .6%, 0); }
}
@keyframes eventPosterPan {
  0% {
    background-position: center 0%;
    transform: scale(1.025);
  }
  100% {
    background-position: center 100%;
    transform: scale(1.045);
  }
}
@keyframes eventPosterBackdropPan {
  0% { background-position: center 0%; }
  100% { background-position: center 100%; }
}

.activity-experience {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(var(--lbg-4),.24);
  background:
    radial-gradient(circle at 88% 0%, rgba(53,198,211,.16), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018));
  box-shadow:
    0 28px 58px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.09);
}
.activity-experience::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 28%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 1px, transparent 1px 12px);
  opacity: .42;
  pointer-events: none;
}
.activity-experience-head,
.activity-experience-nav,
.activity-experience-window,
.activity-experience-controls {
  position: relative;
  z-index: 1;
}
.activity-experience-head {
  display: grid;
  gap: 7px;
  margin-bottom: 15px;
}
.activity-experience-head span,
.activity-slide-head small,
.activity-next-focus small {
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.activity-experience-head h3 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1.02;
  letter-spacing: 0;
}
.activity-experience-head p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 730;
}
.activity-experience-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.activity-experience-nav button {
  min-width: 0;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon sub";
  gap: 2px 8px;
  align-items: center;
  min-height: 58px;
  padding: 9px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(5,15,28,.36);
  color: var(--white);
  text-align: left;
  cursor: pointer;
  transition: transform .24s var(--ease-out), border-color .24s var(--ease-out), background .24s var(--ease-out);
}
.activity-experience-nav button.is-active {
  border-color: rgba(var(--lbg-4),.62);
  background: linear-gradient(145deg, rgba(var(--lbg-4),.25), rgba(53,198,211,.13));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 12px 24px rgba(0,0,0,.18);
}
.activity-experience-nav button:active {
  transform: scale(.98);
}
.activity-experience-nav i {
  grid-area: icon;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
}
.activity-experience-nav span {
  grid-area: label;
  min-width: 0;
  color: var(--white);
  font-size: 12px;
  line-height: 1.12;
  font-weight: 950;
}
.activity-experience-nav small {
  grid-area: sub;
  min-width: 0;
  color: rgba(255,255,255,.55);
  font-size: 9.6px;
  line-height: 1.18;
  font-weight: 760;
}
.activity-experience-window {
  overflow: hidden;
  border-radius: 21px;
  max-height: min(660px, calc(100dvh - var(--header-h) - 150px));
}
.activity-experience-track {
  display: flex;
  align-items: flex-start;
  transform: translateX(var(--activity-slide-offset, 0%));
  transition: transform .56s cubic-bezier(.22, .84, .25, 1);
  will-change: transform;
}
.activity-experience-slide {
  flex: 0 0 100%;
  min-width: 0;
  display: grid;
  gap: 14px;
  padding: 14px;
  border-radius: 21px;
  background: rgba(5,15,28,.30);
  border: 1px solid rgba(255,255,255,.08);
  max-height: min(660px, calc(100dvh - var(--header-h) - 150px));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  opacity: .46;
  transform: scale(.985);
  transition: opacity .38s var(--ease-out), transform .38s var(--ease-out);
  pointer-events: none;
}
.activity-experience-slide::-webkit-scrollbar,
.activity-experience .event-week-grid::-webkit-scrollbar,
.activity-experience .event-activity-grid::-webkit-scrollbar {
  display: none;
}
.activity-experience-slide.is-active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.activity-slide-head {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
}
.activity-slide-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
}
.activity-slide-head h4 {
  margin: 3px 0 3px;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 25px;
  line-height: 1.02;
  letter-spacing: 0;
}
.activity-slide-head p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 11.6px;
  line-height: 1.35;
  font-weight: 720;
}
.activity-slide-body {
  display: grid;
  gap: 13px;
  align-content: start;
}
.activity-next-focus {
  display: grid;
  gap: 4px;
  padding: 13px;
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(var(--lbg-4),.18), rgba(53,198,211,.10));
  border: 1px solid rgba(var(--lbg-4),.22);
}
.activity-next-focus strong {
  color: var(--white);
  font-size: 17px;
  line-height: 1.2;
  font-weight: 950;
}
.activity-next-focus span {
  color: rgba(255,255,255,.62);
  font-size: 11.3px;
  line-height: 1.35;
  font-weight: 720;
}
.activity-experience .event-activity-grid {
  max-height: 342px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}
.activity-experience .event-week-grid {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding: 2px 2px 8px;
}
.activity-experience .event-day-card {
  flex: 0 0 min(264px, 76vw);
  min-height: 360px;
  scroll-snap-align: start;
}
.activity-experience .op-note {
  margin-top: 0;
}
.activity-experience-controls {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: center;
  margin-top: 13px;
}
.activity-experience-controls button {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(5,15,28,.42);
  color: var(--white);
  cursor: pointer;
}
.activity-experience-controls span {
  text-align: center;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .08em;
}
@media (max-width: 560px) {
  .activity-experience {
    padding: 12px;
    border-radius: 20px;
  }
  .activity-experience-head {
    gap: 5px;
    margin-bottom: 10px;
  }
  .activity-experience-head h3 {
    font-size: 24px;
  }
  .activity-experience-head p {
    font-size: 11px;
    line-height: 1.35;
  }
  .activity-experience-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
  }
  .activity-experience-nav button {
    grid-template-columns: 1fr;
    grid-template-areas:
      "icon"
      "label";
    justify-items: center;
    min-height: 60px;
    padding: 7px 5px;
    text-align: center;
  }
  .activity-experience-nav i {
    width: 30px;
    height: 30px;
    border-radius: 11px;
  }
  .activity-experience-nav span {
    font-size: 10.5px;
    line-height: 1.1;
  }
  .activity-experience-nav small {
    display: none;
  }
  .activity-experience-window,
  .activity-experience-slide {
    max-height: min(560px, calc(100dvh - var(--header-h) - 178px));
  }
  .activity-experience-slide {
    padding: 11px;
    gap: 11px;
  }
  .activity-slide-head {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
  }
  .activity-slide-icon {
    width: 42px;
    height: 42px;
  }
  .activity-slide-head h4 {
    font-size: 22px;
  }
  .activity-slide-head p {
    display: none;
  }
  .activity-next-focus {
    padding: 11px;
    border-radius: 15px;
  }
  .activity-next-focus strong {
    font-size: 15.5px;
  }
  .activity-experience .event-activity-grid {
    max-height: 282px;
    gap: 7px;
  }
  .event-program-daily {
    padding: 13px;
    border-radius: 20px;
  }
  .event-activity-grid {
    grid-template-columns: 1fr;
  }
  .event-activity-pill {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 54px;
    padding: 8px;
    border-radius: 15px;
  }
  .event-activity-pill b {
    height: 38px;
    border-radius: 12px;
    font-size: 12px;
  }
  .event-activity-pill span {
    font-size: 11.8px;
  }
  .event-activity-pill em {
    font-size: 9.5px;
  }
  .activity-experience .event-week-grid {
    display: flex;
    grid-template-columns: none;
    gap: 9px;
  }
  .event-today-focus {
    grid-template-columns: 98px minmax(0, 1fr);
    gap: 11px;
  }
  .activity-experience .event-today-focus {
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
    border-radius: 16px;
    margin-bottom: 10px;
  }
  .event-focus-poster {
    min-height: 136px;
  }
  .activity-experience .event-focus-poster {
    min-height: 112px;
    border-radius: 14px;
  }
  .event-today-focus strong {
    font-size: 22px;
  }
  .activity-experience .event-today-focus strong {
    font-size: 18px;
  }
  .activity-experience .event-today-focus span {
    font-size: 10.8px;
  }
  .event-day-card {
    min-height: 380px;
  }
  .event-day-copy {
    padding: 58px 12px 12px;
    gap: 3px;
    background:
      linear-gradient(180deg, rgba(3,12,22,0) 0%, rgba(3,12,22,.62) 30%, rgba(3,12,22,.98) 100%);
  }
  .event-day-copy small {
    font-size: 7.9px;
    line-height: 1.2;
    letter-spacing: .10em;
  }
  .event-day-copy strong {
    font-size: 20px;
    line-height: 1.02;
  }
  .event-day-copy em {
    font-size: 10.6px;
  }
  .event-day-copy b {
    margin-top: 3px;
    padding: 6px 8px;
    font-size: 10.5px;
  }
  .activity-experience .event-day-card {
    display: flex;
    flex-direction: column;
    flex-basis: min(292px, 80vw);
    min-height: 0;
    height: auto;
    isolation: isolate;
    background:
      linear-gradient(180deg, rgba(10, 28, 47, .96), rgba(4, 13, 24, .96));
  }
  .activity-experience .event-day-backdrop {
    inset: 92px 0 0;
    opacity: .30;
    filter: blur(11px) saturate(1.1);
  }
  .activity-experience .event-day-media {
    position: relative;
    inset: auto;
    order: 2;
    width: 100%;
    min-height: 328px;
    height: min(390px, 96vw);
    z-index: 1;
    border-radius: 0 0 20px 20px;
    background-size: cover;
    background-position: center top;
    transform: none;
    animation: none;
  }
  .activity-experience .event-day-shade {
    display: none;
  }
  .activity-experience .event-day-copy {
    position: relative;
    inset: auto;
    order: 1;
    min-height: 98px;
    padding: 13px 12px 11px;
    z-index: 4;
    border-radius: 20px 20px 0 0;
    background:
      radial-gradient(circle at 0% 0%, rgba(var(--lbg-4),.22), transparent 34%),
      linear-gradient(145deg, rgba(9, 31, 52, .98), rgba(5, 18, 32, .96));
    border-bottom: 1px solid rgba(var(--lbg-4),.18);
    box-shadow: 0 12px 22px rgba(0,0,0,.20);
    text-shadow: 0 2px 10px rgba(0,0,0,.56);
  }
  .activity-experience .event-day-copy small {
    font-size: 8px;
    color: #f2d676;
  }
  .activity-experience .event-day-copy strong {
    max-width: 100%;
    color: #fff;
    font-size: 19px;
    line-height: 1.04;
  }
  .activity-experience .event-day-copy em {
    color: rgba(255,255,255,.78);
    font-size: 10.8px;
  }
  .activity-experience .event-day-copy b {
    margin-top: 4px;
    box-shadow: 0 8px 20px rgba(0,0,0,.22);
  }
  .activity-experience-controls {
    margin-top: 10px;
  }
  .activity-experience-controls button {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }
}

.price-card {
  position: relative;
  overflow: hidden;
  padding: 17px;
  border-radius: 18px;
  border: 1px solid rgba(53,198,211,.16);
  background:
    radial-gradient(circle at 88% 0%, rgba(53,198,211,.14), transparent 34%),
    radial-gradient(circle at 12% 0%, rgba(var(--lbg-1),.14), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.058), rgba(255,255,255,.016));
  box-shadow:
    0 18px 38px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.075);
}
.price-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, rgba(53,198,211,.78), var(--gold-soft), var(--gold));
}
.price-head {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 5px;
  margin-bottom: 13px;
}
.price-head h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 23px;
  line-height: 1.12;
  color: var(--white);
}
.price-group {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(5,15,28,.28);
  border: 1px solid rgba(255,255,255,.075);
}
.price-group + .price-group {
  margin-top: 10px;
}
.price-group-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(var(--lbg-4),.22);
}
.price-group-title span {
  color: var(--white);
  font-weight: 900;
  font-size: 13.5px;
}
.price-group-title small {
  color: var(--gold-light);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.price-rows {
  display: grid;
  gap: 8px;
}
.price-row {
  display: grid;
  grid-template-columns: minmax(116px, .72fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}
.price-service {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 9px 10px;
  border-radius: 13px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
}
.price-service strong {
  color: var(--white);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.15;
}
.price-service span {
  color: rgba(255,255,255,.58);
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.25;
}
.price-months {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.price-months span {
  min-width: 0;
  min-height: 48px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.065);
}
.price-months em {
  color: rgba(255,255,255,.50);
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.price-months b {
  color: var(--white);
  font-size: 12.3px;
  font-weight: 900;
  line-height: 1;
}
.price-months span.is-current {
  background: linear-gradient(145deg, rgba(var(--lbg-1),.30), rgba(var(--lbg-1),.09));
  border-color: rgba(var(--lbg-4),.50);
  box-shadow: 0 0 0 1px rgba(var(--lbg-4),.12), 0 8px 18px rgba(var(--lbg-1),.14);
}
.price-months span.is-current em,
.price-months span.is-current b {
  color: var(--gold-light);
}
.price-group-multi {
  border-color: rgba(var(--lbg-4),.18);
  background:
    radial-gradient(circle at 14% 0%, rgba(var(--lbg-1),.12), transparent 42%),
    rgba(5,15,28,.30);
}

.bev-card {
  position: relative;
  overflow: hidden;
  padding: 0;
  border-radius: 20px;
  border: 1px solid rgba(var(--lbg-4),.20);
  background:
    radial-gradient(circle at 15% 0%, rgba(var(--lbg-4),.18), transparent 36%),
    radial-gradient(circle at 100% 15%, rgba(53,198,211,.13), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.018));
  box-shadow:
    0 24px 46px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.075);
}
.bev-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 28%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.030) 0 1px, transparent 1px 9px);
  opacity: .42;
  pointer-events: none;
}
.bev-hero {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  padding: 18px 18px 15px;
  border-bottom: 1px solid rgba(var(--lbg-4),.18);
}
.bev-hero h3 {
  margin: 4px 0 2px;
  font-family: var(--font-display);
  color: var(--white);
  font-size: 28px;
  line-height: 1.04;
}
.bev-hero p {
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: 12px;
  font-weight: 760;
}
.bev-count {
  flex: 0 0 auto;
  width: 86px;
  min-height: 74px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  padding: 10px;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(var(--lbg-1),.28), rgba(var(--lbg-1),.08)),
    rgba(5,15,28,.42);
  border: 1px solid rgba(var(--lbg-4),.38);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 12px 26px rgba(0,0,0,.20);
}
.bev-count strong {
  color: var(--gold-light);
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
}
.bev-count span {
  color: rgba(255,255,255,.68);
  font-size: 8.2px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  text-align: center;
}
.bev-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}
.bev-group {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 17px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.062), rgba(255,255,255,.024));
  border: 1px solid rgba(255,255,255,.082);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.bev-group-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.bev-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--white);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.30), transparent 34%),
    linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: 0 9px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.25);
}
.bev-group-head small {
  display: block;
  color: var(--gold-light);
  font-size: 7.5px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.bev-group-head h4 {
  margin: 2px 0 0;
  color: var(--white);
  font-size: 14.2px;
  line-height: 1.12;
  font-weight: 920;
}
.bev-group ul {
  list-style: none;
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.bev-group li {
  position: relative;
  min-width: 0;
  padding: 0 0 0 12px;
  color: rgba(255,255,255,.78);
  font-size: 11.4px;
  line-height: 1.32;
  font-weight: 720;
}
.bev-group li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .56em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold-light);
  box-shadow: 0 0 8px rgba(var(--lbg-4),.42);
}
.bev-group li span {
  display: block;
  min-width: 0;
}
.bev-group li small {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.52);
  font-size: 10.4px;
  line-height: 1.35;
  font-weight: 640;
}
.lobby-bev-card .bev-grid {
  grid-template-columns: minmax(0, 1fr);
}
.lobby-bev-group {
  gap: 11px;
}
.lobby-bev-group ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}
.lobby-bev-loading strong {
  font-size: 18px;
}
.lobby-bev-placeholder {
  opacity: .78;
}
.bev-card .op-note {
  padding: 0 16px 16px;
  margin-top: 0;
}
.op-card.lux-disclosure,
.price-card.lux-disclosure,
.bev-card.lux-disclosure {
  padding: 0;
}
.bev-card.lux-disclosure .op-note {
  padding: 0;
}
.bev-count-inline {
  position: relative;
  z-index: 1;
  width: auto;
  min-height: 58px;
  margin: 0 0 12px;
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: start;
  justify-items: start;
  padding: 10px 13px;
}
.bev-count-inline strong {
  font-size: 26px;
}

.ala-menu-card .bev-grid {
  grid-template-columns: minmax(0, 1fr);
}
.ala-menu-card .bev-count-inline span {
  font-size: 10px;
  letter-spacing: .07em;
}
.ala-menu-group {
  gap: 12px;
}
.ala-menu-group ul {
  gap: 9px;
}
.ala-menu-group li {
  padding-left: 13px;
  font-size: 12px;
  line-height: 1.38;
}
.ala-menu-group li span {
  color: rgba(255,255,255,.90);
  font-weight: 860;
}
.ala-menu-group li small {
  color: rgba(255,255,255,.58);
  font-size: 11.2px;
  line-height: 1.42;
  font-weight: 640;
}

.ala-bev-card {
  border-color: rgba(53,198,211,.25);
  background:
    radial-gradient(circle at 12% 0%, rgba(53,198,211,.20), transparent 36%),
    radial-gradient(circle at 92% 12%, rgba(var(--lbg-4),.18), transparent 34%),
    linear-gradient(145deg, rgba(13,35,55,.95), rgba(6,18,31,.98));
}
.ala-bev-card .lux-body {
  padding: 0 14px 16px;
}
.ala-bev-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(128px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.ala-bev-intro .bev-count-inline {
  margin: 0;
}
.ala-bev-intro .bev-count-inline span {
  font-size: 9.2px;
  letter-spacing: 0;
}
.ala-bev-intro p {
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 720;
}
.ala-bev-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 12px;
}
.ala-bev-group {
  align-content: start;
  gap: 12px;
}
.ala-bev-sections {
  display: grid;
  gap: 12px;
}
.ala-bev-section {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.ala-bev-section h5 {
  margin: 0;
  color: var(--gold-light);
  font-size: 10.4px;
  line-height: 1.2;
  font-weight: 950;
  text-transform: uppercase;
}
.ala-bev-list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ala-bev-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
  padding: 0;
  color: rgba(255,255,255,.82);
  font-size: 11.7px;
  line-height: 1.32;
  font-weight: 760;
}
.ala-bev-item::before {
  display: none;
}
.ala-bev-name {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ala-bev-price {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 25px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #07131f;
  background: linear-gradient(145deg, var(--gold-light), var(--gold));
  box-shadow: 0 7px 16px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.34);
  font-style: normal;
  font-size: 11.3px;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;
}

.wine-card {
  border-color: rgba(214,168,95,.28);
  background:
    radial-gradient(circle at 10% 0%, rgba(120,31,44,.25), transparent 36%),
    radial-gradient(circle at 92% 10%, rgba(236,204,131,.16), transparent 34%),
    linear-gradient(145deg, rgba(16,33,55,.94), rgba(7,18,31,.98));
}
.wine-card .lux-body {
  padding: 0 14px 16px;
}
.wine-intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(124px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.wine-intro p {
  margin: 0;
  color: rgba(255,255,255,.66);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 720;
}
.wine-count {
  margin: 0;
}
.wine-count span {
  font-size: 9.5px;
  letter-spacing: 0;
}
.wine-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 12px;
}
.wine-category {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 12px;
  padding: 13px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.095);
  background:
    linear-gradient(145deg, rgba(255,255,255,.066), rgba(255,255,255,.024)),
    rgba(4,14,25,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.wine-category::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--lbg-4),.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.055), transparent 42%);
  pointer-events: none;
}
.wine-category > * {
  position: relative;
  z-index: 1;
}
.wine-category-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.wine-category-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #071322;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.46), transparent 36%),
    linear-gradient(145deg, #f4d98c, #b98a3d);
  box-shadow: 0 10px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.34);
}
.wine-red .wine-category-icon {
  color: #fff;
  background: linear-gradient(145deg, #8b263d, #3f0d1d);
}
.wine-rose .wine-category-icon {
  color: #fff;
  background: linear-gradient(145deg, #e7a5ad, #9f4b61);
}
.wine-white .wine-category-icon {
  color: #071322;
  background: linear-gradient(145deg, #fff1bd, #d7ad55);
}
.wine-amber .wine-category-icon {
  color: #071322;
  background: linear-gradient(145deg, #f7c66b, #b46f27);
}
.wine-category-head small,
.wine-origin-head small {
  display: block;
  color: var(--gold-light);
  font-size: 8.4px;
  font-weight: 900;
  text-transform: uppercase;
}
.wine-category-head h4 {
  margin: 2px 0 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.08;
}
.wine-origin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 10px;
}
.wine-origin-group {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 11px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(2,10,19,.28);
}
.wine-origin-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.075);
}
.wine-origin-head span {
  color: rgba(255,255,255,.92);
  font-size: 12.5px;
  font-weight: 900;
}
.wine-origin-group ul {
  list-style: none;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.wine-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.065);
  background: linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
}
.wine-item-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.wine-item-main strong {
  color: rgba(255,255,255,.94);
  font-size: 12.8px;
  line-height: 1.24;
  font-weight: 900;
}
.wine-item-main span {
  color: rgba(255,255,255,.58);
  font-size: 10.8px;
  line-height: 1.34;
  font-weight: 640;
}
.wine-item-main b {
  color: rgba(var(--lbg-4),.86);
  font-weight: 900;
}
.wine-item em {
  min-width: 54px;
  padding: 7px 8px;
  border-radius: 12px;
  color: #081321;
  background: linear-gradient(145deg, #f2d582, #b98a3b);
  box-shadow: 0 8px 18px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.34);
  font-style: normal;
  font-size: 12.4px;
  line-height: 1;
  font-weight: 950;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 430px) {
  .op-week {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .op-day {
    min-height: 50px;
  }
  .op-day span {
    font-size: 8.8px;
  }
  .op-day strong {
    font-size: 12.4px;
  }
  .price-row {
    grid-template-columns: 1fr;
  }
  .price-months {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .price-months span {
    min-height: 44px;
  }
  .lb-exp-card {
    padding: 15px;
  }
  .lb-exp-head h3 {
    font-size: 24px;
  }
  .lb-exp-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lb-exp-metric {
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 62px;
    padding: 9px;
    column-gap: 8px;
  }
  .lb-exp-metric span {
    width: 34px;
    height: 34px;
    border-radius: 13px;
  }
  .lb-exp-metric small {
    font-size: 7.6px;
  }
  .lb-exp-metric strong {
    font-size: 12px;
  }
  .lux-summary {
    grid-template-columns: 42px minmax(0, 1fr) 32px;
    min-height: 70px;
    padding: 12px;
    gap: 10px;
  }
  .lux-summary-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }
  .lux-summary-copy strong {
    font-size: 18.5px;
  }
  .lux-body {
    padding: 0 12px 12px;
  }
  .ala-bev-card .lux-body {
    padding: 0 12px 13px;
  }
  .ala-bev-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }
  .ala-bev-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .ala-bev-group {
    padding: 11px;
  }
  .ala-bev-item {
    gap: 8px;
    font-size: 11.3px;
  }
  .ala-bev-price {
    min-width: 41px;
    padding-inline: 7px;
  }
  .bev-hero {
    align-items: center;
    padding: 16px;
  }
  .bev-hero h3 {
    font-size: 25px;
  }
  .bev-count {
    width: 74px;
    min-height: 68px;
  }
  .bev-grid {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 12px;
  }
  .bev-group {
    padding: 11px;
  }
  .lobby-bev-group ul {
    grid-template-columns: 1fr;
  }
  .wine-card .lux-body {
    padding: 0 12px 12px;
  }
  .wine-intro {
    grid-template-columns: 1fr;
  }
  .wine-grid,
  .wine-origin-grid {
    grid-template-columns: 1fr;
  }
  .wine-category {
    padding: 12px;
  }
  .wine-category-head h4 {
    font-size: 20px;
  }
  .wine-item {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 9px;
  }
  .wine-item-main strong {
    font-size: 12.4px;
  }
  .wine-item em {
    min-width: 50px;
  }
}

/* ═══════════════════════════════════════════════════════════
   ART GALLERY — La Blanche Island Selection
   ═══════════════════════════════════════════════════════════ */
.lb-art-gallery-detail {
  gap: 16px;
}
/* ════════════════════════════════════════════════════════
   ART GALLERY — Digital Exhibition Experience (v4)
   Inspired by Christie's / Sotheby's / MoMA digital
   Cinematic hero · curatorial typography · masonry frames
═══════════════════════════════════════════════════════════ */
.art-shell {
  --art-ink: #04101d;
  --art-ink-2: #0a1d33;
  --art-paper: #f3ead5;
  --art-paper-soft: rgba(243,234,213,.92);
  --art-paper-dim: rgba(243,234,213,.66);
  --art-paper-mute: rgba(243,234,213,.38);
  --art-gold: #c2a36a;
  --art-gold-soft: rgba(var(--lbg-9),.42);
  --art-gold-line: rgba(var(--lbg-9),.22);
  --art-line: rgba(243,234,213,.14);
  --art-shadow: 0 18px 44px rgba(0,0,0,.42);
  position: relative;
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 14px 80px;
  background: linear-gradient(180deg, var(--art-ink) 0%, #061a2c 50%, var(--art-ink) 100%);
  color: var(--art-paper);
  font-feature-settings: "ss01" on, "liga" on;
  isolation: isolate;
}
.art-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse at 12% 8%, rgba(var(--lbg-9),.07), transparent 38%),
    radial-gradient(ellipse at 88% 30%, rgba(53,198,211,.06), transparent 42%);
  pointer-events: none;
}

/* ────────── HERO ────────── */
.art-hero {
  position: relative;
  isolation: isolate;
  min-height: 600px;
  margin: 0 -14px 0;
  padding: 80px 22px 32px;
  overflow: hidden;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 22px;
  text-align: center;
  background: var(--art-ink);
}
.art-hero-art {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: var(--art-hero-bg, url('assets/art-gallery/art-gallery-cover.webp')) center 40% / cover no-repeat;
  filter: saturate(.92) brightness(.46) contrast(1.08);
  transform: scale(1.06);
  animation: artHeroBreath 24s ease-in-out infinite alternate;
}
.art-hero-veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(4,16,29,.62) 0%, rgba(4,16,29,.34) 36%, rgba(4,16,29,.94) 100%),
    radial-gradient(ellipse at 50% 36%, rgba(4,16,29,0) 0%, rgba(4,16,29,.5) 80%);
}
.art-hero-grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(var(--lbg-9),.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--lbg-9),.06) 1px, transparent 1px);
  background-size: 60px 60px;
  background-position: center;
  mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.8) 0%, rgba(0,0,0,0) 70%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.8) 0%, rgba(0,0,0,0) 70%);
  opacity: .55;
}
.art-hero-frame {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 18px;
  max-width: 760px;
  padding: 0 16px;
}
.art-hero-kicker {
  color: var(--art-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .42em;
  text-transform: uppercase;
}
.art-hero-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(54px, 12vw, 104px);
  line-height: .94;
  letter-spacing: -.018em;
  text-shadow: 0 10px 36px rgba(0,0,0,.62);
}
.art-hero-ornament {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--art-gold);
  font-size: 8px;
}
.art-hero-ornament span {
  display: block;
  width: 70px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--art-gold), transparent);
}
.art-hero-ornament i {
  font-style: normal;
  font-size: 10px;
  color: var(--art-gold);
  text-shadow: 0 0 8px rgba(var(--lbg-9),.6);
}
.art-hero-subtitle {
  margin: 0;
  color: var(--art-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(16px, 3vw, 19px);
  letter-spacing: .02em;
  text-shadow: 0 4px 18px rgba(0,0,0,.5);
}
.art-hero-lead {
  margin: 0;
  max-width: 620px;
  color: rgba(255,255,255,.84);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.62;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.art-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  min-height: 56px;
  padding: 0 28px;
  border: 1px solid var(--art-paper);
  border-radius: 999px;
  background: var(--art-paper);
  color: #0a1d33;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 18px 38px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.7) inset;
  transition: background .3s var(--ease-luxury), border-color .3s var(--ease-luxury), transform .2s var(--ease-luxury), box-shadow .3s var(--ease-luxury);
}
.art-hero-cta:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 24px 48px rgba(0,0,0,.58), 0 1px 0 rgba(255,255,255,.8) inset;
}
.art-hero-cta:active { transform: scale(.985); }
.art-hero-cta i { color: var(--art-gold); font-size: 12px; transition: transform .35s var(--ease-luxury); }
.art-hero-cta:hover i { transform: translateY(3px); }

.art-hero-stats {
  position: relative;
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  width: 100%;
  max-width: 720px;
  border-top: 1px solid var(--art-line);
  border-bottom: 1px solid var(--art-line);
}
.art-hero-stats li {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 18px 8px;
  text-align: center;
}
.art-hero-stats li + li { border-left: 1px solid var(--art-line); }
.art-hero-stats strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.art-hero-stats em {
  color: var(--art-paper-dim);
  font-style: normal;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ────────── CURATOR NOTE ────────── */
.art-curator {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  margin: 56px auto 0;
  padding: 0 12px;
  max-width: 680px;
  text-align: center;
}
.art-curator-bar {
  width: 1px;
  height: 56px;
  background: linear-gradient(180deg, transparent, var(--art-gold), transparent);
  margin-bottom: 6px;
}
.art-curator-eyebrow {
  color: var(--art-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .38em;
  text-transform: uppercase;
}
.art-curator p {
  margin: 0;
  color: var(--art-paper-soft);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 14.5px;
  line-height: 1.66;
}

/* ────────── TOOLBAR (sticky filter bar) ────────── */
.art-toolbar {
  position: sticky;
  /* parent .lb-screen already has padding-top: header-h + safe-top, so 0 sticks flush under header */
  top: 0;
  z-index: 30;
  display: grid;
  gap: 12px;
  margin: 44px -14px 0;
  padding: 14px 14px;
  background: rgba(4,16,29,.96);
  border-top: 1px solid var(--art-line);
  border-bottom: 1px solid var(--art-line);
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
  box-shadow: 0 16px 36px rgba(0,0,0,.34);
}
.art-toolbar::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--art-gold-line), transparent);
  pointer-events: none;
}
/* Grid spacing after toolbar (since margin-bottom removed for flush feel) */
.art-toolbar + .art-grid { padding-top: 28px; }
.art-search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: 1px solid var(--art-line);
  border-radius: 999px;
  background: rgba(4,16,29,.62);
  color: var(--art-paper);
  transition: border-color .25s var(--ease-luxury), background .25s var(--ease-luxury);
}
.art-search:focus-within {
  border-color: var(--art-gold-soft);
  background: rgba(4,16,29,.86);
}
.art-search i { color: var(--art-gold); font-size: 13px; }
.art-search input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: none;
  color: var(--art-paper);
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
}
.art-search input::placeholder { color: var(--art-paper-mute); }

.art-chips {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.art-chips::-webkit-scrollbar { display: none; }
.art-chip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--art-line);
  border-radius: 999px;
  background: rgba(4,16,29,.42);
  color: var(--art-paper-dim);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury), border-color .25s var(--ease-luxury);
  white-space: nowrap;
}
.art-chip em {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0;
  font-style: normal;
  opacity: .72;
}
.art-chip:hover {
  color: var(--art-paper);
  border-color: rgba(243,234,213,.32);
}
.art-chip.is-active {
  background: var(--art-paper);
  border-color: var(--art-paper);
  color: #0a1d33;
  box-shadow: 0 8px 18px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.6) inset;
}
.art-chip.is-active em { color: #0a1d33; border-color: rgba(10,29,51,.4); opacity: 1; }

.art-sort-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  height: 42px;
  border: 1px solid var(--art-line);
  border-radius: 999px;
  background: rgba(4,16,29,.62);
  color: var(--art-paper);
  width: fit-content;
  justify-self: end;
}
.art-sort-wrap i { color: var(--art-gold); font-size: 12px; }
.art-sort {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  color: var(--art-paper);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding-right: 18px;
  outline: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23c2a36a' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 9px 6px;
}
.art-sort option { background: #04101d; color: var(--art-paper); }

/* ────────── GRID / CARDS ────────── */
.art-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  padding: 8px 0 16px;
}
.art-piece {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  gap: 0;
  background: linear-gradient(160deg, rgba(18,42,68,.92), rgba(7,21,38,.97));
  border: 1px solid var(--art-line);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.04) inset;
  transition: transform .35s var(--ease-luxury), border-color .35s var(--ease-luxury), box-shadow .35s var(--ease-luxury);
}
.art-piece:hover {
  transform: translateY(-4px);
  border-color: var(--art-gold-soft);
  box-shadow: 0 28px 60px rgba(0,0,0,.56), 0 1px 0 rgba(255,255,255,.07) inset;
}
.art-piece.is-in-cart {
  border-color: var(--art-gold-soft);
  box-shadow: 0 16px 42px rgba(0,0,0,.4), 0 0 0 1px rgba(var(--lbg-9),.32);
}

.art-piece-frame {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  margin: 0;
  padding: 0;
  border: 0;
  background: linear-gradient(180deg, #0a1d33, #04101d);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
}
.art-piece-frame::before {
  content: '';
  position: absolute;
  inset: 14px;
  z-index: 2;
  pointer-events: none;
  border: 1px solid rgba(var(--lbg-9),.22);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.4);
  transition: inset .4s var(--ease-luxury), border-color .35s var(--ease-luxury);
}
.art-piece:hover .art-piece-frame::before {
  inset: 10px;
  border-color: rgba(var(--lbg-9),.5);
}
.art-piece-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  filter: saturate(1) contrast(1.04);
  transition: transform 1.2s var(--ease-luxury), filter .4s var(--ease-luxury);
  padding: 26px;
  z-index: 1;
}
.art-piece:hover .art-piece-frame img {
  transform: scale(1.04);
}
.art-piece-num {
  position: absolute;
  left: 22px;
  top: 22px;
  z-index: 3;
  color: var(--art-gold);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
.art-piece-ref {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 3;
  padding: 5px 10px;
  background: rgba(4,16,29,.85);
  border: 1px solid var(--art-gold-line);
  border-radius: 999px;
  color: var(--art-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .18em;
  font-variant-numeric: tabular-nums;
  backdrop-filter: blur(8px);
}
.art-piece-zoom {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 3;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(4,16,29,.85);
  border: 1px solid var(--art-gold-line);
  color: var(--art-paper);
  font-size: 12px;
  opacity: 0;
  transform: scale(.85);
  transition: opacity .3s var(--ease-luxury), transform .3s var(--ease-luxury), background .3s var(--ease-luxury);
  backdrop-filter: blur(8px);
}
.art-piece:hover .art-piece-zoom {
  opacity: 1;
  transform: scale(1);
}
.art-piece-saved {
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 3;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--art-gold);
  color: #0a1d33;
  font-size: 12px;
  box-shadow: 0 6px 14px rgba(0,0,0,.4);
}

.art-piece-plate {
  position: relative;
  display: grid;
  gap: 14px;
  padding: 20px 22px 22px;
  border-top: 1px solid var(--art-line);
}
.art-piece-plate::before {
  content: '';
  position: absolute;
  left: 22px;
  right: 22px;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--art-gold-line), transparent);
}
.art-piece-meta { display: grid; gap: 6px; min-width: 0; }
.art-piece-overline {
  color: var(--art-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.art-piece-artist {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 19px;
  line-height: 1.16;
  letter-spacing: -.005em;
}
.art-piece-detail {
  margin: 0;
  color: var(--art-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.art-piece-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--art-line);
}
.art-piece-price {
  display: grid;
  gap: 2px;
  color: var(--art-paper);
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.art-piece-price em {
  font-style: normal;
  color: var(--art-paper-mute);
  font-family: inherit;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.art-piece-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--art-gold-soft);
  border-radius: 999px;
  background: rgba(var(--lbg-9),.06);
  color: var(--art-paper);
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury), border-color .25s var(--ease-luxury), transform .15s var(--ease-luxury);
}
.art-piece-toggle i { color: var(--art-gold); font-size: 11px; transition: color .25s; }
.art-piece-toggle span { white-space: nowrap; }
.art-piece-toggle:hover {
  background: linear-gradient(180deg, rgba(var(--lbg-5),.96), rgba(var(--lbg-9),.92));
  color: #0a1d33;
  border-color: var(--art-paper);
}
.art-piece-toggle:hover i { color: #0a1d33; }
.art-piece-toggle:active { transform: scale(.96); }
.art-piece-toggle.is-active {
  background: var(--art-gold);
  border-color: var(--art-gold);
  color: #0a1d33;
}
.art-piece-toggle.is-active i { color: #0a1d33; }

/* ────────── EMPTY ────────── */
.art-empty {
  grid-column: 1 / -1;
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 60px 24px;
  border: 1px dashed var(--art-line);
  border-radius: 6px;
  text-align: center;
  color: var(--art-paper-dim);
}
.art-empty i { color: var(--art-gold); font-size: 28px; }
.art-empty p { margin: 0; font-family: var(--font-display); font-style: italic; font-size: 14px; }

/* ────────── FLOATING CART FAB ────────── */
/* Portal'd elements (moved to body) need their own var declarations */
.art-cart-fab,
.art-drawer,
.art-drawer-scrim {
  --art-ink: #04101d;
  --art-ink-2: #0a1d33;
  --art-paper: #f3ead5;
  --art-paper-soft: rgba(243,234,213,.92);
  --art-paper-dim: rgba(243,234,213,.66);
  --art-paper-mute: rgba(243,234,213,.38);
  --art-gold: #c2a36a;
  --art-gold-soft: rgba(var(--lbg-9),.42);
  --art-gold-line: rgba(var(--lbg-9),.22);
  --art-line: rgba(243,234,213,.14);
}

.art-cart-fab {
  position: fixed;
  left: 50%;
  bottom: calc(22px + var(--safe-bot, 0px));
  transform: translateX(-50%);
  z-index: 1100;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  min-height: 56px;
  border: 1px solid var(--art-paper);
  border-radius: 999px;
  background: var(--art-paper);
  color: #0a1d33;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 22px 52px rgba(0,0,0,.58), 0 1px 0 rgba(255,255,255,.7) inset;
  transition: background .3s var(--ease-luxury), transform .25s var(--ease-luxury), box-shadow .3s var(--ease-luxury);
}
.art-cart-fab:hover {
  background: #fff;
  transform: translateX(-50%) translateY(-3px);
  box-shadow: 0 30px 60px rgba(0,0,0,.66), 0 1px 0 rgba(255,255,255,.8) inset;
}
.art-cart-fab:active { transform: translateX(-50%) scale(.97); }
.art-cart-fab i { color: var(--art-gold); font-size: 14px; }
.art-cart-fab-count {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--art-ink);
  color: var(--art-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.art-cart-fab.has-items .art-cart-fab-count {
  background: var(--art-gold);
  color: var(--art-ink);
}
@media (max-width: 720px) {
  .art-cart-fab { padding: 0 18px; min-height: 52px; }
}

/* ────────── DRAWER (cart) ────────── */
.art-drawer-scrim {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(2,10,20,.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s var(--ease-luxury);
}
.art-drawer-scrim.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.art-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1201;
  width: min(420px, 92vw);
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: linear-gradient(180deg, #04101d 0%, #061a2c 100%);
  border-left: 1px solid var(--art-line);
  box-shadow: -22px 0 48px rgba(0,0,0,.6);
  transform: translateX(100%);
  transition: transform .42s var(--ease-luxury);
}
.art-drawer.is-open { transform: translateX(0); }

.art-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 22px 18px;
  border-bottom: 1px solid var(--art-line);
}
.art-drawer-head-meta { display: grid; gap: 4px; }
.art-drawer-kicker {
  color: var(--art-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.art-drawer-count {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 28px;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.art-drawer-count em {
  color: var(--art-paper-dim);
  font-style: normal;
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.art-drawer-close {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--art-line);
  background: rgba(4,16,29,.62);
  color: var(--art-paper);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s, border-color .25s;
}
.art-drawer-close:hover { background: rgba(243,234,213,.12); border-color: var(--art-paper); }

.art-drawer-list {
  overflow-y: auto;
  padding: 14px 18px;
  display: grid;
  gap: 10px;
  scrollbar-width: thin;
}
.art-drawer-list::-webkit-scrollbar { width: 6px; }
.art-drawer-list::-webkit-scrollbar-thumb { background: rgba(var(--lbg-9),.4); border-radius: 3px; }

.art-drawer-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 28px;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--art-line);
  border-radius: 6px;
  background: rgba(255,255,255,.03);
  transition: background .25s, border-color .25s;
}
.art-drawer-item:hover { background: rgba(255,255,255,.05); border-color: var(--art-gold-line); }
.art-drawer-item figure { margin: 0; width: 64px; height: 64px; border-radius: 4px; overflow: hidden; background: #061018; }
.art-drawer-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.art-drawer-item-body { min-width: 0; display: grid; gap: 2px; }
.art-drawer-item-ref { color: var(--art-gold); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.art-drawer-item-body strong {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 13.5px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.art-drawer-item-body em {
  color: var(--art-paper-dim);
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.art-drawer-item-rm {
  width: 28px; height: 28px;
  display: grid; place-items: center;
  border-radius: 999px;
  border: 1px solid var(--art-line);
  background: transparent;
  color: var(--art-paper-dim);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s, color .25s, border-color .25s;
}
.art-drawer-item-rm:hover { background: rgba(var(--lbg-9),.18); color: var(--art-paper); border-color: var(--art-gold-soft); }

.art-drawer-foot {
  border-top: 1px solid var(--art-line);
  padding: 18px 22px 22px;
  display: grid;
  gap: 14px;
}
.art-drawer-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}
.art-drawer-total span {
  color: var(--art-paper-dim);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.art-drawer-total strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.005em;
}
.art-drawer-actions { display: grid; gap: 10px; grid-template-columns: auto 1fr; }
.art-drawer-clear {
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid var(--art-line);
  border-radius: 999px;
  background: transparent;
  color: var(--art-paper);
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s, border-color .25s;
}
.art-drawer-clear:hover { background: rgba(243,234,213,.08); border-color: var(--art-paper); }
.art-drawer-request {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid var(--art-paper);
  border-radius: 999px;
  background: var(--art-paper);
  color: #0a1d33;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 14px 30px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.6) inset;
  transition: background .3s, border-color .3s, transform .2s;
}
.art-drawer-request:hover { background: #fff; border-color: #fff; transform: translateY(-2px); }
.art-drawer-request:active { transform: scale(.985); }
.art-drawer-request i { color: #25d366; font-size: 16px; }

.art-drawer-empty {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 14px;
  padding: 60px 30px;
  text-align: center;
  color: var(--art-paper-dim);
}
.art-drawer-empty i { color: var(--art-gold-soft); font-size: 36px; }
.art-drawer-empty p {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  line-height: 1.5;
}

body.art-drawer-open { overflow: hidden; }

/* ────────── VIEWER (lightbox) ────────── */
.art-viewer {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s var(--ease-luxury);
}
.art-viewer.is-open { opacity: 1; pointer-events: auto; }
.art-viewer-scrim {
  position: absolute;
  inset: 0;
  background: rgba(2,10,20,.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.art-viewer-panel {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  max-height: calc(100vh - 36px);
  display: grid;
  grid-template-columns: 1fr;
  background: linear-gradient(160deg, #0a1d33 0%, #04101d 100%);
  border: 1px solid var(--art-line);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.7);
}
.art-viewer-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--art-line);
  background: rgba(4,16,29,.78);
  color: var(--art-paper);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  backdrop-filter: blur(8px);
  transition: background .25s, border-color .25s;
}
.art-viewer-close:hover { background: rgba(243,234,213,.18); border-color: var(--art-paper); }

.art-viewer-stage {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 380px;
  max-height: 60vh;
  padding: 60px 60px 80px;
  background: radial-gradient(ellipse at 50% 40%, #0a1d33 0%, #04101d 80%);
  isolation: isolate;
  overflow: hidden;
}
.art-viewer-stage-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(var(--lbg-9),.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--lbg-9),.06) 1px, transparent 1px);
  background-size: 50px 50px;
  background-position: center;
  mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 70%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 70%);
  opacity: .5;
  z-index: -1;
  pointer-events: none;
}
.art-viewer-image-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.art-viewer-image-wrap img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  box-shadow: 0 30px 60px rgba(0,0,0,.6);
  border: 1px solid rgba(var(--lbg-9),.18);
}
.art-viewer-counter {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--art-gold-line);
  background: rgba(4,16,29,.85);
  color: var(--art-gold);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  font-variant-numeric: tabular-nums;
  backdrop-filter: blur(8px);
}
.art-viewer-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--art-line);
  background: rgba(4,16,29,.78);
  color: var(--art-paper);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  backdrop-filter: blur(8px);
  transition: background .25s, border-color .25s;
}
.art-viewer-nav:hover { background: var(--art-paper); color: #0a1d33; border-color: var(--art-paper); }
.art-viewer-prev { left: 18px; }
.art-viewer-next { right: 18px; }

.art-viewer-thumbs {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  padding: 6px;
  border: 1px solid var(--art-line);
  border-radius: 999px;
  background: rgba(4,16,29,.85);
  backdrop-filter: blur(8px);
}
.art-viewer-thumbs button {
  width: 38px;
  height: 38px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color .25s, transform .2s;
}
.art-viewer-thumbs button img { width: 100%; height: 100%; object-fit: cover; }
.art-viewer-thumbs button:hover { transform: scale(1.06); }
.art-viewer-thumbs button.active { border-color: var(--art-gold); }

.art-viewer-info {
  padding: 32px 28px 28px;
  display: grid;
  gap: 16px;
  background: linear-gradient(180deg, rgba(10,29,51,.6), rgba(4,16,29,.92));
  border-top: 1px solid var(--art-line);
}
.art-viewer-kicker {
  color: var(--art-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.art-viewer-artist {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 5vw, 38px);
  line-height: 1.06;
  letter-spacing: -.01em;
}
.art-viewer-rule {
  width: 60px;
  height: 1px;
  background: var(--art-gold);
  opacity: .82;
  margin: -4px 0 4px;
}
.art-viewer-detail {
  margin: 0;
  color: var(--art-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.art-viewer-facts {
  display: grid;
  gap: 0;
  margin: 6px 0 0;
  padding: 14px 0;
  border-top: 1px solid var(--art-line);
  border-bottom: 1px solid var(--art-line);
}
.art-viewer-facts > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 14px;
  padding: 6px 0;
}
.art-viewer-facts > div + div { border-top: 1px solid rgba(243,234,213,.06); }
.art-viewer-facts dt {
  margin: 0;
  color: var(--art-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.art-viewer-facts dd {
  margin: 0;
  color: var(--art-paper);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
}
.art-viewer-price {
  font-family: var(--font-display);
  font-size: 18px !important;
  font-weight: 600;
  letter-spacing: -.005em;
  font-variant-numeric: tabular-nums;
}
.art-viewer-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 8px;
}
.art-viewer-toggle,
.art-viewer-request {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 0 22px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s, border-color .25s, color .25s, transform .15s, box-shadow .25s;
  white-space: nowrap;
}
.art-viewer-toggle span,
.art-viewer-request span {
  font-family: inherit;
  font-weight: 800;
  letter-spacing: inherit;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
}
/* Secondary — Sepete Ekle (default): gold outline, ivory text, dark bg */
.art-viewer-toggle {
  border: 1.5px solid var(--art-gold);
  background: rgba(var(--lbg-9),.14);
  color: #ffffff;
  box-shadow: 0 8px 22px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.06) inset;
}
.art-viewer-toggle i { color: var(--art-gold); font-size: 15px; }
.art-viewer-toggle:hover {
  background: linear-gradient(180deg, #e8c572, #b9882f);
  color: #0a1d33;
  border-color: #f5e4b2;
  box-shadow: 0 14px 30px rgba(0,0,0,.42);
}
.art-viewer-toggle:hover i { color: #0a1d33; }
/* Active state — eser sepette, "Sepetten Çıkar" — full gold fill */
.art-viewer-toggle.is-active {
  background: linear-gradient(180deg, #e8c572, #b9882f);
  color: #0a1d33;
  border-color: #f5e4b2;
  box-shadow: 0 14px 30px rgba(var(--lbg-9),.38), 0 1px 0 rgba(255,255,255,.4) inset;
}
.art-viewer-toggle.is-active i { color: #0a1d33; }
/* Primary — Guest Relations'a Ön Talep (WhatsApp): solid green */
.art-viewer-request {
  border: 1.5px solid #25d366;
  background: linear-gradient(180deg, #25d366 0%, #1ba94f 100%);
  color: #ffffff;
  box-shadow: 0 18px 36px rgba(37,211,102,.34), 0 1px 0 rgba(255,255,255,.22) inset;
}
.art-viewer-request i { color: #ffffff; font-size: 18px; }
.art-viewer-request:hover {
  background: linear-gradient(180deg, #2ee37a 0%, #1fbe5a 100%);
  border-color: #6ee79b;
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(37,211,102,.46), 0 1px 0 rgba(255,255,255,.28) inset;
}
.art-viewer-toggle:active,
.art-viewer-request:active { transform: scale(.985); }
@media (max-width: 460px) {
  .art-viewer-toggle,
  .art-viewer-request {
    font-size: 12px;
    letter-spacing: .12em;
    min-height: 54px;
    padding: 0 18px;
  }
}
body.art-viewer-open { overflow: hidden; }

@keyframes artHeroBreath {
  from { transform: scale(1.04); }
  to   { transform: scale(1.12); }
}

/* ────────── RESPONSIVE ────────── */
@media (min-width: 560px) {
  .art-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 880px) {
  .art-shell { padding: 0 28px 100px; }
  .art-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
  .art-hero { margin: 0 -28px 0; padding: 120px 36px 44px; min-height: 700px; }
  .art-toolbar { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr) auto; align-items: center; gap: 14px; }
  .art-chips { padding: 0; }
  .art-viewer-panel { grid-template-columns: minmax(0, 1.4fr) minmax(380px, 1fr); }
  .art-viewer-stage { min-height: 560px; max-height: calc(100vh - 36px); padding: 50px 70px; }
  .art-viewer-image-wrap { max-height: calc(100vh - 140px); }
  .art-viewer-image-wrap img { max-height: calc(100vh - 140px); }
  .art-viewer-info { padding: 44px 36px; border-top: 0; border-left: 1px solid var(--art-line); align-content: start; }
  /* Keep actions stacked (1 col) on desktop too — long CTA labels otherwise overflow */
  .art-viewer-actions { grid-template-columns: 1fr; }
}
@media (min-width: 1180px) {
  .art-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .art-hero { min-height: 540px; padding: 60px 18px 28px; }
  .art-hero-stats strong { font-size: 22px; }
  .art-piece-frame { aspect-ratio: 1 / 1; }
  .art-piece-frame img { padding: 18px; }
  .art-viewer { padding: 0; }
  .art-viewer-panel { border-radius: 0; max-height: 100vh; height: 100vh; }
  .art-viewer-stage { padding: 50px 18px 70px; min-height: 360px; }
  .art-viewer-image-wrap img { max-height: 50vh; }
  .art-viewer-info { padding: 22px 18px 24px; }
}


/* CONTACT BLOCKS */
.sec-contact-intro,
.sec-contact-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
  border-radius: 18px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.018)),
    radial-gradient(circle at 10% 20%, rgba(var(--lbg-1),.18), transparent 42%),
    rgba(8,31,50,.52);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 14px 30px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.sec-contact-intro::before,
.sec-contact-item::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold-soft), var(--gold), rgba(53,198,211,.72));
}
.sec-contact-item {
  min-height: 74px;
  color: var(--white);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s var(--ease-out), border-color .22s ease, background .22s ease;
}
.sec-contact-item:active {
  transform: scale(.985);
  border-color: rgba(var(--lbg-1),.36);
  background:
    linear-gradient(135deg, rgba(var(--lbg-1),.13), rgba(255,255,255,.02)),
    radial-gradient(circle at 10% 20%, rgba(var(--lbg-1),.22), transparent 42%),
    rgba(8,31,50,.58);
}
.contact-intro-icon,
.contact-item-icon {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 8px 18px rgba(var(--lbg-1),.28),
    inset 0 2px 0 rgba(255,255,255,.34),
    inset 0 -2px 5px rgba(0,0,0,.22);
}
.contact-intro-icon i,
.contact-item-icon i {
  font-size: 16px;
  color: var(--white);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
.contact-intro-body,
.contact-item-body {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
}
.contact-intro-body h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .002em;
  color: var(--white);
}
.contact-intro-body p {
  margin: 7px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 600;
  color: rgba(255,255,255,.70);
}
.contact-item-label {
  display: block;
  margin-bottom: 5px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.52);
}
.contact-item-value {
  display: block;
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.25;
  color: rgba(255,255,255,.94);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.contact-item-action {
  position: relative;
  z-index: 1;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--gold-light);
  background: rgba(var(--lbg-1),.10);
  border: 1px solid rgba(var(--lbg-1),.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.contact-item-action i {
  font-size: 12px;
}

/* NOTE / QUOTE */
.sec-note {
  position: relative;
  padding: 16px 18px 16px 16px;
  display: flex;
  gap: 14px;
  background: linear-gradient(135deg, rgba(var(--lbg-1),.10), rgba(255,255,255,.02));
  border: 1px solid rgba(var(--lbg-1),.18);
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.72;
  color: rgba(255,255,255,.88);
}
.note-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(var(--lbg-1),.4),
              inset 0 1px 0 rgba(255,255,255,.3);
}
.note-icon i { font-size: 13px; color: var(--white); }
.note-body { flex: 1; }
.note-body strong { color: var(--gold-light); font-weight: 700; }
.note-body p { margin: 0; }

/* LIST SECTION */
.sec-list {
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
}
.list-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 14px;
  position: relative;
  padding-bottom: 12px;
  letter-spacing: .002em;
}
.list-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 36px; height: 2px;
  background: linear-gradient(90deg, var(--gold), transparent);
  border-radius: 2px;
}
.list-title-icon {
  font-size: 16px !important;
  color: var(--gold) !important;
  width: 32px; height: 32px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(var(--lbg-1),.22), rgba(var(--lbg-1),.05));
  border: 1px solid rgba(var(--lbg-1),.25);
  display: grid;
  place-items: center;
}
.list-items {
  list-style: none;
  display: flex;
  flex-direction: column;
}
.list-items li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 11px 0;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.list-items li:last-child { border-bottom: 0; }
.list-bullet {
  flex-shrink: 0;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(var(--lbg-1),.22), rgba(var(--lbg-1),.06));
  border: 1px solid rgba(var(--lbg-1),.28);
  display: grid;
  place-items: center;
  margin-top: 1px;
}
.list-bullet i {
  font-size: 9px;
  color: var(--gold-light);
}
.list-text { flex: 1; }
.list-text span { color: rgba(255,255,255,.55); font-size: 13px; }

/* PARAGRAPH */
.sec-para {
  font-size: 14px;
  line-height: 1.76;
  color: rgba(255,255,255,.85);
  padding: 6px;
}
.sec-para strong { color: var(--white); font-weight: 700; }

/* RAW */
.sec-raw {
  font-size: 14px;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
}
.sec-raw * { color: inherit !important; background: transparent !important; }

/* SPA CENTER — Premium treatment experience */
.spa-premium {
  --spa-line: rgba(var(--lbg-6),.18);
  --spa-line-strong: rgba(var(--lbg-6),.34);
  --spa-card: rgba(16,35,52,.72);
  --spa-card-deep: rgba(7,18,31,.92);
  --spa-mist: rgba(124,220,214,.14);
  --spa-ivory: rgba(255,252,244,.94);
  --spa-muted: rgba(255,255,255,.68);
  display: grid;
  gap: 18px;
  color: var(--spa-ivory);
  width: min(100%, 1480px);
  margin-inline: auto;
}
.spa-premium * { box-sizing: border-box; }
.spa-premium button {
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.spa-premium-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(380px, 46vh, 520px);
  overflow: hidden;
  border: 1px solid var(--spa-line-strong);
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 18%, rgba(124,220,214,.22), transparent 34%),
    linear-gradient(145deg, rgba(8,33,51,.98), rgba(3,12,22,.98));
  box-shadow:
    0 28px 70px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.spa-premium-hero img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .44;
  filter: saturate(1.05) contrast(1.02);
  transform: scale(1.02);
}
.spa-premium-veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(3,12,22,.95) 0%, rgba(5,19,32,.78) 42%, rgba(3,12,22,.46) 100%),
    linear-gradient(0deg, rgba(3,12,22,.9), transparent 52%);
}
.spa-premium-hero-copy {
  width: min(620px, 100%);
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: clamp(26px, 6vw, 58px);
}
.spa-premium-hero-copy span,
.spa-section-title small,
.spa-free-panel small,
.spa-program-head small {
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.spa-premium-hero-copy h2,
.spa-section-title h3 {
  margin: 0;
  font-family: var(--font-display);
  color: #fff;
  letter-spacing: 0;
}
.spa-premium-hero-copy h2 {
  font-size: clamp(44px, 7.6vw, 86px);
  line-height: .94;
  max-width: 12ch;
}
.spa-premium-hero-copy p {
  max-width: 46rem;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(15px, 1.45vw, 18px);
  line-height: 1.65;
  font-weight: 750;
}
.spa-premium-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.spa-primary-action,
.spa-secondary-action,
.spa-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  border-radius: 999px;
  border: 1px solid var(--spa-line-strong);
  padding: 0 18px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.spa-primary-action,
.spa-action-btn {
  color: #071321;
  background: linear-gradient(135deg, #fff4bc, #c69b43);
  box-shadow: 0 14px 34px rgba(207,168,78,.28);
}
.spa-secondary-action {
  color: var(--spa-ivory);
  background: rgba(255,255,255,.055);
}
.spa-primary-action:active,
.spa-secondary-action:active,
.spa-action-btn:active,
.spa-treatment-row:active { transform: scale(.985); }
.spa-premium-note {
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: min(390px, calc(100% - 44px));
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--spa-line);
  background: rgba(3,12,22,.66);
  backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.spa-premium-note i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  border-radius: 12px;
  color: #082039;
  background: linear-gradient(135deg, #fff2b7, #be9440);
}
.spa-premium-note span {
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 800;
}
.spa-free-panel,
.spa-featured,
.spa-programs,
.spa-treatments,
.spa-source-board {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--spa-line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, var(--spa-mist), transparent 34%),
    linear-gradient(145deg, rgba(17,43,63,.88), rgba(5,15,27,.94));
  box-shadow:
    0 18px 50px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.07);
}
.spa-free-panel {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: 20px;
  padding: clamp(18px, 3vw, 30px);
  isolation: isolate;
}
.spa-free-panel::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(5,15,27,.94), rgba(5,15,27,.56) 48%, rgba(5,15,27,.86)),
    url('assets/spa/cards/sauna-wellness.webp') center / cover no-repeat;
  opacity: .32;
}
.spa-free-panel h3 {
  margin: 6px 0 8px;
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.05;
  color: #fff;
}
.spa-free-panel p,
.spa-section-title p {
  margin: 0;
  color: var(--spa-muted);
  font-size: 14px;
  line-height: 1.65;
  font-weight: 760;
}
.spa-free-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.spa-free-item {
  min-height: 112px;
  display: grid;
  place-items: center;
  gap: 10px;
  padding: 16px 10px;
  border-radius: 18px;
  border: 1px solid rgba(var(--lbg-6),.2);
  background: rgba(4,16,28,.42);
  text-align: center;
}
.spa-free-item i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #0a1c2d;
  background: linear-gradient(135deg, #fff1b2, #c49a45);
  box-shadow: 0 10px 22px rgba(202,161,75,.22);
}
.spa-free-item span {
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
}
.spa-featured,
.spa-programs,
.spa-treatments,
.spa-source-board {
  padding: clamp(18px, 3vw, 30px);
}
.spa-section-title {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}
.spa-section-title h3 {
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
}
.spa-program-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 14px;
}
.spa-program-grid.is-dense {
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
}
.spa-program-card {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr auto auto;
  grid-template-areas:
    "media"
    "head"
    "list"
    "foot"
    "action";
  gap: 14px;
  min-height: 330px;
  padding: 0 0 18px;
  border-radius: 20px;
  border: 1px solid rgba(var(--lbg-6),.2);
  background:
    radial-gradient(circle at 0 0, rgba(124,220,214,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
    rgba(5,17,29,.52);
  box-shadow:
    0 14px 36px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.07);
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.spa-program-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(115deg, transparent 38%, rgba(255,244,190,.08) 48%, transparent 60%);
  opacity: 0;
  transition: opacity .22s ease;
}
.spa-program-card:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--lbg-6),.34);
  box-shadow:
    0 24px 54px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.09);
}
.spa-program-card:hover::before { opacity: 1; }
.spa-program-card:hover .spa-program-media img {
  transform: scale(1.055);
}
.spa-program-media {
  grid-area: media;
  position: relative;
  min-height: 190px;
  overflow: hidden;
  border-bottom: 1px solid rgba(var(--lbg-6),.16);
  background:
    radial-gradient(circle at 20% 12%, rgba(var(--lbg-6),.18), transparent 42%),
    rgba(5,17,29,.82);
}
.spa-program-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3,12,22,.06), rgba(3,12,22,.62)),
    linear-gradient(110deg, rgba(var(--lbg-6),.18), transparent 38%);
  pointer-events: none;
}
.spa-program-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  object-position: center;
  transform: scale(1.015);
  filter: saturate(1.04) contrast(1.02);
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
}
.spa-program-media span {
  position: absolute;
  left: 14px;
  bottom: 12px;
  z-index: 1;
  max-width: calc(100% - 28px);
  padding: 6px 10px;
  border: 1px solid rgba(var(--lbg-6),.28);
  border-radius: 999px;
  background: rgba(4,14,25,.72);
  color: var(--gold-light);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.spa-program-head,
.spa-program-card ul,
.spa-program-foot {
  margin-inline: 18px;
}
.spa-program-head {
  grid-area: head;
  display: grid;
  gap: 6px;
}
.spa-program-head h4 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.16;
}
.spa-program-card ul {
  grid-area: list;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.spa-program-card li {
  position: relative;
  padding-left: 16px;
  color: rgba(255,255,255,.78);
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 760;
}
.spa-program-card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .58em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold-light);
}
.spa-program-foot {
  grid-area: foot;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 10px;
}
.spa-program-foot span,
.spa-program-foot strong {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  border-radius: 14px;
  border: 1px solid rgba(var(--lbg-6),.2);
  background: rgba(4,14,25,.46);
}
.spa-program-foot span {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 106px;
  padding: 7px 11px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 850;
}
.spa-program-foot span b {
  color: var(--gold-light);
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.spa-program-foot strong {
  justify-content: center;
  min-width: 84px;
  padding: 0 15px;
  color: #fff5bd;
  font-size: 19px;
  font-weight: 950;
}
.spa-action-btn {
  grid-area: action;
  width: calc(100% - 36px);
  margin-inline: 18px;
  min-height: 44px;
  border-radius: 14px;
  font-size: 13px;
}
.spa-treatment-group {
  border: 1px solid rgba(var(--lbg-6),.18);
  border-radius: 18px;
  background: rgba(4,15,27,.44);
  overflow: hidden;
}
.spa-treatment-group + .spa-treatment-group { margin-top: 12px; }
.spa-treatment-group summary {
  min-height: 78px;
  display: grid;
  grid-template-columns: 88px 46px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  list-style: none;
  cursor: pointer;
}
.spa-treatment-group summary::-webkit-details-marker { display: none; }
.spa-treatment-photo {
  width: 88px;
  height: 64px;
  overflow: hidden;
  border-radius: 15px;
  border: 1px solid rgba(var(--lbg-6),.2);
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.spa-treatment-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.04) contrast(1.02);
}
.spa-treatment-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #0a1d2e;
  background: linear-gradient(135deg, #fff0ae, #bd9340);
}
.spa-treatment-group summary b {
  display: block;
  color: #fff;
  font-size: 18px;
  line-height: 1.15;
}
.spa-treatment-group summary em {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}
.spa-treatment-group summary > i {
  color: var(--gold-light);
  transition: transform .2s ease;
}
.spa-treatment-group[open] summary > i { transform: rotate(180deg); }
.spa-treatment-list {
  display: grid;
  gap: 8px;
  padding: 0 14px 14px;
}
.spa-treatment-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(92px, auto) minmax(132px, auto);
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  background: rgba(255,255,255,.045);
  text-align: left;
  transition: transform .18s ease, border-color .2s ease, background .2s ease;
}
.spa-treatment-row:hover {
  border-color: rgba(var(--lbg-6),.35);
  background: rgba(var(--lbg-6),.07);
}
.spa-treatment-name {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.spa-treatment-name strong {
  color: #fff;
  font-size: 14px;
  line-height: 1.18;
}
.spa-treatment-name small {
  color: rgba(255,255,255,.62);
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 700;
}
.spa-treatment-meta {
  display: grid;
  gap: 4px;
  justify-items: end;
}
.spa-treatment-meta b,
.spa-treatment-meta em {
  color: rgba(255,255,255,.88);
  font-size: 12px;
  line-height: 1;
  font-style: normal;
  white-space: nowrap;
}
.spa-treatment-meta em {
  color: var(--gold-light);
  font-size: 16px;
  font-weight: 950;
}
.spa-treatment-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  color: #071321;
  background: linear-gradient(135deg, #fff4bf, #c59a43);
  font-size: 11.5px;
  font-weight: 950;
  white-space: nowrap;
}
.spa-source-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.spa-source-images figure {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(var(--lbg-6),.2);
  background: rgba(255,255,255,.04);
}
.spa-source-images img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 900px) {
  .spa-featured,
  .spa-programs,
  .spa-treatments,
  .spa-source-board {
    padding: clamp(28px, 3vw, 40px);
  }
  .spa-program-grid,
  .spa-program-grid.is-dense {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .spa-program-card {
    grid-template-columns: minmax(190px, 42%) minmax(0, 1fr);
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas:
      "media head"
      "media list"
      "media foot"
      "media action";
    gap: 14px 20px;
    height: 300px;
    min-height: 0;
    padding: 0;
    border-radius: 22px;
  }
  .spa-program-media {
    height: 100%;
    min-height: 0;
    border-right: 1px solid rgba(var(--lbg-6),.16);
    border-bottom: 0;
  }
  .spa-program-media img {
    min-height: 0;
    height: 100%;
  }
  .spa-program-head,
  .spa-program-card ul,
  .spa-program-foot {
    margin-inline: 0 20px;
  }
  .spa-program-head { margin-top: 20px; }
  .spa-program-card ul { align-content: start; }
  .spa-action-btn {
    width: auto;
    margin: 0 20px 20px 0;
  }
  .spa-featured .spa-program-card:first-child {
    grid-column: 1 / -1;
    grid-template-columns: minmax(420px, 50%) minmax(0, 1fr);
    height: 420px;
    min-height: 0;
  }
  .spa-featured .spa-program-card:first-child .spa-program-media span {
    left: 20px;
    bottom: 20px;
  }
  .spa-featured .spa-program-card:first-child .spa-program-head h4 {
    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
  }
  .spa-featured .spa-program-card:first-child li {
    font-size: 14px;
  }
  .spa-treatment-group summary {
    grid-template-columns: 132px 52px minmax(0, 1fr) 28px;
    gap: 18px;
    padding: 16px 18px;
  }
  .spa-treatment-photo {
    width: 132px;
    height: 82px;
    border-radius: 18px;
  }
  .spa-treatment-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .spa-treatment-row {
    grid-template-columns: minmax(0, 1fr) minmax(84px, auto);
    min-height: 112px;
    align-items: start;
  }
  .spa-treatment-cta {
    grid-column: 1 / -1;
    justify-self: start;
  }
}
@media (max-width: 760px) {
  .spa-premium { gap: 14px; }
  .spa-premium-hero {
    min-height: 520px;
    border-radius: 22px;
  }
  .spa-premium-veil {
    background:
      linear-gradient(180deg, rgba(3,12,22,.82), rgba(3,12,22,.88) 54%, rgba(3,12,22,.98)),
      linear-gradient(90deg, rgba(3,12,22,.8), rgba(3,12,22,.32));
  }
  .spa-premium-hero-copy {
    justify-content: flex-start;
    padding: 28px 18px 118px;
  }
  .spa-premium-hero-copy h2 { max-width: 9ch; }
  .spa-premium-actions { flex-direction: column; align-items: stretch; }
  .spa-primary-action,
  .spa-secondary-action {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }
  .spa-premium-note {
    left: 16px;
    right: 16px;
    bottom: 16px;
    width: auto;
  }
  .spa-free-panel { grid-template-columns: 1fr; padding: 18px; }
  .spa-free-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spa-featured,
  .spa-programs,
  .spa-treatments,
  .spa-source-board { padding: 18px; border-radius: 20px; }
  .spa-program-grid,
  .spa-program-grid.is-dense { grid-template-columns: 1fr; }
  .spa-program-card { min-height: 0; }
  .spa-program-media,
  .spa-program-media img { min-height: 172px; }
  .spa-treatment-group summary {
    grid-template-columns: 62px 40px minmax(0, 1fr) 22px;
    gap: 10px;
    padding: 12px;
  }
  .spa-treatment-photo {
    width: 62px;
    height: 56px;
    border-radius: 13px;
  }
  .spa-treatment-icon {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }
  .spa-treatment-row {
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 10px;
  }
  .spa-treatment-meta,
  .spa-treatment-cta { justify-self: stretch; }
  .spa-treatment-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: start;
  }
  .spa-treatment-meta em { justify-self: end; }
  .spa-source-images {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }
  .spa-source-images figure {
    flex: 0 0 92%;
    scroll-snap-align: start;
  }
}

/* ════════════════════════════════════════════════════════
   PDF BUTTON
═══════════════════════════════════════════════════════ */
.lb-pdf-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
  padding: 14px 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--navy-mid), var(--navy));
  border: 1px solid rgba(var(--lbg-1),.35);
  color: var(--white);
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  box-shadow: var(--shadow-soft);
  -webkit-tap-highlight-color: transparent;
  transition: transform .15s, border-color .2s;
}
.lb-pdf-btn:active { transform: scale(.97); border-color: var(--gold); }
.lb-pdf-icon {
  width: 42px; height: 42px;
  border-radius: 12px;
  background: linear-gradient(145deg, #ef4444, #b91c1c);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(239,68,68,.35), inset 0 1px 0 rgba(255,255,255,.25);
}
.lb-pdf-icon i { font-size: 17px; color: var(--white); }
.lb-pdf-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lb-pdf-info span { font-family: var(--font-display); font-size: 18px; font-weight: 700; }
.lb-pdf-info small { font-size: 10.5px; color: var(--gold-light); margin-top: 2px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }

/* ════════════════════════════════════════════════════════
   RESTORAN / A LA CARTE LOGOLARI — Premium Animated Frame
═══════════════════════════════════════════════════════ */
.lb-venue-logo {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  min-height: clamp(190px, 30vh, 270px);
  margin: 4px 0 16px;
  padding: clamp(32px, 7vw, 48px) clamp(18px, 6vw, 34px);
  border: 1px solid rgba(var(--lbg-8),.32);
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent, rgba(var(--lbg-11),.95) 22%, rgba(var(--lbg-2),.78) 50%, rgba(var(--lbg-11),.95) 78%, transparent) top center / min(46%, 154px) 1px no-repeat,
    linear-gradient(90deg, transparent, rgba(var(--lbg-2),.68) 24%, rgba(var(--lbg-11),.84) 52%, rgba(var(--lbg-2),.68) 78%, transparent) bottom center / min(42%, 142px) 1px no-repeat,
    radial-gradient(ellipse 88% 72% at 50% 42%, rgba(var(--lbg-11),.16), rgba(var(--lbg-2),.055) 42%, transparent 72%),
    radial-gradient(ellipse 70% 52% at 14% 0%, rgba(53,198,211,.12), transparent 62%),
    linear-gradient(180deg, rgba(9,35,57,.78), rgba(4,16,29,.9));
  box-shadow:
    0 22px 60px rgba(0,0,0,.43),
    0 6px 18px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -38px 80px rgba(0,0,0,.18);
  transform: translateZ(0);
  animation: secFadeUp .58s var(--ease-luxury) .08s both,
             lbVenueCardGlow 5.8s ease-in-out 1s infinite;
}

.lb-venue-logo::before,
.lb-venue-logo::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.lb-venue-logo::before {
  width: 72%;
  height: 72%;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(var(--lbg-11),.20), rgba(var(--lbg-2),.07) 42%, transparent 70%);
  filter: blur(12px);
  opacity: .72;
  transform: translateY(4px);
  animation: lbVenueAura 6.4s ease-in-out 1s infinite;
}

.lb-venue-logo::after {
  inset: -46% -28%;
  background: linear-gradient(112deg, transparent 36%, rgba(255,255,255,.20) 47%, rgba(var(--lbg-11),.30) 50%, rgba(255,255,255,.10) 53%, transparent 64%);
  transform: translateX(-54%) rotate(0.001deg);
  opacity: .76;
  mix-blend-mode: screen;
  animation: lbVenueSweep 5.9s cubic-bezier(.19,1,.22,1) 1.1s infinite;
}

.lb-venue-logo .lvc-tl,
.lb-venue-logo .lvc-tr,
.lb-venue-logo .lvc-bl,
.lb-venue-logo .lvc-br {
  position: absolute;
  width: 16px;
  height: 16px;
  pointer-events: none;
  z-index: 2;
  opacity: .72;
  filter: drop-shadow(0 0 7px rgba(var(--lbg-11),.22));
}

.lb-venue-logo .lvc-tl { top: 13px; left: 15px; border-top: 1.5px solid var(--gold-light); border-left: 1.5px solid var(--gold-light); border-top-left-radius: 4px; }
.lb-venue-logo .lvc-tr { top: 13px; right: 15px; border-top: 1.5px solid var(--gold-light); border-right: 1.5px solid var(--gold-light); border-top-right-radius: 4px; }
.lb-venue-logo .lvc-bl { bottom: 13px; left: 15px; border-bottom: 1.5px solid var(--gold-light); border-left: 1.5px solid var(--gold-light); border-bottom-left-radius: 4px; }
.lb-venue-logo .lvc-br { bottom: 13px; right: 15px; border-bottom: 1.5px solid var(--gold-light); border-right: 1.5px solid var(--gold-light); border-bottom-right-radius: 4px; }

.lb-venue-logo img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  height: auto;
  max-width: min(82%, 340px);
  max-height: clamp(142px, 25vh, 224px);
  object-fit: contain;
  margin: 0 auto;
  filter:
    drop-shadow(0 11px 24px rgba(0,0,0,.38))
    drop-shadow(0 0 30px rgba(var(--lbg-11),.26))
    drop-shadow(0 0 12px rgba(var(--lbg-2),.22));
  transform-origin: center;
  animation: lbVenueLogoReveal .95s cubic-bezier(.16,1,.3,1) .18s both,
             lbVenueLogoFloat 6.6s ease-in-out 1.28s infinite;
  transition: filter .45s ease, transform .45s var(--ease-out);
}

.lb-venue-logo:hover img {
  transform: translateY(-2px) scale(1.028);
  filter:
    drop-shadow(0 14px 28px rgba(0,0,0,.42))
    drop-shadow(0 0 38px rgba(var(--lbg-11),.36))
    drop-shadow(0 0 16px rgba(var(--lbg-2),.28));
}

@keyframes lbVenueLogoReveal {
  from { opacity: 0; transform: translateY(14px) scale(.9); filter: drop-shadow(0 0 0 rgba(var(--lbg-2),0)); }
  62%  { opacity: 1; transform: translateY(-3px) scale(1.025); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes lbVenueLogoFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-4px) scale(1.012); }
}

@keyframes lbVenueCardGlow {
  0%, 100% { border-color: rgba(var(--lbg-8),.30); box-shadow: 0 22px 60px rgba(0,0,0,.43), 0 6px 18px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.10), inset 0 -38px 80px rgba(0,0,0,.18); }
  50%      { border-color: rgba(var(--lbg-11),.46); box-shadow: 0 24px 64px rgba(0,0,0,.45), 0 0 0 1px rgba(var(--lbg-11),.07), 0 0 34px rgba(var(--lbg-2),.12), inset 0 1px 0 rgba(255,255,255,.13), inset 0 -38px 80px rgba(0,0,0,.18); }
}

@keyframes lbVenueAura {
  0%, 100% { opacity: .62; transform: translateY(6px) scale(.94); }
  50%      { opacity: .88; transform: translateY(0) scale(1.05); }
}

@keyframes lbVenueSweep {
  0%, 24%   { transform: translateX(-56%); opacity: 0; }
  42%       { opacity: .72; }
  62%, 100% { transform: translateX(58%); opacity: 0; }
}

@media (max-width: 480px) {
  .lb-venue-logo {
    min-height: 174px;
    margin-bottom: 14px;
    padding: 30px 16px 32px;
    border-radius: 18px;
  }

  .lb-venue-logo img {
    max-width: 86%;
    max-height: 170px;
  }

  .lb-venue-logo .lvc-tl,
  .lb-venue-logo .lvc-tr,
  .lb-venue-logo .lvc-bl,
  .lb-venue-logo .lvc-br {
    width: 13px;
    height: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lb-venue-logo,
  .lb-venue-logo::before,
  .lb-venue-logo::after,
  .lb-venue-logo img {
    animation: none !important;
  }
}

/* ════════════════════════════════════════════════════════
   RESERVATION CTA
═══════════════════════════════════════════════════════ */
.lb-resv-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 14px 14px 0;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.22);
  color: var(--white);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .2s var(--ease-out), box-shadow .25s ease;
  font-family: inherit;
  width: calc(100% - 28px);
  text-align: left;
  /* Default (gold / restaurant) */
  background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  box-shadow: 0 14px 36px rgba(var(--lbg-1),.45),
              inset 0 1px 0 rgba(255,255,255,.4),
              inset 0 -3px 6px rgba(0,0,0,.15);
  animation: ctaPulseGold 2.4s ease-in-out 1.5s infinite;
}
@keyframes ctaPulseGold {
  0%, 100% { box-shadow: 0 14px 36px rgba(var(--lbg-1),.45), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -3px 6px rgba(0,0,0,.15); }
  50%      { box-shadow: 0 18px 44px rgba(var(--lbg-1),.6), 0 0 0 6px rgba(var(--lbg-1),.15), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -3px 6px rgba(0,0,0,.15); }
}

/* Spa — pink */
.lb-resv-cta.is-pink {
  background: linear-gradient(135deg, #ff9eb6 0%, #c54180 55%, #6e2447 100%);
  box-shadow: 0 14px 36px rgba(197,65,128,.42),
              inset 0 1px 0 rgba(255,255,255,.4),
              inset 0 -3px 6px rgba(0,0,0,.15);
  animation: ctaPulsePink 2.4s ease-in-out 1.5s infinite;
}
@keyframes ctaPulsePink {
  0%, 100% { box-shadow: 0 14px 36px rgba(197,65,128,.42), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -3px 6px rgba(0,0,0,.15); }
  50%      { box-shadow: 0 18px 44px rgba(197,65,128,.6), 0 0 0 6px rgba(197,65,128,.15), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -3px 6px rgba(0,0,0,.15); }
}

/* Cabana — teal */
.lb-resv-cta.is-teal {
  background: linear-gradient(135deg, #5fd9e6 0%, #1a8a9d 55%, #0c5b6c 100%);
  box-shadow: 0 14px 36px rgba(26,138,157,.45),
              inset 0 1px 0 rgba(255,255,255,.4),
              inset 0 -3px 6px rgba(0,0,0,.15);
  animation: ctaPulseTeal 2.4s ease-in-out 1.5s infinite;
}
@keyframes ctaPulseTeal {
  0%, 100% { box-shadow: 0 14px 36px rgba(26,138,157,.45), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -3px 6px rgba(0,0,0,.15); }
  50%      { box-shadow: 0 18px 44px rgba(26,138,157,.6), 0 0 0 6px rgba(26,138,157,.18), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -3px 6px rgba(0,0,0,.15); }
}
.lb-resv-cta:active { transform: scale(.97); animation: none; }

.lb-resv-cta-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.18);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 1px solid rgba(255,255,255,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
.lb-resv-cta-icon i { font-size: 19px; color: var(--white); filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.lb-resv-cta-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lb-resv-cta-body strong {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.005em;
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.lb-resv-cta-body small {
  font-size: 11px;
  color: rgba(255,255,255,.85);
  margin-top: 3px;
  letter-spacing: .04em;
}
.lb-resv-cta-arrow { font-size: 14px !important; color: var(--white); opacity: .8; }

/* ════════════════════════════════════════════════════════
   RESERVATION MODAL
═══════════════════════════════════════════════════════ */
.lb-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: flex-end;
}
.lb-modal[hidden] { display: none !important; }
.lb-modal-scrim {
  position: absolute;
  inset: 0;
  background: rgba(5,15,28,.76);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  opacity: 0;
  transition: opacity .35s var(--ease-luxury);
}
.lb-modal.is-open .lb-modal-scrim { opacity: 1; }

.lb-modal-card {
  position: relative;
  width: 100%;
  max-height: 92vh;
  background: linear-gradient(165deg, var(--navy) 0%, var(--navy-darker) 95%);
  border-radius: 28px 28px 0 0;
  padding: 14px 22px calc(28px + var(--safe-bot));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-top: 1px solid rgba(var(--lbg-1),.35);
  transform: translateY(100%);
  transition: transform .45s var(--ease-luxury);
  box-shadow: 0 -24px 70px rgba(0,0,0,.62), 0 -4px 16px rgba(0,0,0,.3);
}
.lb-modal.is-open .lb-modal-card { transform: translateY(0); }
.lb-modal-card::-webkit-scrollbar { display: none; }

.lb-modal-handle {
  width: 44px; height: 4px;
  border-radius: 4px;
  background: rgba(255,255,255,.25);
  margin: 0 auto 18px;
}

.lb-modal-head {
  text-align: center;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lb-modal-icon {
  width: 60px; height: 60px;
  margin: 0 auto 12px;
  border-radius: 18px;
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  display: grid;
  place-items: center;
  box-shadow: 0 12px 32px rgba(0,0,0,.4),
              inset 0 2px 0 rgba(255,255,255,.4),
              inset 0 -3px 6px rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.25);
  animation: modalIconBounce .6s var(--ease) .1s both;
}
@keyframes modalIconBounce {
  from { opacity: 0; transform: scale(.4) rotate(-25deg); }
  to   { opacity: 1; transform: scale(1) rotate(0); }
}
.lb-modal-icon.gold   { background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep)); }
.lb-modal-icon.teal   { background: linear-gradient(145deg, #5fd9e6, #1a8a9d); }
.lb-modal-icon.purple { background: linear-gradient(145deg, #b8a4ff, #6e4abf); }
.lb-modal-icon.pink   { background: linear-gradient(145deg, #ff9eb6, #c54180); }
.lb-modal-icon.blue   { background: linear-gradient(145deg, #6ab8ff, #2c5dad); }
.lb-modal-icon.green  { background: linear-gradient(145deg, #45ec80, #075E54); }
.lb-modal-icon i { font-size: 22px; color: var(--white); filter: drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.lb-modal-head h3 {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: -.01em;
}
.lb-modal-head p {
  font-size: 13px;
  color: var(--gold-light);
  margin-top: 4px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}

/* Official request rules / concierge requirements */
.lb-modal-info {
  margin: -2px 0 14px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-4),.24);
  background:
    radial-gradient(circle at 14% 0%, rgba(var(--lbg-4),.16), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    rgba(5,18,31,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 14px 28px rgba(0,0,0,.18);
}
.lb-modal-info[hidden] { display: none !important; }
.lb-modal-info-toggle {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 0;
  padding: 8px 12px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--white);
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.lb-modal-info-icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #071322;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  box-shadow: 0 10px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.40);
}
.lb-modal-info-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: rgba(255,255,255,.92);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.lb-modal-info-chev {
  color: var(--gold-light);
  font-size: 11px !important;
  transition: transform .24s var(--ease-out);
}
.lb-modal-info.is-open .lb-modal-info-chev {
  transform: rotate(180deg);
}
.lb-modal-info-list {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0 12px 12px;
  gap: 7px;
}
.lb-modal-info.is-open .lb-modal-info-list {
  display: grid;
}
.lb-modal-info-list li {
  min-width: 0;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px 9px;
  border-radius: 13px;
  color: rgba(255,255,255,.80);
  background: rgba(3,11,21,.34);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 12px;
  line-height: 1.34;
  font-weight: 720;
}
.lb-modal-info-list li::before {
  content: '\f00c';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: 8px;
  margin-top: 1px;
}

/* FORM */
.lb-form { display: flex; flex-direction: column; gap: 14px; }
.lb-field { display: flex; flex-direction: column; gap: 6px; }
.lb-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lb-field span {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,.6);
  letter-spacing: .12em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
}
.lb-field span i { color: var(--gold-light); font-size: 11px; }
.lb-field input,
.lb-field select,
.lb-field textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background-color: rgba(10,31,50,.72);
  color: var(--white);
  font-size: 15px;
  font-family: inherit;
  line-height: 1.25;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.10);
  color-scheme: dark;
  transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.lb-field input:focus,
.lb-field select:focus,
.lb-field textarea:focus {
  outline: none;
  border-color: var(--gold);
  background-color: rgba(14,39,61,.86);
  box-shadow: 0 0 0 3px rgba(var(--lbg-1),.13), inset 0 1px 0 rgba(255,255,255,.10);
}
.lb-field.is-invalid input,
.lb-field.is-invalid select,
.lb-field.is-invalid textarea {
  border-color: rgba(255, 107, 107, .9);
  box-shadow: 0 0 0 3px rgba(255, 107, 107, .14);
}
.lb-field select {
  background-image:
    linear-gradient(90deg, transparent, rgba(10,31,50,.88) 52%),
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath fill='none' stroke='%23e2b96a' stroke-width='2' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center, right 14px center;
  background-size: 54px 100%, 14px 8px;
  padding-right: 36px;
}
.lb-field select option {
  color: #fff;
  background: #10243a;
}
.lb-field textarea {
  resize: none;
  font-family: inherit;
  line-height: 1.5;
  min-height: 92px;
}
.lb-field input::placeholder,
.lb-field textarea::placeholder { color: rgba(255,255,255,.3); }
.lb-field-hint {
  margin-top: -4px;
  padding: 9px 11px;
  border-radius: 13px;
  color: rgba(255,255,255,.66);
  background: rgba(5,15,28,.36);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 11.5px;
  line-height: 1.42;
  font-weight: 680;
}
.lb-field-hint[hidden] { display: none !important; }

.lb-dynamic-fields {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(var(--lbg-1),.26);
  background:
    linear-gradient(145deg, rgba(var(--lbg-1),.08), rgba(255,255,255,.025)),
    rgba(255,255,255,.025);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.lb-dynamic-fields[hidden] { display: none !important; }
.lb-dynamic-fields-head {
  display: grid;
  gap: 5px;
  padding-bottom: 2px;
}
.lb-dynamic-fields-head span {
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.lb-dynamic-fields-head p {
  margin: 0;
  color: rgba(255,255,255,.68);
  font-size: 12.5px;
  line-height: 1.42;
  font-weight: 650;
}
.lb-dynamic-fields-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.lb-dynamic-field.wide {
  grid-column: 1 / -1;
}
.lb-dynamic-field > span {
  min-height: 18px;
}
.lb-dynamic-field > span > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lb-dynamic-field em {
  margin-left: auto;
  color: rgba(var(--lbg-7),.78);
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
}

.lb-consent {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.020)),
    rgba(5,15,28,.36);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.lb-consent input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.lb-consent-box {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: transparent;
  background: rgba(10,31,50,.72);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.lb-consent input:checked + .lb-consent-box {
  color: #fff;
  background: linear-gradient(145deg, #37df78, #128c4d);
  border-color: rgba(255,255,255,.28);
  transform: scale(1.02);
}
.lb-consent-text {
  color: rgba(255,255,255,.70);
  font-size: 11.5px;
  line-height: 1.46;
  font-weight: 680;
}
.lb-consent-link {
  display: inline;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--gold-light);
  font: inherit;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.lb-consent-link:focus-visible {
  outline-offset: 3px;
}
.lb-consent.is-invalid {
  border-color: rgba(255,107,107,.80);
  box-shadow: 0 0 0 3px rgba(255,107,107,.12), inset 0 1px 0 rgba(255,255,255,.06);
}

.lb-legal {
  position: fixed;
  inset: 0;
  z-index: 9600;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 18px;
  color: var(--white);
}
.lb-legal[hidden] { display: none !important; }
.lb-legal-scrim {
  position: absolute;
  inset: 0;
  background: rgba(3, 10, 18, .78);
  backdrop-filter: blur(18px) saturate(1.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
  opacity: 0;
  transition: opacity .28s var(--ease-out);
}
.lb-legal.is-open .lb-legal-scrim {
  opacity: 1;
}
.lb-legal-card {
  position: relative;
  width: min(760px, 100%);
  max-height: min(82vh, 760px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-4),.30);
  background:
    radial-gradient(circle at 16% 0%, rgba(var(--lbg-4),.18), transparent 38%),
    linear-gradient(160deg, rgba(19, 48, 75, .98), rgba(5, 18, 31, .98));
  box-shadow: 0 28px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.10);
  transform: translateY(22px) scale(.985);
  opacity: 0;
  transition: transform .32s var(--ease-luxury), opacity .28s var(--ease-out);
}
.lb-legal.is-open .lb-legal-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.lb-legal-head {
  min-height: 70px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 42px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.lb-legal-icon,
.lb-legal-close,
.lb-legal-ok {
  -webkit-tap-highlight-color: transparent;
}
.lb-legal-icon {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  box-shadow: 0 12px 26px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.42);
}
.lb-legal-head h3 {
  min-width: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: 0;
}
.lb-legal-close {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.13);
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.06);
  cursor: pointer;
}
.lb-legal-body {
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 18px 18px 20px;
  color: rgba(255,255,255,.76);
  font-size: 13.5px;
  line-height: 1.62;
}
.lb-legal-body::-webkit-scrollbar {
  width: 7px;
}
.lb-legal-body::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(var(--lbg-4),.42);
}
.lb-legal-body h4 {
  margin: 18px 0 8px;
  color: var(--gold-light);
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.lb-legal-body p,
.lb-legal-body ul,
.lb-legal-body ol {
  margin: 0 0 12px;
}
.lb-legal-body ul,
.lb-legal-body ol {
  padding-left: 19px;
}
.lb-legal-body li {
  margin: 5px 0;
}
.lb-legal-body strong {
  color: rgba(255,255,255,.94);
}
.lb-legal-lead {
  color: rgba(255,255,255,.86);
  font-weight: 720;
}
.lb-legal-note {
  padding: 12px 13px;
  border-radius: 15px;
  border: 1px solid rgba(var(--lbg-4),.22);
  background: rgba(var(--lbg-4),.08);
  color: rgba(255,255,255,.82);
}
.lb-legal-meta {
  color: rgba(255,255,255,.50);
  font-size: 12px;
}
.lb-legal-foot {
  padding: 14px 16px calc(14px + var(--safe-bot));
  border-top: 1px solid rgba(255,255,255,.09);
  background: rgba(5,15,28,.28);
}
.lb-legal-ok {
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 15px;
  color: #10243a;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-family: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(var(--lbg-1),.24), inset 0 1px 0 rgba(255,255,255,.42);
}

@media (max-width: 560px) {
  .lb-legal {
    padding: 10px;
  }

  .lb-legal-card {
    max-height: calc(100dvh - 20px);
    border-radius: 22px;
  }

  .lb-legal-head {
    min-height: 62px;
    grid-template-columns: 40px minmax(0, 1fr) 38px;
    gap: 10px;
    padding: 12px;
  }

  .lb-legal-icon {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  .lb-legal-head h3 {
    font-size: 20px;
  }

  .lb-legal-close {
    width: 38px;
    height: 38px;
    border-radius: 13px;
  }

  .lb-legal-body {
    padding: 15px 14px 16px;
    font-size: 12.5px;
    line-height: 1.55;
  }

  .lb-legal-body h4 {
    font-size: 11px;
  }

  .lb-legal-foot {
    padding: 12px 12px calc(12px + var(--safe-bot));
  }
}

.lb-resv-submit {
  margin-top: 6px;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.2);
  background: linear-gradient(135deg, var(--green) 0%, var(--green-deep) 100%);
  color: var(--white);
  font-family: inherit;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  -webkit-tap-highlight-color: transparent;
  transition: transform .15s, box-shadow .25s;
  box-shadow: 0 12px 30px rgba(37,211,102,.4),
              inset 0 1px 0 rgba(255,255,255,.25);
}
.lb-resv-submit:active { transform: scale(.97); }
.lb-resv-submit i { font-size: 20px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }

.lb-resv-cancel {
  padding: 12px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.5);
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 480px) {
  .lb-modal-card {
    max-height: calc(100dvh - 14px);
    padding: 10px 16px calc(22px + var(--safe-bot));
    border-radius: 24px 24px 0 0;
  }

  .lb-modal-handle {
    margin-bottom: 14px;
  }

  .lb-modal-head {
    padding-bottom: 14px;
    margin-bottom: 12px;
  }

  .lb-modal-icon {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    margin-bottom: 10px;
  }

  .lb-modal-head h3 {
    font-size: 24px;
  }

  .lb-modal-head p {
    font-size: 11.5px;
    line-height: 1.35;
    letter-spacing: .10em;
  }

  .lb-modal-info {
    margin-bottom: 12px;
    border-radius: 16px;
  }

  .lb-modal-info-toggle {
    min-height: 48px;
    grid-template-columns: 32px minmax(0, 1fr) 16px;
    gap: 9px;
    padding: 7px 10px;
  }

  .lb-modal-info-icon {
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }

  .lb-modal-info-label {
    font-size: 10px;
    letter-spacing: .11em;
  }

  .lb-modal-info-list {
    padding: 0 10px 10px;
    gap: 6px;
  }

  .lb-modal-info-list li {
    padding: 7px 8px;
    font-size: 11.5px;
    line-height: 1.32;
  }

  .lb-form {
    gap: 12px;
  }

  .lb-field-row {
    gap: 10px;
  }

  .lb-field span {
    font-size: 9.8px;
    letter-spacing: .10em;
  }

  .lb-field input,
  .lb-field select,
  .lb-field textarea {
    min-height: 54px;
    padding: 12px;
    font-size: 14.5px;
    border-radius: 14px;
  }

  .lb-field select {
    background-position: right center, right 12px center;
    background-size: 48px 100%, 13px 8px;
    padding-right: 34px;
  }

  .lb-field textarea {
    min-height: 86px;
  }

  .lb-field-hint {
    padding: 8px 10px;
    font-size: 11px;
  }

  .lb-dynamic-fields {
    padding: 12px;
    border-radius: 16px;
    gap: 11px;
  }

  .lb-dynamic-fields-head span {
    font-size: 10px;
    letter-spacing: .13em;
  }

  .lb-dynamic-fields-head p {
    font-size: 11.5px;
  }

  .lb-dynamic-fields-grid {
    gap: 11px;
  }

  .lb-consent {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    padding: 11px;
    border-radius: 15px;
  }

  .lb-consent-box {
    width: 28px;
    height: 28px;
    border-radius: 9px;
  }

  .lb-consent-text {
    font-size: 11px;
    line-height: 1.42;
  }

  .lb-resv-submit {
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 15px;
  }

  .lb-resv-cancel {
    padding: 10px;
    font-size: 13px;
  }
}

/* ════════════════════════════════════════════════════════
   MAP IFRAME
═══════════════════════════════════════════════════════ */
.lb-map-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--navy-deep);
}

/* ════════════════════════════════════════════════════════
   CONTACT — Guest Relations Hub
═══════════════════════════════════════════════════════ */

/* Section title */
.lb-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .22em;
  color: var(--gold);
  text-transform: uppercase;
  padding: 12px 4px 12px;
  margin-top: 4px;
}
.lb-section-title i {
  font-size: 13px;
  color: var(--gold);
}
.lb-section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(var(--lbg-1),.35), transparent);
}

/* Action grid */
.lb-action-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lb-action-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  color: var(--white);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .25s var(--ease-luxury), border-color .25s var(--ease-luxury), background .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
  position: relative;
  overflow: hidden;
  opacity: 0;
  animation: rowEnter .55s var(--ease-luxury) both;
}
.lb-action-card:nth-child(1) { animation-delay: .04s; }
.lb-action-card:nth-child(2) { animation-delay: .10s; }
.lb-action-card:nth-child(3) { animation-delay: .16s; }
.lb-action-card:nth-child(4) { animation-delay: .22s; }
.lb-action-card:nth-child(5) { animation-delay: .28s; }
.lb-action-card:nth-child(6) { animation-delay: .34s; }
.lb-action-card:nth-child(7) { animation-delay: .40s; }
.lb-action-card:nth-child(8) { animation-delay: .46s; }

.lb-action-card-ai {
  border-color: rgba(53,198,211,.24);
  background:
    radial-gradient(circle at 14% 20%, rgba(53,198,211,.20), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(53,198,211,.035));
}

.lb-action-card-ai .lb-action-chev {
  color: rgba(53,198,211,.82);
}
.lb-ai-logo-mark {
  background:
    radial-gradient(circle at 50% 25%, rgba(255,255,255,.24), rgba(83,205,219,.16) 46%, rgba(10,38,59,.86)),
    linear-gradient(145deg, #5fd9e6, #102f4a);
  border-color: rgba(109,223,240,.30);
}
.lb-ai-logo-mark img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  filter: drop-shadow(0 4px 9px rgba(0,0,0,.45));
}

.lb-action-card:active {
  transform: scale(.98);
  background: linear-gradient(135deg, rgba(var(--lbg-1),.18), rgba(var(--lbg-1),.06));
  border-color: rgba(var(--lbg-1),.38);
  box-shadow: 0 4px 16px rgba(0,0,0,.22);
}

.lb-action-icon {
  width: 50px; height: 50px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow:
    0 6px 16px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -2px 4px rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.22);
  position: relative;
}
.lb-action-icon i {
  font-size: 21px;
  color: var(--white);
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.4));
}
.lb-action-icon.gold   { background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep)); }
.lb-action-icon.teal   { background: linear-gradient(145deg, #5fd9e6, #1a8a9d); }
.lb-action-icon.green  { background: linear-gradient(145deg, #45ec80, #075E54); }
.lb-action-icon.purple { background: linear-gradient(145deg, #b8a4ff, #6e4abf); }
.lb-action-icon.pink   { background: linear-gradient(145deg, #ff9eb6, #c54180); }
.lb-action-icon.blue   { background: linear-gradient(145deg, #6ab8ff, #2c5dad); }

.lb-action-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.lb-action-body strong {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.005em;
  line-height: 1.15;
}
.lb-action-body small {
  font-size: 12px;
  color: rgba(255,255,255,.55);
  letter-spacing: .015em;
  line-height: 1.35;
}
.lb-action-chev {
  font-size: 13px !important;
  color: rgba(var(--lbg-1),.6);
  flex-shrink: 0;
  transition: transform .25s var(--ease-luxury);
}
.lb-action-card:active .lb-action-chev { transform: translateX(4px); }

/* Direct contact list */
.lb-direct-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lb-contact-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  text-decoration: none;
  color: var(--white);
  -webkit-tap-highlight-color: transparent;
  transition: background .15s, transform .15s;
}
.lb-contact-row:active { background: rgba(255,255,255,.08); transform: scale(.99); }
.lb-contact-icon {
  width: 46px; height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
.lb-contact-icon.green { background: linear-gradient(145deg, #25D366, #075E54); }
.lb-contact-icon.teal  { background: linear-gradient(145deg, var(--teal), #1a8a9d); }
.lb-contact-icon.gold  { background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep)); }
.lb-contact-icon i { font-size: 19px; color: var(--white); filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.lb-contact-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lb-contact-body strong { font-family: var(--font-display); font-size: 18px; font-weight: 700; }
.lb-contact-body small { font-size: 13px; color: rgba(255,255,255,.6); margin-top: 2px; }

/* ════════════════════════════════════════════════════════
   GUEST RELATIONS QUICK FAB
═══════════════════════════════════════════════════════ */
.lb-grab-fab {
  position: fixed;
  bottom: calc(20px + var(--safe-bot));
  right: 18px;
  width: 60px; height: 60px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.28);
  background: linear-gradient(145deg, #45ec80 0%, #25D366 50%, #075E54 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 95;
  box-shadow:
    0 14px 38px rgba(37,211,102,.5),
    0 6px 14px rgba(0,0,0,.3),
    inset 0 2px 0 rgba(255,255,255,.4),
    inset 0 -3px 6px rgba(0,0,0,.2);
  transition: transform .28s var(--ease-luxury), opacity .28s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
  animation: fabIn .65s 1s var(--ease) both;
  padding: 0;
}
.lb-room-fab {
  position: fixed;
  bottom: calc(92px + var(--safe-bot));
  right: 18px;
  width: 60px;
  height: 60px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.28);
  background: linear-gradient(145deg, #f7dc91 0%, #c99b43 48%, #123f63 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 95;
  box-shadow:
    0 14px 38px rgba(var(--lbg-1),.42),
    0 6px 14px rgba(0,0,0,.3),
    inset 0 2px 0 rgba(255,255,255,.44),
    inset 0 -3px 6px rgba(0,0,0,.24);
  transition: transform .28s var(--ease-luxury), opacity .28s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
  animation: fabIn .65s .85s var(--ease) both;
  padding: 0;
}
@keyframes fabIn {
  from { opacity: 0; transform: scale(.2) rotate(-180deg); }
  to   { opacity: 1; transform: scale(1) rotate(0); }
}
.lb-grab-fab:active { transform: scale(.92); }
.lb-room-fab:active { transform: scale(.92); }

.lb-grab-fab i.fa-headset {
  font-size: 24px;
  z-index: 2;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.4));
}
.lb-room-fab i.fa-bell-concierge {
  font-size: 24px;
  z-index: 2;
  color: #061220;
  filter: drop-shadow(0 2px 4px rgba(255,255,255,.22));
}

/* Pulsing ring */
.lb-grab-fab-ring {
  position: absolute;
  inset: -4px;
  border-radius: 24px;
  border: 2px solid rgba(37,211,102,.5);
  pointer-events: none;
  animation: fabRingPulse 2.4s ease-out 2s infinite;
  opacity: 0;
}
.lb-room-fab-ring {
  position: absolute;
  inset: -4px;
  border-radius: 24px;
  border: 2px solid rgba(var(--lbg-12),.54);
  pointer-events: none;
  animation: fabRingPulse 2.4s ease-out 1.6s infinite;
  opacity: 0;
}
@keyframes fabRingPulse {
  0%   { opacity: .8; transform: scale(1);   border-width: 2px; }
  100% { opacity: 0;  transform: scale(1.5); border-width: 1px; }
}

/* WhatsApp mini badge */
.lb-grab-fab-badge {
  position: absolute;
  top: -4px; right: -4px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: linear-gradient(145deg, #25D366, #128C7E);
  border: 2px solid var(--navy-darker);
  display: grid;
  place-items: center;
  z-index: 3;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
}
.lb-room-fab-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(145deg, #123f63, #061220);
  border: 2px solid var(--navy-darker);
  display: grid;
  place-items: center;
  z-index: 3;
  box-shadow: 0 2px 6px rgba(0,0,0,.4);
}
.lb-grab-fab-badge i {
  font-size: 10px;
  color: var(--white);
  filter: none;
}
.lb-room-fab-badge i {
  font-size: 10px;
  color: var(--gold-light);
  filter: none;
}

/* Hover label (desktop + tap initial show) */
.lb-grab-fab-label {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--navy-darker);
  color: var(--white);
  padding: 7px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
  border: 1px solid rgba(var(--lbg-1),.3);
  box-shadow: 0 6px 16px rgba(0,0,0,.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
.lb-room-fab-label {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  background: var(--navy-darker);
  color: var(--white);
  padding: 7px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
  border: 1px solid rgba(var(--lbg-12),.36);
  box-shadow: 0 6px 16px rgba(0,0,0,.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
.lb-grab-fab-label::after {
  content: '';
  position: absolute;
  right: -5px; top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px; height: 8px;
  background: var(--navy-darker);
  border-right: 1px solid rgba(var(--lbg-1),.3);
  border-top: 1px solid rgba(var(--lbg-1),.3);
}
.lb-room-fab-label::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: var(--navy-darker);
  border-right: 1px solid rgba(var(--lbg-12),.36);
  border-top: 1px solid rgba(var(--lbg-12),.36);
}
@media (hover: hover) {
  .lb-grab-fab:hover .lb-grab-fab-label { opacity: 1; }
  .lb-room-fab:hover .lb-room-fab-label { opacity: 1; }
}

/* Initial label peek — first 3 sec */
.lb-grab-fab.peek .lb-grab-fab-label {
  opacity: 1;
  animation: labelPeek 4s ease forwards;
}
.lb-room-fab.peek .lb-room-fab-label {
  opacity: 1;
  animation: labelPeek 4s ease forwards;
}
@keyframes labelPeek {
  0%   { opacity: 0; transform: translateY(-50%) translateX(8px); }
  20%  { opacity: 1; transform: translateY(-50%) translateX(0); }
  85%  { opacity: 1; transform: translateY(-50%) translateX(0); }
  100% { opacity: 0; transform: translateY(-50%) translateX(8px); }
}

/* Hide FAB when on contact screen / drawer / modal open */
body.fab-hidden .lb-grab-fab,
body.drawer-open .lb-grab-fab,
body.modal-open .lb-grab-fab,
body.sunrise-scanner-open .lb-grab-fab,
body.is-sisha-detail .lb-grab-fab,
body.fab-hidden .lb-room-fab,
body.drawer-open .lb-room-fab,
body.modal-open .lb-room-fab,
body.is-sisha-detail .lb-room-fab,
body.sunrise-scanner-open .lb-room-fab {
  opacity: 0;
  pointer-events: none;
  transform: scale(.8) translateY(20px);
  visibility: hidden;
  animation: none;
}

/* Kids Club detay sayfasında oda servisi + LaBlanche AI butonları gizli */
body.is-kids-detail .lb-room-fab,
body.is-kids-detail .lb-grab-fab,
body.is-kids-detail .lb-ai-fab {
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transform: scale(.8) translateY(20px);
  animation: none;
}

/* ════════════════════════════════════════════════════════
   EMPTY STATE
═══════════════════════════════════════════════════════ */
.lb-empty {
  text-align: center;
  padding: 40px 24px;
  color: var(--muted);
}
.lb-empty-icon {
  width: 72px; height: 72px;
  margin: 0 auto 16px;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(var(--lbg-1),.18), rgba(var(--lbg-1),.04));
  border: 1px solid rgba(var(--lbg-1),.22);
  display: grid;
  place-items: center;
}
.lb-empty-icon i { font-size: 28px; color: var(--gold); }
.lb-empty h3 {
  font-family: var(--font-display);
  font-size: 22px;
  margin-bottom: 8px;
  color: rgba(255,255,255,.85);
}

/* ════════════════════════════════════════════════════════
   SYNC BAR
═══════════════════════════════════════════════════════ */
.lb-sync-bar {
  text-align: center;
  padding: 14px 16px 4px;
  font-size: 11px;
  color: rgba(255,255,255,.32);
  letter-spacing: .05em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
.lb-sync-bar i { font-size: 9px; color: var(--green); }

/* ════════════════════════════════════════════════════════
   PWA INSTALL GUIDE
════════════════════════════════════════════════════════ */
.lb-install-sheet {
  position: fixed;
  inset: 0;
  z-index: 16000;
  display: grid;
  place-items: end center;
  padding: 18px;
  padding-bottom: max(18px, calc(var(--safe-bot) + 16px));
}
.lb-install-sheet[hidden] { display: none !important; }
.lb-install-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background:
    radial-gradient(circle at 50% 78%, rgba(53,198,211,.15), transparent 42%),
    rgba(2,10,18,.68);
  backdrop-filter: blur(18px) saturate(1.15);
}
.lb-install-card {
  position: relative;
  width: min(470px, 100%);
  border-radius: 30px;
  padding: 14px 18px 18px;
  border: 1px solid rgba(var(--lbg-12),.24);
  background:
    linear-gradient(145deg, rgba(14,56,89,.96), rgba(4,16,29,.98)),
    var(--navy-deep);
  box-shadow:
    0 30px 90px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.05) inset;
  overflow: hidden;
  transform: translateY(18px);
  opacity: 0;
  animation: lbInstallIn .32s var(--ease-out) forwards;
}
.lb-install-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 4%, rgba(var(--lbg-12),.18), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(53,198,211,.16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%);
}
@keyframes lbInstallIn {
  to { transform: translateY(0); opacity: 1; }
}
.lb-install-handle {
  width: 52px;
  height: 5px;
  margin: 0 auto 15px;
  border-radius: 999px;
  background: rgba(255,255,255,.24);
}
.lb-install-head,
.lb-install-copy,
.lb-install-steps,
.lb-install-actions {
  position: relative;
  z-index: 1;
}
.lb-install-head {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  align-items: center;
}
.lb-install-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  color: var(--navy-deep);
  background:
    linear-gradient(145deg, var(--gold-shine), var(--gold));
  box-shadow: 0 14px 34px rgba(var(--lbg-1),.34);
}
.lb-install-icon i { font-size: 24px; }
.lb-install-kicker {
  margin: 0 0 5px;
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.lb-install-head h3 {
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 25px;
  line-height: 1.05;
  letter-spacing: 0;
}
.lb-install-copy {
  margin: 15px 0 0;
  color: rgba(255,255,255,.74);
  font-size: 14px;
  line-height: 1.55;
}
.lb-install-steps {
  list-style: none;
  margin: 16px 0 0;
  display: grid;
  gap: 8px;
}
.lb-install-steps li {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 9px 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.86);
  font-size: 13px;
  line-height: 1.35;
}
.lb-install-steps li::before {
  counter-increment: installStep;
  content: counter(installStep);
  width: 30px;
  height: 30px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: var(--navy-deep);
  background: linear-gradient(145deg, var(--gold-shine), var(--gold));
  font-weight: 900;
}
.lb-install-steps { counter-reset: installStep; }
.lb-install-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 16px;
}
.lb-install-primary,
.lb-install-secondary {
  min-height: 48px;
  border: 0;
  border-radius: 16px;
  font-family: var(--font-sans);
  font-weight: 900;
}
.lb-install-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: var(--navy-deep);
  background: linear-gradient(145deg, var(--gold-shine), var(--gold));
  box-shadow: 0 14px 30px rgba(var(--lbg-1),.26);
}
.lb-install-primary:disabled {
  opacity: .72;
  box-shadow: none;
}
.lb-install-secondary {
  padding: 0 16px;
  color: rgba(255,255,255,.68);
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
}
body.pwa-install-open .lb-grab-fab,
body.pwa-install-open .lb-room-fab {
  opacity: 0;
  pointer-events: none;
  transform: scale(.86) translateY(18px);
}

/* ════════════════════════════════════════════════════════
   DESKTOP EXPERIENCE — compact resort dashboard
════════════════════════════════════════════════════════ */
@media (min-width: 960px) {
  :root {
    --header-h: 74px;
  }

  .lb-header {
    padding-left: 24px;
    padding-right: 24px;
    background:
      linear-gradient(180deg, rgba(3,12,22,.96) 0%, rgba(4,15,26,.90) 100%);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }

  .lb-header:not(.has-title) .lb-logo .lb-logo-img {
    height: 54px;
  }

  .lb-icon-btn {
    width: 48px;
    height: 48px;
    border-radius: 15px;
  }

  .lb-lang-btn {
    height: 34px;
    min-width: 42px;
    border-radius: 10px;
  }

  .lb-screen {
    padding-top: calc(var(--header-h) + var(--safe-top));
    padding-bottom: calc(42px + var(--safe-bot));
  }

  #screenHome {
    background:
      radial-gradient(ellipse at 18% 6%, rgba(53,198,211,.08), transparent 42%),
      radial-gradient(ellipse at 84% 18%, rgba(var(--lbg-4),.07), transparent 40%);
  }

  .home-hero,
  .cat-hero,
  .detail-hero {
    width: min(1360px, calc(100% - 48px));
    margin: 18px auto 0;
    border-radius: 28px;
    overflow: visible;
  }

  .home-hero {
    height: clamp(320px, 28vw, 390px);
    min-height: 0;
    max-height: none;
    box-shadow:
      0 28px 74px rgba(0,0,0,.34),
      0 0 0 1px rgba(var(--lbg-4),.16);
  }

  .cat-hero,
  .detail-hero {
    height: clamp(230px, 22vw, 320px);
    min-height: 0;
    max-height: none;
    box-shadow:
      0 24px 62px rgba(0,0,0,.30),
      0 0 0 1px rgba(var(--lbg-4),.13);
  }

  .home-hero .lb-hero-clip,
  .cat-hero .lb-hero-clip,
  .detail-hero .lb-hero-clip {
    border-radius: inherit;
  }

  .home-hero .lb-hero-overlay {
    padding: 38px 44px 42px;
    gap: 7px;
    background:
      radial-gradient(ellipse at 68% 18%, rgba(53,198,211,.10), transparent 42%),
      linear-gradient(90deg, rgba(4,13,24,.82) 0%, rgba(4,13,24,.42) 42%, rgba(4,13,24,.10) 70%),
      linear-gradient(180deg, rgba(4,13,24,.05) 0%, rgba(4,13,24,.18) 54%, rgba(4,13,24,.88) 100%);
  }

  .cat-hero .lb-hero-overlay,
  .detail-hero .lb-hero-overlay {
    padding: 34px 44px;
  }

  .home-hero .lb-hero-title {
    max-width: 12ch;
    font-size: clamp(40px, 3.25vw, 56px);
    line-height: .98;
  }

  .cat-hero .lb-hero-title,
  .detail-hero .lb-hero-title {
    max-width: 13ch;
    font-size: clamp(38px, 3vw, 52px);
  }

  .home-hero .lb-hero-tag {
    font-size: 10px;
    letter-spacing: .24em;
  }

  .home-hero .lb-hero-sub {
    font-size: 14px;
  }

  .home-hero .lb-map-cta {
    margin-top: 14px;
    padding: 8px 19px 8px 8px;
  }

  .lb-hero-socials {
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
  }

  .lb-grid {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: 22px 0 72px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 16px;
    align-items: stretch;
  }

  .lb-weather-card {
    grid-column: span 7;
    min-height: 242px;
    border-radius: 22px;
  }

  .lb-concierge-card {
    grid-column: span 5;
    min-height: 242px;
    border-radius: 22px;
  }

  .lb-reservation-hub-card {
    grid-column: span 12;
    min-height: 224px;
    border-radius: 22px;
  }

  .lb-resvhub-card-copy {
    padding: 28px 30px 82px;
  }

  .lb-resvhub-card-copy h2 {
    max-width: none;
    font-size: clamp(48px, 3.9vw, 66px);
  }

  .lb-resvhub-card-copy p {
    max-width: 520px;
    font-size: 13.4px;
  }

  .lb-resvhub-card-metrics {
    left: 30px;
    right: auto;
    bottom: 24px;
  }

  .lb-resvhub-card-cta {
    right: 34px;
    bottom: 24px;
    width: auto;
    min-width: 176px;
    padding: 0 18px;
    grid-auto-flow: column;
    gap: 10px;
    font-size: 13px;
    font-weight: 950;
  }

  .lb-resvhub-card-cta span {
    position: static;
    width: auto;
    height: auto;
    clip: auto;
    overflow: visible;
  }

  .lb-shuttle-card {
    grid-column: span 6;
    min-height: 180px;
    border-radius: 22px;
  }

  .lb-card {
    grid-column: span 3;
    aspect-ratio: 1.22 / 1;
    border-radius: 20px;
    box-shadow:
      0 18px 42px rgba(0,0,0,.28),
      0 1px 0 rgba(255,255,255,.08) inset;
  }

  .lb-card:hover,
  .lb-weather-card:hover,
  .lb-concierge-card:hover,
  .lb-shuttle-card:hover,
  .lb-row:hover {
    transform: translateY(-3px);
  }

  .lb-card:hover .lb-card-img {
    transform: scale(1.045);
    filter: saturate(1.14) brightness(1.04);
  }

  .lb-card-fa-icon {
    top: 13px;
    left: 13px;
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .lb-card-fa-icon i {
    font-size: 15px;
  }

  .lb-card-overlay {
    padding: 15px;
  }

  .lb-card-name {
    font-size: 20px;
    line-height: 1.08;
  }

  .lb-card-count {
    font-size: 9px;
    letter-spacing: .11em;
  }

  .lb-weather-card-copy {
    padding: 19px 24px 0;
  }

  .lb-weather-card-copy span {
    font-size: 9.5px;
    letter-spacing: .26em;
  }

  .lb-weather-card .lb-card-weather {
    left: 24px;
    right: 24px;
    bottom: 20px;
  }

  .lb-weather-main strong {
    font-size: clamp(58px, 5.2vw, 74px);
  }

  .lb-weather-main em {
    font-size: 12.6px;
  }

  .lb-weather-range span {
    font-size: 15.5px;
    min-width: 100px;
  }

  .lb-weather-advice {
    width: min(100%, 380px);
    font-size: 12.6px;
  }

  .lb-weather-activity {
    grid-template-columns: minmax(128px, auto) minmax(0, 1fr) auto;
    gap: 12px;
  }

  .lb-weather-activity small {
    letter-spacing: .13em;
  }

  .lb-concierge-card-copy {
    left: 24px;
    right: 24px;
    top: 21px;
  }

  .lb-concierge-card-copy h2 {
    max-width: 11ch;
    font-size: clamp(40px, 3.35vw, 52px);
    line-height: .92;
  }

  .lb-concierge-card-copy p {
    max-width: 340px;
    font-size: 12.2px;
    line-height: 1.32;
  }

  .lb-concierge-service-slider {
    left: 24px;
    right: 94px;
    bottom: 18px;
  }

  .lb-concierge-card-strip {
    right: 30px;
    bottom: 18px;
  }

  .lb-concierge-card-cta {
    width: 44px;
    height: 44px;
  }

  .lb-shuttle-copy {
    padding: 22px 170px 58px 24px;
  }

  .lb-shuttle-copy h2 {
    font-size: clamp(34px, 3.1vw, 46px);
  }

  .lb-shuttle-copy p {
    max-width: 360px;
    font-size: 12.3px;
  }

  .lb-shuttle-strip {
    left: 24px;
    right: 24px;
    bottom: 18px;
  }

  .lb-list,
  .lb-content {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }

  .lb-list {
    padding-top: 24px;
    padding-bottom: 72px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 14px;
  }

  .lb-row {
    min-height: 96px;
    border-radius: 18px;
  }

  .lb-row-thumb {
    width: 70px;
    height: 70px;
    border-radius: 16px;
  }

  .lb-row-name {
    font-size: 20px;
  }

  .lb-content {
    max-width: 1180px;
    padding-top: 24px;
    padding-bottom: 78px;
    gap: 16px;
  }

  .sec-header,
  .lb-exp-card,
  .op-card,
  .event-program,
  .activity-experience,
  .price-card,
  .sec-note,
  .sec-list,
  .sec-para,
  .sec-info {
    border-radius: 20px;
  }

  .event-week-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .event-day-card {
    min-height: 306px;
    border-radius: 18px;
  }

  .event-day-media {
    border-radius: 18px;
  }

  .event-day-copy {
    padding: 13px;
  }

  .event-day-copy strong {
    font-size: 19px;
  }

  .event-day-copy em {
    font-size: 10.8px;
  }

  .activity-experience .event-day-card {
    flex-basis: 220px;
    min-height: 304px;
  }

  .activity-experience-window,
  .activity-experience-slide {
    max-height: min(620px, calc(100dvh - var(--header-h) - 170px));
  }

  .activity-experience .event-activity-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: 320px;
  }

  .lb-sync-bar {
    width: min(1320px, calc(100% - 48px));
    margin: -54px auto 24px;
    padding: 0;
    justify-content: flex-start;
  }
}

@media (min-width: 960px) and (max-width: 1199px) {
  .lb-grid {
    width: min(1060px, calc(100% - 40px));
    gap: 14px;
  }

  .lb-weather-card,
  .lb-concierge-card,
  .lb-reservation-hub-card,
  .lb-shuttle-card {
    grid-column: span 6;
  }

  .lb-reservation-hub-card {
    grid-column: span 12;
  }

  .lb-card {
    grid-column: span 4;
  }

  .lb-weather-main strong {
    font-size: 58px;
  }

  .lb-weather-advice {
    display: none;
  }

  .lb-weather-activity {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .lb-weather-activity small {
    grid-column: 1 / -1;
  }

  .lb-concierge-card-copy h2 {
    font-size: 42px;
  }

  .lb-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-week-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1440px) {
  .lb-grid,
  .lb-list {
    width: min(1400px, calc(100% - 64px));
  }

  .home-hero,
  .cat-hero,
  .detail-hero {
    width: min(1440px, calc(100% - 64px));
  }

  .lb-card {
    aspect-ratio: 1.28 / 1;
  }
}

#screenDetail.is-restaurant-slider-detail .detail-hero {
  height: clamp(300px, 76vw, 500px);
  min-height: 0;
  max-height: none;
}
#screenDetail.is-restaurant-slider-detail .detail-hero .lb-hero-clip {
  border-radius: inherit;
}
#screenDetail.is-restaurant-slider-detail .detail-hero .lb-hero-overlay {
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,16,29,.88) 0%, rgba(4,16,29,.42) 42%, rgba(4,16,29,.08) 72%),
    linear-gradient(180deg, rgba(4,16,29,.08) 0%, rgba(4,16,29,.16) 44%, rgba(4,16,29,.88) 100%);
}

@media (min-width: 768px) {
  #screenDetail.is-restaurant-slider-detail .detail-hero {
    height: clamp(380px, 43vw, 620px);
  }
}

@media (min-width: 1200px) {
  #screenDetail.is-restaurant-slider-detail .detail-hero {
    height: clamp(430px, 38vw, 620px);
  }
}

@media (max-width: 520px) {
  #screenDetail.is-restaurant-slider-detail .detail-hero {
    height: clamp(280px, 82vw, 420px);
  }
  #screenDetail.is-restaurant-slider-detail .lb-hero-slider-controls {
    bottom: 46px;
  }
  #screenDetail.is-restaurant-slider-detail .lb-hero-slider-btn {
    width: 38px;
  }
}

/* ════════════════════════════════════════════════════════
/* Show Center daily splash: premium event reveal on the home screen */
.lb-show-splash {
  position: fixed;
  inset: 0;
  z-index: 1320;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(20px + var(--safe-top)) 20px calc(22px + var(--safe-bot));
  background: rgba(2, 10, 18, .58);
  backdrop-filter: blur(8px) saturate(1.1);
  -webkit-backdrop-filter: blur(8px) saturate(1.1);
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  perspective: 1600px;
  transition: opacity .55s var(--ease-luxury), backdrop-filter .55s var(--ease-luxury);
}
.lb-show-splash.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.lb-show-splash.is-leaving {
  opacity: 0;
}
.lb-show-splash-bg,
.lb-show-splash-vignette {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.lb-show-splash-bg {
  background-position: center center;
  background-size: cover;
  filter: blur(24px) saturate(1.2) brightness(.72);
  transform: scale(1.22);
  opacity: .96;
  animation: showSplashBackdrop 14s ease-out both;
}
.lb-show-splash-vignette {
  background:
    radial-gradient(circle at 72% 16%, rgba(var(--lbg-7),.28), transparent 42%),
    radial-gradient(circle at 22% 80%, rgba(53,198,211,.22), transparent 46%),
    radial-gradient(circle at 50% 46%, transparent 36%, rgba(2,10,18,.5) 86%),
    linear-gradient(160deg, rgba(2,10,18,.66) 0%, rgba(5,19,33,.4) 46%, rgba(2,10,18,.72) 100%);
}
.lb-show-splash-vignette::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 12% 22%, rgba(255,255,255,.36), transparent 60%),
    radial-gradient(1px 1px at 78% 14%, rgba(var(--lbg-7),.42), transparent 60%),
    radial-gradient(1.5px 1.5px at 34% 64%, rgba(255,255,255,.28), transparent 60%),
    radial-gradient(1px 1px at 88% 72%, rgba(53,198,211,.34), transparent 60%),
    radial-gradient(1.5px 1.5px at 22% 88%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(1px 1px at 64% 38%, rgba(var(--lbg-7),.28), transparent 60%);
  opacity: .5;
  animation: showSplashStars 9s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes showSplashStars {
  0%, 100% { opacity: .34; }
  50% { opacity: .6; }
}
@keyframes lbShowLiveDot {
  0%   { box-shadow: 0 0 0 0 rgba(255,91,91,.55); }
  70%  { box-shadow: 0 0 0 7px rgba(255,91,91,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,91,91,0); }
}
.lb-show-splash-card {
  width: min(1080px, 100%);
  min-height: min(620px, calc(100vh - 56px));
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(420px, 1fr);
  gap: clamp(22px, 4vw, 46px);
  padding: clamp(18px, 3.2vw, 34px);
  border-radius: clamp(26px, 4vw, 42px);
  border: 1px solid rgba(var(--lbg-7),.30);
  background:
    radial-gradient(ellipse 82% 56% at 50% -10%, rgba(var(--lbg-7),.17), transparent 60%),
    radial-gradient(ellipse 64% 46% at 104% 112%, rgba(53,198,211,.09), transparent 58%),
    linear-gradient(152deg, rgba(255,255,255,.13), rgba(255,255,255,.028) 44%, rgba(255,255,255,.05)),
    linear-gradient(180deg, rgba(10,30,49,.78), rgba(5,17,30,.86));
  box-shadow:
    0 48px 150px rgba(0,0,0,.66),
    0 0 90px rgba(var(--lbg-7),.12),
    0 0 0 1px rgba(var(--lbg-1),.24) inset,
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(var(--lbg-7),.20);
  backdrop-filter: blur(32px) saturate(1.3);
  -webkit-backdrop-filter: blur(32px) saturate(1.3);
  overflow: hidden;
  transform: translate3d(0, 42px, -120px) rotateX(9deg) scale(.94);
  opacity: 0;
  transition:
    transform .95s var(--ease-luxury),
    opacity .65s var(--ease-luxury);
}
.lb-show-splash.is-visible .lb-show-splash-card {
  transform: translate3d(0, 0, 0) rotateX(0deg) scale(1);
  opacity: 1;
}
.lb-show-splash-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, transparent 34%, rgba(255,255,255,.16) 50%, transparent 66%);
  transform: translateX(-130%) skewX(-12deg);
  opacity: .4;
  animation: showSplashShine 7.5s var(--ease-luxury) 1.4s infinite;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.lb-show-splash-card::after {
  content: '';
  position: absolute;
  inset: 10px;
  pointer-events: none;
  border-radius: clamp(18px, 3vw, 32px);
  border: 1px solid rgba(var(--lbg-7),.20);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset 0 1px 0 rgba(255,255,255,.10);
  opacity: .85;
}

/* Altın köşe süslemeleri — premium frame */
.lb-show-splash-card-frame {
  position: absolute;
  inset: 14px;
  pointer-events: none;
  z-index: 4;
}
.lb-show-splash-card-frame::before,
.lb-show-splash-card-frame::after,
.lb-show-splash-card > .lb-show-splash-corner {
  pointer-events: none;
}
.lb-show-splash-card > i.lb-show-splash-corner {
  position: absolute;
  width: 22px;
  height: 22px;
  z-index: 4;
  opacity: .72;
}
.lb-show-splash-card > i.lb-show-splash-corner.tl { top: 14px;    left: 14px;    border-top: 1.6px solid var(--gold); border-left: 1.6px solid var(--gold); border-top-left-radius: 8px; }
.lb-show-splash-card > i.lb-show-splash-corner.tr { top: 14px;    right: 14px;   border-top: 1.6px solid var(--gold); border-right: 1.6px solid var(--gold); border-top-right-radius: 8px; }
.lb-show-splash-card > i.lb-show-splash-corner.bl { bottom: 14px; left: 14px;    border-bottom: 1.6px solid var(--gold); border-left: 1.6px solid var(--gold); border-bottom-left-radius: 8px; }
.lb-show-splash-card > i.lb-show-splash-corner.br { bottom: 14px; right: 14px;   border-bottom: 1.6px solid var(--gold); border-right: 1.6px solid var(--gold); border-bottom-right-radius: 8px; }
.lb-show-splash-poster {
  position: relative;
  min-height: 510px;
  border-radius: 30px;
  border: 1px solid rgba(var(--lbg-7),.36);
  background-position: center top;
  background-size: cover;
  overflow: hidden;
  box-shadow:
    0 32px 70px rgba(0,0,0,.5),
    0 0 0 1px rgba(var(--lbg-7),.16),
    0 0 40px rgba(var(--lbg-7),.12),
    inset 0 1px 0 rgba(255,255,255,.18);
  transform: translateZ(38px);
}
.lb-show-splash-poster-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transform-origin: center top;
  animation: showSplashPosterImagePan 14s var(--ease-luxury) both;
  filter: saturate(1.08) contrast(1.03);
}
.lb-show-splash-poster::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(2,10,18,.04), rgba(2,10,18,.10) 38%, rgba(2,10,18,.90)),
    linear-gradient(90deg, rgba(2,10,18,.38), transparent 52%);
}
.lb-show-splash-poster::after {
  content: '';
  display: block;
  position: absolute;
  inset: 9px;
  z-index: 2;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.20);
  box-shadow: inset 0 0 0 1px rgba(var(--lbg-7),.20);
  pointer-events: none;
}
.lb-show-splash-poster span,
.lb-show-splash-poster b {
  position: absolute;
  left: 22px;
  z-index: 2;
  text-shadow: 0 3px 18px rgba(0,0,0,.58);
}
.lb-show-splash-poster span {
  bottom: 70px;
  color: var(--gold-soft);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.lb-show-splash-poster b {
  bottom: 24px;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1;
  color: var(--white);
}
.lb-show-splash-copy {
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  transform: translateZ(68px);
}
.lb-show-splash-kicker {
  width: max-content;
  max-width: 100%;
  color: var(--gold-soft);
  font-size: clamp(12px, 1.2vw, 15px);
  font-weight: 900;
  letter-spacing: .26em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-shadow: 0 2px 12px rgba(var(--lbg-7),.32);
}
.lb-show-splash-kicker::before {
  content: '';
  width: 46px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, var(--gold-soft), var(--gold-shine));
  box-shadow: 0 0 8px rgba(var(--lbg-7),.5);
}
.lb-show-splash-copy h2 {
  font-family: var(--font-display);
  font-size: clamp(44px, 6.8vw, 94px);
  line-height: .92;
  letter-spacing: 0;
  color: var(--white);
  background:
    linear-gradient(172deg, #ffffff 0%, #fbf4e4 54%, #eccf93 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 10px 26px rgba(0,0,0,.5));
}
.lb-show-splash-copy strong {
  font-size: clamp(26px, 3.2vw, 46px);
  line-height: 1.04;
  color: var(--white);
  max-width: 12ch;
}
.lb-show-splash-copy p,
.lb-show-splash-copy em {
  color: rgba(255,255,255,.82);
  font-size: clamp(15px, 1.65vw, 21px);
  line-height: 1.45;
  font-style: normal;
  max-width: 620px;
}
.lb-show-splash-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 8px 0 2px;
}
.lb-show-splash-meta span {
  position: relative;
  min-height: 78px;
  border-radius: 18px;
  padding: 13px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  background:
    linear-gradient(155deg, rgba(255,255,255,.085), rgba(255,255,255,.02)),
    rgba(8,26,42,.30);
  border: 1px solid rgba(var(--lbg-7),.20);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 10px 24px rgba(0,0,0,.20);
  overflow: hidden;
}
.lb-show-splash-meta span::before {
  content: '';
  position: absolute;
  top: 0; left: 14px; right: 14px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-7),.55), transparent);
}
.lb-show-splash-meta small {
  color: var(--gold-soft);
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
  opacity: .92;
}
.lb-show-splash-meta b {
  color: var(--white);
  font-size: clamp(13px, 1.25vw, 17px);
  line-height: 1.18;
}
.lb-show-splash-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}
.lb-show-splash-actions button {
  min-height: 56px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--white);
  background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
  border-color: rgba(var(--lbg-7),.30);
  font-weight: 900;
  letter-spacing: .01em;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 22px rgba(0,0,0,.24);
  transition: transform .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury), background .25s var(--ease-luxury);
}
.lb-show-splash-actions button.primary {
  background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 50%, var(--gold-deep) 100%);
  color: #0b2034;
  border-color: rgba(255,255,255,.32);
  box-shadow:
    0 20px 50px rgba(var(--lbg-1),.42),
    0 0 0 1px rgba(255,255,255,.12) inset,
    inset 0 1px 0 rgba(255,255,255,.42);
  animation: showSplashCtaPulse 2.6s ease-in-out 2s infinite;
}
@keyframes showSplashCtaPulse {
  0%, 100% { box-shadow: 0 20px 50px rgba(var(--lbg-1),.42), 0 0 0 1px rgba(255,255,255,.12) inset, inset 0 1px 0 rgba(255,255,255,.42); }
  50%      { box-shadow: 0 24px 60px rgba(var(--lbg-1),.55), 0 0 0 6px rgba(var(--lbg-1),.14), 0 0 0 1px rgba(255,255,255,.12) inset, inset 0 1px 0 rgba(255,255,255,.42); }
}
.lb-show-splash-actions button:active {
  transform: translateY(1px) scale(.97);
  animation: none;
}
.lb-show-splash-close {
  position: absolute;
  top: calc(18px + var(--safe-top));
  right: 18px;
  z-index: 3;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(var(--lbg-7),.32);
  background: rgba(7,24,39,.5);
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(20px) saturate(1.2);
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  box-shadow: 0 10px 28px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.14);
  transition: transform .25s var(--ease-luxury), background .25s var(--ease-luxury), border-color .25s var(--ease-luxury);
}
.lb-show-splash-close:active {
  transform: scale(.92);
  background: rgba(var(--lbg-1),.22);
  border-color: rgba(var(--lbg-7),.5);
}
.lb-show-splash-card-close {
  display: none;
}
.lb-show-splash-progress {
  position: absolute;
  left: clamp(20px, 3vw, 34px);
  right: clamp(20px, 3vw, 34px);
  bottom: clamp(16px, 2.4vw, 24px);
  height: 3px;
  border-radius: 99px;
  overflow: hidden;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(0,0,0,.3), 0 1px 0 rgba(255,255,255,.06);
}
.lb-show-splash-progress::before {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  transform-origin: left center;
  background: linear-gradient(90deg, var(--gold-soft), var(--gold-shine) 50%, var(--gold));
  box-shadow: 0 0 12px rgba(var(--lbg-7),.6), 0 0 4px rgba(var(--lbg-7),.8);
  animation: showSplashProgress 12.5s linear both;
}
@keyframes showSplashBackdrop {
  from { transform: scale(1.24) translate3d(0, 18px, 0); }
  to { transform: scale(1.12) translate3d(0, 0, 0); }
}
@keyframes showSplashPosterPan {
  0% { opacity: .22; transform: scale(1.1) translateY(-4%); }
  100% { opacity: 0; transform: scale(1.02) translateY(4%); }
}
@keyframes showSplashPosterImagePan {
  0% { transform: scale(1.08) translateY(-3%); }
  100% { transform: scale(1.02) translateY(3%); }
}
@keyframes showSplashShine {
  0%, 35% { transform: translateX(-130%) skewX(-12deg); }
  60%, 100% { transform: translateX(130%) skewX(-12deg); }
}
@keyframes showSplashProgress {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}
.lb-shuttle-splash .lb-show-splash-bg {
  background-position: center;
  filter: blur(18px) saturate(1.14) brightness(.62);
}
.lb-shuttle-splash .lb-show-splash-vignette {
  background:
    radial-gradient(circle at 72% 18%, rgba(var(--lbg-7),.28), transparent 34%),
    radial-gradient(circle at 18% 72%, rgba(53,198,211,.18), transparent 42%),
    linear-gradient(115deg, rgba(2,10,18,.94) 0%, rgba(6,28,46,.78) 48%, rgba(2,10,18,.94) 100%);
}
.lb-shuttle-splash-card {
  grid-template-columns: minmax(320px, .9fr) minmax(420px, 1fr);
}
.lb-shuttle-splash-poster {
  background-position: center;
}
.lb-shuttle-splash-poster .lb-show-splash-poster-img {
  object-position: center;
}
.lb-shuttle-splash-poster::before {
  background:
    linear-gradient(180deg, rgba(2,10,18,.02), rgba(2,10,18,.20) 42%, rgba(2,10,18,.88)),
    radial-gradient(circle at 50% 34%, rgba(var(--lbg-7),.18), transparent 44%);
}
.lb-shuttle-splash-route {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 18px;
  z-index: 3;
  min-height: 64px;
  border-radius: 20px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  color: var(--white);
  background:
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.055)),
    rgba(4,17,29,.56);
  border: 1px solid rgba(var(--lbg-7),.26);
  box-shadow: 0 18px 42px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}
.lb-shuttle-splash-route span {
  position: static;
  left: auto;
  bottom: auto;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.9);
  font-size: 12px;
  letter-spacing: .16em;
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: none;
}
.lb-shuttle-splash-route span i {
  color: var(--gold-soft);
  font-size: 15px;
}
.lb-shuttle-splash-route > i {
  display: block;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--lbg-7),.08), var(--gold-soft), rgba(53,198,211,.55), rgba(var(--lbg-7),.08));
  box-shadow: 0 0 14px rgba(var(--lbg-7),.42);
}
.lb-shuttle-splash .lb-shuttle-seat-badge {
  left: auto;
  right: 16px;
  bottom: auto;
  top: 96px;
  padding: 6px 12px;
  border-radius: 999px;
  color: #fff3cf;
  font-size: 10px;
  letter-spacing: .2em;
  background: linear-gradient(135deg, rgba(var(--lbg-7),.30), rgba(158,122,50,.20));
  border: 1px solid rgba(var(--lbg-7),.45);
  box-shadow: 0 8px 20px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lb-shuttle-splash .lb-show-splash-poster b {
  font-size: clamp(44px, 6vw, 76px);
  color: var(--gold-shine);
  text-shadow: 0 8px 32px rgba(0,0,0,.6), 0 0 26px rgba(var(--lbg-7),.34);
}
.lb-shuttle-splash .lb-show-splash-copy h2 {
  max-width: 12ch;
}
.lb-shuttle-splash .lb-show-splash-copy strong {
  max-width: 18ch;
}
.lb-shuttle-splash .lb-show-splash-copy em {
  border-left: 2px solid rgba(var(--lbg-7),.56);
  padding: 10px 0 10px 16px;
  color: rgba(255,255,255,.86);
}
@media (max-width: 760px) {
  .lb-show-splash {
    padding: calc(12px + var(--safe-top)) 10px calc(12px + var(--safe-bot));
    align-items: center;
  }
  /* ── MOBİL PORTRE — tek sütun, bulletproof sinematik kart ──
     display:flex/column → ızgara minmax taşması imkânsız; poster tam-genişlik hero,
     içerik altında. Önceki 2-sütun ızgara dar ekranda taşıyordu; bu tasarım taşmaz. */
  .lb-show-splash-card {
    width: min(392px, calc(100vw - 22px));
    max-width: min(392px, calc(100vw - 22px));
    min-width: 0;
    margin-inline: auto;
    min-height: 0;
    max-height: calc(100vh - 26px - var(--safe-top) - var(--safe-bot));
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border-radius: 26px;
    overflow: hidden auto;
    transform: translate3d(0, 38px, 0) scale(.965);
  }
  .lb-show-splash.is-visible .lb-show-splash-card {
    transform: translate3d(0, 0, 0) scale(1);
  }
  .lb-show-splash-card::after { display: none; }   /* iç çerçeveyi kaldır — tek temiz cam yüzey */

  /* Poster: kartın üstünde tam-genişlik sinematik hero */
  .lb-show-splash-poster {
    min-width: 0;
    min-height: 0;
    height: clamp(208px, 32vh, 290px);
    flex: 0 0 auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  .lb-show-splash-poster::after { display: none; }  /* card-in-card beyaz çerçevesini kaldır */
  .lb-show-splash-poster::before {
    background:
      linear-gradient(180deg, rgba(2,10,18,0) 34%, rgba(2,10,18,.5) 68%, rgba(5,16,28,.96)),
      linear-gradient(90deg, rgba(2,10,18,.3), transparent 62%);
  }
  /* CANLI: nabız atan noktalı cam pill, sol üst */
  .lb-show-splash-poster span {
    top: 15px; left: 15px; bottom: auto;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 12px 6px 10px;
    border-radius: 999px;
    font-size: 10px; font-weight: 900; letter-spacing: .18em;
    color: #fff;
    background: rgba(8,20,34,.5);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 8px 22px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  }
  .lb-show-splash-poster span::before {
    content: ''; width: 7px; height: 7px; border-radius: 50%;
    background: #ff5b5b;
    animation: lbShowLiveDot 1.8s ease-out infinite;
  }
  /* saat: poster alt-sol, zarif */
  .lb-show-splash-poster b {
    left: 18px; bottom: 15px;
    font-size: clamp(25px, 7.6vw, 33px);
    font-weight: 700;
    letter-spacing: -.4px;
  }

  /* Gövde: poster altında, kendi padding'i */
  .lb-show-splash-copy {
    align-self: stretch;
    gap: 9px;
    min-width: 0;
    padding: 15px 16px 14px;
    transform: none;
  }
  .lb-show-splash-kicker { font-size: 10.5px; letter-spacing: .2em; }
  .lb-show-splash-kicker::before { width: 30px; }
  .lb-show-splash-copy h2 {
    font-size: clamp(30px, 8.6vw, 40px);
    line-height: .98;
    max-width: 15ch;
  }
  .lb-show-splash-copy strong {
    font-size: clamp(20px, 5.6vw, 26px);
    max-width: none;
  }
  .lb-show-splash-copy p,
  .lb-show-splash-copy em {
    font-size: 13.5px;
    line-height: 1.4;
  }
  .lb-show-splash-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 6px 0 0;
  }
  .lb-show-splash-meta span {
    min-width: 0;
    min-height: 52px;
    padding: 9px 7px;
    border-radius: 13px;
    gap: 3px;
  }
  .lb-show-splash-meta small {
    font-size: 8px;
    letter-spacing: .1em;
  }
  .lb-show-splash-meta b {
    font-size: clamp(10px, 2.8vw, 11.5px);
    line-height: 1.12;
    white-space: nowrap;
    letter-spacing: -.2px;
  }
  .lb-show-splash-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 6px;
  }
  .lb-show-splash-actions button {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 0 10px;
    font-size: 12.5px;
    gap: 7px;
    white-space: normal;
  }
  /* Show Center'da kart üzerinde kendi close'u var → köşedeki fixed close'u gizle (tek kapatma).
     Kampanya splash'i bu close'a güvenir → onu gizleme. */
  .lb-show-splash:not(.lb-campaign-splash) .lb-show-splash-close {
    display: none;
  }
  .lb-campaign-splash .lb-show-splash-close {
    position: fixed !important;
    top: calc(16px + var(--safe-top));
    right: 16px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(5, 15, 28, .58);
    box-shadow: 0 12px 34px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.16);
  }
  .lb-show-splash-card-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 6;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    border: 1px solid rgba(255,255,255,.20);
    background: rgba(5, 15, 28, .5);
    color: var(--white);
    display: grid;
    place-items: center;
    box-shadow: 0 10px 28px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
  .lb-show-splash-progress {
    position: static;
    left: auto; right: auto; bottom: auto;
    width: 100%;
    height: 3px;
    border-radius: 0;
    flex: 0 0 auto;
  }
  .lb-shuttle-splash-card {
    grid-template-columns: 1fr;
  }
  .lb-shuttle-splash-route {
    left: 14px;
    right: 74px;
    top: 14px;
    min-height: 54px;
    border-radius: 16px;
    gap: 8px;
    grid-template-columns: auto minmax(24px, 1fr) auto;
  }
  .lb-shuttle-splash-route span {
    font-size: 10px;
    letter-spacing: .12em;
  }
  .lb-shuttle-splash .lb-show-splash-poster b {
    font-size: clamp(40px, 13vw, 58px);
  }
  .lb-shuttle-splash .lb-show-splash-copy h2 {
    max-width: none;
  }
}
@media (max-width: 380px) {
  .lb-show-splash-copy { padding: 14px 14px 13px; }
  .lb-show-splash-meta { gap: 6px; }
  .lb-show-splash-meta span { padding: 9px 6px; min-height: 50px; }
  .lb-show-splash-meta small { font-size: 7.5px; letter-spacing: .08em; }
  .lb-show-splash-meta b { font-size: clamp(9px, 2.7vw, 11px); }  /* dar ekranda saat tek satır kalsın */
  .lb-show-splash-actions { grid-template-columns: 1fr; }         /* alt alta tam-genişlik */
}
@media (min-width: 1180px) {
  .lb-show-splash-card {
    grid-template-columns: minmax(330px, 410px) minmax(520px, 1fr);
  }
}

/* Final header logo scale: centered brand mark that stays inside the header */
.lb-header:not(.has-title) .lb-logo {
  top: var(--safe-top) !important;
  height: var(--header-h) !important;
  display: flex !important;
  align-items: center !important;
  z-index: 3 !important;
}

.lb-header:not(.has-title) .lb-logo .lb-logo-img {
  height: 56px !important;
  max-height: calc(var(--header-h) - 4px);
  filter:
    drop-shadow(0 4px 10px rgba(0,0,0,.66))
    drop-shadow(0 0 10px rgba(255,255,255,.08)) !important;
}

@media (max-width: 430px) {
  .lb-header:not(.has-title) .lb-logo {
    top: var(--safe-top) !important;
  }

  .lb-header:not(.has-title) .lb-logo .lb-logo-img {
    height: 54px !important;
  }
}

/* Night request guidance: shown instead of online WhatsApp requests from 00:00 to 08:00 */
.lb-online-request-info {
  position: fixed;
  inset: 0;
  z-index: 540;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(18px + var(--safe-top)) 18px calc(18px + var(--safe-bot));
  color: var(--white);
}
.lb-online-request-info[hidden] { display: none !important; }
.lb-online-request-scrim {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(var(--lbg-4),.18), transparent 32%),
    radial-gradient(circle at 82% 70%, rgba(53,198,211,.15), transparent 36%),
    rgba(3, 10, 18, .78);
  backdrop-filter: blur(18px) saturate(1.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.18);
  opacity: 0;
  transition: opacity .28s var(--ease-out);
}
.lb-online-request-info.is-open .lb-online-request-scrim {
  opacity: 1;
}
.lb-online-request-sheet {
  position: relative;
  width: min(440px, 100%);
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 22px 18px 18px;
  border-radius: 26px;
  border: 1px solid rgba(var(--lbg-4),.34);
  background:
    radial-gradient(circle at 22% 0%, rgba(var(--lbg-4),.18), transparent 38%),
    linear-gradient(160deg, rgba(20, 54, 84, .98), rgba(5, 18, 31, .98));
  box-shadow: 0 28px 90px rgba(0,0,0,.60), inset 0 1px 0 rgba(255,255,255,.12);
  opacity: 0;
  transform: translateY(18px) scale(.985);
  transition: opacity .28s var(--ease-out), transform .32s var(--ease-luxury);
}
.lb-online-request-info.is-open .lb-online-request-sheet {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.lb-online-request-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.14);
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.065);
  color: rgba(255,255,255,.82);
  cursor: pointer;
}
.lb-online-request-icon {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  box-shadow: 0 18px 38px rgba(0,0,0,.28), inset 0 2px 0 rgba(255,255,255,.42);
}
.lb-online-request-icon i {
  font-size: 25px;
}
.lb-online-request-kicker {
  margin: 2px 0 0;
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: center;
}
.lb-online-request-sheet h3 {
  max-width: 14ch;
  margin: 0;
  color: var(--white);
  font-family: var(--font-display);
  font-size: 31px;
  line-height: 1.02;
  letter-spacing: 0;
  text-align: center;
}
.lb-online-request-body,
.lb-online-request-note {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.52;
  font-weight: 690;
  text-align: center;
}
.lb-online-request-route {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 2px;
}
.lb-online-request-route span {
  min-height: 54px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(var(--lbg-4),.22);
  background: rgba(255,255,255,.055);
}
.lb-online-request-route i {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #10243a;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-size: 12px;
}
.lb-online-request-route b {
  min-width: 0;
  color: rgba(255,255,255,.92);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 900;
}
.lb-online-request-note {
  width: 100%;
  padding: 11px 12px;
  border-radius: 16px;
  border: 1px solid rgba(53,198,211,.20);
  background: rgba(53,198,211,.075);
  color: rgba(255,255,255,.72);
}
.lb-online-request-ok {
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 16px;
  color: #10243a;
  background: linear-gradient(145deg, #f5d980, #b98a3b);
  font-family: inherit;
  font-size: 14px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(var(--lbg-1),.22), inset 0 1px 0 rgba(255,255,255,.42);
}

@media (max-width: 430px) {
  .lb-online-request-info {
    align-items: flex-end;
    padding: 12px 10px calc(12px + var(--safe-bot));
  }

  .lb-online-request-sheet {
    border-radius: 24px;
    padding: 20px 14px 14px;
  }

  .lb-online-request-icon {
    width: 60px;
    height: 60px;
    border-radius: 20px;
  }

  .lb-online-request-sheet h3 {
    font-size: 27px;
  }

  .lb-online-request-body,
  .lb-online-request-note {
    font-size: 12.5px;
  }
}

/* ════════════════════════════════════════════════════════
   AI CONCIERGE CHATBOX
═══════════════════════════════════════════════════════ */
.lb-ai-fab {
  position: fixed;
  right: 18px;
  bottom: calc(92px + var(--safe-bot));
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.30);
  background: linear-gradient(145deg, #6adff0 0%, #2a95a9 48%, #123f63 100%);
  color: var(--white);
  display: grid;
  place-items: center;
  z-index: 96;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  box-shadow:
    0 14px 34px rgba(53,198,211,.38),
    0 6px 14px rgba(0,0,0,.32),
    inset 0 2px 0 rgba(255,255,255,.36),
    inset 0 -3px 6px rgba(0,0,0,.22);
  -webkit-tap-highlight-color: transparent;
  animation: fabIn .65s 1.18s var(--ease) both;
}
.lb-ai-fab i {
  font-size: 20px;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.38));
}
.lb-ai-fab:active { transform: scale(.92); }
.lb-ai-fab-ring {
  position: absolute;
  inset: -4px;
  border-radius: 22px;
  border: 2px solid rgba(53,198,211,.45);
  pointer-events: none;
  animation: fabRingPulse 2.7s ease-out 2.2s infinite;
  opacity: 0;
}
.lb-ai-fab-label {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  padding: 7px 12px;
  border-radius: 10px;
  background: var(--navy-darker);
  color: var(--white);
  border: 1px solid rgba(53,198,211,.32);
  box-shadow: 0 6px 16px rgba(0,0,0,.4);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
}
@media (hover:hover) {
  .lb-ai-fab:hover .lb-ai-fab-label { opacity: 1; transform: translateY(-50%) translateX(-2px); }
}

.lb-ai-chat {
  position: fixed;
  inset: 0;
  z-index: 420;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.lb-ai-chat[hidden] { display: none !important; }
.lb-ai-scrim {
  position: absolute;
  inset: 0;
  background: rgba(5,15,28,.72);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  opacity: 0;
  transition: opacity .32s var(--ease-luxury);
}
.lb-ai-chat.is-open .lb-ai-scrim { opacity: 1; }

.lb-ai-panel {
  position: relative;
  width: min(100%, 560px);
  height: min(78vh, 720px);
  max-height: calc(100vh - var(--safe-top) - 16px);
  display: flex;
  flex-direction: column;
  border-radius: 28px 28px 0 0;
  border: 1px solid rgba(var(--lbg-1),.26);
  border-bottom: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(53,198,211,.18), transparent 34%),
    linear-gradient(165deg, rgba(14,56,89,.98), rgba(5,15,28,.98) 72%);
  box-shadow: 0 -24px 70px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.10);
  transform: translateY(100%) scale(.97);
  opacity: 0;
  transition: transform .42s var(--ease-luxury), opacity .32s var(--ease-luxury);
  overflow: hidden;
}
.lb-ai-chat.is-open .lb-ai-panel { transform: translateY(0) scale(1); opacity: 1; }

.lb-ai-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lb-ai-avatar {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.28), rgba(80,203,218,.16) 45%, rgba(7,28,47,.92)),
    linear-gradient(145deg, rgba(112,224,239,.42), rgba(9,45,74,.92));
  border: 1px solid rgba(127,231,244,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 10px 26px rgba(53,198,211,.24),
    0 0 0 6px rgba(83,205,219,.08);
}
.lb-ai-avatar img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 4px 9px rgba(0,0,0,.45));
}
.lb-ai-head-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lb-ai-head-copy strong { font-family: var(--font-display); font-size: 21px; line-height: 1.1; }
.lb-ai-head-copy small { margin-top: 3px; font-size: 12px; color: rgba(255,255,255,.62); line-height: 1.35; }
.lb-ai-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.lb-ai-close,
.lb-ai-voice-toggle {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.lb-ai-voice-toggle.is-on {
  border-color: rgba(53,198,211,.42);
  background: linear-gradient(145deg, rgba(53,198,211,.28), rgba(var(--lbg-1),.24));
  box-shadow: 0 8px 20px rgba(53,198,211,.18), inset 0 1px 0 rgba(255,255,255,.22);
}
.lb-ai-voice-toggle:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.lb-ai-voice-toggle[hidden] {
  display: none !important;
}

.lb-ai-trust {
  margin: 12px 16px 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(53,198,211,.08);
  border: 1px solid rgba(53,198,211,.18);
  color: rgba(255,255,255,.74);
  font-size: 11.5px;
  line-height: 1.45;
}
.lb-ai-trust i { color: var(--teal); margin-top: 2px; }

.lb-ai-voice-status {
  margin: 8px 16px 0;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(53,198,211,.24);
  background: rgba(53,198,211,.11);
  color: rgba(255,255,255,.78);
  font-size: 11.5px;
  font-weight: 800;
}
.lb-ai-voice-status[hidden] { display: none !important; }
.lb-ai-voice-status::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 0 0 rgba(53,198,211,.42);
  animation: aiVoiceDot 1.35s ease-out infinite;
}

.lb-ai-messages {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lb-ai-messages::-webkit-scrollbar { display: none; }

.lb-ai-voice-stage {
  position: absolute;
  inset: 79px 0 0;
  z-index: 8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 22px 18px calc(20px + var(--safe-bot));
  background:
    radial-gradient(circle at 50% 28%, rgba(76,209,222,.24), transparent 28%),
    radial-gradient(circle at 50% 58%, rgba(var(--lbg-1),.18), transparent 34%),
    linear-gradient(180deg, rgba(9,41,67,.96), rgba(5,15,28,.98) 72%);
}
.lb-ai-voice-stage[hidden] { display: none !important; }
.lb-ai-chat.voice-mode .lb-ai-messages,
.lb-ai-chat.voice-mode .lb-ai-actions,
.lb-ai-chat.voice-mode .lb-ai-suggestions,
.lb-ai-chat.voice-mode .lb-ai-form,
.lb-ai-chat.voice-mode .lb-ai-voice-status {
  opacity: 0;
  pointer-events: none;
}
.lb-ai-chat.voice-mode .lb-ai-panel {
  width: min(100%, 640px);
  height: min(84vh, 760px);
}
.lb-ai-voice-orb {
  position: relative;
  width: min(42vw, 176px);
  min-width: 132px;
  aspect-ratio: 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.92), rgba(111,224,239,.72) 20%, rgba(42,149,169,.62) 46%, rgba(8,34,56,.96) 76%),
    linear-gradient(145deg, rgba(var(--lbg-1),.72), rgba(53,198,211,.72));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18),
    0 26px 70px rgba(53,198,211,.25),
    inset 0 2px 1px rgba(255,255,255,.45),
    inset 0 -14px 30px rgba(0,0,0,.28);
}
.lb-ai-voice-orb::before,
.lb-ai-voice-orb::after {
  content: '';
  position: absolute;
  inset: -15px;
  border-radius: inherit;
  border: 1px solid rgba(83,205,219,.28);
  opacity: .62;
  animation: aiVoiceAura 2.6s ease-in-out infinite;
}
.lb-ai-voice-orb::after {
  inset: -31px;
  border-color: rgba(var(--lbg-1),.22);
  animation-delay: .5s;
}
.lb-ai-voice-orb span {
  width: 42%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 0 34px rgba(255,255,255,.36);
  filter: blur(.2px);
}
body.ai-speaking .lb-ai-voice-orb,
body.ai-listening .lb-ai-voice-orb {
  animation: aiVoiceOrb 1.3s ease-in-out infinite;
}
.lb-ai-voice-copy {
  text-align: center;
  max-width: 430px;
}
.lb-ai-voice-copy strong {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(27px, 6vw, 42px);
  line-height: 1;
}
.lb-ai-voice-copy p {
  margin: 8px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  font-weight: 800;
}
.lb-ai-voice-transcript {
  width: min(100%, 470px);
  min-height: 118px;
  display: grid;
  gap: 9px;
}
.lb-ai-voice-line {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 10px 12px;
  background: rgba(255,255,255,.055);
}
.lb-ai-voice-line small {
  display: block;
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lb-ai-voice-line p {
  min-height: 19px;
  max-height: 66px;
  margin: 4px 0 0;
  overflow: auto;
  color: rgba(255,255,255,.88);
  font-size: 12.5px;
  line-height: 1.45;
}
.lb-ai-voice-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.lb-ai-voice-controls button {
  border: 1px solid rgba(255,255,255,.16);
  color: var(--white);
  cursor: pointer;
  font-family: inherit;
  display: grid;
  place-items: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 14px 32px rgba(0,0,0,.28);
}
.lb-ai-voice-end,
.lb-ai-voice-repeat {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(255,255,255,.075);
}
.lb-ai-voice-talk {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: linear-gradient(145deg, #70e0ef, #2a95a9 58%, #123f63);
}
.lb-ai-voice-talk.is-listening {
  background: linear-gradient(145deg, #ffe39a, rgb(var(--lbg-1)) 54%, #7d4f1a);
}
.lb-ai-voice-controls button:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.lb-ai-voice-disclosure {
  color: rgba(255,255,255,.42);
  font-size: 10.5px;
  line-height: 1.35;
}

.lb-ai-actions {
  padding: 0 16px 10px;
}

.lb-ai-wa-send {
  width: 100%;
  border: 1px solid rgba(37,211,102,.42);
  background: linear-gradient(145deg, #45ec80 0%, #25D366 45%, #075E54 100%);
  color: var(--white);
  border-radius: 14px;
  padding: 11px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(37,211,102,.24);
}

.lb-ai-wa-send:active { transform: scale(.99); }
.lb-ai-msg {
  display: flex;
  flex-direction: column;
  max-width: 88%;
  gap: 4px;
}
.lb-ai-msg.user { align-self: flex-end; align-items: flex-end; }
.lb-ai-msg.assistant { align-self: flex-start; align-items: flex-start; }
.lb-ai-bubble {
  padding: 11px 13px;
  border-radius: 17px;
  font-size: 13.5px;
  line-height: 1.55;
  white-space: pre-wrap;
  box-shadow: 0 8px 22px rgba(0,0,0,.22), 0 2px 6px rgba(0,0,0,.14);
}
.lb-ai-msg.assistant .lb-ai-bubble {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.11);
  color: rgba(255,255,255,.90);
  border-bottom-left-radius: 6px;
}
.lb-ai-msg.user .lb-ai-bubble {
  background: linear-gradient(135deg, var(--gold-soft), var(--gold-deep));
  color: var(--white);
  border-bottom-right-radius: 6px;
}
.lb-ai-msg small {
  padding: 0 4px;
  font-size: 10.5px;
  color: rgba(255,255,255,.42);
}
.lb-ai-msg.typing .lb-ai-bubble {
  display: flex;
  gap: 5px;
  align-items: center;
  min-width: 54px;
}
.lb-ai-msg.typing span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
  animation: aiTyping 1s ease-in-out infinite;
}
.lb-ai-msg.typing span:nth-child(2) { animation-delay: .15s; }
.lb-ai-msg.typing span:nth-child(3) { animation-delay: .3s; }
@keyframes aiTyping {
  0%, 80%, 100% { transform: translateY(0); opacity: .35; }
  40% { transform: translateY(-4px); opacity: 1; }
}

.lb-ai-suggestions {
  display: flex;
  gap: 8px;
  padding: 0 16px 12px;
  overflow-x: auto;
}
.lb-ai-suggestions[hidden] { display: none !important; }
.lb-ai-suggestions::-webkit-scrollbar { display: none; }
.lb-ai-suggestions button {
  flex: 0 0 auto;
  border: 1px solid rgba(var(--lbg-1),.24);
  background: rgba(var(--lbg-1),.10);
  color: var(--gold-light);
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 11.5px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  transition: all .22s var(--ease-luxury);
}
.lb-ai-suggestions button:active {
  transform: scale(.95);
  background: rgba(var(--lbg-1),.20);
  border-color: rgba(var(--lbg-1),.42);
}

.lb-ai-inline-actions {
  width: min(100%, 430px);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}
.lb-ai-inline-actions.type-restaurants {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
.lb-ai-choice-card,
.lb-ai-choice-pill,
.lb-ai-date-picker {
  border: 1px solid rgba(var(--lbg-1),.30);
  background: rgba(255,255,255,.075);
  color: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  font-family: inherit;
}
.lb-ai-choice-card {
  width: 100%;
  text-align: left;
  border-radius: 16px;
  padding: 11px 12px;
  cursor: pointer;
}
.lb-ai-choice-card strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
}
.lb-ai-choice-card small {
  display: block;
  margin-top: 4px;
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 800;
}
.lb-ai-choice-pill {
  min-height: 38px;
  border-radius: 999px;
  padding: 8px 13px;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.lb-ai-choice-pill.primary {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #10243a;
}
.lb-ai-date-picker {
  flex: 1 1 170px;
  min-height: 42px;
  border-radius: 14px;
  padding: 8px 10px;
  color-scheme: dark;
  font-size: 13px;
}
.lb-ai-choice-card:active,
.lb-ai-choice-pill:active {
  transform: translateY(1px);
}

.lb-ai-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 12px 14px calc(14px + var(--safe-bot));
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(5,15,28,.72);
}
.lb-ai-form textarea {
  flex: 1;
  resize: none;
  min-height: 44px;
  max-height: 120px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  padding: 12px 13px;
  background: rgba(255,255,255,.06);
  color: var(--white);
  outline: none;
  font-family: inherit;
  font-size: 13.5px;
  line-height: 1.45;
  transition: border-color .25s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
}
.lb-ai-form textarea:focus {
  border-color: rgba(var(--lbg-1),.38);
  box-shadow: 0 0 0 3px rgba(var(--lbg-1),.10);
}
.lb-ai-form textarea::placeholder { color: rgba(255,255,255,.42); }
.lb-ai-form button {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.30);
  background: linear-gradient(145deg, var(--gold-soft), var(--gold-deep));
  color: var(--white);
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(var(--lbg-1),.28), inset 0 1px 0 rgba(255,255,255,.36);
}
.lb-ai-form .lb-ai-mic {
  flex: 0 0 44px;
  border-color: rgba(53,198,211,.34);
  background: linear-gradient(145deg, #55d2df 0%, #217b91 62%, #123f63 100%);
  box-shadow: 0 8px 22px rgba(53,198,211,.24), inset 0 1px 0 rgba(255,255,255,.34);
}
.lb-ai-form .lb-ai-mic.is-listening {
  border-color: rgba(255,255,255,.42);
  background: linear-gradient(145deg, #ffcf72 0%, rgb(var(--lbg-1)) 50%, #7d4f1a 100%);
  animation: aiMicPulse 1.15s ease-in-out infinite;
}
.lb-ai-form button:disabled,
.lb-ai-form textarea:disabled {
  opacity: .62;
  cursor: wait;
}

body.ai-speaking .lb-ai-avatar,
body.ai-listening .lb-ai-avatar {
  animation: aiAvatarPulse 1.45s ease-in-out infinite;
}

@keyframes aiVoiceDot {
  0% { box-shadow: 0 0 0 0 rgba(53,198,211,.42); }
  70% { box-shadow: 0 0 0 8px rgba(53,198,211,0); }
  100% { box-shadow: 0 0 0 0 rgba(53,198,211,0); }
}
@keyframes aiMicPulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}
@keyframes aiAvatarPulse {
  0%, 100% { box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 10px 26px rgba(53,198,211,.24), 0 0 0 6px rgba(83,205,219,.08); }
  50% { box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 14px 34px rgba(53,198,211,.34), 0 0 0 10px rgba(83,205,219,.13); }
}
@keyframes aiVoiceAura {
  0%, 100% { transform: scale(.96); opacity: .42; }
  50% { transform: scale(1.05); opacity: .82; }
}
@keyframes aiVoiceOrb {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.045); }
}

@media (min-width: 760px) {
  .lb-ai-panel { border-radius: 28px; margin-bottom: 24px; max-height: 760px; }
}

@media (max-width: 430px) {
  .lb-ai-fab {
    right: 18px;
    bottom: calc(86px + var(--safe-bot));
    width: 52px;
    height: 52px;
  }
  .lb-ai-panel { height: min(82vh, 760px); }
  .lb-ai-head-copy strong { font-size: 19px; }
  .lb-ai-msg { max-width: 92%; }
}


/* ═══════════════════════════════════════════════════════════
   CONCIERGE CINEMA DETAIL — lb-cxd-* (v2)
   ═══════════════════════════════════════════════════════════ */

.lb-cxd-wrap {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Back button */
.lb-cxd-back {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px 10px;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.55);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: .01em;
  transition: color .15s;
}
.lb-cxd-back:hover { color: rgba(255,255,255,.88); }
.lb-cxd-back i { font-size: 11px; }

/* ── Cinema Slider ───────────────────────────────────────── */
.lb-cxd-cinema {
  position: relative;
  overflow: hidden;
  height: 320px;
  flex-shrink: 0;
  background: #030a12;
}
.lb-cxd-slides {
  position: relative;
  width: 100%;
  height: 100%;
}
.lb-cxd-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .55s ease;
}
.lb-cxd-slide.is-active { opacity: 1; }
.lb-cxd-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Gradient fade — bottom portion */
.lb-cxd-cinema-gradient {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(4,9,16,.92) 0%, rgba(4,9,16,.55) 38%, transparent 65%),
    linear-gradient(to bottom, rgba(0,0,0,.22) 0%, transparent 28%);
  pointer-events: none;
  z-index: 2;
}

/* Overlay info — bottom of cinema, above gradient */
.lb-cxd-overlay {
  position: absolute;
  bottom: 52px;
  left: 0;
  right: 0;
  padding: 0 20px;
  z-index: 4;
}
.lb-cxd-overlay-item {
  display: none;
  animation: cxdOverlayIn .35s ease both;
}
.lb-cxd-overlay-item.is-active { display: block; }
@keyframes cxdOverlayIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
.lb-cxd-overlay-meta {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #e8c572;
  margin-bottom: 4px;
}
.lb-cxd-overlay-name {
  display: block;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.1;
}

/* Controls row: prev · dots · next */
.lb-cxd-cinema-controls {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px;
}
.lb-cxd-arrow {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 12px;
  transition: background .15s;
  padding: 0;
  flex-shrink: 0;
}
.lb-cxd-arrow:hover { background: rgba(255,255,255,.22); }
.lb-cxd-dots {
  display: flex;
  gap: 5px;
  align-items: center;
}
.lb-cxd-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background .2s, transform .2s, width .2s;
}
.lb-cxd-dot.is-active {
  background: #fff;
  transform: scale(1.3);
  width: 14px;
  border-radius: 3px;
}
.lb-cxd-counter {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  font-size: 10.5px;
  font-weight: 700;
  color: rgba(255,255,255,.5);
  letter-spacing: .06em;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 3px 9px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
}

/* ── Static Hero (transfer/shuttle) ─────────────────────── */
.lb-cxd-hero-img {
  position: relative;
  height: 260px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.lb-cxd-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4,10,22,.88) 0%, rgba(0,0,0,.18) 55%, transparent 100%);
}
.lb-cxd-hero-copy {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 20px 22px;
  color: #fff;
}
.lb-cxd-hero-copy span {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #e8c572;
  margin-bottom: 5px;
}
.lb-cxd-hero-copy h3 {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 8px;
  letter-spacing: -.025em;
  line-height: 1.15;
}
.lb-cxd-hero-copy p {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  margin: 0;
  line-height: 1.5;
}

/* ── Lead card (under slider) ────────────────────────────── */
.lb-cxd-lead-card {
  padding: 18px 20px 16px;
  background: linear-gradient(180deg, rgba(14,28,48,1) 0%, rgba(8,18,32,1) 100%);
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.lb-cxd-eyebrow {
  display: block;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #c8962e;
  margin-bottom: 5px;
}
.lb-cxd-section-title {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 6px;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.lb-cxd-section-lead {
  font-size: 12.5px;
  color: rgba(255,255,255,.52);
  line-height: 1.55;
  margin: 0;
}

/* ── Feature badges row ──────────────────────────────────── */
.lb-cxd-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.lb-cxd-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(200,150,46,.08);
  border: 1px solid rgba(200,150,46,.18);
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  font-weight: 600;
}
.lb-cxd-badge i { color: #c8962e; font-size: 13px; width: 16px; text-align: center; }
.lb-cxd-badge em { font-style: normal; }

/* ── Section blocks ──────────────────────────────────────── */
.lb-cxd-section-block {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.lb-cxd-section-label {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.32);
  margin-bottom: 14px;
}

/* Scope cards — icon + text */
.lb-cxd-scope-cards {
  display: grid;
  gap: 8px;
}
.lb-cxd-scope-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 13px;
  color: rgba(255,255,255,.78);
  line-height: 1.4;
}
.lb-cxd-scope-card i {
  color: #22a045;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Option pills */
.lb-cxd-options-block { background: rgba(8,18,32,.6); }
.lb-cxd-option-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.lb-cxd-option-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 13px;
  border-radius: 20px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  font-size: 12.5px;
  color: rgba(255,255,255,.75);
  font-weight: 500;
}
.lb-cxd-option-pill i { color: #c8962e; font-size: 11px; }

/* ── Required fields ─────────────────────────────────────── */
.lb-cxd-required-block {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.lb-cxd-required-head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
}
.lb-cxd-required-head i { color: rgba(200,150,46,.8); font-size: 13px; }
.lb-cxd-required-head span {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.32);
}
.lb-cxd-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.lb-cxd-tags span {
  padding: 5px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  font-size: 11.5px;
  color: rgba(255,255,255,.62);
  font-weight: 500;
}

/* ── WhatsApp CTA ────────────────────────────────────────── */
.lb-cxd-cta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 20px 28px;
  padding: 17px 22px;
  border-radius: 16px;
  background: linear-gradient(135deg, #166a2e 0%, #1e8f3d 50%, #25a348 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 8px 28px rgba(26,130,60,.38), 0 2px 6px rgba(0,0,0,.2);
  transition: opacity .15s, transform .12s;
  width: calc(100% - 40px);
}
.lb-cxd-cta:hover { opacity: .92; transform: translateY(-1px); }
.lb-cxd-cta > i:first-child { font-size: 22px; flex-shrink: 0; }
.lb-cxd-cta > span { flex: 1; text-align: left; }
.lb-cxd-cta-arrow { font-size: 12px; opacity: .6; }

/* ═══════════════════════════════════════════════════════════
   CONCIERGE OVERVIEW — horizontal scroll cards
   ═══════════════════════════════════════════════════════════ */

.lb-cx-scroll {
  display: flex;
  overflow-x: auto;
  gap: 12px;
  padding: 4px 20px 18px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.lb-cx-scroll::-webkit-scrollbar { display: none; }

.lb-cx-vehicle-card {
  flex: 0 0 200px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  scroll-snap-align: start;
  transition: transform .2s;
}
.lb-cx-vehicle-card:hover { transform: translateY(-3px); }
.lb-cx-vehicle-img { height: 136px; overflow: hidden; background: #071222; }
.lb-cx-vehicle-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lb-cx-vehicle-card:hover .lb-cx-vehicle-img img { transform: scale(1.06); }
.lb-cx-vehicle-info { padding: 11px 13px 13px; }
.lb-cx-vehicle-info span { display: block; font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.38); margin-bottom: 3px; }
.lb-cx-vehicle-info strong { display: block; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.88); margin-bottom: 4px; letter-spacing: -.01em; }
.lb-cx-vehicle-info p { font-size: 11.5px; color: rgba(255,255,255,.45); line-height: 1.4; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.lb-cx-yacht-card {
  flex: 0 0 220px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  scroll-snap-align: start;
  transition: transform .2s;
}
.lb-cx-yacht-card:hover { transform: translateY(-3px); }
.lb-cx-yacht-img { height: 148px; overflow: hidden; background: #061018; }
.lb-cx-yacht-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lb-cx-yacht-card:hover .lb-cx-yacht-img img { transform: scale(1.06); }
.lb-cx-yacht-info { padding: 11px 13px 13px; }
.lb-cx-yacht-info span { display: block; font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.38); margin-bottom: 3px; }
.lb-cx-yacht-info strong { display: block; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.88); margin-bottom: 4px; letter-spacing: -.01em; }
.lb-cx-yacht-info p { font-size: 11.5px; color: rgba(255,255,255,.45); line-height: 1.4; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ════════════════════════════════════════════════════════
   SPA CENTER — Ritual & Care Editorial (v4)
   Inspired by Aman / Six Senses digital spa experience
═══════════════════════════════════════════════════════════ */
.spa-shell {
  --spa-ink: #06121f;
  --spa-ink-2: #0c1d2f;
  --spa-paper: #f0e9d6;
  --spa-paper-soft: rgba(240,233,214,.92);
  --spa-paper-dim: rgba(240,233,214,.66);
  --spa-paper-mute: rgba(240,233,214,.38);
  --spa-gold: #c9ab74;
  --spa-gold-soft: rgba(var(--lbg-10),.42);
  --spa-gold-line: rgba(var(--lbg-10),.22);
  --spa-jade: #648b80;
  --spa-line: rgba(240,233,214,.14);
  position: relative;
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 14px 80px;
  background: linear-gradient(180deg, var(--spa-ink) 0%, #0a1a2a 50%, var(--spa-ink) 100%);
  color: var(--spa-paper);
  font-feature-settings: "ss01" on, "liga" on;
  isolation: isolate;
}
.spa-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse at 16% 8%, rgba(var(--lbg-10),.07), transparent 38%),
    radial-gradient(ellipse at 88% 32%, rgba(100,139,128,.08), transparent 42%);
  pointer-events: none;
}

/* ────────── HERO ────────── */
.spa-hero {
  position: relative;
  isolation: isolate;
  min-height: 640px;
  margin: 0 -14px 0;
  padding: 90px 22px 36px;
  overflow: hidden;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 22px;
  text-align: center;
  background: var(--spa-ink);
}
.spa-hero-art {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: var(--spa-hero-bg, url('assets/spa/cards/spa-suite.webp')) center 42% / cover no-repeat;
  filter: saturate(.9) brightness(.5) contrast(1.06);
  transform: scale(1.06);
  animation: spaHeroBreath 24s ease-in-out infinite alternate;
}
.spa-hero-veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(6,18,31,.58) 0%, rgba(6,18,31,.34) 40%, rgba(6,18,31,.94) 100%),
    radial-gradient(ellipse at 50% 36%, rgba(6,18,31,0) 0%, rgba(6,18,31,.46) 78%);
}
.spa-hero-grain {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    radial-gradient(rgba(var(--lbg-10),.05) 1px, transparent 1.6px);
  background-size: 5px 5px;
  mix-blend-mode: overlay;
  opacity: .42;
}
.spa-hero-frame {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 18px;
  max-width: 760px;
  padding: 0 16px;
}
.spa-hero-kicker {
  color: var(--spa-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .42em;
  text-transform: uppercase;
}
.spa-hero-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(52px, 11.6vw, 96px);
  line-height: .96;
  letter-spacing: -.016em;
  text-shadow: 0 10px 36px rgba(0,0,0,.62);
}
.spa-hero-ornament {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--spa-gold);
}
.spa-hero-ornament span {
  display: block;
  width: 64px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--spa-gold), transparent);
}
.spa-hero-ornament i {
  font-style: normal;
  font-size: 10px;
  color: var(--spa-gold);
  text-shadow: 0 0 8px rgba(var(--lbg-10),.6);
}
.spa-hero-sub {
  margin: 0;
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(16px, 3vw, 19px);
  letter-spacing: .02em;
  text-shadow: 0 4px 18px rgba(0,0,0,.5);
}
.spa-hero-lead {
  margin: 0;
  max-width: 620px;
  color: rgba(255,255,255,.86);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.66;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.spa-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
}
.spa-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  padding: 0 26px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .3s var(--ease-luxury), border-color .3s var(--ease-luxury), color .3s var(--ease-luxury), transform .2s var(--ease-luxury), box-shadow .3s var(--ease-luxury);
  white-space: nowrap;
}
.spa-hero-cta i { font-size: 12px; transition: transform .3s var(--ease-luxury); }
.spa-hero-cta:active { transform: scale(.985); }
.spa-hero-cta--ivory {
  background: var(--spa-paper);
  border-color: var(--spa-paper);
  color: #0a1d33;
  box-shadow: 0 18px 38px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.7) inset;
}
.spa-hero-cta--ivory:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 24px 48px rgba(0,0,0,.58), 0 1px 0 rgba(255,255,255,.8) inset;
}
.spa-hero-cta--ivory:hover i { transform: translateX(4px); }
.spa-hero-cta--ivory i { color: var(--spa-gold); }
.spa-hero-cta--ghost {
  background: transparent;
  border-color: rgba(240,233,214,.5);
  color: var(--spa-paper);
}
.spa-hero-cta--ghost:hover {
  background: rgba(240,233,214,.10);
  border-color: var(--spa-paper);
  transform: translateY(-2px);
}
.spa-hero-cta--ghost:hover i { transform: translateY(3px); }

.spa-hero-stats {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 720px;
  border-top: 1px solid var(--spa-line);
  border-bottom: 1px solid var(--spa-line);
  position: relative;
  z-index: 1;
}
.spa-hero-stats li {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 18px 8px;
  text-align: center;
}
.spa-hero-stats li + li { border-left: 1px solid var(--spa-line); }
.spa-hero-stats strong {
  color: #fff;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.spa-hero-stats em {
  color: var(--spa-paper-dim);
  font-style: normal;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ────────── CURATOR NOTE ────────── */
.spa-curator {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin: 56px auto 0;
  padding: 0 12px;
  max-width: 720px;
  text-align: center;
}
.spa-curator-bar {
  width: 1px;
  height: 56px;
  background: linear-gradient(180deg, transparent, var(--spa-gold), transparent);
}
.spa-curator-kicker {
  color: var(--spa-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .38em;
  text-transform: uppercase;
}
.spa-curator p {
  margin: 0;
  color: var(--spa-paper-soft);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 14.5px;
  line-height: 1.66;
}

/* ────────── SECTION HEADS (shared) ────────── */
.spa-section-num {
  color: var(--spa-gold);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
}
.spa-section-rule {
  display: block;
  width: 42px;
  height: 1px;
  background: rgba(var(--lbg-10),.5);
}
.spa-section-tag {
  color: var(--spa-paper-dim);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}

/* ────────── COMPLIMENTARY ────────── */
.spa-comp {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 14px;
  margin: 56px auto 0;
  padding: 0 6px;
  max-width: 880px;
}
.spa-comp-head {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.spa-comp-title {
  margin: 6px 0 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 5.2vw, 38px);
  line-height: 1.06;
  letter-spacing: -.01em;
}
.spa-comp-lead {
  margin: 0 0 4px;
  max-width: 580px;
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
  line-height: 1.62;
}
.spa-comp-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 14px;
}
.spa-comp-item {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 22px 14px;
  border: 1px solid var(--spa-line);
  border-radius: 4px;
  background: linear-gradient(160deg, rgba(18,42,68,.5), rgba(7,21,38,.7));
  transition: border-color .3s var(--ease-luxury), transform .25s var(--ease-luxury);
}
.spa-comp-item:hover {
  border-color: var(--spa-gold-soft);
  transform: translateY(-2px);
}
.spa-comp-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--spa-gold-line);
  color: var(--spa-gold);
  font-size: 22px;
}
.spa-comp-item strong {
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: -.005em;
}

/* ────────── STICKY CATEGORY TABS ────────── */
.spa-tabs {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  gap: 0;
  margin: 56px -14px 0;
  padding: 0;
  border-top: 1px solid var(--spa-line);
  border-bottom: 1px solid var(--spa-line);
  background: rgba(6,18,31,.96);
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
  overflow-x: auto;
  scrollbar-width: none;
}
.spa-tabs::-webkit-scrollbar { display: none; }
.spa-tab {
  position: relative;
  flex: 1 0 auto;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  border: 0;
  background: transparent;
  color: var(--spa-paper-dim);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  transition: color .25s var(--ease-luxury);
}
.spa-tab::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--spa-gold);
  transform: translateX(-50%);
  transition: width .35s var(--ease-luxury);
}
.spa-tab-count {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  padding: 0 6px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0;
  opacity: .72;
  font-variant-numeric: tabular-nums;
}
.spa-tab:hover,
.spa-tab.is-active {
  color: var(--spa-paper);
}
.spa-tab.is-active::after { width: 38%; }
.spa-tab.is-active .spa-tab-count {
  color: var(--spa-gold);
  border-color: var(--spa-gold);
  opacity: 1;
}

/* ────────── SECTION (common) ────────── */
.spa-section {
  display: grid;
  gap: 24px;
  margin-top: 56px;
  scroll-margin-top: 132px;
}
.spa-section-head {
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
}
.spa-section-head-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.spa-section-title {
  margin: 6px 0 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(30px, 5.6vw, 44px);
  line-height: 1.04;
  letter-spacing: -.01em;
  max-width: 640px;
}
.spa-section-lead {
  margin: 0;
  max-width: 600px;
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 14.5px;
  line-height: 1.66;
}

/* ────────── PACKAGE CARDS (Signature + Hamam) ────────── */
.spa-pkg-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.spa-pkg {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  border-radius: 4px;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(18,42,68,.92), rgba(7,21,38,.97));
  border: 1px solid var(--spa-line);
  box-shadow: 0 18px 44px rgba(0,0,0,.42);
  transition: transform .35s var(--ease-luxury), border-color .35s var(--ease-luxury), box-shadow .35s var(--ease-luxury);
}
.spa-pkg:hover {
  transform: translateY(-3px);
  border-color: var(--spa-gold-soft);
  box-shadow: 0 28px 60px rgba(0,0,0,.56);
}
.spa-pkg-media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(var(--lbg-10),.06);
}
.spa-pkg-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1) brightness(.94) contrast(1.04);
  transition: transform 1.2s var(--ease-luxury);
}
.spa-pkg:hover .spa-pkg-media img { transform: scale(1.05); }
.spa-pkg-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,18,31,0) 50%, rgba(6,18,31,.84));
}
.spa-pkg-seq {
  position: absolute;
  left: 18px;
  top: 16px;
  z-index: 2;
  color: var(--spa-gold);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
.spa-pkg-tag {
  position: absolute;
  right: 18px;
  top: 16px;
  z-index: 2;
  padding: 5px 11px;
  border-radius: 999px;
  border: 1px solid var(--spa-gold-line);
  background: rgba(6,18,31,.78);
  color: var(--spa-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.spa-pkg-body {
  display: grid;
  gap: 14px;
  padding: 22px 22px 22px;
}
.spa-pkg-title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 4.4vw, 26px);
  line-height: 1.16;
  letter-spacing: -.005em;
}
.spa-pkg-items {
  list-style: none;
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid var(--spa-line);
  border-bottom: 1px solid var(--spa-line);
  display: grid;
  gap: 8px;
}
.spa-pkg-items li {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  line-height: 1.55;
}
.spa-pkg-items li i {
  color: var(--spa-gold);
  font-size: 5px;
  transform: translateY(-3px);
}
.spa-pkg-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
}
.spa-pkg-facts > div {
  display: grid;
  gap: 4px;
  padding: 0;
}
.spa-pkg-facts > div + div {
  padding-left: 14px;
  border-left: 1px solid var(--spa-line);
}
.spa-pkg-facts dt {
  margin: 0;
  color: var(--spa-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.spa-pkg-facts dd {
  margin: 0;
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.005em;
}
.spa-pkg-price {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
}
/* ── Uygulama rezervasyon indirimi — fiyat etiketi ───────────── */
.spa-price-block {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.12;
}
.spa-pkg-price.spa-price-block { align-items: flex-start; }
.spa-menu-row-price.spa-price-block { align-items: flex-end; }
.spa-price-was {
  font-family: var(--font-sans);
  font-size: .6em;
  font-weight: 600;
  color: var(--spa-paper-dim);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  letter-spacing: 0;
}
.spa-price-now { font-weight: 800; font-variant-numeric: tabular-nums; }
/* Paket kartı: CTA üstü ince altın ayraçlı "uygulamaya özel" satırı */
.spa-offer-line {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 13px;
}
.spa-offer-rule {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--spa-gold-line) 55%, transparent);
}
.spa-offer-text {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--spa-gold);
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  white-space: nowrap;
}
.spa-offer-text i { font-size: 10px; opacity: .85; }
/* Menü satırı: kompakt altın caps etiket (zemin yok) */
.spa-menu-row-offer {
  margin-top: 3px;
  color: var(--spa-gold);
  font-family: var(--font-sans);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}
.spa-pkg-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 0 22px;
  margin-top: 4px;
  border: 1px solid var(--spa-paper);
  border-radius: 999px;
  background: var(--spa-paper);
  color: #0a1d33;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 14px 30px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.6) inset;
  transition: background .3s var(--ease-luxury), border-color .3s var(--ease-luxury), transform .2s var(--ease-luxury);
}
.spa-pkg-cta:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
}
.spa-pkg-cta:active { transform: scale(.985); }
.spa-pkg-cta i { color: var(--spa-gold); font-size: 12px; transition: transform .3s var(--ease-luxury); }
.spa-pkg-cta:hover i { transform: translateX(4px); }

/* ────────── TREATMENT MENU GROUPS ────────── */
.spa-menu-groups {
  display: grid;
  gap: 36px;
}
.spa-menu-group {
  display: grid;
  gap: 0;
  background: linear-gradient(160deg, rgba(18,42,68,.7), rgba(7,21,38,.85));
  border: 1px solid var(--spa-line);
  border-radius: 4px;
  overflow: hidden;
  scroll-margin-top: 132px;
}
.spa-menu-group-head {
  position: relative;
  isolation: isolate;
  padding: 36px 24px 30px;
  text-align: center;
  overflow: hidden;
}
.spa-menu-group-art {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: var(--spa-group-bg) center/cover no-repeat;
  filter: saturate(.86) brightness(.46);
  transform: scale(1.04);
}
.spa-menu-group-veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(6,18,31,0) 0%, rgba(6,18,31,.5) 70%),
    linear-gradient(180deg, rgba(6,18,31,.4), rgba(6,18,31,.86));
}
.spa-menu-group-copy {
  display: grid;
  justify-items: center;
  gap: 10px;
}
.spa-menu-group-num {
  color: var(--spa-gold);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
}
.spa-menu-group-rule {
  width: 40px;
  height: 1px;
  background: var(--spa-gold);
  opacity: .82;
}
.spa-menu-group-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--spa-gold-line);
  background: rgba(6,18,31,.6);
  color: var(--spa-gold);
  font-size: 18px;
}
.spa-menu-group-title {
  margin: 6px 0 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 4.8vw, 32px);
  line-height: 1.08;
  letter-spacing: -.005em;
  text-shadow: 0 6px 20px rgba(0,0,0,.5);
}
.spa-menu-group-lead {
  margin: 0;
  max-width: 460px;
  color: rgba(255,255,255,.86);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  line-height: 1.6;
}
.spa-menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
}
.spa-menu-item + .spa-menu-item { border-top: 1px solid var(--spa-line); }
.spa-menu-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 18px 22px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s var(--ease-luxury), padding-left .3s var(--ease-luxury);
}
.spa-menu-row:hover {
  background: linear-gradient(90deg, rgba(var(--lbg-10),.08), transparent 60%);
  padding-left: 28px;
}
.spa-menu-row:active { background: rgba(var(--lbg-10),.14); }
.spa-menu-row-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.spa-menu-row-copy strong {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 15.5px;
  line-height: 1.18;
  letter-spacing: -.003em;
}
.spa-menu-row-copy em {
  font-style: normal;
  color: var(--spa-paper-dim);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.spa-menu-row-meta {
  display: grid;
  gap: 4px;
  justify-items: end;
  text-align: right;
}
.spa-menu-row-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--spa-paper-dim);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.spa-menu-row-time i { color: var(--spa-gold); font-size: 11px; }
.spa-menu-row-price {
  color: var(--spa-paper);
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.005em;
  font-variant-numeric: tabular-nums;
}
.spa-menu-row-cta {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--spa-gold-line);
  color: var(--spa-gold);
  font-size: 11px;
  background: rgba(var(--lbg-10),.06);
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury), border-color .25s var(--ease-luxury);
}
.spa-menu-row:hover .spa-menu-row-cta {
  background: var(--spa-gold);
  color: #0a1d33;
  border-color: var(--spa-gold);
}

/* ────────── PROMISE FOOTER ────────── */
.spa-promise {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 48px 24px 40px;
  margin-top: 64px;
  text-align: center;
  background: linear-gradient(180deg, rgba(10,29,51,0) 0%, rgba(10,29,51,.86) 100%);
  border-top: 1px solid var(--spa-line);
  border-bottom: 1px solid var(--spa-line);
}
.spa-promise-mark {
  display: block;
  width: 36px;
  height: 1px;
  background: var(--spa-gold);
  margin-bottom: 4px;
}
.spa-promise strong {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(22px, 4.4vw, 30px);
  line-height: 1.18;
  letter-spacing: -.006em;
  max-width: 620px;
}
.spa-promise p {
  margin: 0;
  max-width: 580px;
  color: var(--spa-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13.2px;
  line-height: 1.6;
}
.spa-promise .spa-hero-cta { margin-top: 8px; }
.spa-promise .spa-hero-cta i { color: #25d366; font-size: 16px; }

@keyframes spaHeroBreath {
  from { transform: scale(1.04); }
  to   { transform: scale(1.12); }
}

/* ────────── RESPONSIVE ────────── */
@media (min-width: 560px) {
  .spa-comp-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 720px) {
  .spa-pkg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 880px) {
  .spa-shell { padding: 0 28px 100px; }
  .spa-hero { margin: 0 -28px 0; padding: 120px 36px 44px; min-height: 700px; }
  .spa-menu-row { grid-template-columns: 1.4fr auto auto; padding: 22px 28px; }
}
@media (min-width: 1080px) {
  .spa-pkg-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .spa-hero { min-height: 540px; padding: 70px 18px 28px; }
  .spa-hero-actions { width: 100%; }
  .spa-hero-cta { width: 100%; padding: 0 22px; }
  .spa-menu-row { grid-template-columns: 1fr; gap: 10px; padding: 18px 18px; }
  .spa-menu-row-meta { justify-items: start; text-align: left; flex-direction: row; }
  .spa-menu-row-cta { justify-self: end; }
  .spa-pkg-body { padding: 18px 18px 18px; }
}

/* ════════════════════════════════════════════════════════
   ROOM SERVICE — Luxury Onboarding (v4)
   "Sunrise Luxe" intro before QR scan + menu
═══════════════════════════════════════════════════════════ */
.sunrise-order.sunrise-luxe {
  --srv-ink: #061521;
  --srv-ink-2: #0c2030;
  --srv-paper: #f1e9d4;
  --srv-paper-soft: rgba(241,233,212,.92);
  --srv-paper-dim: rgba(241,233,212,.66);
  --srv-paper-mute: rgba(241,233,212,.38);
  --srv-gold: #c9ab74;
  --srv-gold-soft: rgba(var(--lbg-10),.42);
  --srv-gold-line: rgba(var(--lbg-10),.22);
  --srv-line: rgba(241,233,212,.14);
  background: linear-gradient(160deg, rgba(18,42,68,.95), rgba(7,21,38,.98));
  border: 1px solid var(--srv-line);
  border-radius: 6px;
  padding: 0 !important;
  margin-top: 12px;
  overflow: hidden;
  box-shadow: 0 22px 50px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.05) inset;
}

/* Top fine gold rail */
.sunrise-luxe::before {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--srv-gold-line) 30%, var(--srv-gold) 50%, var(--srv-gold-line) 70%, transparent);
}

.sunrise-luxe .sunrise-intro {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 14px;
  padding: 36px 22px 30px;
  position: relative;
  isolation: isolate;
}
.sunrise-luxe .sunrise-intro::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(var(--lbg-10),.10), transparent 56%),
    radial-gradient(ellipse at 50% 100%, rgba(53,198,211,.06), transparent 60%);
  pointer-events: none;
}
.sunrise-luxe .sunrise-intro-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--srv-gold);
}
.sunrise-luxe .sunrise-intro-rule {
  display: block;
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--srv-gold), transparent);
}
.sunrise-luxe .sunrise-intro-eyebrow {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .36em;
  text-transform: uppercase;
  color: var(--srv-gold);
}
.sunrise-luxe .sunrise-intro-title {
  margin: 4px 0 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(26px, 5.4vw, 36px);
  line-height: 1.1;
  letter-spacing: -.005em;
  max-width: 540px;
}
.sunrise-luxe .sunrise-intro-lead {
  margin: 0;
  max-width: 540px;
  color: var(--srv-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.62;
}

/* Primary scan CTA — animated QR target */
.sunrise-luxe .sunrise-scan-cta {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  max-width: 360px;
  margin: 18px 0 6px;
  padding: 26px 22px 24px;
  border: 1px solid var(--srv-gold-soft);
  border-radius: 22px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(var(--lbg-10),.16), transparent 60%),
    linear-gradient(180deg, rgba(var(--lbg-10),.06), rgba(var(--lbg-10),.02));
  color: var(--srv-paper);
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  isolation: isolate;
  overflow: hidden;
  transition: transform .25s var(--ease-luxury), border-color .3s var(--ease-luxury), box-shadow .3s var(--ease-luxury);
  box-shadow: 0 16px 36px rgba(0,0,0,.34), 0 1px 0 rgba(255,255,255,.06) inset;
}
.sunrise-luxe .sunrise-scan-cta:hover {
  transform: translateY(-2px);
  border-color: var(--srv-gold);
  box-shadow: 0 22px 46px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.1) inset;
}
.sunrise-luxe .sunrise-scan-cta:active { transform: scale(.985); }

.sunrise-luxe .sunrise-scan-orbit {
  position: relative;
  width: 124px;
  height: 124px;
  display: grid;
  place-items: center;
}
.sunrise-luxe .sunrise-scan-orbit-ring {
  position: absolute;
  inset: 0;
  border: 1px solid var(--srv-gold-line);
  border-radius: 24px;
}
.sunrise-luxe .sunrise-scan-orbit-arc {
  position: absolute;
  inset: 8px;
  border: 2px dashed var(--srv-gold-soft);
  border-radius: 20px;
  animation: sunriseScanSpin 12s linear infinite;
}
.sunrise-luxe .sunrise-scan-corner {
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid var(--srv-gold);
  background: transparent;
}
.sunrise-luxe .sunrise-scan-corner--tl { top: -2px; left: -2px; border-right: 0; border-bottom: 0; border-top-left-radius: 6px; }
.sunrise-luxe .sunrise-scan-corner--tr { top: -2px; right: -2px; border-left: 0; border-bottom: 0; border-top-right-radius: 6px; }
.sunrise-luxe .sunrise-scan-corner--bl { bottom: -2px; left: -2px; border-right: 0; border-top: 0; border-bottom-left-radius: 6px; }
.sunrise-luxe .sunrise-scan-corner--br { bottom: -2px; right: -2px; border-left: 0; border-top: 0; border-bottom-right-radius: 6px; }
.sunrise-luxe .sunrise-scan-glyph {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  border: 1px solid rgba(var(--lbg-10),.32);
  background: linear-gradient(180deg, rgba(var(--lbg-10),.18), rgba(var(--lbg-10),.04));
  color: var(--srv-gold);
  font-size: 30px;
  box-shadow: 0 8px 22px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.08) inset;
}
.sunrise-luxe .sunrise-scan-cta::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100px;
  height: 2px;
  transform: translate(-50%, -38px);
  background: linear-gradient(90deg, transparent, var(--srv-gold), transparent);
  filter: blur(.4px);
  opacity: .65;
  animation: sunriseScanBeam 2.4s ease-in-out infinite;
  pointer-events: none;
  border-radius: 2px;
}
.sunrise-luxe .sunrise-scan-label {
  display: grid;
  gap: 4px;
  justify-items: center;
}
.sunrise-luxe .sunrise-scan-label strong {
  color: var(--srv-paper);
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-scan-label em {
  font-style: normal;
  color: var(--srv-paper-dim);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .02em;
}

@keyframes sunriseScanSpin {
  to { transform: rotate(360deg); }
}
@keyframes sunriseScanBeam {
  0%, 100% { transform: translate(-50%, -38px); opacity: .35; }
  50%      { transform: translate(-50%, 40px);  opacity: .85; }
}

/* Divider with "or paste link" text */
.sunrise-luxe .sunrise-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 420px;
  margin: 8px 0 2px;
}
.sunrise-luxe .sunrise-divider span {
  height: 1px;
  background: var(--srv-line);
}
.sunrise-luxe .sunrise-divider em {
  font-style: normal;
  color: var(--srv-paper-mute);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  white-space: nowrap;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* URL paste pill */
.sunrise-luxe .sunrise-input-pill {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 540px;
  padding: 6px 6px 6px 18px;
  border: 1px solid var(--srv-line);
  border-radius: 999px;
  background: rgba(4,16,29,.62);
  transition: border-color .25s var(--ease-luxury), background .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-input-pill:focus-within {
  border-color: var(--srv-gold-soft);
  background: rgba(4,16,29,.86);
}
.sunrise-luxe .sunrise-input-pill > i {
  color: var(--srv-gold);
  font-size: 13px;
}
.sunrise-luxe .sunrise-input-pill input[type="text"] {
  flex: 1;
  background: transparent;
  border: 0;
  outline: 0;
  color: var(--srv-paper);
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  min-width: 0;
  width: 100%;
  padding: 12px 0;
}
.sunrise-luxe .sunrise-input-pill input::placeholder {
  color: var(--srv-paper-mute);
  font-style: italic;
}
.sunrise-luxe .sunrise-input-open {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  min-height: 42px;
  border-radius: 999px;
  border: 1px solid var(--srv-paper);
  background: var(--srv-paper);
  color: #0a1d33;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 8px 22px rgba(0,0,0,.34), 0 1px 0 rgba(255,255,255,.6) inset;
  transition: background .25s var(--ease-luxury), border-color .25s var(--ease-luxury), transform .2s var(--ease-luxury);
}
.sunrise-luxe .sunrise-input-open:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-1px);
}
.sunrise-luxe .sunrise-input-open:active { transform: scale(.97); }
.sunrise-luxe .sunrise-input-open i {
  color: var(--srv-gold);
  font-size: 11px;
  transition: transform .3s var(--ease-luxury);
}
.sunrise-luxe .sunrise-input-open:hover i { transform: translateX(3px); }

.sunrise-luxe .sunrise-hint {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(var(--lbg-10),.08);
  color: var(--srv-paper-dim);
  font-size: 11.5px;
  font-weight: 500;
  font-family: var(--font-display);
  font-style: italic;
  line-height: 1.5;
  max-width: 540px;
}
.sunrise-luxe .sunrise-hint i { color: var(--srv-gold); font-size: 11px; }

/* Bottom rail */
.sunrise-luxe::after {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--srv-gold-line), transparent);
}

/* Responsive */
@media (min-width: 720px) {
  .sunrise-luxe .sunrise-intro { padding: 48px 36px 38px; gap: 16px; }
  .sunrise-luxe .sunrise-scan-cta { flex-direction: row; max-width: 480px; padding: 22px 24px; }
  .sunrise-luxe .sunrise-scan-label { justify-items: flex-start; text-align: left; }
  .sunrise-luxe .sunrise-scan-orbit { width: 96px; height: 96px; }
  .sunrise-luxe .sunrise-scan-glyph { width: 64px; height: 64px; font-size: 26px; border-radius: 18px; }
  .sunrise-luxe .sunrise-scan-corner { width: 14px; height: 14px; }
}
@media (min-width: 1080px) {
  .sunrise-luxe .sunrise-intro { padding: 60px 56px 44px; }
}
@media (max-width: 420px) {
  .sunrise-luxe .sunrise-intro { padding: 26px 16px 22px; }
  .sunrise-luxe .sunrise-scan-cta { padding: 22px 16px; }
  .sunrise-luxe .sunrise-input-pill {
    grid-template-columns: 1fr;
    padding: 12px 14px;
    border-radius: 18px;
    gap: 10px;
  }
  .sunrise-luxe .sunrise-input-pill > i { display: none; }
  .sunrise-luxe .sunrise-input-pill input[type="text"] { padding: 4px 0; }
  .sunrise-luxe .sunrise-input-open { width: 100%; justify-content: center; min-height: 48px; }
}

/* ════════════════════════════════════════════════════════
   ROOM SERVICE — Loaded Menu Luxury (v4)
   When menu is loaded, hide the QR intro and present
   the menu in the same editorial / luxury style
═══════════════════════════════════════════════════════════ */
/* After QR scan / link open succeeds → hide the intro & scanner */
.sunrise-luxe.has-menu .sunrise-intro,
.sunrise-luxe.has-menu .sunrise-scanner {
  display: none !important;
}
.sunrise-luxe.has-menu {
  border-radius: 8px;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0 !important;
}
.sunrise-luxe.has-menu::before,
.sunrise-luxe.has-menu::after { display: none; }

.sunrise-luxe.has-menu .sunrise-menu-shell {
  --srv-ink: #061521;
  --srv-paper: #f1e9d4;
  --srv-paper-soft: rgba(241,233,212,.92);
  --srv-paper-dim: rgba(241,233,212,.66);
  --srv-paper-mute: rgba(241,233,212,.38);
  --srv-gold: #c9ab74;
  --srv-gold-soft: rgba(var(--lbg-10),.42);
  --srv-gold-line: rgba(var(--lbg-10),.22);
  --srv-line: rgba(241,233,212,.14);
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--srv-paper);
  font-feature-settings: "ss01" on;
}

/* Session bar — table info */
.sunrise-luxe .sunrise-session-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px 18px;
  margin: 0;
  border: 1px solid var(--srv-line);
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(var(--lbg-10),.12), rgba(var(--lbg-10),.02));
  color: var(--srv-paper);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-session-bar span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.sunrise-luxe .sunrise-session-bar i {
  color: var(--srv-gold);
  font-size: 13px;
}

/* Top-level root tabs — premium ivory pill (matches sub-tabs quality) */
.sunrise-luxe .sunrise-root-tabs {
  position: sticky;
  top: 0;
  z-index: 26;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 14px 0 0;
  padding: 12px 0 14px;
  border-top: 1px solid var(--srv-line);
  border-bottom: 1px solid var(--srv-line);
  background: rgba(6,21,33,.96);
  backdrop-filter: blur(22px) saturate(1.2);
  -webkit-backdrop-filter: blur(22px) saturate(1.2);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.sunrise-luxe .sunrise-root-tabs::-webkit-scrollbar { display: none; }
.sunrise-luxe .sunrise-root-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid var(--srv-line);
  border-radius: 999px;
  background: rgba(6,21,33,.5);
  color: var(--srv-paper-dim);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury), border-color .25s var(--ease-luxury), transform .15s var(--ease-luxury), box-shadow .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-root-tabs button i {
  color: var(--srv-gold);
  font-size: 12px;
  transition: color .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-root-tabs button small {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  padding: 0 6px;
  height: 18px;
  border-radius: 999px;
  background: rgba(241,233,212,.08);
  color: var(--srv-paper-dim);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-root-tabs button:hover {
  color: var(--srv-paper);
  border-color: rgba(241,233,212,.32);
}
.sunrise-luxe .sunrise-root-tabs button.is-active {
  background: var(--srv-paper);
  border-color: var(--srv-paper);
  color: #0a1d33;
  box-shadow: 0 10px 22px rgba(0,0,0,.36), 0 1px 0 rgba(255,255,255,.6) inset;
}
.sunrise-luxe .sunrise-root-tabs button.is-active i { color: #0a1d33; }
.sunrise-luxe .sunrise-root-tabs button.is-active small {
  background: rgba(10,29,51,.16);
  color: #0a1d33;
}
.sunrise-luxe .sunrise-root-tabs button:active { transform: scale(.97); }

/* Category stage — current category title */
.sunrise-luxe .sunrise-category-stage {
  display: grid;
  gap: 14px;
  margin: 28px 0 18px;
  padding: 0;
}
.sunrise-luxe .sunrise-stage-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px;
}
.sunrise-luxe .sunrise-stage-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.sunrise-luxe .sunrise-stage-head small {
  color: var(--srv-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-stage-head h4 {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(24px, 4.8vw, 30px);
  line-height: 1.08;
  letter-spacing: -.005em;
}
.sunrise-luxe .sunrise-stage-head > span {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  height: 28px;
  padding: 0 10px;
  border: 1px solid var(--srv-gold-line);
  border-radius: 999px;
  background: rgba(var(--lbg-10),.08);
  color: var(--srv-gold);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* Subcategory tabs — horizontal chip strip */
.sunrise-luxe .sunrise-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 6px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.sunrise-luxe .sunrise-tabs::-webkit-scrollbar { display: none; }
.sunrise-luxe .sunrise-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--srv-line);
  border-radius: 999px;
  background: rgba(6,21,33,.6);
  color: var(--srv-paper-dim);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury), border-color .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-tabs button i { color: var(--srv-gold); font-size: 11px; }
.sunrise-luxe .sunrise-tabs button small {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(241,233,212,.08);
  color: var(--srv-paper-dim);
  font-size: 9.5px;
  letter-spacing: 0;
}
.sunrise-luxe .sunrise-tabs button:hover {
  color: var(--srv-paper);
  border-color: rgba(241,233,212,.32);
}
.sunrise-luxe .sunrise-tabs button.is-active {
  background: var(--srv-paper);
  border-color: var(--srv-paper);
  color: #0a1d33;
  box-shadow: 0 8px 18px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.6) inset;
}
.sunrise-luxe .sunrise-tabs button.is-active i { color: #0a1d33; }
.sunrise-luxe .sunrise-tabs button.is-active small {
  background: rgba(10,29,51,.18);
  color: #0a1d33;
}

/* Products grid — luxury cards */
.sunrise-luxe .sunrise-products {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 0;
  margin: 4px 0 0;
}
.sunrise-luxe .sunrise-product {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--srv-line);
  border-radius: 4px;
  background: linear-gradient(160deg, rgba(18,42,68,.7), rgba(7,21,38,.85));
  transition: transform .25s var(--ease-luxury), border-color .3s var(--ease-luxury), box-shadow .3s var(--ease-luxury);
  -webkit-tap-highlight-color: transparent;
}
.sunrise-luxe .sunrise-product:hover {
  border-color: var(--srv-gold-soft);
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(0,0,0,.4);
}
.sunrise-luxe .sunrise-product > img,
.sunrise-luxe .sunrise-product-glyph {
  width: 96px;
  height: 96px;
  border-radius: 4px;
  object-fit: cover;
  background: rgba(var(--lbg-10),.08);
  border: 1px solid var(--srv-line);
  display: block;
}
.sunrise-luxe .sunrise-product-glyph {
  display: grid;
  place-items: center;
  color: var(--srv-gold);
  font-size: 26px;
}
.sunrise-luxe .sunrise-product-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.sunrise-luxe .sunrise-product-copy small {
  color: var(--srv-gold);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-product-copy h4 {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.18;
  letter-spacing: -.003em;
}
.sunrise-luxe .sunrise-product-price {
  display: inline-block;
  margin-top: 2px;
  color: var(--srv-paper);
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.005em;
  font-variant-numeric: tabular-nums;
}
.sunrise-luxe .sunrise-product-copy p {
  margin: 4px 0 0;
  color: var(--srv-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sunrise-luxe .sunrise-product > button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid var(--srv-gold);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(var(--lbg-10),.18), rgba(var(--lbg-10),.04));
  color: var(--srv-paper);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .25s, color .25s, transform .15s, border-color .25s, box-shadow .25s;
  position: relative;
}
.sunrise-luxe .sunrise-product > button i { color: var(--srv-gold); font-size: 14px; transition: color .25s; }
.sunrise-luxe .sunrise-product > button span {
  position: absolute;
  width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0);
}
.sunrise-luxe .sunrise-product > button:hover:not(:disabled) {
  background: var(--srv-gold);
  border-color: var(--srv-gold);
  transform: scale(1.08);
  box-shadow: 0 10px 22px rgba(var(--lbg-10),.34);
}
.sunrise-luxe .sunrise-product > button:hover:not(:disabled) i { color: #0a1d33; }
.sunrise-luxe .sunrise-product > button:active:not(:disabled) { transform: scale(.94); }
.sunrise-luxe .sunrise-product > button:disabled {
  opacity: .42;
  cursor: not-allowed;
  border-color: var(--srv-line);
}

/* Cart — bottom floating-style sticky */
.sunrise-luxe .sunrise-cart {
  margin: 28px 0 0;
  padding: 18px;
  border: 1px solid var(--srv-gold-soft);
  border-radius: 6px;
  background: linear-gradient(160deg, rgba(18,42,68,.95), rgba(7,21,38,.98));
  box-shadow: 0 22px 50px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.05) inset;
}
.sunrise-luxe .sunrise-cart.is-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 6px;
  padding: 30px 22px;
  border-style: dashed;
  background: transparent;
  box-shadow: none;
}
.sunrise-luxe .sunrise-cart.is-empty strong {
  color: var(--srv-gold);
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-cart.is-empty p {
  margin: 0;
  color: var(--srv-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13.5px;
}
.sunrise-luxe .sunrise-cart-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--srv-line);
  margin-bottom: 12px;
}
.sunrise-luxe .sunrise-cart-title strong {
  color: var(--srv-gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-cart-title span {
  color: var(--srv-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
}
.sunrise-luxe .sunrise-cart-list {
  display: grid;
  gap: 10px;
}
.sunrise-luxe .sunrise-cart-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--srv-line);
}
.sunrise-luxe .sunrise-cart-name {
  display: grid;
  gap: 2px;
  min-width: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.2;
}
.sunrise-luxe .sunrise-cart-name small {
  color: var(--srv-gold);
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-cart-item > div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sunrise-luxe .sunrise-cart-item > div button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--srv-gold-line);
  background: rgba(var(--lbg-10),.08);
  color: var(--srv-gold);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background .2s, color .2s, transform .15s;
}
.sunrise-luxe .sunrise-cart-item > div button:hover {
  background: var(--srv-gold);
  color: #0a1d33;
}
.sunrise-luxe .sunrise-cart-item > div button:active { transform: scale(.92); }
.sunrise-luxe .sunrise-cart-item > div b {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  color: #fff;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.sunrise-luxe .sunrise-note {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.sunrise-luxe .sunrise-note span {
  color: var(--srv-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-note textarea {
  width: 100%;
  min-height: 80px;
  padding: 12px 14px;
  border: 1px solid var(--srv-line);
  border-radius: 4px;
  background: rgba(4,16,29,.62);
  color: var(--srv-paper);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.5;
  resize: vertical;
  outline: 0;
  transition: border-color .25s var(--ease-luxury), background .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-note textarea:focus {
  border-color: var(--srv-gold-soft);
  background: rgba(4,16,29,.86);
}
.sunrise-luxe .sunrise-note textarea::placeholder {
  color: var(--srv-paper-mute);
  font-style: italic;
}
.sunrise-luxe .sunrise-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  margin-top: 14px;
  min-height: 56px;
  padding: 0 22px;
  border: 1px solid var(--srv-paper);
  border-radius: 999px;
  background: var(--srv-paper);
  color: #0a1d33;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 18px 38px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.6) inset;
  transition: background .3s, border-color .3s, transform .2s, box-shadow .3s;
}
.sunrise-luxe .sunrise-submit:hover {
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 22px 46px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.7) inset;
}
.sunrise-luxe .sunrise-submit:active { transform: scale(.985); }
.sunrise-luxe .sunrise-submit i { color: var(--srv-gold); font-size: 16px; }

/* Empty / Error state */
.sunrise-luxe .sunrise-empty {
  padding: 36px 22px;
  border: 1px dashed var(--srv-line);
  border-radius: 6px;
  text-align: center;
  color: var(--srv-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 14px;
}

/* Loading state — keep premium feel */
.sunrise-luxe.is-loading .sunrise-intro,
.sunrise-luxe.is-loading .sunrise-scanner {
  display: none !important;
}
.sunrise-luxe .sunrise-loading-card {
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 48px 24px;
  border: 1px solid var(--srv-gold-line);
  border-radius: 6px;
  background: linear-gradient(160deg, rgba(18,42,68,.7), rgba(7,21,38,.85));
  text-align: center;
}
.sunrise-luxe .sunrise-loading-card small {
  color: var(--srv-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-loading-card h3 {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
}
.sunrise-luxe .sunrise-loading-card p {
  margin: 0;
  max-width: 480px;
  color: var(--srv-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.6;
}
.sunrise-luxe .sunrise-loading-orbit {
  position: relative;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
}
.sunrise-luxe .sunrise-loading-orbit span {
  position: absolute;
  inset: 0;
  border: 2px dashed var(--srv-gold-soft);
  border-radius: 18px;
  animation: sunriseScanSpin 5s linear infinite;
}
.sunrise-luxe .sunrise-loading-orbit i {
  color: var(--srv-gold);
  font-size: 24px;
}
.sunrise-luxe .sunrise-loading-steps {
  display: inline-flex;
  gap: 6px;
  margin-top: 4px;
}
.sunrise-luxe .sunrise-loading-steps span {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--srv-gold-line);
  animation: sunriseStepPulse 1.4s ease-in-out infinite;
}
.sunrise-luxe .sunrise-loading-steps span:nth-child(2) { animation-delay: .2s; }
.sunrise-luxe .sunrise-loading-steps span:nth-child(3) { animation-delay: .4s; }
@keyframes sunriseStepPulse {
  0%, 100% { background: var(--srv-gold-line); transform: scale(1); }
  50%      { background: var(--srv-gold); transform: scale(1.4); }
}

/* Responsive */
@media (min-width: 720px) {
  .sunrise-luxe .sunrise-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1080px) {
  .sunrise-luxe .sunrise-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .sunrise-luxe .sunrise-product {
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px;
  }
  .sunrise-luxe .sunrise-product > img,
  .sunrise-luxe .sunrise-product-glyph { width: 76px; height: 76px; }
  .sunrise-luxe .sunrise-product > button { width: 40px; height: 40px; }
}

/* ════════════════════════════════════════════════════════
   ROOM SERVICE — Menu v5 (Restaurant Editorial)
   Aman / Bulgari level dining menu — cinematic category
   hero, dotted-leader prices, smooth transitions
═══════════════════════════════════════════════════════════ */
.sunrise-luxe .sunrise-luxe-menu {
  --srv-ink: #061521;
  --srv-paper: #f1e9d4;
  --srv-paper-soft: rgba(241,233,212,.92);
  --srv-paper-dim: rgba(241,233,212,.66);
  --srv-paper-mute: rgba(241,233,212,.42);
  --srv-gold: #c9ab74;
  --srv-gold-strong: #e0c187;
  --srv-gold-soft: rgba(var(--lbg-10),.42);
  --srv-gold-line: rgba(var(--lbg-10),.22);
  --srv-line: rgba(241,233,212,.14);
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--srv-paper);
  font-feature-settings: "ss01" on, "liga" on;
}

/* Category hero — replaces the old text-only stage */
.sunrise-luxe .sunrise-cat-hero {
  position: relative;
  isolation: isolate;
  margin: 18px 0 4px;
  padding: 44px 24px 38px;
  text-align: center;
  border: 1px solid var(--srv-line);
  border-radius: 6px;
  overflow: hidden;
  min-height: 180px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  animation: srvCatFade .55s var(--ease-luxury) both;
}
.sunrise-luxe .sunrise-cat-art {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: var(--cat-bg, none) center/cover no-repeat;
  filter: saturate(.88) brightness(.42) contrast(1.06);
  transform: scale(1.04);
  transition: transform 1.2s var(--ease-luxury), filter .4s var(--ease-luxury);
}
.sunrise-luxe .sunrise-cat-hero:hover .sunrise-cat-art { transform: scale(1.08); }
.sunrise-luxe .sunrise-cat-veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(6,21,33,.18) 0%, rgba(6,21,33,.6) 70%),
    linear-gradient(180deg, rgba(6,21,33,.46), rgba(6,21,33,.88));
}
.sunrise-luxe .sunrise-cat-hero:not([style*="--cat-bg"]) .sunrise-cat-art {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(var(--lbg-10),.10), transparent 64%),
    linear-gradient(160deg, rgba(18,42,68,.7), rgba(7,21,38,.85));
  filter: none;
  transform: none;
}
.sunrise-luxe .sunrise-cat-copy {
  display: grid;
  justify-items: center;
  gap: 12px;
}
.sunrise-luxe .sunrise-cat-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--srv-gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.sunrise-luxe .sunrise-cat-num {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
}
.sunrise-luxe .sunrise-cat-rule {
  display: block;
  width: 38px;
  height: 1px;
  background: var(--srv-gold);
  opacity: .82;
}
.sunrise-luxe .sunrise-cat-tag {
  letter-spacing: .32em;
}
.sunrise-luxe .sunrise-cat-title {
  margin: 4px 0 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(28px, 6vw, 42px);
  line-height: 1.04;
  letter-spacing: -.008em;
  text-shadow: 0 6px 22px rgba(0,0,0,.6);
}
.sunrise-luxe .sunrise-cat-count {
  margin: 0;
  color: var(--srv-paper-soft);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13px;
  letter-spacing: .02em;
}
.sunrise-luxe .sunrise-cat-count em {
  font-style: normal;
  color: var(--srv-gold);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-size: 14px;
  margin-right: 4px;
}

/* Subcategory tabs — chip strip */
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 18px 0 6px;
  padding: 2px 0 6px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs::-webkit-scrollbar { display: none; }
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid var(--srv-line);
  border-radius: 999px;
  background: rgba(6,21,33,.5);
  color: var(--srv-paper-dim);
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  transition: background .25s var(--ease-luxury), color .25s var(--ease-luxury), border-color .25s var(--ease-luxury), transform .15s var(--ease-luxury);
}
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs button small {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 16px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(241,233,212,.06);
  color: var(--srv-paper-dim);
  font-size: 9.5px;
  letter-spacing: 0;
}
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs button:hover {
  color: var(--srv-paper);
  border-color: rgba(241,233,212,.32);
}
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs button.is-active {
  background: var(--srv-paper);
  border-color: var(--srv-paper);
  color: #0a1d33;
  box-shadow: 0 8px 18px rgba(0,0,0,.32), 0 1px 0 rgba(255,255,255,.6) inset;
}
.sunrise-luxe .sunrise-luxe-menu .sunrise-tabs button.is-active small {
  background: rgba(10,29,51,.16);
  color: #0a1d33;
}

/* Dishes — editorial menu list */
.sunrise-luxe .sunrise-dishes {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.sunrise-luxe .sunrise-dishes[data-sunrise-anim="fade-in"] .sunrise-dish {
  animation: srvDishFade .55s var(--ease-luxury) both;
  animation-delay: calc(var(--i, 0) * 35ms);
}
.sunrise-luxe .sunrise-dish {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 20px 6px;
  border-bottom: 1px solid var(--srv-line);
  transition: padding-left .3s var(--ease-luxury), background .25s var(--ease-luxury);
}
.sunrise-luxe .sunrise-dish:last-child { border-bottom: 0; }
.sunrise-luxe .sunrise-dish:hover {
  padding-left: 14px;
  background: linear-gradient(90deg, rgba(var(--lbg-10),.06), transparent 70%);
}
.sunrise-luxe .sunrise-dish.is-out {
  opacity: .55;
}

.sunrise-luxe .sunrise-dish-thumb {
  margin: 0;
  width: 72px;
  height: 72px;
  border-radius: 4px;
  overflow: hidden;
  background: rgba(var(--lbg-10),.06);
  border: 1px solid var(--srv-gold-line);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.sunrise-luxe .sunrise-dish-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1) brightness(.98) contrast(1.04);
  transition: transform 1s var(--ease-luxury);
}
.sunrise-luxe .sunrise-dish:hover .sunrise-dish-thumb img { transform: scale(1.06); }
.sunrise-luxe .sunrise-dish-glyph {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--srv-gold);
  font-size: 22px;
}

.sunrise-luxe .sunrise-dish-body {
  position: relative;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding-top: 2px;
}
.sunrise-luxe .sunrise-dish-num {
  position: absolute;
  top: -2px;
  right: 0;
  color: var(--srv-gold);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  font-variant-numeric: tabular-nums;
  opacity: .72;
  display: none;
}
.sunrise-luxe .sunrise-dish-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.sunrise-luxe .sunrise-dish-name {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.16;
  letter-spacing: -.003em;
  min-width: 0;
  word-wrap: break-word;
}
.sunrise-luxe .sunrise-dish-leader {
  position: relative;
  display: block;
  height: 1px;
  min-width: 16px;
  align-self: end;
  margin-bottom: 6px;
  background-image: radial-gradient(circle, rgba(var(--lbg-10),.5) 1px, transparent 1.4px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: center;
}
.sunrise-luxe .sunrise-dish-price {
  color: #fff;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.005em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.sunrise-luxe .sunrise-dish-desc {
  margin: 0;
  color: var(--srv-paper-dim);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.5;
  max-width: 56ch;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Add to cart — gold ring */
.sunrise-luxe .sunrise-dish-add {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--srv-gold);
  background: transparent;
  color: var(--srv-gold);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  font-size: 13px;
  position: relative;
  transition: background .3s var(--ease-luxury), color .3s var(--ease-luxury), transform .2s var(--ease-luxury), box-shadow .3s var(--ease-luxury), border-color .3s var(--ease-luxury);
}
.sunrise-luxe .sunrise-dish-add::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 999px;
  border: 1px solid var(--srv-gold-line);
  opacity: 0;
  transform: scale(.95);
  transition: opacity .3s var(--ease-luxury), transform .3s var(--ease-luxury);
}
.sunrise-luxe .sunrise-dish-add:hover:not(:disabled) {
  background: var(--srv-gold);
  color: #0a1d33;
  transform: scale(1.08);
  box-shadow: 0 10px 22px rgba(var(--lbg-10),.34);
}
.sunrise-luxe .sunrise-dish-add:hover:not(:disabled)::before {
  opacity: 1;
  transform: scale(1);
}
.sunrise-luxe .sunrise-dish-add:active:not(:disabled) { transform: scale(.94); }
.sunrise-luxe .sunrise-dish-add:disabled {
  cursor: not-allowed;
  opacity: .35;
  border-color: var(--srv-line);
  color: var(--srv-paper-mute);
}

/* Keyframes for smooth category change + dish reveal */
@keyframes srvCatFade {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}
@keyframes srvDishFade {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}

/* Responsive */
@media (min-width: 720px) {
  .sunrise-luxe .sunrise-cat-hero { padding: 64px 32px 50px; min-height: 220px; }
  .sunrise-luxe .sunrise-dish {
    grid-template-columns: 88px minmax(0, 1fr) auto;
    gap: 22px;
    padding: 22px 8px;
  }
  .sunrise-luxe .sunrise-dish-thumb { width: 88px; height: 88px; }
  .sunrise-luxe .sunrise-dish-name { font-size: 19px; }
  .sunrise-luxe .sunrise-dish-price { font-size: 20px; }
  .sunrise-luxe .sunrise-dish-desc { font-size: 14px; }
  .sunrise-luxe .sunrise-dish-add { width: 48px; height: 48px; font-size: 14px; }
}
@media (max-width: 460px) {
  .sunrise-luxe .sunrise-cat-hero { padding: 32px 18px 28px; }
  .sunrise-luxe .sunrise-dish {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 16px 4px;
  }
  .sunrise-luxe .sunrise-dish-thumb { width: 60px; height: 60px; }
  .sunrise-luxe .sunrise-dish-name { font-size: 15.5px; }
  .sunrise-luxe .sunrise-dish-price { font-size: 16px; }
  .sunrise-luxe .sunrise-dish-desc { font-size: 13px; -webkit-line-clamp: 3; }
  .sunrise-luxe .sunrise-dish-add { width: 40px; height: 40px; font-size: 12px; }
  .sunrise-luxe .sunrise-dish:hover { padding-left: 8px; }
}

/* Sunrise Snack (no-price) dish head — let the name breathe */
.sunrise-luxe .sunrise-dish-body.is-noprice .sunrise-dish-head {
  grid-template-columns: minmax(0, 1fr);
}

/* ============================================================
   Guest Feedback Survey
   ============================================================ */
.lb-feedback-detail {
  display: grid;
  gap: 18px;
}
.guest-feedback {
  display: grid;
  gap: 18px;
}
.guest-feedback-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px;
  gap: 18px;
  align-items: center;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-8),.32);
  border-radius: 26px;
  background:
    linear-gradient(140deg, rgba(12,50,84,.92), rgba(4,16,29,.92)),
    radial-gradient(circle at 20% 0%, rgba(var(--lbg-8),.20), transparent 42%);
  box-shadow: var(--shadow-card);
}
.guest-feedback-hero span {
  display: block;
  margin-bottom: 8px;
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.guest-feedback-hero h2 {
  font-family: var(--font-display);
  font-size: 38px;
  line-height: 1;
  color: var(--white);
}
.guest-feedback-hero p {
  max-width: 680px;
  margin-top: 12px;
  color: rgba(255,255,255,.74);
  font-size: 15px;
  line-height: 1.65;
  font-weight: 700;
}
.guest-feedback-hero > i {
  display: grid;
  width: 82px;
  height: 82px;
  place-items: center;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--gold-shine), var(--gold-light), var(--gold));
  color: var(--navy-darker);
  font-size: 32px;
  box-shadow: 0 18px 42px rgba(var(--lbg-2),.26);
}
.guest-feedback-form {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(12,50,84,.72), rgba(4,16,29,.78));
  box-shadow: var(--shadow-card);
}
.guest-feedback-scale {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(var(--lbg-8),.18);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.guest-feedback-scale b {
  color: var(--gold-light);
  font-size: 15px;
  letter-spacing: 0;
}
.guest-feedback-grid {
  display: grid;
  gap: 12px;
}
.guest-feedback-question {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background: rgba(255,255,255,.055);
}
.guest-feedback-question legend {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  color: var(--white);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}
.guest-feedback-question legend span {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 12px;
  color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-shine), var(--gold));
  font-size: 12px;
  font-weight: 1000;
}
.guest-feedback-stars {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.guest-feedback-star {
  display: grid;
  min-height: 46px;
  place-items: center;
  border: 1px solid rgba(var(--lbg-8),.18);
  border-radius: 16px;
  background: rgba(4,16,29,.58);
  color: rgba(255,255,255,.34);
  font-size: 18px;
  cursor: pointer;
}
.guest-feedback-star.is-active {
  border-color: rgba(var(--lbg-8),.72);
  background: linear-gradient(135deg, rgba(var(--lbg-11),.98), rgba(var(--lbg-2),.92));
  color: var(--navy-darker);
  box-shadow: 0 12px 26px rgba(var(--lbg-2),.20);
}
.guest-feedback-fields {
  display: grid;
  grid-template-columns: 1fr 180px;
  gap: 12px;
}
.guest-feedback-field {
  display: grid;
  gap: 8px;
}
.guest-feedback-field span {
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.guest-feedback-field input,
.guest-feedback-field textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(4,16,29,.62);
  color: var(--white);
  font: 800 15px var(--font-sans);
  outline: 0;
}
.guest-feedback-field input {
  height: 52px;
  padding: 0 16px;
}
.guest-feedback-field textarea {
  min-height: 112px;
  resize: vertical;
  padding: 14px 16px;
  line-height: 1.55;
}
.guest-feedback-field input::placeholder,
.guest-feedback-field textarea::placeholder {
  color: rgba(255,255,255,.42);
}
.guest-feedback-field input:focus,
.guest-feedback-field textarea:focus {
  border-color: rgba(var(--lbg-8),.72);
  box-shadow: 0 0 0 4px rgba(var(--lbg-8),.12);
}
.guest-feedback-privacy {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(53,198,211,.18);
  border-radius: 18px;
  background: rgba(53,198,211,.08);
  color: rgba(255,255,255,.68);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}
.guest-feedback-privacy i {
  color: var(--teal);
  margin-top: 2px;
}
.guest-feedback-result {
  padding: 13px 14px;
  border-radius: 18px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
}
.guest-feedback-result.is-success {
  border: 1px solid rgba(37,211,102,.28);
  background: rgba(37,211,102,.14);
  color: rgba(232,255,241,.96);
}
.guest-feedback-result.is-warning,
.guest-feedback-result.is-error {
  border: 1px solid rgba(var(--lbg-8),.32);
  background: rgba(var(--lbg-8),.12);
  color: var(--gold-shine);
}
.guest-feedback-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  border: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--gold-shine), var(--gold-light), var(--gold));
  color: var(--navy-darker);
  font: 1000 15px var(--font-sans);
  box-shadow: 0 18px 38px rgba(var(--lbg-2),.22);
  cursor: pointer;
}
.guest-feedback-submit:disabled {
  opacity: .72;
  cursor: wait;
}

@media (min-width: 760px) {
  .guest-feedback-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1080px) {
  .guest-feedback-form,
  .guest-feedback-hero {
    max-width: 1120px;
    margin-inline: auto;
  }
}

@media (max-width: 520px) {
  .guest-feedback-hero {
    grid-template-columns: 1fr;
    padding: 20px;
    border-radius: 24px;
  }
  .guest-feedback-hero h2 {
    font-size: 34px;
  }
  .guest-feedback-hero > i {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    font-size: 26px;
  }
  .guest-feedback-form {
    padding: 14px;
    border-radius: 24px;
  }
  .guest-feedback-fields {
    grid-template-columns: 1fr;
  }
  .guest-feedback-star {
    min-height: 44px;
  }
}

/* ═══════════════════════════════════════════════════════════════
   GUEST FEEDBACK — LUXURY REDESIGN (v2)
   .guest-feedback--luxury modifier'ı ile override
   ═══════════════════════════════════════════════════════════════ */

.guest-feedback--luxury {
  display: grid;
  gap: 22px;
  max-width: 1120px;
  margin-inline: auto;
}

/* ───────────── HERO ─ Premium Luxury v2 ───────────── */
.guest-feedback--luxury .guest-feedback-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, 1fr);
  gap: 36px;
  align-items: center;
  min-height: 380px;
  padding: 56px 48px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(var(--lbg-8),.42);
  border-radius: 36px;
  background:
    /* parıltı noktaları */
    radial-gradient(circle at 18% 78%, rgba(53,198,211,.10), transparent 40%),
    radial-gradient(circle at 82% 22%, rgba(var(--lbg-11),.28), transparent 50%),
    radial-gradient(circle at 50% 110%, rgba(var(--lbg-2),.20), transparent 60%),
    /* ana derinlik gradyan */
    linear-gradient(135deg, #04101d 0%, #071c2e 30%, #0c3254 65%, #103b5e 100%);
  box-shadow:
    0 0 0 1px rgba(var(--lbg-8),.14) inset,
    0 1px 0 rgba(255,255,255,.08) inset,
    0 -1px 0 rgba(0,0,0,.20) inset,
    0 48px 120px rgba(7,28,46,.65),
    0 18px 42px rgba(7,28,46,.45),
    0 6px 14px rgba(7,28,46,.30);
}

/* Üst gold parıltı çizgisi — daha sofistike, animasyonlu */
.guest-feedback--luxury .guest-feedback-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(var(--lbg-8),.30) 12%,
    #f2d98a 28%,
    #fff5d6 42%,
    var(--gold) 50%,
    #fff5d6 58%,
    #f2d98a 72%,
    rgba(var(--lbg-8),.30) 88%,
    transparent 100%);
  box-shadow: 0 0 24px rgba(var(--lbg-11),.45);
  z-index: 3;
  pointer-events: none;
}

/* İç altın art deco çerçeve */
.guest-feedback--luxury .guest-feedback-hero::after {
  content: "";
  position: absolute;
  inset: 26px;
  border: 1px solid rgba(var(--lbg-8),.22);
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, rgba(var(--lbg-11),.04), transparent 60%);
  pointer-events: none;
  z-index: 1;
}

/* Köşe art deco süslemeleri (4 köşe) — pseudo elements ile */
.guest-feedback--luxury .guest-feedback-hero .gf-corner {
  position: absolute;
  width: 48px;
  height: 48px;
  z-index: 2;
  pointer-events: none;
  opacity: .65;
}

.guest-feedback--luxury .guest-feedback-hero .gf-corner::before,
.guest-feedback--luxury .guest-feedback-hero .gf-corner::after {
  content: "";
  position: absolute;
  background: linear-gradient(90deg, #f2d98a, var(--gold));
}

.guest-feedback--luxury .guest-feedback-hero .gf-corner::before {
  width: 100%;
  height: 1.5px;
}

.guest-feedback--luxury .guest-feedback-hero .gf-corner::after {
  width: 1.5px;
  height: 100%;
}

.guest-feedback--luxury .guest-feedback-hero .gf-corner--tl {
  top: 36px; left: 36px;
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--tr {
  top: 36px; right: 36px;
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--tr::before {
  right: 0;
  background: linear-gradient(270deg, #f2d98a, var(--gold));
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--tr::after {
  right: 0;
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--bl {
  bottom: 36px; left: 36px;
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--bl::before {
  bottom: 0;
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--br {
  bottom: 36px; right: 36px;
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--br::before {
  bottom: 0;
  right: 0;
  background: linear-gradient(270deg, #f2d98a, var(--gold));
}
.guest-feedback--luxury .guest-feedback-hero .gf-corner--br::after {
  bottom: 0;
  right: 0;
}

/* Hover'da köşe süsleri parlasın */
.guest-feedback--luxury .guest-feedback-hero:hover .gf-corner {
  opacity: 1;
  transition: opacity .8s var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

/* Hero metin */
.guest-feedback--luxury .guest-feedback-hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.guest-feedback--luxury .guest-feedback-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border: 1px solid rgba(var(--lbg-8),.42);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(var(--lbg-11),.18), rgba(var(--lbg-2),.10));
  color: #f2d98a;
  font: 800 11px var(--font-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  width: max-content;
  box-shadow: 0 4px 12px rgba(var(--lbg-3),.22);
}

.guest-feedback--luxury .guest-feedback-hero-eyebrow::before {
  content: "✦";
  color: #f2d98a;
  font-size: 12px;
}

.guest-feedback--luxury .guest-feedback-hero-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 56px;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #ffffff 0%, #f5f1e8 50%, #f2d98a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 18px rgba(0,0,0,.30);
}

.guest-feedback--luxury .guest-feedback-hero-subtitle {
  margin: 6px 0 0;
  max-width: 480px;
  color: rgba(255,255,255,.85);
  font: 500 16px/1.6 var(--font-sans);
  letter-spacing: 0.005em;
}

/* Hero dekoratif sağ panel: mood emoji + yıldız + check işareti */
.guest-feedback--luxury .guest-feedback-hero-decor {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 18px;
  justify-items: center;
  align-content: center;
  padding: 18px 8px;
}

.guest-feedback--luxury .guest-feedback-hero-moods {
  display: flex;
  gap: 14px;
  align-items: center;
}

.guest-feedback--luxury .gf-mood {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1.5px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.42);
  font-size: 22px;
  backdrop-filter: blur(8px);
  transition: all .4s cubic-bezier(0.16, 1, 0.3, 1);
}

.guest-feedback--luxury .gf-mood--happy {
  border-color: rgba(var(--lbg-11),.85);
  background: linear-gradient(135deg, #f2d98a 0%, var(--gold) 100%);
  color: #071c2e;
  font-size: 26px;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.45) inset,
    0 -1px 0 rgba(0,0,0,.10) inset,
    0 0 0 4px rgba(var(--lbg-11),.20),
    0 18px 44px rgba(var(--lbg-3),.50),
    0 6px 14px rgba(var(--lbg-3),.30);
  animation: gf-mood-pulse 2.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes gf-mood-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

.guest-feedback--luxury .guest-feedback-hero-stars {
  display: flex;
  gap: 6px;
  font-size: 22px;
  color: #f2d98a;
  filter: drop-shadow(0 4px 12px rgba(var(--lbg-11),.55));
}

.guest-feedback--luxury .guest-feedback-hero-stars i:nth-child(odd) {
  animation: gf-star-twinkle 3s ease-in-out infinite;
}
.guest-feedback--luxury .guest-feedback-hero-stars i:nth-child(2) { animation-delay: 0.3s; }
.guest-feedback--luxury .guest-feedback-hero-stars i:nth-child(3) { animation-delay: 0.6s; }
.guest-feedback--luxury .guest-feedback-hero-stars i:nth-child(4) { animation-delay: 0.9s; }
.guest-feedback--luxury .guest-feedback-hero-stars i:nth-child(5) { animation-delay: 1.2s; }

@keyframes gf-star-twinkle {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .7; transform: scale(0.92); }
}

.guest-feedback--luxury .guest-feedback-hero-check {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 2px solid #ffffff;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  color: #ffffff;
  font-size: 24px;
  backdrop-filter: blur(8px);
  box-shadow:
    0 0 0 4px rgba(255,255,255,.08),
    0 12px 28px rgba(0,0,0,.30);
}

/* ───────────── MISAFIR KIMLIK KARTI (en üstte, form içinde) ───────────── */
.guest-feedback--luxury .guest-feedback-identity-card {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 24px 26px;
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-8),.32);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(var(--lbg-11),.06) 0%, transparent 40%),
    linear-gradient(180deg, rgba(12,50,84,.78), rgba(7,28,46,.86));
  box-shadow:
    0 0 0 1px rgba(var(--lbg-8),.10) inset,
    0 1px 0 rgba(255,255,255,.05) inset,
    0 18px 44px rgba(7,28,46,.30);
}

.guest-feedback--luxury .guest-feedback-identity-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold) 0%, #f2d98a 50%, var(--gold) 100%);
}

.guest-feedback--luxury .guest-feedback-identity-head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.guest-feedback--luxury .guest-feedback-identity-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f2d98a, var(--gold));
  color: #071c2e;
  font-size: 22px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.45) inset,
    0 -1px 0 rgba(0,0,0,.10) inset,
    0 8px 20px rgba(var(--lbg-3),.35);
}

.guest-feedback--luxury .guest-feedback-identity-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.guest-feedback--luxury .guest-feedback-identity-text strong {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  color: #f5f1e8;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.guest-feedback--luxury .guest-feedback-identity-text small {
  font: 500 13px/1.55 var(--font-sans);
  color: rgba(255,255,255,.55);
}

.guest-feedback--luxury .guest-feedback-identity-fields {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 14px;
}

.guest-feedback--luxury .guest-feedback-field--identity {
  display: grid;
  gap: 8px;
}

.guest-feedback--luxury .guest-feedback-field--identity span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #f2d98a;
  font: 800 11px/1 var(--font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.guest-feedback--luxury .guest-feedback-field--identity span i {
  color: rgba(242,217,138,.7);
  font-size: 12px;
}

.guest-feedback--luxury .guest-feedback-field--identity input {
  width: 100%;
  height: 56px;
  padding: 0 18px;
  border: 1.5px solid rgba(var(--lbg-8),.22);
  border-radius: 16px;
  background: rgba(4,16,29,.78);
  color: #ffffff;
  font: 700 16px var(--font-sans);
  letter-spacing: 0.005em;
  outline: 0;
  transition: all .25s cubic-bezier(0.16, 1, 0.3, 1);
}

.guest-feedback--luxury .guest-feedback-field--identity input:focus {
  border-color: #f2d98a;
  background: rgba(4,16,29,.92);
  box-shadow:
    0 0 0 4px rgba(var(--lbg-8),.16),
    0 8px 22px rgba(var(--lbg-8),.18);
}

.guest-feedback--luxury .guest-feedback-field--identity input::placeholder {
  color: rgba(255,255,255,.36);
  font-weight: 500;
}

/* ───────────── FORM (Hero ve Identity Card altında) ───────────── */
.guest-feedback--luxury .guest-feedback-form {
  display: grid;
  gap: 20px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(var(--lbg-8),.04), transparent 60%),
    linear-gradient(180deg, rgba(12,50,84,.74), rgba(7,28,46,.82));
  box-shadow: 0 24px 60px rgba(7,28,46,.30);
}

.guest-feedback--luxury .guest-feedback-lead {
  margin: 8px 0;
  color: rgba(255,255,255,.74);
  font: 500 15px/1.65 var(--font-sans);
  text-align: center;
}

.guest-feedback--luxury .guest-feedback-scale {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 22px;
  border: 1px solid rgba(var(--lbg-8),.20);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(var(--lbg-11),.06), transparent),
    rgba(255,255,255,.04);
  color: rgba(255,255,255,.62);
  font: 700 12px var(--font-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.guest-feedback--luxury .guest-feedback-scale span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.guest-feedback--luxury .guest-feedback-scale span i {
  color: #f2d98a;
  font-size: 18px;
  text-transform: none;
}

.guest-feedback--luxury .guest-feedback-scale b {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f2d98a, var(--gold));
  color: #071c2e;
  font: 800 14px var(--font-sans);
  letter-spacing: 0.02em;
  box-shadow: 0 4px 12px rgba(var(--lbg-3),.30);
}

/* Sorular grid */
.guest-feedback--luxury .guest-feedback-grid {
  display: grid;
  gap: 14px;
}

.guest-feedback--luxury .guest-feedback-question {
  position: relative;
  display: grid;
  gap: 14px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);
  transition: all .3s cubic-bezier(0.16, 1, 0.3, 1);
}

.guest-feedback--luxury .guest-feedback-question:hover {
  border-color: rgba(var(--lbg-8),.30);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(7,28,46,.25);
}

.guest-feedback--luxury .guest-feedback-question[data-value]:not([data-value="0"]):not([data-value=""]) {
  border-color: rgba(var(--lbg-8),.45);
  background:
    linear-gradient(160deg, rgba(var(--lbg-11),.08) 0%, rgba(var(--lbg-2),.04) 100%);
}

.guest-feedback--luxury .guest-feedback-question legend {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
}

.guest-feedback--luxury .guest-feedback-question legend .guest-feedback-q-num,
.guest-feedback--luxury .guest-feedback-question legend span.guest-feedback-q-num {
  display: grid !important;
  flex: 0 0 38px !important;
  place-items: center;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #f2d98a, var(--gold)) !important;
  color: #071c2e !important;
  font: 800 13px var(--font-sans) !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  position: relative !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.45) inset,
    0 6px 14px rgba(var(--lbg-3),.28);
}

.guest-feedback--luxury .guest-feedback-question legend .guest-feedback-q-label,
.guest-feedback--luxury .guest-feedback-question legend span.guest-feedback-q-label {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font: 700 16px/1.4 var(--font-sans) !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  text-align: left !important;
  box-shadow: none !important;
  position: static !important;
}

/* Yıldız grid — BÜYÜK, premium */
.guest-feedback--luxury .guest-feedback-stars {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.guest-feedback--luxury .guest-feedback-star {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 56px;
  border: 1.5px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 100%, rgba(255,255,255,.04), transparent 70%),
    rgba(4,16,29,.62);
  color: rgba(255,255,255,.28);
  font-size: 22px;
  cursor: pointer;
  transition: all .25s cubic-bezier(0.16, 1, 0.3, 1);
}

.guest-feedback--luxury .guest-feedback-star:hover {
  border-color: rgba(var(--lbg-8),.45);
  color: rgba(var(--lbg-11),.65);
  transform: translateY(-2px);
}

.guest-feedback--luxury .guest-feedback-star.is-active {
  border-color: rgba(var(--lbg-11),.95);
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.45), transparent 50%),
    linear-gradient(135deg, #f2d98a 0%, var(--gold) 100%);
  color: #071c2e;
  font-size: 24px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 -1px 0 rgba(0,0,0,.10) inset,
    0 14px 32px rgba(var(--lbg-3),.42),
    0 4px 10px rgba(var(--lbg-3),.30);
  transform: translateY(-1px) scale(1.02);
}

.guest-feedback--luxury .guest-feedback-star.is-active:nth-child(n+5) {
  animation: gf-star-pop .5s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes gf-star-pop {
  0% { transform: translateY(-1px) scale(1.02); }
  40% { transform: translateY(-3px) scale(1.12) rotate(-3deg); }
  100% { transform: translateY(-1px) scale(1.02); }
}

/* Note textarea */
.guest-feedback--luxury .guest-feedback-field--note {
  display: grid;
  gap: 10px;
}

.guest-feedback--luxury .guest-feedback-field--note span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #f2d98a;
  font: 800 11px var(--font-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.guest-feedback--luxury .guest-feedback-field--note textarea {
  width: 100%;
  min-height: 130px;
  padding: 18px 20px;
  border: 1.5px solid rgba(var(--lbg-8),.20);
  border-radius: 20px;
  background: rgba(4,16,29,.62);
  color: #ffffff;
  font: 500 15px/1.6 var(--font-sans);
  resize: vertical;
  outline: 0;
  transition: all .25s cubic-bezier(0.16, 1, 0.3, 1);
}

.guest-feedback--luxury .guest-feedback-field--note textarea:focus {
  border-color: #f2d98a;
  box-shadow:
    0 0 0 4px rgba(var(--lbg-8),.14),
    0 8px 22px rgba(var(--lbg-8),.16);
}

.guest-feedback--luxury .guest-feedback-field--note textarea::placeholder {
  color: rgba(255,255,255,.34);
}

/* Submit row — privacy + buton yan yana */
.guest-feedback--luxury .guest-feedback-submit-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding-top: 10px;
}

.guest-feedback--luxury .guest-feedback-privacy-mini {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: rgba(255,255,255,.50);
  font: 500 12px/1.55 var(--font-sans);
}

.guest-feedback--luxury .guest-feedback-privacy-mini i {
  color: #35c6d3;
  font-size: 14px;
  margin-top: 2px;
  flex-shrink: 0;
}

.guest-feedback--luxury .guest-feedback-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 60px;
  padding: 0 36px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #f2d98a 0%, var(--gold-light) 35%, var(--gold) 100%);
  color: #071c2e;
  font: 800 15px var(--font-sans);
  letter-spacing: 0.025em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 -1px 0 rgba(0,0,0,.10) inset,
    0 18px 44px rgba(var(--lbg-3),.42),
    0 6px 14px rgba(var(--lbg-3),.28);
  transition: all .3s cubic-bezier(0.16, 1, 0.3, 1);
}

.guest-feedback--luxury .guest-feedback-submit:hover {
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 -1px 0 rgba(0,0,0,.10) inset,
    0 24px 56px rgba(var(--lbg-3),.50),
    0 8px 18px rgba(var(--lbg-3),.35);
}

.guest-feedback--luxury .guest-feedback-submit:active {
  transform: translateY(0);
}

.guest-feedback--luxury .guest-feedback-submit i {
  font-size: 16px;
}

/* Sonuç kutusu */
.guest-feedback--luxury .guest-feedback-result {
  padding: 16px 20px;
  border-radius: 18px;
  font: 700 14px/1.55 var(--font-sans);
}

.guest-feedback--luxury .guest-feedback-result.is-success {
  border: 1px solid rgba(37,211,102,.42);
  background: linear-gradient(135deg, rgba(37,211,102,.18), rgba(22,163,74,.12));
  color: #d0f7e0;
  box-shadow: 0 8px 22px rgba(37,211,102,.14);
}

.guest-feedback--luxury .guest-feedback-result.is-warning,
.guest-feedback--luxury .guest-feedback-result.is-error {
  border: 1px solid rgba(var(--lbg-8),.42);
  background: linear-gradient(135deg, rgba(var(--lbg-8),.18), rgba(var(--lbg-2),.10));
  color: #f5e6c5;
}

/* ───────────── RESPONSIVE ───────────── */
@media (max-width: 900px) {
  .guest-feedback--luxury .guest-feedback-hero {
    grid-template-columns: 1fr;
    padding: 32px 24px;
    min-height: 0;
  }
  .guest-feedback--luxury .guest-feedback-hero-decor {
    grid-template-columns: auto auto auto;
    grid-template-rows: 1fr;
    gap: 12px;
    justify-content: center;
  }
  .guest-feedback--luxury .guest-feedback-hero-title {
    font-size: 42px;
  }
  .guest-feedback--luxury .guest-feedback-identity-fields {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .guest-feedback--luxury {
    gap: 16px;
  }
  .guest-feedback--luxury .guest-feedback-hero {
    padding: 24px 20px;
    border-radius: 24px;
  }
  .guest-feedback--luxury .guest-feedback-hero::after {
    inset: 14px;
    border-radius: 18px;
  }
  .guest-feedback--luxury .guest-feedback-hero-title {
    font-size: 34px;
  }
  .guest-feedback--luxury .gf-mood {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }
  .guest-feedback--luxury .gf-mood--happy {
    width: 46px;
    height: 46px;
    font-size: 22px;
  }
  .guest-feedback--luxury .guest-feedback-hero-stars {
    font-size: 18px;
  }
  .guest-feedback--luxury .guest-feedback-hero-check {
    width: 46px;
    height: 46px;
    font-size: 20px;
  }
  .guest-feedback--luxury .guest-feedback-identity-card,
  .guest-feedback--luxury .guest-feedback-form {
    padding: 20px 18px;
    border-radius: 22px;
  }
  .guest-feedback--luxury .guest-feedback-identity-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .guest-feedback--luxury .guest-feedback-star {
    min-height: 46px;
    font-size: 18px;
    border-radius: 14px;
  }
  .guest-feedback--luxury .guest-feedback-star.is-active {
    font-size: 20px;
  }
  .guest-feedback--luxury .guest-feedback-question {
    padding: 16px;
    border-radius: 18px;
  }
  .guest-feedback--luxury .guest-feedback-q-label {
    font-size: 14px;
  }
  .guest-feedback--luxury .guest-feedback-submit-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .guest-feedback--luxury .guest-feedback-submit {
    width: 100%;
    height: 56px;
  }
  .guest-feedback--luxury .guest-feedback-scale {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: 14px;
    font-size: 11px;
  }
}

/* ============================================================
   KIDS CLUB — Günlük Aktivite Programı (çocuk dostu)
   ============================================================ */
.kids-activity-program {
  margin: 18px 0;
  padding: 20px;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff4e6 0%, #ffe9f3 45%, #e8f4ff 100%);
  border: 2px solid rgba(255,255,255,.6);
  box-shadow: 0 14px 40px rgba(var(--lbg-2), .18);
  animation: cardEnter .5s ease both;
}
.kids-activity-head { text-align: center; margin-bottom: 16px; }
.kids-activity-kicker {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 800; letter-spacing: .08em;
  color: #e0568a; text-transform: uppercase;
  background: #fff; padding: 5px 14px; border-radius: 999px;
  box-shadow: 0 4px 12px rgba(224,86,138,.2);
}
.kids-activity-head h3 {
  margin: 10px 0 4px; font-size: 22px; font-weight: 800;
  color: #0c3254; letter-spacing: -.01em;
}
.kids-activity-head p { margin: 0; font-size: 13px; color: #5a6b7a; }

.kids-day-tabs {
  display: flex; gap: 8px; overflow-x: auto;
  padding: 4px 2px 10px; margin-bottom: 12px;
  scrollbar-width: none;
}
.kids-day-tabs::-webkit-scrollbar { display: none; }
.kids-day-tab {
  flex: 0 0 auto;
  border: 0; cursor: pointer;
  padding: 10px 18px; border-radius: 16px;
  font-size: 14px; font-weight: 700; color: #0c3254;
  background: #fff; box-shadow: 0 4px 12px rgba(12,50,84,.08);
  transition: transform .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.kids-day-tab:hover { transform: translateY(-2px); }
.kids-day-tab.is-active {
  background: linear-gradient(135deg, #35c6d3 0%, #2ba3c9 100%);
  color: #fff; box-shadow: 0 8px 20px rgba(53,198,211,.4);
}

.kids-day-panel { display: flex; flex-direction: column; gap: 10px; }
.kids-day-panel.hidden { display: none; }

.kids-act-row {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 16px; border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(12,50,84,.07);
  transition: transform .15s ease, box-shadow .15s ease;
}
.kids-act-row:hover { transform: translateX(4px); box-shadow: 0 8px 20px rgba(12,50,84,.12); }
.kids-act-time {
  flex: 0 0 auto; min-width: 92px;
  font-size: 14px; font-weight: 800; color: #e0568a;
  font-variant-numeric: tabular-nums;
}
.kids-act-icon {
  flex: 0 0 auto;
  width: 42px; height: 42px; border-radius: 14px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #ffd56b 0%, #ffb347 100%);
  color: #fff; font-size: 18px;
  box-shadow: 0 4px 10px rgba(255,179,71,.4);
}
.kids-act-name {
  flex: 1; font-size: 15px; font-weight: 700; color: #0c3254;
}

@media (max-width: 480px) {
  .kids-activity-program { padding: 16px 14px; border-radius: 18px; }
  .kids-activity-head h3 { font-size: 19px; }
  .kids-act-time { min-width: 76px; font-size: 13px; }
  .kids-act-name { font-size: 14px; }
  .kids-act-icon { width: 36px; height: 36px; font-size: 16px; }
}

/* ── Kids Show sahnesi — Show Center referans, çocuk teması (renkli/oyuncu) ── */
.kc-stage { margin: 18px 0; }
.kc-tonight {
  position: relative; display: flex; align-items: flex-end;
  min-height: clamp(340px, 86vw, 420px);
  border-radius: 26px; overflow: hidden; margin-bottom: 16px;
  border: 3px solid #fff;
  box-shadow: 0 18px 44px rgba(224,86,138,.26), 0 4px 14px rgba(53,198,211,.18);
}
.kc-tonight-bg { position: absolute; inset: 0; background-size: cover; background-position: center top; transform: scale(1.04); animation: scKenburns 18s var(--ease-luxury) both; }
.kc-tonight-scrim { position: absolute; inset: 0; background:
  linear-gradient(180deg, rgba(53,198,211,.16) 0%, transparent 28%, rgba(12,50,84,.5) 62%, rgba(12,50,84,.95) 100%),
  linear-gradient(90deg, rgba(224,86,138,.20), transparent 56%); }
.kc-tonight-body { position: relative; z-index: 2; width: 100%; padding: 18px; display: flex; flex-direction: column; gap: 9px; }
.kc-live { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; font: 900 11px/1 var(--font-sans); letter-spacing: .1em; color: #fff; background: linear-gradient(135deg, #e0568a, #ff7eb3); box-shadow: 0 8px 20px rgba(224,86,138,.45); }
.kc-live i { color: #ffe08a; }
.kc-tonight-title { margin: 0; font-family: 'Caveat Brush', 'Manrope', cursive; font-size: clamp(34px, 11vw, 48px); line-height: 1.02; color: #fff; letter-spacing: .5px; text-shadow: 0 3px 0 rgba(224,86,138,.5), 0 8px 22px rgba(0,0,0,.4); }
.kc-tonight-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 2px; }
.kc-tonight-meta span { display: flex; flex-direction: column; gap: 3px; padding: 8px 9px; border-radius: 14px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.kc-tonight-meta small { font: 900 8px/1 var(--font-sans); letter-spacing: .1em; color: #ffe08a; }
.kc-tonight-meta b { font: 800 11.5px/1.12 var(--font-sans); color: #fff; white-space: nowrap; }
.kc-tonight-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 6px; }
.kc-tonight-actions.has-two { grid-template-columns: 1fr 1fr; }
.kc-act { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 48px; padding: 0 12px; border-radius: 16px; border: 0; cursor: pointer; font: 800 13px/1.1 var(--font-sans); color: #0c3254; background: #fff; box-shadow: 0 8px 20px rgba(12,50,84,.16); transition: transform .18s var(--ease-out); white-space: nowrap; }
.kc-act:active { transform: scale(.97); }
.kc-act i { font-size: 1.05em; }
.kc-act-primary { color: #fff; background: linear-gradient(135deg, #35c6d3, #2ba3c9); box-shadow: 0 10px 24px rgba(53,198,211,.45); }
.kc-act.is-done { color: #fff; background: linear-gradient(135deg, #3ad29a, #1f9d72); }
.kc-week-head { text-align: center; margin: 2px 2px 12px; }
.kc-week-head span { display: inline-flex; align-items: center; gap: 8px; font: 800 13px/1 var(--font-sans); color: #e0568a; background: #fff; padding: 8px 16px; border-radius: 999px; box-shadow: 0 4px 12px rgba(224,86,138,.2); }
.kc-daystrip { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 12px; scrollbar-width: none; }
.kc-daystrip::-webkit-scrollbar { display: none; }
.kc-day { flex: 0 0 auto; min-width: 48px; padding: 10px 16px; border-radius: 16px; border: 0; cursor: pointer; font: 800 13px/1 var(--font-sans); color: #0c3254; background: #fff; box-shadow: 0 4px 12px rgba(12,50,84,.08); transition: transform .15s var(--ease-out), background .15s, color .15s; }
.kc-day.is-today { color: #e0568a; box-shadow: 0 4px 12px rgba(224,86,138,.22); }
.kc-day.is-active { background: linear-gradient(135deg, #35c6d3, #2ba3c9); color: #fff; box-shadow: 0 8px 20px rgba(53,198,211,.4); }
.kc-carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 2px 2px 8px; scrollbar-width: none; }
.kc-carousel::-webkit-scrollbar { display: none; }
.kc-slide { position: relative; flex: 0 0 78%; scroll-snap-align: center; aspect-ratio: 3 / 4; border-radius: 22px; overflow: hidden; border: 3px solid #fff; background: #eaf4ff; box-shadow: 0 12px 28px rgba(12,50,84,.16); }
.kc-slide.is-today { border-color: #ffd56b; box-shadow: 0 14px 32px rgba(255,179,71,.4); }
.kc-slide-poster { position: absolute; inset: 0; background-size: cover; background-position: center top; }
.kc-slide-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,50,84,0) 40%, rgba(12,50,84,.55) 68%, rgba(12,50,84,.94) 100%); }
.kc-slide-badge { position: absolute; top: 12px; left: 12px; z-index: 3; padding: 5px 11px; border-radius: 999px; font: 900 9.5px/1 var(--font-sans); letter-spacing: .08em; color: #0c3254; background: linear-gradient(135deg, #ffd56b, #ffb347); box-shadow: 0 6px 16px rgba(255,179,71,.5); }
.kc-slide-remind { position: absolute; top: 10px; right: 10px; z-index: 3; width: 40px; height: 40px; border-radius: 14px; display: grid; place-items: center; border: 0; background: rgba(255,255,255,.92); color: #e0568a; cursor: pointer; box-shadow: 0 6px 16px rgba(12,50,84,.2); }
.kc-slide-remind.is-done { background: linear-gradient(135deg, #3ad29a, #1f9d72); color: #fff; }
.kc-slide-copy { position: absolute; inset: auto 0 0; z-index: 2; display: flex; flex-direction: column; gap: 3px; padding: 16px; }
.kc-slide-copy small { font: 900 8.5px/1 var(--font-sans); letter-spacing: .1em; color: #ffe08a; text-transform: uppercase; }
.kc-slide-copy strong { font-family: 'Caveat Brush', 'Manrope', cursive; font-size: 26px; line-height: 1.05; color: #fff; letter-spacing: .4px; text-shadow: 0 2px 0 rgba(224,86,138,.4); }
.kc-slide-time { display: inline-flex; align-items: center; gap: 6px; margin-top: 5px; width: fit-content; padding: 5px 11px; border-radius: 999px; font: 800 11px/1 var(--font-sans); color: #0c3254; background: rgba(255,255,255,.9); }
@media (min-width: 560px) { .kc-slide { flex-basis: 44%; } }

/* ============================================================
   KIDS CLUB — Tamamen çocuk dostu tema (SADECE bu sayfaya scope)
   Tüm kurallar #screenDetail.is-kids-detail / .lb-kids-detail altında.
   ============================================================ */

/* Sayfa zemini — neşeli pastel gradyan */
#screenDetail.is-kids-detail {
  background:
    radial-gradient(900px 500px at 10% -5%, rgba(255,179,71,.18), transparent 55%),
    radial-gradient(800px 460px at 100% 10%, rgba(53,198,211,.16), transparent 55%),
    radial-gradient(700px 500px at 50% 110%, rgba(224,86,138,.14), transparent 55%),
    linear-gradient(180deg, #fff9f0 0%, #fef2f8 50%, #eef7ff 100%);
}

/* Hero — renkli, oyuncu */
#screenDetail.is-kids-detail .detail-hero { padding-bottom: 6px; }
#screenDetail.is-kids-detail .lb-hero-clip {
  border-radius: 0 0 32px 32px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(224,86,138,.22);
}
#screenDetail.is-kids-detail .lb-hero-overlay {
  background: linear-gradient(180deg, rgba(12,50,84,0) 0%, rgba(224,86,138,.25) 60%, rgba(12,50,84,.72) 100%);
}
#screenDetail.is-kids-detail .lb-hero-tag {
  color: #ffe08a; font-weight: 800; letter-spacing: .14em;
}
#screenDetail.is-kids-detail .lb-hero-title {
  font-family: 'Caveat Brush', 'Manrope', cursive;
  font-size: 44px; line-height: 1.05; color: #fff;
  text-shadow: 0 3px 0 rgba(224,86,138,.55), 0 8px 22px rgba(0,0,0,.35);
  letter-spacing: .5px;
}

/* Zıplayan ikon */
#screenDetail.is-kids-detail .lb-floating-icon {
  background: linear-gradient(135deg, #ffd56b 0%, #ff9a3c 100%);
  color: #fff;
  box-shadow: 0 10px 26px rgba(255,154,60,.5);
  animation: kidsBounce 2.4s ease-in-out infinite;
}
@keyframes kidsBounce {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50% { transform: translateY(-8px) rotate(4deg); }
}

/* İçerik alanı */
#screenDetail.is-kids-detail .lb-content { gap: 16px; }

/* Kids Show programını (koyu lüks) → açık/eğlenceli kart yap */
.lb-kids-detail .event-program-card {
  background: linear-gradient(135deg, #ffffff 0%, #fff4f9 100%) !important;
  border: 2px solid rgba(224,86,138,.18) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(53,198,211,.16) !important;
  color: #0c3254 !important;
}
.lb-kids-detail .event-program-card * { color: inherit; }
.lb-kids-detail .event-program-card .lux-disc-kicker,
.lb-kids-detail .event-program-card .op-card-kicker { color: #e0568a !important; font-weight: 800 !important; }
.lb-kids-detail .event-program-card .lux-disc-title,
.lb-kids-detail .event-program-card h3 { color: #0c3254 !important; }
.lb-kids-detail .event-program-card .lux-disc-icon,
.lb-kids-detail .event-program-card .op-card-icon {
  background: linear-gradient(135deg, #35c6d3 0%, #2ba3c9 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(53,198,211,.4) !important;
}
/* Show poster kartlarını yumuşat */
.lb-kids-detail .event-focus-poster,
.lb-kids-detail .event-week-poster {
  border-radius: 18px !important;
  box-shadow: 0 10px 26px rgba(12,50,84,.18) !important;
}
.lb-kids-detail .event-today-focus {
  background: linear-gradient(135deg, #eef7ff 0%, #fff4f9 100%) !important;
  border-radius: 18px !important;
  border: 1.5px solid rgba(53,198,211,.2) !important;
}
.lb-kids-detail .event-today-focus small { color: #e0568a !important; font-weight: 800 !important; }
.lb-kids-detail .event-today-focus strong { color: #0c3254 !important; }
.lb-kids-detail .event-week-day {
  background: #fff !important;
  border: 1.5px solid rgba(224,86,138,.15) !important;
  border-radius: 16px !important;
  color: #0c3254 !important;
}
.lb-kids-detail .event-week-day.is-today {
  background: linear-gradient(135deg, #ffd56b 0%, #ffb347 100%) !important;
  border-color: transparent !important;
  color: #5a3a00 !important;
}
.lb-kids-detail .op-note { color: #7a6a55 !important; }

/* Genel info/disclosure kartlarını da yumuşat (kids scope) */
.lb-kids-detail .lux-disc,
.lb-kids-detail .op-card {
  border-radius: 20px !important;
}

/* Rezervasyon/CTA butonu çocuk dostu */
#screenDetail.is-kids-detail .lb-resv-cta {
  background: linear-gradient(135deg, #35c6d3 0%, #2ba3c9 100%) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 26px rgba(53,198,211,.45) !important;
  font-weight: 800 !important;
}

@media (max-width: 480px) {
  #screenDetail.is-kids-detail .lb-hero-title { font-size: 38px; }
}

/* ============================================================
   KIDS CLUB — Tam deneyim bileşenleri (intro + show galeri + confetti)
   ============================================================ */
.kids-experience { position: relative; }

/* Uçuşan konfeti emojileri */
.kids-confetti {
  position: absolute; inset: 0; overflow: hidden;
  pointer-events: none; z-index: 0;
}
.kids-confetti span {
  position: absolute; top: -40px; font-size: 26px; opacity: .8;
  animation: kidsFall linear infinite;
}
.kids-confetti span:nth-child(1){ left:6%;  animation-duration: 9s;  animation-delay: 0s; }
.kids-confetti span:nth-child(2){ left:18%; animation-duration: 11s; animation-delay: 1.5s; }
.kids-confetti span:nth-child(3){ left:32%; animation-duration: 8s;  animation-delay: 3s; }
.kids-confetti span:nth-child(4){ left:46%; animation-duration: 12s; animation-delay: .8s; }
.kids-confetti span:nth-child(5){ left:60%; animation-duration: 10s; animation-delay: 2.2s; }
.kids-confetti span:nth-child(6){ left:73%; animation-duration: 9.5s;animation-delay: 4s; }
.kids-confetti span:nth-child(7){ left:85%; animation-duration: 11.5s;animation-delay: 1s; }
.kids-confetti span:nth-child(8){ left:94%; animation-duration: 8.5s;animation-delay: 2.8s; }
@keyframes kidsFall {
  0%   { transform: translateY(0) rotate(0); opacity: 0; }
  10%  { opacity: .85; }
  90%  { opacity: .85; }
  100% { transform: translateY(640px) rotate(320deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .kids-confetti { display: none; } }

/* Karşılama bandı */
.kids-intro-band {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 16px;
  padding: 18px 20px; margin-bottom: 6px;
  border-radius: 24px;
  background: linear-gradient(135deg, #ffe3ef 0%, #fff0d6 50%, #e3f6ff 100%);
  border: 2px solid #fff;
  box-shadow: 0 14px 36px rgba(224,86,138,.2);
  animation: cardEnter .5s ease both;
}
.kids-mascot {
  flex: 0 0 auto; font-size: 52px; line-height: 1;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.18));
  animation: kidsWave 2.6s ease-in-out infinite;
  transform-origin: 70% 80%;
}
@keyframes kidsWave {
  0%,100% { transform: rotate(-6deg) translateY(0); }
  50% { transform: rotate(8deg) translateY(-4px); }
}
.kids-intro-text h2 {
  margin: 0 0 4px; font-family: 'Caveat Brush', cursive;
  font-size: 30px; color: #0c3254; letter-spacing: .5px;
}
.kids-intro-text p { margin: 0; font-size: 14px; color: #5a6b7a; font-weight: 600; }

/* Aktivite kartlarına staggered giriş + tıklama hissi */
.kids-day-panel:not(.hidden) .kids-act-row {
  animation: kidsRowIn .42s cubic-bezier(.2,.8,.2,1) both;
}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(1){animation-delay:.03s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(2){animation-delay:.08s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(3){animation-delay:.13s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(4){animation-delay:.18s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(5){animation-delay:.23s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(6){animation-delay:.28s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(7){animation-delay:.33s}
.kids-day-panel:not(.hidden) .kids-act-row:nth-child(8){animation-delay:.38s}
@keyframes kidsRowIn {
  from { opacity: 0; transform: translateY(14px) scale(.96); }
  to   { opacity: 1; transform: none; }
}
.kids-act-row { cursor: default; }
.kids-act-row:active { transform: scale(.98); }
.kids-act-row:hover .kids-act-icon { transform: rotate(-8deg) scale(1.12); }
.kids-act-icon { transition: transform .2s cubic-bezier(.2,.8,.2,1); }

.kids-day-tab { position: relative; overflow: hidden; }
.kids-day-tab.is-active { animation: kidsPop .35s ease; }
@keyframes kidsPop { 0%{transform:scale(.9)} 60%{transform:scale(1.08)} 100%{transform:scale(1)} }

/* Kids Show galeri */
.kids-show-program { position: relative; z-index: 1; margin-top: 18px; }
.kids-kicker-purple { color: #8b5cf6 !important; }
.kids-show-scroll {
  display: flex; gap: 14px; overflow-x: auto;
  padding: 6px 2px 14px; scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.kids-show-scroll::-webkit-scrollbar { display: none; }
.kids-show-card {
  flex: 0 0 200px; scroll-snap-align: start;
  background: #fff; border-radius: 22px; overflow: hidden;
  box-shadow: 0 10px 28px rgba(139,92,246,.18);
  border: 2px solid rgba(139,92,246,.12);
  transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease;
}
.kids-show-card:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 18px 40px rgba(139,92,246,.3); }
.kids-show-card.is-today { border-color: #ffb347; box-shadow: 0 14px 34px rgba(255,179,71,.35); }
.kids-show-poster {
  position: relative; height: 150px;
  background: linear-gradient(135deg,#8b5cf6,#6366f1); background-size: cover; background-position: center;
}
.kids-show-today-badge {
  position: absolute; top: 10px; left: 10px;
  background: #ffb347; color: #5a3a00; font-weight: 800; font-size: 11px;
  padding: 4px 10px; border-radius: 999px; letter-spacing: .05em;
  box-shadow: 0 4px 10px rgba(255,179,71,.5);
}
.kids-show-day {
  position: absolute; bottom: 10px; right: 10px;
  background: rgba(255,255,255,.92); color: #0c3254; font-weight: 800; font-size: 12px;
  padding: 4px 12px; border-radius: 999px;
}
.kids-show-body { padding: 14px; text-align: center; position: relative; }
.kids-show-icon {
  position: absolute; top: -20px; left: 50%; transform: translateX(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg,#ffd56b,#ff9a3c); color: #fff; font-size: 17px;
  box-shadow: 0 6px 14px rgba(255,154,60,.45);
}
.kids-show-body h4 { margin: 18px 0 6px; font-size: 16px; font-weight: 800; color: #0c3254; }
.kids-show-time {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 700; color: #8b5cf6;
}
.kids-show-time i { font-size: 11px; }

@media (max-width: 480px) {
  .kids-intro-text h2 { font-size: 26px; }
  .kids-mascot { font-size: 44px; }
  .kids-show-card { flex-basis: 170px; }
}

/* ============================================================
   KIDS CLUB — Kapak slider + Resim/Video galerileri + lightbox
   ============================================================ */

/* Kids'te varsayılan detay kapağı gizli; slider kapak görevi görür */
#screenDetail.is-kids-detail .detail-hero { display: none; }

/* ── Üst kapak slider ─────────────────────────────────────── */
.kids-cover {
  position: relative; z-index: 1;
  width: 100%; height: clamp(220px, 44vw, 350px);
  border-radius: 28px; overflow: hidden; margin-bottom: 4px;
  background: #0c3254; border: 3px solid #fff;
  box-shadow: 0 18px 44px rgba(224,86,138,.28);
  animation: cardEnter .5s ease both;
}
.kids-cover-track { position: absolute; inset: 0; }
.kids-cover-slide {
  position: absolute; inset: 0; margin: 0;
  background-size: cover; background-position: center;
  opacity: 0; transform: scale(1.07);
  transition: opacity .9s ease, transform 5.2s ease;
}
.kids-cover-slide.is-active { opacity: 1; transform: scale(1); }
.kids-cover-shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(12,50,84,0) 32%, rgba(224,86,138,.30) 70%, rgba(12,50,84,.80) 100%);
}
.kids-cover-caption { position: absolute; left: 22px; right: 22px; bottom: 38px; z-index: 2; pointer-events: none; }
.kids-cover-eyebrow {
  display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .18em;
  color: #ffe08a; text-transform: uppercase; text-shadow: 0 2px 8px rgba(0,0,0,.45);
}
.kids-cover-title {
  margin: 4px 0 0; font-family: 'Caveat Brush','Manrope',cursive;
  font-size: clamp(34px, 8.5vw, 48px); line-height: 1.02; color: #fff;
  text-shadow: 0 3px 0 rgba(224,86,138,.55), 0 10px 26px rgba(0,0,0,.4);
}
.kids-cover-dots { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; display: flex; gap: 7px; justify-content: center; }
.kids-cover-dot {
  width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; cursor: pointer;
  background: rgba(255,255,255,.5); transition: width .25s ease, background .25s ease;
}
.kids-cover-dot.is-active { width: 22px; background: #ffb347; }

/* ── Resim / Video galeri kartları ────────────────────────── */
.kids-galleries {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.kids-gallery-card {
  display: flex; flex-direction: column; overflow: hidden; cursor: pointer;
  border: 2px solid #fff; text-align: left; padding: 0;
  border-radius: 22px; background: #fff;
  box-shadow: 0 10px 26px rgba(224,86,138,.16);
  transition: transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease;
}
.kids-gallery-videos { box-shadow: 0 10px 26px rgba(139,92,246,.18); }
.kids-gallery-card:active { transform: scale(.97); }
.kids-gallery-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(224,86,138,.26); }
.kids-gallery-videos:hover { box-shadow: 0 18px 38px rgba(139,92,246,.3); }
.kids-gallery-thumb {
  position: relative; height: 98px;
  background-size: cover; background-position: center;
}
.kids-gallery-thumb::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(165deg, rgba(224,86,138,.12) 0%, rgba(224,86,138,.42) 100%);
}
.kids-gallery-videos .kids-gallery-thumb::after {
  background: linear-gradient(165deg, rgba(139,92,246,.14) 0%, rgba(139,92,246,.5) 100%);
}
.kids-gallery-badge {
  position: absolute; left: 13px; bottom: -17px; z-index: 2;
  width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center;
  font-size: 17px; color: #fff; border: 2px solid #fff;
  background: linear-gradient(135deg,#ff9ab5,#e0568a);
  box-shadow: 0 8px 16px rgba(224,86,138,.4);
}
.kids-gallery-videos .kids-gallery-badge {
  background: linear-gradient(135deg,#a78bfa,#8b5cf6);
  box-shadow: 0 8px 16px rgba(139,92,246,.45);
}
.kids-gallery-body { padding: 24px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.kids-gallery-titles strong { display: block; font-size: 16px; font-weight: 800; color: #0c3254; }
.kids-gallery-titles em { display: block; font-style: normal; font-size: 12px; font-weight: 600; color: #7a8794; margin-top: 2px; }
.kids-gallery-count { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: #e0568a; }
.kids-gallery-videos .kids-gallery-count { color: #8b5cf6; }
.kids-gallery-count i { font-size: 11px; }

/* ── Galeri overlay (grid) ────────────────────────────────── */
.kids-gallery-overlay {
  position: fixed; inset: 0; z-index: 4000;
  background: rgba(12,50,84,.62); backdrop-filter: blur(10px);
  display: flex; align-items: flex-end; justify-content: center;
  opacity: 0; transition: opacity .24s ease;
}
.kids-gallery-overlay.is-open { opacity: 1; }
.kids-gallery-panel {
  width: 100%; max-width: 720px; max-height: 92vh;
  background: linear-gradient(180deg,#fff9f0,#fef2f8);
  border-radius: 28px 28px 0 0; overflow: hidden;
  display: flex; flex-direction: column;
  transform: translateY(34px); transition: transform .26s cubic-bezier(.2,.8,.2,1);
  box-shadow: 0 -16px 50px rgba(12,50,84,.32);
}
.kids-gallery-overlay.is-open .kids-gallery-panel { transform: none; }
.kids-gallery-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 18px; border-bottom: 2px solid rgba(224,86,138,.12);
}
.kids-gallery-bar-title { display: inline-flex; align-items: center; gap: 9px; font-family: 'Caveat Brush','Manrope',cursive; font-size: 26px; color: #0c3254; }
.kids-gallery-bar-title i { font-size: 18px; color: #e0568a; }
.kids-gallery-x {
  width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; font-size: 16px; color: #fff;
  background: linear-gradient(135deg,#ff8fb3,#e0568a); box-shadow: 0 6px 16px rgba(224,86,138,.4);
}
.kids-gallery-grid { padding: 16px; overflow-y: auto; columns: 2; column-gap: 10px; }
.kids-gv-item {
  position: relative; display: block; width: 100%; margin: 0 0 10px; padding: 0; border: 0; cursor: pointer;
  border-radius: 16px; overflow: hidden; background: #eef2f6;
  box-shadow: 0 6px 16px rgba(12,50,84,.14); transition: transform .18s ease;
  break-inside: avoid; -webkit-column-break-inside: avoid;
}
.kids-gv-item:active { transform: scale(.97); }
.kids-gv-item img { width: 100%; height: auto; display: block; }
.kids-gv-video { aspect-ratio: 16 / 10; }
.kids-gv-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.kids-gv-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(12,50,84,.28); }
.kids-gv-play i {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255,255,255,.92); color: #e0568a; font-size: 16px; padding-left: 3px;
  box-shadow: 0 6px 16px rgba(0,0,0,.3);
}

/* ── Lightbox (tek foto/video) ────────────────────────────── */
.kids-lightbox {
  position: fixed; inset: 0; z-index: 4200;
  background: rgba(6,18,31,.92); backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .24s ease;
}
.kids-lightbox.is-open { opacity: 1; }
.kids-lb-img { max-width: 92vw; max-height: 84vh; border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.5); transform: scale(.96); transition: transform .26s ease; }
.kids-lightbox.is-open .kids-lb-img { transform: none; }
.kids-lb-video { max-width: 94vw; max-height: 86vh; border-radius: 14px; background: #000; }
.kids-lb-x {
  position: absolute; top: 18px; right: 18px; z-index: 2;
  width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; font-size: 18px; color: #fff;
  background: rgba(255,255,255,.16);
}
.kids-lb-nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; font-size: 18px; color: #fff; background: rgba(255,255,255,.14);
}
.kids-lb-prev { left: 12px; }
.kids-lb-next { right: 12px; }
.kids-lb-counter {
  position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
  color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .05em;
  background: rgba(0,0,0,.4); padding: 5px 14px; border-radius: 999px;
}
@media (min-width: 600px) {
  .kids-gallery-grid { columns: 3; }
}

/* ════════════════════════════════════════════════════════
   PAVILIONS — premium editorial refinement (Spa kalitesi)
   ════════════════════════════════════════════════════════ */
.pav-hero-card, .pav-card, .pav-package-card { --pav-hair: rgba(var(--lbg-2),.5); }

/* Editorial bölüm başlıkları: ortalı + altın hairline kicker + serif başlık */
.pav-section-head {
  text-align: center; display: flex; flex-direction: column; align-items: center;
  gap: 7px; padding: 6px 0 2px;
}
.pav-section-head small {
  display: inline-flex; align-items: center; gap: 13px;
  color: var(--gold-light); font-family: var(--font-sans);
  font-size: 9.5px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase;
}
.pav-section-head small::before, .pav-section-head small::after { content: ''; width: 36px; height: 1px; }
.pav-section-head small::before { background: linear-gradient(90deg, transparent, var(--pav-hair)); }
.pav-section-head small::after  { background: linear-gradient(90deg, var(--pav-hair), transparent); }
.pav-section-head h3 { font-weight: 600 !important; letter-spacing: .006em; }
.pav-section-head p { margin: 2px auto 0; max-width: 640px; text-align: center; color: rgba(255,255,255,.66); }

/* Hero — ortalı editorial */
.pav-hero-card { padding: 26px 22px 24px; border-radius: 26px; gap: 22px; }
.pav-hero-copy { text-align: center; }
.pav-hero-copy .op-kicker {
  display: inline-flex; align-items: center; gap: 13px;
  color: var(--gold-light); font-size: 10px; font-weight: 800; letter-spacing: .3em; text-transform: uppercase;
}
.pav-hero-copy .op-kicker::before, .pav-hero-copy .op-kicker::after { content: ''; width: 34px; height: 1px; }
.pav-hero-copy .op-kicker::before { background: linear-gradient(90deg, transparent, var(--pav-hair)); }
.pav-hero-copy .op-kicker::after  { background: linear-gradient(90deg, var(--pav-hair), transparent); }
.pav-hero-copy h3 { font-weight: 600 !important; letter-spacing: .006em; margin: 11px 0 8px; }
.pav-hero-copy p { margin: 0 auto; max-width: 680px; color: rgba(255,255,255,.7); }

/* Metrikler — altın üst aksan + rafine zemin */
.pav-metric {
  position: relative; overflow: hidden;
  background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(5,15,28,.42));
  border-color: rgba(255,255,255,.10);
}
.pav-metric::before {
  content: ''; position: absolute; top: 0; left: 12px; right: 12px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--lbg-2),.55), transparent);
}

/* Paket kartları — № sıra rozeti + serif başlık + fiyat vurgusu */
.pav-package-grid { counter-reset: pavpkg; }
.pav-package-card { counter-increment: pavpkg; }
.pav-gallery::before {
  content: 'N\00B0 ' counter(pavpkg, decimal-leading-zero);
  position: absolute; top: 12px; left: 12px; z-index: 5;
  font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: .08em;
  color: #fff; padding: 4px 12px; border-radius: 999px;
  background: rgba(4,13,23,.5); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px);
}
.pav-package-head h3 { font-family: var(--font-display); font-weight: 600 !important; }
.pav-package-meta { grid-template-columns: 1fr 1fr 1.35fr; }
.pav-package-meta strong {
  background: linear-gradient(160deg, rgba(var(--lbg-2),.22), rgba(var(--lbg-2),.07));
  border-color: rgba(var(--lbg-2),.4); color: #fff;
}

/* Fiyat tablosu — rafine başlık + zebra + paket adı vurgusu */
.pav-price-table thead th {
  background: linear-gradient(180deg, rgba(var(--lbg-2),.16), rgba(5,15,28,.55)) !important;
  color: var(--gold-light) !important; font-family: var(--font-sans);
  font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.pav-price-table tbody th {
  font-family: var(--font-display); font-weight: 600; color: #fff !important;
  text-align: left !important; background: rgba(255,255,255,.045) !important;
}
.pav-price-table tbody tr:nth-child(even) td { background: rgba(255,255,255,.03); }
.pav-price-table tbody td { font-variant-numeric: tabular-nums; }

/* Servis matrisi — rafine başlık + altın check */
.pav-service-cell.is-head { color: var(--gold-light) !important; font-family: var(--font-sans); letter-spacing: .08em; text-transform: uppercase; font-size: 10px; }
.pav-service-cell.is-yes i { color: var(--gold-light); }

/* CTA — Spa tarzı lüks krem/fildişi pill (WhatsApp ikonu yeşil) */
.pav-package-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 11px;
  width: 100%; min-height: 52px; padding: 0 22px; margin-top: 2px;
  border: 1px solid #efe6cf; border-radius: 999px;
  background: linear-gradient(180deg, #f6efdc, #e7d9b6) !important;
  color: #0a1d33 !important;
  font-family: var(--font-sans); font-size: 11px; font-weight: 800;
  letter-spacing: .22em; text-transform: uppercase;
  box-shadow: 0 14px 30px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.65);
  transition: transform .2s var(--ease-out), box-shadow .25s var(--ease-out), filter .25s var(--ease-out);
}
.pav-package-cta:hover { transform: translateY(-2px); box-shadow: 0 22px 44px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.65); filter: brightness(1.03); }
.pav-package-cta:active { transform: scale(.985); }
.pav-package-cta i { color: #25D366; font-size: 16px; }

/* ════════════════════════════════════════════════════════════
   KAMPANYA & MARKETING — guest splash / banner vitrini
   Admin "Kampanya & Marketing" modülünden üretilir.
   Splash, lb-show-splash kabuğunu (backdrop + vignette) kullanır;
   kart ve banner buradaki .lb-campaign-* sınıflarıyla render edilir.
════════════════════════════════════════════════════════════ */
/* Kampanya splash, .lb-show-splash kabuğunu paylaşır; bu blok onu premium
   "wow" vitrine çevirir: 3B giriş, altın çerçeve, parıltı, yatay (landscape)
   iki sütunlu düzen. Geniş ekranda kart artık boşlukta kaybolmaz. */
.lb-campaign-splash { perspective: 1700px; }
.lb-show-splash.lb-campaign-splash {
  background: rgba(3, 11, 20, .5);
  backdrop-filter: blur(9px) saturate(1.18);
  -webkit-backdrop-filter: blur(9px) saturate(1.18);
}
.lb-campaign-splash .lb-show-splash-vignette::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 58% 66% at 50% 50%, rgba(var(--lbg-2), .15), transparent 62%);
  pointer-events: none;
}
.lb-campaign-card {
  position: relative;
  z-index: 2;
  width: min(440px, 100%);
  display: flex;
  flex-direction: column;
  border-radius: clamp(24px, 4vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(var(--lbg-7), .42);
  background:
    radial-gradient(ellipse 92% 50% at 50% -8%, rgba(var(--lbg-2), .26), transparent 60%),
    radial-gradient(ellipse 70% 50% at 108% 120%, rgba(53, 198, 211, .14), transparent 60%),
    linear-gradient(168deg, rgba(16, 59, 94, .72), rgba(7, 28, 46, .82));
  box-shadow:
    0 52px 150px rgba(0, 0, 0, .6),
    0 0 90px rgba(var(--lbg-2), .14),
    0 0 0 1px rgba(var(--lbg-2), .22) inset,
    inset 0 1px 0 rgba(255, 255, 255, .22);
  -webkit-backdrop-filter: blur(34px) saturate(1.4);
  backdrop-filter: blur(34px) saturate(1.4);
  transform: translate3d(0, 48px, -110px) rotateX(8deg) scale(.94);
  transform-origin: center bottom;
  opacity: 0;
  filter: blur(6px);
  transition:
    transform 1.05s var(--ease-luxury),
    opacity .7s var(--ease-luxury),
    filter .8s var(--ease-luxury);
}
.lb-campaign-splash.is-visible .lb-campaign-card {
  transform: translate3d(0, 0, 0) rotateX(0) scale(1);
  opacity: 1;
  filter: blur(0);
}
.lb-campaign-splash.is-leaving .lb-campaign-card {
  transform: translate3d(0, 26px, -60px) scale(.97);
  opacity: 0;
  filter: blur(4px);
}
/* parıltı süpürmesi */
.lb-campaign-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  background: linear-gradient(105deg, transparent 36%, rgba(255, 255, 255, .16) 50%, transparent 64%);
  transform: translateX(-130%) skewX(-12deg);
  animation: lbCampaignShine 7.5s var(--ease-luxury) 1.8s infinite;
  pointer-events: none;
  mix-blend-mode: overlay;
}
/* ince altın iç çerçeve */
.lb-campaign-card::after {
  content: '';
  position: absolute;
  inset: 9px;
  z-index: 4;
  border-radius: clamp(16px, 3vw, 26px);
  border: 1px solid rgba(var(--lbg-7), .22);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
  opacity: .9;
  pointer-events: none;
}
@keyframes lbCampaignShine {
  0% { transform: translateX(-130%) skewX(-12deg); }
  16%, 100% { transform: translateX(130%) skewX(-12deg); }
}
.lb-campaign-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: rgba(4, 16, 29, .6);
}
.lb-campaign-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.06);
  animation: lbCampaignKenburns 16s var(--ease-luxury) both;
}
@keyframes lbCampaignKenburns {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}
.lb-campaign-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 38%, rgba(7, 28, 46, .68)),
    linear-gradient(90deg, rgba(7, 28, 46, .14), transparent 55%);
  pointer-events: none;
}
.lb-campaign-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 6;
  padding: 7px 14px;
  border-radius: 999px;
  font: 800 12px/1 var(--font-sans);
  letter-spacing: .05em;
  color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  box-shadow: 0 8px 22px rgba(0, 0, 0, .4), inset 0 0 0 1px rgba(255, 255, 255, .25), 0 0 20px rgba(var(--lbg-7), .4);
  animation: lbCampaignBadgePulse 2.8s var(--ease-out) infinite;
}
@keyframes lbCampaignBadgePulse {
  0%, 100% { box-shadow: 0 8px 22px rgba(0, 0, 0, .4), inset 0 0 0 1px rgba(255, 255, 255, .25), 0 0 16px rgba(var(--lbg-7), .32); }
  50% { box-shadow: 0 8px 22px rgba(0, 0, 0, .4), inset 0 0 0 1px rgba(255, 255, 255, .3), 0 0 30px rgba(var(--lbg-7), .6); }
}
.lb-campaign-badge-solo { position: static; align-self: flex-start; margin: 18px 0 -4px 22px; animation: none; }
.lb-campaign-body {
  position: relative;
  z-index: 3;
  padding: clamp(20px, 3vw, 26px) clamp(22px, 3vw, 28px) clamp(22px, 3vw, 26px);
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.lb-campaign-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font: 800 12px/1.1 var(--font-sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold-soft);
}
.lb-campaign-kicker::before {
  content: '';
  width: 22px;
  height: 1.5px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.lb-campaign-title { margin: 0; font: 600 clamp(24px, 3.2vw, 30px)/1.16 var(--font-display); color: var(--white); }
.lb-campaign-text { margin: 0; font: 400 15px/1.55 var(--font-sans); color: rgba(255, 255, 255, .74); }
.lb-campaign-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
/* içerik kademeli giriş (stagger) */
.lb-campaign-splash.is-visible .lb-campaign-kicker  { animation: lbCampaignRise .7s var(--ease-luxury) .34s both; }
.lb-campaign-splash.is-visible .lb-campaign-title   { animation: lbCampaignRise .7s var(--ease-luxury) .42s both; }
.lb-campaign-splash.is-visible .lb-campaign-text    { animation: lbCampaignRise .7s var(--ease-luxury) .50s both; }
.lb-campaign-splash.is-visible .lb-campaign-actions { animation: lbCampaignRise .7s var(--ease-luxury) .58s both; }
@keyframes lbCampaignRise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}
.lb-campaign-cta {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 22px;
  border: 0;
  border-radius: 16px;
  cursor: pointer;
  font: 800 15px/1 var(--font-sans);
  color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  box-shadow: 0 16px 34px rgba(var(--lbg-2), .4), inset 0 1px 0 rgba(255, 255, 255, .4);
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), filter .25s var(--ease-out);
}
.lb-campaign-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .5) 50%, transparent 62%);
  transform: translateX(-130%) skewX(-14deg);
  animation: lbCampaignCtaSheen 4.6s var(--ease-luxury) 2.4s infinite;
  pointer-events: none;
}
@keyframes lbCampaignCtaSheen {
  0% { transform: translateX(-130%) skewX(-14deg); }
  22%, 100% { transform: translateX(130%) skewX(-14deg); }
}
.lb-campaign-cta:hover { transform: translateY(-2px); box-shadow: 0 22px 44px rgba(var(--lbg-2), .5), inset 0 1px 0 rgba(255, 255, 255, .4); filter: brightness(1.04); }
.lb-campaign-cta:active { transform: scale(.985); }
.lb-campaign-cta i { font-size: 1.05em; position: relative; z-index: 1; }
.lb-campaign-cta span { position: relative; z-index: 1; }
.lb-campaign-cta.is-whatsapp,
.lb-campaign-banner-cta.is-whatsapp {
  color: #fff;
  background: linear-gradient(135deg, #2ce16a, var(--green));
  box-shadow: 0 16px 34px rgba(37, 211, 102, .4), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.lb-campaign-dismiss {
  align-self: center;
  padding: 9px 16px;
  border: 0;
  background: none;
  cursor: pointer;
  font: 600 13px/1 var(--font-sans);
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .6);
  transition: color .2s var(--ease-out);
}
.lb-campaign-dismiss:hover { color: var(--white); }
.lb-campaign-progress {
  position: relative;
  z-index: 3;
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg, var(--gold-soft), var(--gold) 42%, var(--teal));
  transform-origin: left;
  animation: lbCampaignProgress 15s linear forwards;
}
@keyframes lbCampaignProgress { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* ── Yatay / geniş ekran: iki sütunlu premium vitrin (görsel sol · içerik sağ) ──
   Geniş ekranda veya alçak landscape viewport'ta tetiklenir; kart boşlukta
   kaybolmak yerine 920px'lik zarif bir vitrine dönüşür. Görselsiz kampanyalar
   (:has yok) tek sütun kalır. */
@media (min-width: 768px), (orientation: landscape) and (max-height: 600px) {
  .lb-campaign-card:has(.lb-campaign-media) {
    width: min(920px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    grid-template-rows: 1fr auto;
    grid-template-areas:
      "media body"
      "progress progress";
  }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-media {
    grid-area: media;
    aspect-ratio: auto;
    height: 100%;
    min-height: 400px;
  }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-media::after {
    background:
      linear-gradient(180deg, transparent 55%, rgba(7, 28, 46, .42)),
      linear-gradient(90deg, transparent 60%, rgba(7, 28, 46, .55));
  }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-body {
    grid-area: body;
    justify-content: center;
    padding: clamp(30px, 3.4vw, 46px);
    gap: 14px;
  }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-progress { grid-area: progress; }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-title { font: 600 clamp(28px, 2.6vw, 38px)/1.14 var(--font-display); }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-text { font-size: 16px; line-height: 1.6; }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-actions { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin-top: 14px; }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-cta { flex: 0 1 auto; min-width: 200px; }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-dismiss { align-self: center; }
}

/* alçak landscape (telefon yatay): yüksekliği kısalt, taşmayı önle */
@media (orientation: landscape) and (max-height: 520px) {
  .lb-show-splash.lb-campaign-splash { padding: 12px 16px; }
  .lb-campaign-card { max-height: calc(100vh - 24px); }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-media { min-height: 0; }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-body { padding: 18px 22px; gap: 9px; }
  .lb-campaign-card:has(.lb-campaign-media) .lb-campaign-title { font-size: 24px; }
  .lb-campaign-text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce) {
  .lb-campaign-card,
  .lb-campaign-card::before,
  .lb-campaign-cta::after,
  .lb-campaign-media img,
  .lb-campaign-badge,
  .lb-campaign-splash.is-visible .lb-campaign-kicker,
  .lb-campaign-splash.is-visible .lb-campaign-title,
  .lb-campaign-splash.is-visible .lb-campaign-text,
  .lb-campaign-splash.is-visible .lb-campaign-actions {
    animation: none !important;
  }
  .lb-campaign-card { transform: none; filter: none; transition: opacity .3s ease; }
  .lb-campaign-splash.is-visible .lb-campaign-card { transform: none; }
}

/* Banner — alt şerit */
.lb-campaign-banner-wrap {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1300;
  padding: 0 12px calc(12px + var(--safe-bot));
  display: flex;
  justify-content: center;
  transform: translateY(135%);
  transition: transform .6s var(--ease-luxury);
  pointer-events: none;
}
.lb-campaign-banner-wrap.is-visible { transform: none; }
.lb-campaign-banner-wrap.is-leaving { transform: translateY(135%); }
.lb-campaign-banner {
  pointer-events: auto;
  width: min(560px, 100%);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 20px;
  border: 1px solid rgba(var(--lbg-2), .30);
  background: linear-gradient(165deg, rgba(16, 59, 94, .96), rgba(7, 28, 46, .98));
  box-shadow: 0 24px 60px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: var(--blur-glass);
  backdrop-filter: var(--blur-glass);
}
.lb-campaign-banner-media { width: 54px; height: 54px; flex: 0 0 auto; border-radius: 14px; overflow: hidden; }
.lb-campaign-banner-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lb-campaign-banner-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-campaign-banner-kicker {
  font: 800 10px/1 var(--font-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-light);
}
.lb-campaign-banner-title {
  font: 700 15px/1.2 var(--font-sans);
  color: var(--white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lb-campaign-banner-body {
  font: 400 12px/1.3 var(--font-sans);
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.lb-campaign-banner-cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 16px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  font: 800 14px/1 var(--font-sans);
  color: var(--navy-darker);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 10px 22px rgba(var(--lbg-2), .30);
  transition: transform .2s var(--ease-out), filter .2s var(--ease-out);
}
.lb-campaign-banner-cta:hover { transform: translateY(-1px); filter: brightness(1.03); }
.lb-campaign-banner-cta span { white-space: nowrap; }
.lb-campaign-banner-close {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .06);
  color: var(--white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s var(--ease-out);
}
.lb-campaign-banner-close:hover { background: rgba(255, 255, 255, .14); }
@media (max-width: 520px) {
  .lb-campaign-banner-body { display: none; }
  .lb-campaign-banner-cta span { display: none; }
  .lb-campaign-banner-cta { padding: 11px 13px; }
}

/* ═══════════════════ AI GÜN PLANLAYICI ═══════════════════ */
.lb-dayplan-card-cta {
  position: relative; grid-column: 1 / -1; display: flex; align-items: center; gap: 14px;
  padding: 16px 18px; border-radius: 20px; cursor: pointer; overflow: hidden;
  background: linear-gradient(135deg, rgba(var(--lbg-2),.18), rgba(12,50,84,.6) 55%, rgba(7,28,46,.72));
  border: 1px solid rgba(var(--lbg-8),.42);
  box-shadow: 0 16px 40px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter: var(--blur-glass); backdrop-filter: var(--blur-glass);
  transition: transform .16s ease, box-shadow .16s ease; isolation: isolate;
}
.lb-dayplan-card-cta:active { transform: scale(.985); }
.lb-dpc-bg { position: absolute; inset: 0; z-index: 0; border-radius: inherit; overflow: hidden; pointer-events: none; }
.lb-dpc-bg > span { position: absolute; inset: 0; background-size: cover; background-position: center center; opacity: 0; filter: saturate(1.08) contrast(1.06); transform: scale(1.02); transition: opacity .9s ease, transform 6.4s ease; will-change: opacity, transform; }
.lb-dpc-bg > span.is-active { opacity: 1; transform: scale(1.055); }
.lb-dpc-scrim { position: absolute; inset: 0; z-index: 1; border-radius: inherit; pointer-events: none; background: linear-gradient(115deg, rgba(7,28,46,.88) 0%, rgba(12,50,84,.56) 52%, rgba(7,28,46,.72) 100%); }
.lb-dpc-glow { position: absolute; right: -30px; top: -40px; z-index: 2; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--lbg-8),.35), transparent 70%); pointer-events: none; }
.lb-dpc-icon { flex: 0 0 auto; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; font-size: 20px; color: #06283d;
  background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 6px 16px rgba(var(--lbg-2),.45); position: relative; z-index: 3; }
.lb-dpc-copy { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-dpc-copy strong { font-family: var(--font-display), serif; font-size: 17px; color: #fff; letter-spacing: .01em; }
.lb-dpc-copy span { font-size: 12.5px; color: rgba(255,255,255,.72); line-height: 1.3; }
.lb-dpc-copy, .lb-dpc-arrow { position: relative; z-index: 3; }
.lb-dpc-arrow { color: var(--gold-light); font-size: 14px; flex: 0 0 auto; opacity: .85; }
/* "Sizden Gelenler" ana ekran kartı — .lb-dayplan-card-cta ile AYNI boyut; yalnız
   gerçek misafir fotoğrafları görünsün diye perde hafifletildi + paylaş çipi. */
/* Metin tarafı (sol) koyu kalsın — parlak misafir fotoğraflarında başlık/alt başlık
   okunaklılığı düşmesin; fotoğraf sağ tarafta net görünsün. */
.lb-memcard .lb-dpc-scrim { background: linear-gradient(100deg, rgba(7,28,46,.95) 0%, rgba(7,28,46,.86) 40%, rgba(12,50,84,.42) 74%, rgba(7,28,46,.60) 100%); }
.lb-memcard .lb-dpc-copy span { color: rgba(255,255,255,.86); text-shadow: 0 1px 3px rgba(0,0,0,.55); }
.lb-memcard .lb-dpc-copy strong { text-shadow: 0 1px 4px rgba(0,0,0,.5); }
.lb-memcard-share { position: relative; z-index: 3; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 12px; border-radius: 999px; cursor: pointer; font-family: inherit; font-size: 12px; font-weight: 600;
  color: var(--gold-light); border: 1px solid rgba(var(--lbg-8),.5); background: rgba(255,255,255,.10);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform .16s ease, background .16s ease; }
.lb-memcard-share:active { transform: scale(.94); background: rgba(255,255,255,.16); }
@media (max-width: 380px) { .lb-memcard-share span { display: none; } .lb-memcard-share { padding: 8px 10px; } }

.lb-dayplan { position: fixed; inset: 0; z-index: 6000; display: flex; align-items: flex-end; justify-content: center; }
.lb-dayplan-scrim { position: absolute; inset: 0; background: rgba(4,12,22,.62); opacity: 0; transition: opacity .22s ease; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.lb-dayplan.is-open .lb-dayplan-scrim { opacity: 1; }
.lb-dayplan-card { position: relative; width: 100%; max-width: 560px; max-height: 88vh; display: flex; flex-direction: column;
  background: linear-gradient(180deg, rgba(12,50,84,.97), rgba(7,28,46,.99)); color: #fff;
  border-radius: 26px 26px 0 0; border: 1px solid rgba(var(--lbg-8),.28); border-bottom: 0;
  box-shadow: 0 -20px 60px rgba(0,0,0,.55); transform: translateY(100%); transition: transform .26s cubic-bezier(.22,1,.36,1);
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
.lb-dayplan.is-open .lb-dayplan-card { transform: translateY(0); }
.lb-dayplan-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 18px 20px 6px; }
.lb-dayplan-h { display: flex; flex-direction: column; gap: 4px; }
.lb-dayplan-kicker { font-size: 10.5px; font-weight: 800; letter-spacing: .14em; color: var(--gold-light); }
.lb-dayplan-kicker i { margin-right: 5px; }
.lb-dayplan-h strong { font-family: var(--font-display), serif; font-size: 21px; }
.lb-dayplan-close { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font-size: 16px; }
.lb-dayplan-intro { margin: 0; padding: 4px 20px 12px; font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.86); }
.lb-dayplan-body { overflow-y: auto; padding: 4px 14px 8px; display: flex; flex-direction: column; gap: 9px; }
.lb-dayplan-slot { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; cursor: pointer;
  padding: 11px 12px; border-radius: 16px; border: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); color: #fff;
  opacity: 0; transform: translateY(8px); animation: lbDpIn .42s cubic-bezier(.22,1,.36,1) forwards; }
@keyframes lbDpIn { to { opacity: 1; transform: translateY(0); } }
.lb-dayplan-slot:active { background: rgba(255,255,255,.12); }
.lb-dayplan-part { flex: 0 0 auto; width: 56px; display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--gold-light); }
.lb-dayplan-part i { font-size: 16px; }
.lb-dayplan-part small { font-size: 9.5px; font-weight: 700; letter-spacing: .03em; color: rgba(255,255,255,.6); text-transform: uppercase; }
.lb-dayplan-mid { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-dayplan-slot-title { font-size: 14.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-dayplan-slot-title i { color: var(--teal); margin-right: 6px; font-size: 13px; }
.lb-dayplan-slot-sub { font-size: 12px; color: rgba(255,255,255,.6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-dayplan-time { flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--gold-light); }
.lb-dayplan-fav { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.55); }
.lb-dayplan-fav.is-on { color: var(--gold-light); background: rgba(var(--lbg-8),.16); }
.lb-dayplan-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 30px 20px; text-align: center; color: rgba(255,255,255,.7); font-size: 13.5px; }
.lb-dayplan-empty i { font-size: 26px; color: var(--gold-light); }
.lb-dayplan-foot { padding: 10px 16px 6px; }
.lb-dayplan-addall { width: 100%; padding: 13px; border-radius: 14px; border: 0; cursor: pointer; font-family: var(--font-sans), sans-serif; font-weight: 800; font-size: 14px; color: #06283d;
  background: radial-gradient(circle at 30% 20%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 10px 26px rgba(var(--lbg-2),.4); }
.lb-dayplan-addall i { margin-right: 7px; }
body.lb-dayplan-open { overflow: hidden; }

/* ═══ Oda Servisi seçim modalı (Oda Servisi mi · Oda Talebi mi) ═══ */
.rs-choice-overlay { position: fixed; inset: 0; z-index: 4200; display: flex; align-items: flex-end; justify-content: center; opacity: 0; transition: opacity .24s ease; }
.rs-choice-overlay.is-visible { opacity: 1; }
.rs-choice-backdrop { position: absolute; inset: 0; background: rgba(4,16,29,.64); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.rs-choice-sheet {
  position: relative; z-index: 1; width: 100%; max-width: 470px; margin: 0 12px 12px;
  padding: 22px 20px calc(22px + env(safe-area-inset-bottom, 0px)); border-radius: 28px 28px 22px 22px;
  background: linear-gradient(165deg, rgba(12,50,84,.97), rgba(7,28,46,.98) 58%, rgba(4,16,29,.99));
  border: 1px solid rgba(var(--lbg-2),.3);
  box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter: var(--blur-glass); backdrop-filter: var(--blur-glass);
  transform: translateY(20px); transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.rs-choice-overlay.is-visible .rs-choice-sheet { transform: translateY(0); }
.rs-choice-close { position: absolute; top: 13px; right: 13px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.82); cursor: pointer; }
.rs-choice-close:active { transform: scale(.92); }
.rs-choice-head { text-align: center; padding: 2px 8px 16px; }
.rs-choice-kicker { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .22em; color: var(--gold-light); }
.rs-choice-title { font-family: var(--font-display), serif; font-size: 22px; line-height: 1.2; color: #fff; margin: 9px 0 6px; }
.rs-choice-lead { font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.7); margin: 0; }
.rs-choice-options { display: flex; flex-direction: column; gap: 12px; }
.rs-choice-card {
  display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; cursor: pointer;
  padding: 15px 16px; border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  color: #fff; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.rs-choice-card:active { transform: scale(.985); }
.rs-choice-card:hover { border-color: rgba(var(--lbg-2),.42); box-shadow: 0 16px 36px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08); }
.rs-choice-ic { flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; font-size: 22px; color: #06283d; }
.rs-choice-ic--gold { background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 8px 20px rgba(var(--lbg-2),.42); }
.rs-choice-ic--teal { background: radial-gradient(circle at 32% 28%, #9af0f5, var(--teal) 60%, #1598a6 100%); box-shadow: 0 8px 20px rgba(53,198,211,.4); }
.rs-choice-txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rs-choice-txt strong { font-family: var(--font-display), serif; font-size: 17px; }
.rs-choice-txt small { font-size: 12px; color: rgba(255,255,255,.68); line-height: 1.35; }
.rs-choice-arrow { flex: 0 0 auto; color: var(--gold-light); font-size: 14px; opacity: .82; }
.rs-choice-foot { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 15px 0 0; font-size: 11.5px; color: rgba(255,255,255,.5); }
.rs-choice-foot i { color: var(--gold); }

/* ═══ Oda Servisi ekranı — "nasıl çalışır" adımları ═══ */
.sunrise-steps { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 10px; max-width: 540px; margin: 18px auto 2px; }
.sunrise-step { display: inline-flex; align-items: center; gap: 9px; }
.sunrise-step-ic { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; font-size: 14px; color: var(--gold-light); background: rgba(var(--lbg-2),.12); border: 1px solid rgba(var(--lbg-2),.26); }
.sunrise-step-tx { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.78); }
.sunrise-step-sep { color: rgba(255,255,255,.3); font-size: 10px; }
@media (max-width: 360px) { .sunrise-step-tx { display: none; } .sunrise-steps { gap: 6px 14px; } }

/* ═══ MİSAFİR EKRANI (Guest Hub) ═══ */
.lb-ghub { position: fixed; inset: 0; z-index: 1400; display: flex; flex-direction: column; visibility: hidden;
  background: linear-gradient(180deg, var(--navy), var(--navy-darker) 60%, var(--navy-deep));
  transform: translateX(100%); transition: transform .32s cubic-bezier(.22,1,.36,1), visibility 0s linear .32s; }
.lb-ghub.is-open { transform: none; visibility: visible; transition: transform .32s cubic-bezier(.22,1,.36,1); }
.lb-ghub-bar { display: flex; align-items: center; gap: 12px; padding: calc(env(safe-area-inset-top, 0px) + 14px) 16px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
.lb-ghub-bar strong { font-family: var(--font-display), serif; font-size: 18px; color: #fff; }
.lb-ghub-close { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #fff; cursor: pointer; }
.lb-ghub-close:active { transform: scale(.92); }
.lb-ghub-scroll { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 16px 16px calc(env(safe-area-inset-bottom, 0px) + 28px); display: flex; flex-direction: column; gap: 16px; }
.lb-ghub-profile { display: flex; align-items: center; gap: 13px; padding: 16px; border-radius: 18px;
  background: linear-gradient(135deg, rgba(var(--lbg-2),.16), rgba(255,255,255,.04)); border: 1px solid rgba(var(--lbg-2),.28); }
.lb-ghub-ava { width: 52px; height: 52px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; font-size: 22px; color: #06283d;
  background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 8px 20px rgba(var(--lbg-2),.4); }
.lb-ghub-pinfo { flex: 1 1 auto; min-width: 0; }
.lb-ghub-greet { display: block; font-family: var(--font-display), serif; font-size: 19px; line-height: 1.2; color: #fff; }
.lb-ghub-chips { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px; }
.lb-ghub-chip { font-size: 12px; font-weight: 600; color: var(--gold-light); background: rgba(var(--lbg-2),.14); border: 1px solid rgba(var(--lbg-2),.3); padding: 3px 10px; border-radius: 20px; }
.lb-ghub-chip.is-muted { color: rgba(255,255,255,.55); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.lb-ghub-edit { flex: 0 0 auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); padding: 7px 11px; border-radius: 12px; cursor: pointer; }
.lb-ghub-edit:active { transform: scale(.96); }
.lb-ghub-cta { display: flex; align-items: center; gap: 13px; width: 100%; text-align: left; cursor: pointer; padding: 15px 16px; border-radius: 18px; color: #fff; position: relative; overflow: hidden; isolation: isolate; min-height: 78px;
  background: linear-gradient(135deg, rgba(53,198,211,.14), rgba(12,50,84,.5) 55%, rgba(7,28,46,.66)); border: 1px solid rgba(53,198,211,.34);
  box-shadow: 0 14px 34px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06); }
.lb-ghub-cta:active { transform: scale(.985); }
.lb-ghub-cta-ic { width: 46px; height: 46px; flex: 0 0 auto; border-radius: 14px; display: grid; place-items: center; font-size: 19px; color: #06283d; }
.lb-ghub-cta-ic--gold { background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 6px 16px rgba(var(--lbg-2),.4); }
.lb-ghub-cta-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-ghub-cta-tx strong { font-family: var(--font-display), serif; font-size: 16px; }
.lb-ghub-cta-tx small { font-size: 12px; color: rgba(255,255,255,.72); line-height: 1.3; }
.lb-ghub-cta-arr { flex: 0 0 auto; color: var(--teal); font-size: 14px; opacity: .85; }
/* Günümü Planla kartı — seçili mekan görselleri arkaplanda sakin crossfade */
.lb-ghub-cta-bg { position: absolute; inset: 0; z-index: 0; border-radius: inherit; overflow: hidden; }
.lb-ghub-cta-bg > span { position: absolute; inset: 0; background-size: cover; background-position: center center; opacity: 0; filter: saturate(1.08) contrast(1.06); transform: scale(1.02); transition: opacity .9s ease, transform 6.4s ease; will-change: opacity, transform; }
.lb-ghub-cta-bg > span.is-active { opacity: 1; transform: scale(1.055); }
.lb-ghub-cta-scrim { position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: linear-gradient(115deg, rgba(7,28,46,.84) 0%, rgba(12,50,84,.48) 52%, rgba(7,28,46,.7) 100%); }
.lb-ghub-cta > .lb-ghub-cta-ic, .lb-ghub-cta > .lb-ghub-cta-tx, .lb-ghub-cta > .lb-ghub-cta-arr { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) { .lb-ghub-cta-bg > span, .lb-dpc-bg > span { transition: none; } }
.lb-ghub-section { background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 14px; }
.lb-ghub-h { display: flex; align-items: center; gap: 8px; font-family: var(--font-display), serif; font-size: 15px; color: var(--gold-light); margin-bottom: 10px; }
.lb-ghub-h i { font-size: 13px; }
.lb-ghub-list { display: flex; flex-direction: column; gap: 8px; }
.lb-ghub-row { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; cursor: pointer; padding: 11px 12px; border-radius: 13px; color: #fff; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); }
.lb-ghub-row:active { transform: scale(.99); }
.lb-ghub-row-ic { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; color: var(--gold-light); background: rgba(var(--lbg-2),.12); }
.lb-ghub-row-tx { flex: 1 1 auto; min-width: 0; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-ghub-row-star { flex: 0 0 auto; color: var(--gold); font-size: 15px; padding: 6px; }
.lb-ghub-empty { text-align: center; padding: 16px 10px; color: rgba(255,255,255,.6); }
.lb-ghub-empty i { font-size: 26px; color: var(--gold-light); opacity: .7; }
.lb-ghub-empty p { margin: 8px 0 0; font-size: 13px; line-height: 1.5; }

/* ═══ Tatil Hatıram — hub girişi ═══ */
.lb-ghub-link { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; cursor: pointer; padding: 13px 14px; border-radius: 16px;
  border: 1px solid rgba(var(--lbg-2),.3); background: linear-gradient(135deg, rgba(var(--lbg-2),.16), rgba(53,198,211,.06)); transition: transform .12s ease; }
.lb-ghub-link:active { transform: scale(.99); }
.lb-ghub-link-ic { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; font-size: 16px;
  background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: var(--navy-darker, #04101d); }
.lb-ghub-link-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-ghub-link-tx strong { color: #fff; font-size: 15px; }
.lb-ghub-link-tx small { color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.35; }
.lb-ghub-link-arr { color: var(--gold-light); font-size: 13px; flex: 0 0 auto; }

/* ═══ Tatil Hatıram — özet kartı (overlay) ═══ */
.lb-recap-ov { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: flex-end; justify-content: center; padding: 0;
  background: rgba(4,16,29,.62); backdrop-filter: var(--blur-glass, blur(20px) saturate(1.3)); -webkit-backdrop-filter: var(--blur-glass, blur(20px) saturate(1.3));
  opacity: 0; transition: opacity .24s ease; }
.lb-recap-ov.is-open { opacity: 1; }
.lb-recap { width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; position: relative;
  background: linear-gradient(180deg, var(--navy, #0c3254), var(--navy-deep, #071c2e)); border: 1px solid rgba(var(--lbg-2),.28);
  border-radius: 26px 26px 0 0; box-shadow: var(--shadow-card, 0 14px 40px rgba(0,0,0,.42));
  transform: translateY(30px); transition: transform .28s cubic-bezier(.22,.61,.36,1); }
.lb-recap-ov.is-open .lb-recap { transform: none; }
@media (min-width: 600px) { .lb-recap-ov { align-items: center; } .lb-recap { border-radius: 26px; } }
.lb-recap-close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 0;
  background: rgba(255,255,255,.12); color: #fff; font-size: 16px; cursor: pointer; display: grid; place-items: center; }
.lb-recap-hero { padding: 36px 24px 18px; text-align: center; background: radial-gradient(120% 90% at 50% 0, rgba(var(--lbg-2),.24), transparent 60%); }
.lb-recap-kicker { display: block; font-family: var(--font-signature, 'Caveat', cursive); font-size: 32px; line-height: 1.04; font-weight: 700; letter-spacing: .01em; color: var(--gold-light, var(--gold-light)); }
.lb-recap-hero h2 { font-family: var(--font-display, 'Playfair Display'), serif; color: #fff; font-size: clamp(22px, 6vw, 30px); line-height: 1.15; margin: 10px 0 16px; font-weight: 600; }
.lb-recap-stats { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.lb-recap-stats span { display: flex; flex-direction: column; align-items: center; min-width: 74px; padding: 9px 12px; border-radius: 14px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.78); font-size: 11px; letter-spacing: .04em; }
.lb-recap-stats b { font-family: var(--font-display, serif); font-size: 22px; color: var(--gold-light, var(--gold-light)); line-height: 1; margin-bottom: 3px; }
.lb-recap-body { padding: 6px 20px 26px; }
.lb-recap-photo { margin: 0 0 16px; }
.lb-recap-photo-add { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 26px 16px; border-radius: 18px; cursor: pointer;
  border: 1.5px dashed rgba(var(--lbg-2),.5); background: rgba(var(--lbg-2),.07); }
.lb-recap-photo-add:active { transform: scale(.99); }
.lb-recap-photo-add i { font-size: 27px; color: var(--gold-light, var(--gold-light)); }
.lb-recap-photo-add span { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.86); text-align: center; line-height: 1.4; }
.lb-recap-photo-frame { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; border: 1px solid rgba(var(--lbg-2),.3); }
.lb-recap-photo-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lb-recap-note { width: 100%; margin-top: 10px; box-sizing: border-box; padding: 11px 13px; border-radius: 13px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #fff; font-family: var(--font-sans, Manrope); font-size: 13.5px; line-height: 1.4; resize: none; outline: none; transition: border-color .15s ease, background .15s ease; }
.lb-recap-note::placeholder { color: rgba(255,255,255,.42); }
.lb-recap-note:focus { border-color: rgba(var(--lbg-2),.5); background: rgba(var(--lbg-2),.08); }
.lb-recap-photo-share { width: 100%; margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border-radius: 13px; cursor: pointer;
  border: 1px solid rgba(var(--lbg-2),.4); background: rgba(var(--lbg-2),.1); color: #fff; font-family: var(--font-sans, Manrope); font-size: 14px; font-weight: 600; }
.lb-recap-photo-share i { color: var(--gold-light, var(--gold-light)); }
.lb-recap-photo-share:active { transform: scale(.99); }
.lb-recap-photo-share.is-done { border-color: rgba(53,198,211,.45); background: rgba(53,198,211,.12); color: rgba(255,255,255,.9); }
.lb-recap-photo-share.is-done i { color: var(--teal, #35c6d3); }
.lb-recap-photo-consent { display: block; text-align: center; margin-top: 6px; font-size: 11px; color: rgba(255,255,255,.5); line-height: 1.35; }
/* KVKK/GDPR açık rıza sayfası */
.lb-gmc-ov { position: fixed; inset: 0; z-index: 9200; display: flex; align-items: flex-end; justify-content: center; padding: 0; background: rgba(4,16,29,.66); -webkit-backdrop-filter: var(--blur-glass, blur(20px) saturate(1.3)); backdrop-filter: var(--blur-glass, blur(20px) saturate(1.3)); opacity: 0; transition: opacity .2s ease; }
.lb-gmc-ov.is-open { opacity: 1; }
.lb-gmc-sheet { position: relative; width: 100%; max-width: 540px; max-height: 92vh; overflow-y: auto; background: linear-gradient(180deg, var(--navy, #0c3254), var(--navy-deep, #071c2e)); border: 1px solid rgba(var(--lbg-2),.28); border-radius: 24px 24px 0 0; box-shadow: var(--shadow-card, 0 14px 40px rgba(0,0,0,.42)); padding: 22px 20px 24px; transform: translateY(26px); transition: transform .26s cubic-bezier(.22,.61,.36,1); }
.lb-gmc-ov.is-open .lb-gmc-sheet { transform: none; }
@media (min-width: 600px) { .lb-gmc-ov { align-items: center; } .lb-gmc-sheet { border-radius: 22px; } }
.lb-gmc-x { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
.lb-gmc-head { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; padding-right: 30px; }
.lb-gmc-ic { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; display: grid; place-items: center; background: rgba(var(--lbg-2),.16); color: var(--gold-light, var(--gold-light)); font-size: 18px; }
.lb-gmc-head h3 { margin: 0; font-family: var(--font-display, serif); font-size: 19px; color: #fff; font-weight: 600; line-height: 1.2; }
.lb-gmc-list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.lb-gmc-list li { display: flex; gap: 10px; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.82); }
.lb-gmc-list li i { color: var(--gold-light, var(--gold-light)); font-size: 14px; margin-top: 2px; flex: 0 0 18px; text-align: center; }
.lb-gmc-list b { color: #fff; }
.lb-gmc-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; font-size: 12px; }
.lb-gmc-links a { color: var(--gold-light, var(--gold-light)); text-decoration: underline; }
.lb-gmc-links span { color: rgba(255,255,255,.3); }
.lb-gmc-check { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); cursor: pointer; font-size: 12.5px; line-height: 1.45; color: rgba(255,255,255,.9); }
.lb-gmc-check input { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; accent-color: var(--gold, var(--gold)); cursor: pointer; }
.lb-gmc-check b { color: var(--gold-light, var(--gold-light)); }
.lb-gmc-actions { display: flex; gap: 10px; margin-top: 16px; }
.lb-gmc-cancel { flex: 0 0 auto; padding: 13px 18px; border-radius: 13px; border: 1px solid rgba(255,255,255,.16); background: transparent; color: rgba(255,255,255,.85); font-family: var(--font-sans, Manrope); font-size: 14px; font-weight: 600; cursor: pointer; }
.lb-gmc-go { flex: 1; padding: 13px; border-radius: 13px; border: 0; background: rgba(255,255,255,.12); color: rgba(255,255,255,.5); font-family: var(--font-sans, Manrope); font-size: 15px; font-weight: 700; cursor: not-allowed; transition: background .15s ease, color .15s ease; }
.lb-gmc-go.is-ready { background: linear-gradient(135deg, var(--gold, var(--gold)), var(--gold-light, var(--gold-light))); color: var(--navy-darker, #04101d); cursor: pointer; }
.lb-recap-photo-rm { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; border: 0; background: rgba(4,16,29,.6); color: #fff; cursor: pointer; display: grid; place-items: center; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.lb-recap-photo-tag { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 999px; background: rgba(4,16,29,.55); color: #fff; font-size: 12px; font-weight: 600; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.lb-recap-photo-tag i { color: var(--gold-light, var(--gold-light)); }
.lb-recap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 8px 0 16px; }
@media (max-width: 380px) { .lb-recap-grid { grid-template-columns: repeat(2, 1fr); } }
.lb-recap-card { position: relative; aspect-ratio: 1 / 1; border: 0; border-radius: 16px; overflow: hidden; cursor: pointer;
  background: var(--navy-darker, #04101d); display: flex; flex-direction: column; justify-content: flex-end; padding: 9px; text-align: left; }
.lb-recap-card-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .85; transition: transform .3s ease; }
.lb-recap-card.has-img .lb-recap-card-bg { background-image: var(--ti); }
.lb-recap-card:active .lb-recap-card-bg { transform: scale(1.05); }
.lb-recap-card-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(4,16,29,.86)); }
.lb-recap-card-ic { position: relative; color: var(--gold-light, var(--gold-light)); font-size: 14px; margin-bottom: auto; }
.lb-recap-card-nm { position: relative; z-index: 1; color: #fff; font-size: 12px; font-weight: 600; line-height: 1.2; }
.lb-recap-msg { color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.55; text-align: center; margin: 4px 4px 18px; }
.lb-recap-actions { display: flex; flex-direction: column; gap: 10px; }
.lb-recap-btn { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; padding: 14px; border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; font-family: var(--font-sans, Manrope); font-size: 15px; font-weight: 600; cursor: pointer; }
.lb-recap-btn:active { transform: scale(.99); }
.lb-recap-btn--primary { background: linear-gradient(135deg, var(--gold, var(--gold)), var(--gold-light, var(--gold-light))); color: var(--navy-darker, #04101d); border-color: transparent; }
.lb-recap-tag { display: flex; align-items: center; gap: 9px; width: 100%; margin-top: 12px; padding: 12px 14px; border-radius: 14px; cursor: pointer; border: 1px solid rgba(var(--lbg-2),.28); background: rgba(var(--lbg-2),.08); color: rgba(255,255,255,.9); font-family: var(--font-sans, Manrope); font-size: 13px; }
.lb-recap-tag:active { transform: scale(.99); }
.lb-recap-tag > i { color: var(--gold-light, var(--gold-light)); font-size: 18px; flex: 0 0 auto; }
.lb-recap-tag span { flex: 1 1 auto; text-align: left; }
.lb-recap-tag b { color: var(--gold-light, var(--gold-light)); font-weight: 700; white-space: nowrap; }
.lb-recap-foot { display: flex; align-items: center; justify-content: center; gap: 7px; color: rgba(255,255,255,.55); font-size: 12px; margin-top: 16px; text-align: center; }
.lb-recap-foot i { color: var(--gold, var(--gold)); }
.lb-recap-toast { display: block; text-align: center; margin-top: 10px; color: var(--gold-light, var(--gold-light)); font-size: 13px; font-weight: 600; }

/* ═══ "Sizden Gelenler" — Anı Defteri (misafir foto duvarı) ═══ */
.lb-memwall-ov { position: fixed; inset: 0; z-index: 9300; display: flex; flex-direction: column; background: linear-gradient(180deg, var(--navy-deep, #071c2e), var(--navy-darker, #04101d)); opacity: 0; transition: opacity .24s ease; }
.lb-memwall-ov.is-open { opacity: 1; }
.lb-memwall { display: flex; flex-direction: column; width: 100%; height: 100%; max-width: 860px; margin: 0 auto; transform: translateY(16px); transition: transform .26s cubic-bezier(.22,.61,.36,1); }
.lb-memwall-ov.is-open .lb-memwall { transform: none; }
.lb-memwall-bar { display: flex; align-items: center; gap: 12px; padding: calc(env(safe-area-inset-top, 0px) + 14px) 16px 14px; border-bottom: 1px solid rgba(var(--lbg-2),.18); background: rgba(7,28,46,.86); -webkit-backdrop-filter: var(--blur-glass, blur(20px) saturate(1.3)); backdrop-filter: var(--blur-glass, blur(20px) saturate(1.3)); position: sticky; top: 0; z-index: 2; }
.lb-memwall-x { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font-size: 16px; }
.lb-memwall-ttl { display: flex; flex-direction: column; min-width: 0; }
.lb-memwall-ttl strong { color: #fff; font-family: var(--font-display, serif); font-size: 19px; font-weight: 600; line-height: 1.15; }
.lb-memwall-ttl small { color: rgba(255,255,255,.6); font-size: 12px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-memwall-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 16px; }
.lb-memwall-load { display: flex; align-items: center; justify-content: center; gap: 9px; color: rgba(255,255,255,.7); font-size: 14px; padding: 60px 0; }
.lb-memwall-grid { columns: 2; column-gap: 12px; }
@media (min-width: 620px) { .lb-memwall-grid { columns: 3; } }
.lb-memwall-card { display: block; width: 100%; break-inside: avoid; margin: 0 0 12px; padding: 0; border: 0; border-radius: 16px; overflow: hidden; position: relative; cursor: pointer; background: rgba(255,255,255,.04); box-shadow: var(--shadow-card, 0 14px 40px rgba(0,0,0,.42)); -webkit-tap-highlight-color: transparent; }
.lb-memwall-card img { display: block; width: 100%; height: auto; }
.lb-memwall-card-grad { position: absolute; left: 0; right: 0; bottom: 0; height: 56%; background: linear-gradient(180deg, transparent, rgba(4,16,29,.86)); pointer-events: none; }
.lb-memwall-card-meta { position: absolute; left: 10px; right: 10px; bottom: 9px; display: flex; flex-direction: column; gap: 1px; text-align: left; }
.lb-memwall-card-meta b { color: #fff; font-size: 13px; font-weight: 700; }
.lb-memwall-card-meta i { color: rgba(255,255,255,.66); font-size: 10.5px; font-style: normal; }
.lb-memwall-card-meta em { color: var(--gold-light, var(--gold-light)); font-size: 12px; font-style: italic; line-height: 1.3; margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lb-memwall-empty { text-align: center; color: rgba(255,255,255,.78); padding: 56px 22px; }
.lb-memwall-empty i { font-size: 40px; color: var(--gold, var(--gold)); opacity: .85; }
.lb-memwall-empty p { font-size: 14.5px; line-height: 1.5; margin: 16px 0 18px; }
.lb-memwall-cta { display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 14px; border: 0; background: linear-gradient(135deg, var(--gold, var(--gold)), var(--gold-light, var(--gold-light))); color: var(--navy-darker, #04101d); font-family: var(--font-sans, Manrope); font-size: 14.5px; font-weight: 700; cursor: pointer; }
.lb-memwall-cta--foot { display: flex; margin: 6px auto 30px; }
.lb-memwall-lb { position: fixed; inset: 0; z-index: 9400; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; background: rgba(4,16,29,.92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; transition: opacity .2s ease; cursor: zoom-out; }
.lb-memwall-lb.is-open { opacity: 1; }
.lb-memwall-lb img { max-width: 100%; max-height: 74vh; border-radius: 16px; box-shadow: var(--shadow-card, 0 14px 40px rgba(0,0,0,.42)); }
.lb-memwall-lb-cap { text-align: center; max-width: 560px; }
.lb-memwall-lb-cap b { display: block; color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.lb-memwall-lb-cap span { color: var(--gold-light, var(--gold-light)); font-style: italic; font-size: 14px; }
.lb-memwall-lb-x { position: absolute; top: calc(env(safe-area-inset-top, 0px) + 14px); right: 16px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #fff; cursor: pointer; font-size: 17px; }
/* Anı slider'ı — ok butonları, sayaç ve yön duyarlı geçiş */
.lb-memwall-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 44px; height: 44px; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer; font-size: 16px; color: #fff;
  border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background .16s ease, transform .16s ease; }
.lb-memwall-nav:active { transform: translateY(-50%) scale(.92); background: rgba(255,255,255,.2); }
.lb-memwall-prev { left: 12px; } .lb-memwall-next { right: 12px; }
.lb-memwall-count { color: rgba(255,255,255,.72); font-size: 12.5px; letter-spacing: .05em; font-variant-numeric: tabular-nums; }
.lb-memwall-lb img.is-in-r { animation: lbMemSlideR 260ms ease; }
.lb-memwall-lb img.is-in-l { animation: lbMemSlideL 260ms ease; }
@keyframes lbMemSlideR { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: none; } }
@keyframes lbMemSlideL { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: none; } }
@media (max-width: 420px) { .lb-memwall-nav { width: 38px; height: 38px; font-size: 15px; } .lb-memwall-prev { left: 6px; } .lb-memwall-next { right: 6px; } }
@media (prefers-reduced-motion: reduce) { .lb-memwall-lb img.is-in-r, .lb-memwall-lb img.is-in-l { animation: none; } }

/* ═══ AI Gün Planlayıcı Sihirbazı ═══ */
.lb-wiz { display: flex; flex-direction: column; gap: 14px; padding: 4px 2px 2px; }
.lb-wiz-dots { display: flex; gap: 6px; justify-content: center; }
.lb-wiz-dots span { width: 22px; height: 4px; border-radius: 4px; background: rgba(255,255,255,.16); transition: background .2s; }
.lb-wiz-dots span.is-on { background: var(--gold); }
.lb-wiz-q { margin: 2px 0 0; text-align: center; font-family: var(--font-display), serif; font-size: 18px; line-height: 1.25; color: #fff; }
.lb-wiz-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lb-wiz-chip { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px 12px; border-radius: 16px; cursor: pointer; text-align: center;
  background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.12); color: #fff; transition: transform .12s ease, border-color .15s ease, background .15s ease; }
.lb-wiz-chip i { font-size: 22px; color: var(--gold-light); transition: color .15s ease; }
.lb-wiz-chip span { font-size: 13px; font-weight: 600; }
.lb-wiz-chip:active { transform: scale(.97); }
.lb-wiz-chip.is-on { border-color: var(--gold); background: linear-gradient(135deg, rgba(var(--lbg-2),.22), rgba(var(--lbg-2),.06)); }
.lb-wiz-chip.is-on i { color: var(--gold); }
.lb-wiz-chip--wide { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; gap: 13px; text-align: left; padding: 14px 16px; }
.lb-wiz-chip--wide i { font-size: 19px; flex: 0 0 auto; }
.lb-wiz-chip-tx { display: flex; flex-direction: column; gap: 2px; }
.lb-wiz-chip-tx strong { font-size: 14px; }
.lb-wiz-chip-tx small { font-size: 11.5px; color: rgba(255,255,255,.6); font-weight: 500; }
.lb-wiz-hint { margin: 0; text-align: center; font-size: 11.5px; color: rgba(255,255,255,.5); }
.lb-wiz-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.lb-wiz-back { background: none; border: none; color: rgba(255,255,255,.72); font-size: 13px; font-weight: 600; cursor: pointer; padding: 8px 4px; }
.lb-wiz-back:active { transform: scale(.96); }
.lb-wiz-next { display: inline-flex; align-items: center; gap: 7px; padding: 11px 20px; border-radius: 14px; border: none; cursor: pointer; font-size: 14px; font-weight: 700; color: #06283d;
  background: radial-gradient(circle at 30% 20%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 10px 26px rgba(var(--lbg-2),.4); }
.lb-wiz-next:active { transform: scale(.98); }
.lb-wiz-redo-wrap { display: flex; justify-content: center; margin-bottom: 12px; }
.lb-wiz-redo { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 20px; cursor: pointer; font-size: 12.5px; font-weight: 600;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.85); }
.lb-wiz-redo:active { transform: scale(.97); }

/* Misafir Ekranı — Bildirim satırları */
.lb-ghub-notif { display: flex; gap: 11px; padding: 11px 12px; border-radius: 13px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); }
.lb-ghub-notif.is-fresh { border-color: rgba(var(--lbg-2),.4); background: linear-gradient(135deg, rgba(var(--lbg-2),.14), rgba(255,255,255,.04)); }
.lb-ghub-notif[data-notif-url] { cursor: pointer; }
.lb-ghub-notif[data-notif-url]:active { transform: scale(.99); }
.lb-ghub-notif-ic { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 10px; display: grid; place-items: center; color: var(--gold-light); background: rgba(var(--lbg-2),.12); }
.lb-ghub-notif.is-fresh .lb-ghub-notif-ic { color: #06283d; background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); }
.lb-ghub-notif-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-ghub-notif-tx strong { font-size: 14px; color: #fff; }
.lb-ghub-notif-tx span { font-size: 12.5px; color: rgba(255,255,255,.72); line-height: 1.4; }
.lb-ghub-notif-tx small { font-size: 11px; color: rgba(255,255,255,.45); margin-top: 2px; }

/* AI Sihirbaz — ücretli/rezervasyonlu ayrıcalık önerileri (upsell) */
.lb-wiz-upsell { margin-top: 14px; padding: 14px; border-radius: 16px; background: linear-gradient(135deg, rgba(var(--lbg-2),.16), rgba(12,50,84,.5) 60%, rgba(7,28,46,.6)); border: 1px solid rgba(var(--lbg-2),.34); }
.lb-wiz-upsell-h { display: flex; align-items: center; gap: 8px; font-family: var(--font-display), serif; font-size: 15px; color: var(--gold-light); margin-bottom: 11px; }
.lb-wiz-upsell-h i { font-size: 13px; }
.lb-wiz-up { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; cursor: pointer; padding: 11px 12px; border-radius: 13px; color: #fff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); margin-bottom: 8px; transition: transform .12s ease, border-color .15s ease; }
.lb-wiz-up:last-child { margin-bottom: 0; }
.lb-wiz-up:active { transform: scale(.99); }
.lb-wiz-up-ic { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; font-size: 17px; color: #06283d; background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 6px 16px rgba(var(--lbg-2),.35); }
.lb-wiz-up-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.lb-wiz-up-tx strong { font-size: 14px; }
.lb-wiz-up-tx small { font-size: 11.5px; color: rgba(255,255,255,.62); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-wiz-up-cta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: var(--gold-light); white-space: nowrap; }

/* Header profil avatarı — Misafir Ekranı girişi */
.lb-ghub-ava-btn { position: relative; flex: 0 0 auto; width: 38px; height: 38px; margin-left: 8px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; padding: 0;
  background: linear-gradient(145deg, rgba(var(--lbg-2),.92), rgba(var(--lbg-2),.55)); border: 1px solid rgba(var(--lbg-8),.6); box-shadow: 0 4px 12px rgba(0,0,0,.32); }
.lb-ghub-ava-btn:active { transform: scale(.93); }
.lb-ghub-ava-glyph { font-size: 15px; font-weight: 800; color: #06283d; text-transform: uppercase; line-height: 1; }
.lb-ghub-ava-glyph i { font-size: 15px; }
.lb-ghub-ava-badge { position: absolute; top: -3px; right: -3px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 9px; background: #e5484d; color: #fff; font-size: 10px; font-weight: 800; line-height: 16px; text-align: center; box-shadow: 0 0 0 2px rgba(5,15,28,.9); }

/* Ana ekran — Misafir Ekranı giriş kartı */
.lb-ghub-card-cta { position: relative; display: flex; align-items: center; gap: 13px; width: 100%; padding: 14px 15px; border-radius: 18px; cursor: pointer; color: #fff; margin-bottom: 12px;
  background: linear-gradient(135deg, rgba(var(--lbg-2),.18), rgba(12,50,84,.5) 60%, rgba(7,28,46,.62)); border: 1px solid rgba(var(--lbg-2),.32); box-shadow: var(--shadow-card); }
.lb-ghub-card-cta:active { transform: scale(.99); }
.lb-ghubc-ava { width: 46px; height: 46px; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; font-size: 19px; color: #06283d; background: radial-gradient(circle at 32% 28%, rgb(var(--lbg-15)), var(--gold-light) 55%, var(--gold) 100%); box-shadow: 0 6px 16px rgba(var(--lbg-2),.4); }
.lb-ghubc-copy { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lb-ghubc-copy strong { font-family: var(--font-display), serif; font-size: 16px; }
.lb-ghubc-copy span { font-size: 12px; color: rgba(255,255,255,.72); line-height: 1.3; }
.lb-ghubc-badge { flex: 0 0 auto; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #e5484d; color: #fff; font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; }
.lb-ghubc-arrow { flex: 0 0 auto; color: var(--gold-light); font-size: 14px; }

/* ── Feedback: seçimli / serbest-metin soru tipleri (admin "Sorular" sekmesinden) ── */
.guest-feedback-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.guest-feedback-choice { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07); color: var(--white); font-family: inherit; font-size: 13.5px; line-height: 1.2; cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .1s ease; -webkit-tap-highlight-color: transparent; }
.guest-feedback-choice i { color: var(--gold-light); font-size: 13px; flex: 0 0 auto; }
.guest-feedback-choice:active { transform: scale(.97); }
.guest-feedback-choice.is-selected { background: rgba(var(--lbg-1), .22); border-color: var(--gold); }
.guest-feedback-text { width: 100%; border-radius: 12px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); color: var(--white); padding: 10px 12px; font-family: inherit; font-size: 14px; line-height: 1.5; resize: vertical; }
.guest-feedback-text::placeholder { color: var(--muted); }
.guest-feedback-text:focus { outline: 2px solid rgba(var(--lbg-1), .55); outline-offset: 1px; }
.guest-feedback-q-opt { font-style: normal; font-size: 11px; color: var(--muted); font-weight: 500; }

/* ── Onboarding: e-posta/telefon + KVKK-GDPR onay bloğu ── */
.lb-onboard-consent { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 2px; padding: 11px 12px; border-radius: 14px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
.lb-onboard-consent.has-error { border-color: rgba(255,140,120,.65); }
.lb-onboard-check { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.lb-onboard-check input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; accent-color: var(--gold); }
.lb-onboard-check span { font-size: 11.5px; line-height: 1.45; color: rgba(255,255,255,.82); }
.lb-onboard-check--opt span { color: var(--muted); }
.lb-onboard-kvkk { border-top: 1px dashed rgba(255,255,255,.14); padding-top: 7px; }
.lb-onboard-kvkk summary { font-size: 11px; font-weight: 700; color: var(--gold-light); cursor: pointer; list-style: none; }
.lb-onboard-kvkk summary::before { content: '+ '; }
.lb-onboard-kvkk[open] summary::before { content: '− '; }
.lb-onboard-kvkk p { margin: 6px 0 0; font-size: 10.5px; line-height: 1.5; color: var(--muted); }
