
:root{
  --black:#040404;
  --black-soft:#0b0a08;
  --gold:#d6af39;
  --gold-bright:#ffdd75;
  --gold-dark:#7b5c16;
  --cream:#fff6db;
  --muted:rgba(255,246,219,.72);
  --glass:rgba(255,255,255,.055);
  --border:rgba(214,175,57,.22);
  --shadow:0 30px 90px rgba(0,0,0,.58);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",sans-serif;
  background:
    radial-gradient(circle at 20% 10%, rgba(214,175,57,.11), transparent 34%),
    radial-gradient(circle at 80% 30%, rgba(214,175,57,.08), transparent 31%),
    var(--black);
  color:var(--cream);
  overflow-x:hidden;
}

.noise{
  position:fixed;inset:0;pointer-events:none;z-index:5000;
  opacity:.045;
  background-image:url("assets/thai-pattern.svg");
  background-size:360px;
  mix-blend-mode:screen;
}

.cursor-glow{
  width:360px;height:360px;border-radius:50%;
  position:fixed;left:0;top:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle, rgba(214,175,57,.14), transparent 60%);
  transform:translate(-50%,-50%);
}

.site-header{
  position:fixed;top:18px;left:50%;transform:translateX(-50%);
  width:min(1180px,calc(100% - 30px));
  z-index:1000;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:20px;
  padding:12px 18px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(5,5,5,.58);
  backdrop-filter:blur(22px);
  box-shadow:0 20px 70px rgba(0,0,0,.36);
  transition:.35s ease;
}

.site-header.scrolled{background:rgba(5,5,5,.84)}

.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
}

.brand img{
  height:54px;
  width:auto;
  max-width:180px;
  object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(214,175,57,.18));
}

.nav-links{display:flex;justify-content:center;gap:26px}
.nav-links a{
  color:var(--muted);text-decoration:none;font-size:14px;
  transition:.25s ease;
}
.nav-links a:hover{color:var(--gold-bright)}

.language-switcher{display:flex;gap:6px}
.lang{
  border:1px solid var(--border);
  background:transparent;color:var(--muted);
  padding:8px 10px;border-radius:999px;cursor:pointer;
}
.lang.active,.lang:hover{background:var(--gold);color:#080808}

.mobile-toggle{display:none;background:none;border:0;width:44px;height:44px}
.mobile-toggle span{display:block;height:2px;background:var(--gold);margin:8px;border-radius:2px}

.hero{
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  padding:150px 20px 80px;
  overflow:hidden;
}

.video-backdrop{position:absolute;inset:0;z-index:-3}
.video-backdrop video{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.86) contrast(1.15) brightness(.55);
  transform:scale(1.05);
}
.video-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.32),rgba(0,0,0,.85)),
    radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.78) 72%);
}

.floating-orb{
  position:absolute;border-radius:50%;z-index:-1;filter:blur(4px);
  border:1px solid rgba(214,175,57,.18);
}
.orb-one{width:280px;height:280px;left:8%;top:22%;animation:float 8s ease-in-out infinite}
.orb-two{width:180px;height:180px;right:12%;bottom:16%;animation:float 10s ease-in-out infinite reverse}

.hero-content{
  text-align:center;
  max-width:950px;
  padding:44px;
  border-radius:40px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022));
  border:1px solid rgba(214,175,57,.24);
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow);
}

.hero-logo{
  width:min(300px,70vw);
  margin-bottom:24px;
  filter:drop-shadow(0 0 28px rgba(214,175,57,.22));
}

.eyebrow{
  color:var(--gold-bright);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  font-weight:700;
  margin-bottom:18px;
}

h1,h2,h3{
  font-family:"Cormorant Garamond","Cinzel",Georgia,serif;
  line-height:1.03;
  letter-spacing:.02em;
}

h1{
  font-size:clamp(3.3rem,9vw,8.5rem);
  background:linear-gradient(135deg,var(--gold-bright),#fff0b2,var(--gold-dark));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  margin-bottom:22px;
  font-weight:700;
}

h2{font-size:clamp(2.2rem,5vw,5rem);color:var(--gold-bright);margin-bottom:24px;font-weight:700}
h3{color:var(--gold-bright);font-size:1.55rem}
p{color:var(--muted);line-height:1.75}
.hero-subtitle{font-size:clamp(1rem,2vw,1.3rem);max-width:780px;margin:0 auto}

.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.hero-actions.compact{margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;
  padding:14px 24px;border-radius:999px;
  text-decoration:none;font-weight:700;letter-spacing:.02em;
  transition:.32s ease;cursor:pointer;border:0;
}
.btn.primary{
  color:#070707;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold-dark));
  box-shadow:0 14px 38px rgba(214,175,57,.22);
}
.btn.primary:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(214,175,57,.3)}
.btn.ghost{color:var(--gold-bright);border:1px solid var(--border);background:rgba(255,255,255,.035)}
.btn.ghost:hover{background:rgba(214,175,57,.12)}
.btn.full{width:100%}

.scroll-indicator{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
}
.scroll-indicator span{
  width:1px;height:42px;background:linear-gradient(var(--gold),transparent);
  animation:pulse 1.8s infinite;
}

.section{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:130px 0;
  position:relative;
}

.split-section{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:58px;
  align-items:center;
}

.section-copy p{max-width:650px}
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:34px;
}
.stats div,.floating-card,.contact-card,.booking-panel{
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.026));
  border:1px solid var(--border);
  border-radius:32px;
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow);
}
.stats div{padding:20px}
.stats strong{display:block;color:var(--gold-bright);font-size:2rem;font-family:"Cormorant Garamond",Georgia,serif}
.stats span{font-size:13px;color:var(--muted)}

.parallax-card{
  position:relative;border-radius:42px;overflow:hidden;
  min-height:560px;
  box-shadow:var(--shadow);
  transform-style:preserve-3d;
}
.parallax-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.82) saturate(.9)}
.card-label{
  position:absolute;left:22px;right:22px;bottom:22px;
  padding:20px 22px;
  background:rgba(0,0,0,.5);
  border:1px solid var(--border);
  border-radius:24px;
  backdrop-filter:blur(14px);
  color:var(--gold-bright);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.35rem;
}

.section-center{text-align:center;max-width:760px;margin:0 auto 44px}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.floating-card{
  padding:28px;
  min-height:280px;
  transition:.35s ease;
  position:relative;
  overflow:hidden;
}
.floating-card:before{
  content:"";
  position:absolute;inset:auto -20% -40% -20%;
  height:140px;
  background:radial-gradient(circle,rgba(214,175,57,.18),transparent 70%);
}
.floating-card:hover{transform:translateY(-10px) rotateX(4deg);border-color:rgba(255,221,117,.45)}
.dish-number{color:rgba(255,221,117,.4);font-family:"Cormorant Garamond",Georgia,serif;font-size:3rem}
.floating-card p{margin:16px 0 22px}
.floating-card strong{color:var(--gold-bright)}

.gallery-section{padding:30px 0;overflow:hidden}
.gallery-track{
  display:flex;gap:18px;width:max-content;
  animation:galleryMove 36s linear infinite;
}
.gallery-track img{
  width:340px;height:430px;object-fit:cover;
  border-radius:36px;
  border:1px solid var(--border);
  filter:brightness(.78) saturate(.95);
}
.gallery-track img:nth-child(even){transform:translateY(42px)}

.booking-panel{
  padding:42px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:38px;
}
.booking-form{
  display:grid;gap:16px;
}
label span{display:block;color:var(--gold-bright);font-size:13px;margin-bottom:8px}
input,select,textarea{
  width:100%;
  background:rgba(0,0,0,.42);
  border:1px solid var(--border);
  color:var(--cream);
  padding:15px 16px;
  border-radius:18px;
  outline:0;
  font-family:inherit;
}
textarea{min-height:105px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--gold-bright);box-shadow:0 0 0 4px rgba(214,175,57,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-message{min-height:24px;color:var(--gold-bright);font-weight:700}

.contact-card{padding:42px}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:34px 0;
}
.location-card{
  padding:20px;border-radius:22px;
  border:1px solid rgba(214,175,57,.14);
  background:rgba(0,0,0,.24);
}
.location-card span{display:block;color:var(--muted);font-size:13px}
.location-card strong{display:block;color:var(--gold-bright);margin-top:8px;line-height:1.4}
.location-card a{display:inline-block;margin-top:14px;color:var(--cream);text-decoration:none;border-bottom:1px solid var(--gold)}
.location-card a:hover{color:var(--gold-bright)}
.map-actions{display:flex;gap:14px;flex-wrap:wrap}

footer{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:50px 0 80px;
  display:flex;justify-content:space-between;
  border-top:1px solid var(--border);
}
footer a{color:var(--gold-bright);text-decoration:none}

.reveal{
  opacity:0;
  transform:translateY(44px);
  transition:opacity .9s ease, transform .9s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-28px)}
}
@keyframes pulse{
  0%,100%{opacity:.2;transform:scaleY(.7)}
  50%{opacity:1;transform:scaleY(1)}
}
@keyframes galleryMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:980px){
  .site-header{grid-template-columns:auto auto;justify-content:space-between;border-radius:26px}
  .brand img{height:48px;max-width:150px}
  .mobile-toggle{display:block}
  .nav-links{
    position:absolute;left:0;right:0;top:76px;
    flex-direction:column;align-items:flex-start;
    background:rgba(5,5,5,.94);
    border:1px solid var(--border);
    border-radius:24px;
    padding:22px;
    opacity:0;pointer-events:none;transform:translateY(-12px);
    transition:.3s ease;
  }
  .nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0)}
  .language-switcher{position:absolute;right:76px}
  .split-section,.booking-panel{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:640px){
  .site-header{top:10px;width:calc(100% - 20px)}
  .hero{padding-inline:12px}
  .hero-content{padding:28px;border-radius:30px}
  .section{padding:86px 0}
  .stats,.menu-grid,.contact-grid,.form-row{grid-template-columns:1fr}
  .parallax-card{min-height:420px}
  .gallery-track img{width:260px;height:330px}
  footer{flex-direction:column;gap:16px}
  .language-switcher{right:64px}
  .lang{padding:7px 8px;font-size:12px}
}


/* Luxury tabbed menu section */
.luxury-menu-section{
  width:min(1160px,calc(100% - 32px));
}

.gold-divider{
  width:min(520px,70vw);
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:24px auto 0;
  position:relative;
}
.gold-divider:after{
  content:"✦";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:var(--black);
  color:var(--gold-bright);
  padding:0 16px;
}

.menu-tabs{
  display:flex;
  justify-content:center;
  gap:0;
  border-bottom:1px solid rgba(214,175,57,.22);
  margin:54px 0 30px;
  overflow-x:auto;
  scrollbar-width:thin;
}

.menu-tab{
  background:transparent;
  border:0;
  color:rgba(255,246,219,.62);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:800;
  font-size:13px;
  padding:20px 28px;
  min-width:max-content;
  cursor:pointer;
  position:relative;
  transition:.25s ease;
}

.menu-tab:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transition:.25s ease;
}

.menu-tab:hover,
.menu-tab.active{
  color:var(--gold-bright);
}

.menu-tab.active:after{
  transform:scaleX(1);
}

.luxury-menu-list{
  min-height:520px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.05));
  border-radius:28px;
}

.menu-category-panel{
  display:none;
  animation:menuFade .45s ease;
}

.menu-category-panel.active{
  display:block;
}

.menu-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:start;
  padding:26px 10px;
  border-bottom:1px solid rgba(214,175,57,.17);
}

.menu-row h3{
  color:var(--cream);
  font-size:1.55rem;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:700;
  margin-bottom:8px;
}

.menu-row p{
  max-width:720px;
  color:rgba(255,246,219,.72);
  line-height:1.55;
}

.menu-row small{
  display:block;
  margin-top:5px;
  color:rgba(255,246,219,.48);
  font-size:.92rem;
}

.menu-row strong{
  color:var(--gold-bright);
  font-size:1.1rem;
  font-family:"Inter",sans-serif;
  font-weight:700;
  padding-top:6px;
  white-space:nowrap;
}

.menu-note,
.spice-box{
  border:1px solid rgba(214,175,57,.55);
  border-radius:12px;
  padding:22px 26px;
  margin:28px 0;
  display:flex;
  gap:18px;
  align-items:flex-start;
  background:rgba(214,175,57,.035);
}

.menu-note span{
  color:var(--gold-bright);
  font-size:2rem;
  line-height:1;
}

.menu-note h4,
.spice-box h4{
  color:var(--gold-bright);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.95rem;
  margin-bottom:8px;
}

.spice-box{
  display:block;
  margin-top:38px;
}

.spice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:18px;
}

.spice-grid p{
  color:var(--cream);
  line-height:1.45;
}

.spice-grid span{
  display:inline-block;
  min-width:92px;
  color:var(--gold-bright);
}

.spice-grid small{
  color:rgba(255,246,219,.55);
}

@keyframes menuFade{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:760px){
  .menu-tabs{
    justify-content:flex-start;
    margin-top:34px;
  }
  .menu-tab{
    padding:16px 18px;
    font-size:12px;
  }
  .menu-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:24px 0;
  }
  .menu-row strong{
    padding-top:0;
  }
  .spice-grid{
    grid-template-columns:1fr;
  }
  .menu-note{
    padding:18px;
  }
}


/* V4.3 cinematic header inspired by reference */
.site-header{
  top:0 !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:24px 42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
  background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.28),transparent) !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}

.site-header.scrolled{
  background:rgba(5,5,5,.86) !important;
  backdrop-filter:blur(16px) !important;
  border-bottom:1px solid rgba(214,175,57,.16) !important;
}

.header-right{
  display:flex;
  align-items:center;
  gap:34px;
  margin-left:auto;
}

.text-brand{
  color:var(--gold-bright);
  text-decoration:none;
  min-width:max-content;
}

.text-brand span{
  font-family:"Cinzel", Georgia, serif;
  font-weight:600;
  font-size:18px;
  letter-spacing:.36em;
  color:var(--gold-bright);
  text-shadow:0 0 22px rgba(214,175,57,.22);
}

.nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
}

.nav-links a{
  font-family:"Inter", Arial, sans-serif;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:rgba(255,246,219,.68);
  position:relative;
  padding:10px 0;
}

.nav-links a:not(.reserve-link):after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transition:.25s ease;
}

.nav-links a:not(.reserve-link):hover:after{
  transform:scaleX(1);
}

.reserve-link{
  border:1px solid rgba(214,175,57,.75);
  color:var(--gold-bright) !important;
  padding:13px 28px !important;
  min-width:120px;
  text-align:center;
  transition:.25s ease;
}

.reserve-link:hover{
  background:rgba(214,175,57,.14);
}

.language-switcher{
  display:flex;
  align-items:center;
  gap:0;
  min-width:max-content;
}

.lang{
  border:0 !important;
  background:transparent !important;
  color:rgba(255,246,219,.45) !important;
  border-radius:0 !important;
  padding:8px 9px !important;
  font-family:"Inter", Arial, sans-serif;
  font-weight:800;
  letter-spacing:.12em;
}

.lang.active{
  color:var(--gold-bright) !important;
  border-bottom:1px solid var(--gold) !important;
}

.lang:hover{
  color:var(--gold-bright) !important;
}

.hero{
  padding-top:130px;
}

@media(max-width:980px){
  .site-header{
    padding:18px 20px !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
  }

  .text-brand span{
    font-size:16px;
    letter-spacing:.28em;
  }

  .header-right{
    display:contents;
  }

  .mobile-toggle{
    display:block !important;
    justify-self:end;
  }

  .nav-links{
    position:absolute;
    left:18px;
    right:18px;
    top:76px;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    background:rgba(5,5,5,.96);
    border:1px solid var(--border);
    border-radius:24px;
    padding:22px;
    opacity:0;
    pointer-events:none;
    transform:translateY(-12px);
    transition:.3s ease;
  }

  .nav-links.open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }

  .reserve-link{
    width:100%;
  }

  .language-switcher{
    position:absolute;
    right:76px;
    top:21px;
  }
}

@media(max-width:640px){
  .site-header{
    top:0 !important;
    width:100% !important;
  }

  .text-brand span{
    font-size:14px;
    letter-spacing:.22em;
  }

  .language-switcher{
    right:64px;
    top:18px;
  }
}



/* V4.4 Hero refinement */
.hero{
  min-height:78vh !important;
  padding-top:110px !important;
  padding-bottom:70px !important;
}

.hero-card{
  max-width:950px !important;
  padding:58px 54px !important;
  border-radius:34px !important;
}

.hero-logo{
  max-width:200px !important;
  margin-bottom:26px !important;
}

.hero h1{
  font-size:clamp(4rem,8vw,7rem) !important;
  line-height:.96 !important;
  max-width:900px !important;
  margin:0 auto 28px !important;
}

.hero-copy{
  max-width:760px !important;
  font-size:1.18rem !important;
  line-height:1.7 !important;
}

.hero-actions{
  gap:18px !important;
  margin-top:42px !important;
}

.btn{
  min-width:220px !important;
  height:58px !important;
  border-radius:0 !important;
  padding:0 34px !important;
  font-family:"Inter", Arial, sans-serif !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:.28s ease !important;
}

.btn.primary{
  background:#cfa13b !important;
  color:#000 !important;
  border:1px solid #cfa13b !important;
  box-shadow:none !important;
}

.btn.primary:hover{
  transform:translateY(-2px);
  background:#ddb24f !important;
}

.btn.ghost{
  border:1px solid rgba(214,175,57,.45) !important;
  background:transparent !important;
  color:var(--gold-bright) !important;
}

.btn.ghost:hover{
  background:rgba(214,175,57,.08) !important;
  transform:translateY(-2px);
}

@media(max-width:980px){
  .hero{
    min-height:72vh !important;
  }

  .hero-card{
    max-width:92vw !important;
    padding:42px 26px !important;
  }

  .hero h1{
    font-size:clamp(3.2rem,12vw,5.6rem) !important;
  }

  .btn{
    min-width:100% !important;
  }

  .hero-actions{
    flex-direction:column !important;
    width:100% !important;
  }
}


/* V5 Premium full experience */
body{
  cursor:default;
}

.luxury-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  background:
    radial-gradient(circle at center, rgba(214,175,57,.12), transparent 34%),
    #030303;
  display:grid;
  place-items:center;
  transition:opacity .85s ease, visibility .85s ease;
}

.luxury-loader.hide{
  opacity:0;
  visibility:hidden;
}

.loader-inner{
  text-align:center;
  animation:loaderRise 1.2s ease both;
}

.loader-inner img{
  width:min(260px,70vw);
  filter:drop-shadow(0 0 34px rgba(214,175,57,.32));
  margin-bottom:28px;
}

.loader-line{
  width:260px;
  max-width:70vw;
  height:1px;
  background:rgba(214,175,57,.18);
  overflow:hidden;
  margin:0 auto 18px;
}

.loader-line span{
  display:block;
  height:100%;
  width:45%;
  background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);
  animation:loaderSweep 1.2s ease-in-out infinite;
}

.loader-inner p{
  font-family:"Inter",Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.48em;
  color:var(--gold-bright);
}

.cursor-glow{
  width:520px !important;
  height:520px !important;
  background:
    radial-gradient(circle, rgba(255,221,117,.12), rgba(214,175,57,.055) 28%, transparent 64%) !important;
  mix-blend-mode:screen;
  transition:width .3s ease,height .3s ease;
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(120deg,transparent 20%,rgba(255,221,117,.08),transparent 42%);
  transform:translateX(-120%);
  animation:goldShimmer 8s ease-in-out infinite;
}

.hero-content,
.hero-card,
.booking-panel,
.contact-card,
.floating-card,
.luxury-menu-list{
  box-shadow:
    0 30px 90px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(214,175,57,.08);
}

h1,h2{
  text-shadow:0 0 42px rgba(214,175,57,.12);
}

.reveal{
  opacity:0;
  transform:translateY(64px) scale(.985);
  filter:blur(8px);
  transition:
    opacity 1s cubic-bezier(.16,1,.3,1),
    transform 1s cubic-bezier(.16,1,.3,1),
    filter 1s cubic-bezier(.16,1,.3,1);
}

.reveal.visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}

.section{
  scroll-margin-top:100px;
}

.menu-row{
  position:relative;
  overflow:hidden;
  transition:background .28s ease, transform .28s ease, border-color .28s ease;
  padding-left:18px !important;
  padding-right:18px !important;
}

.menu-row:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(214,175,57,.08),transparent);
  opacity:0;
  transition:.28s ease;
}

.menu-row:hover{
  background:rgba(214,175,57,.035);
  transform:translateX(8px);
  border-bottom-color:rgba(255,221,117,.35);
}

.menu-row:hover:before{
  opacity:1;
}

.menu-row:hover h3{
  color:var(--gold-bright);
}

.menu-tab{
  transition:color .28s ease, letter-spacing .28s ease;
}

.menu-tab:hover{
  letter-spacing:.24em;
}

.gallery-section{
  position:relative;
  padding:70px 0;
}

.gallery-track{
  will-change:transform;
}

.gallery-image{
  cursor:zoom-in;
  transition:transform .5s cubic-bezier(.16,1,.3,1), filter .5s ease, box-shadow .5s ease;
}

.gallery-image:hover{
  transform:translateY(-18px) scale(1.035) !important;
  filter:brightness(1) saturate(1.08);
  box-shadow:0 30px 80px rgba(0,0,0,.56), 0 0 0 1px rgba(214,175,57,.45);
}

.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9000;
  background:rgba(0,0,0,.92);
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  transition:.35s ease;
  padding:28px;
}

.gallery-lightbox.open{
  opacity:1;
  visibility:visible;
}

.gallery-lightbox img{
  max-width:min(1200px,92vw);
  max-height:86vh;
  object-fit:contain;
  border:1px solid rgba(214,175,57,.45);
  box-shadow:0 30px 120px rgba(0,0,0,.8);
  animation:lightboxIn .45s cubic-bezier(.16,1,.3,1);
}

.lightbox-close{
  position:absolute;
  top:24px;
  right:30px;
  width:52px;
  height:52px;
  border:1px solid rgba(214,175,57,.5);
  background:rgba(0,0,0,.35);
  color:var(--gold-bright);
  font-size:34px;
  line-height:1;
  cursor:pointer;
  transition:.25s ease;
}

.lightbox-close:hover{
  background:rgba(214,175,57,.12);
}

.premium-booking{
  position:relative;
}

.premium-booking:after{
  content:"Secure request • Kadriorg / Nõmme";
  color:rgba(255,246,219,.45);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
}

input[type="hidden"]{
  display:none !important;
}

input,select,textarea{
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease, transform .25s ease;
}

input:hover,select:hover,textarea:hover{
  background:rgba(0,0,0,.55);
}

input:focus,select:focus,textarea:focus{
  transform:translateY(-1px);
}

.btn{
  position:relative;
  overflow:hidden;
}

.btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.22) 48%,transparent 60%);
  transform:translateX(-120%);
  transition:.65s ease;
}

.btn:hover:before{
  transform:translateX(120%);
}

.site-header{
  transition:background .35s ease, border-color .35s ease, padding .35s ease;
}

.site-header.scrolled{
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.nav-links a{
  transition:color .25s ease, transform .25s ease;
}

.nav-links a:hover{
  transform:translateY(-1px);
}

@keyframes loaderRise{
  from{opacity:0;transform:translateY(24px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes loaderSweep{
  from{transform:translateX(-120%)}
  to{transform:translateX(260%)}
}

@keyframes goldShimmer{
  0%,58%{transform:translateX(-120%)}
  82%,100%{transform:translateX(120%)}
}

@keyframes lightboxIn{
  from{opacity:0;transform:scale(.96)}
  to{opacity:1;transform:scale(1)}
}

@media(max-width:980px){
  body.menu-open{
    overflow:hidden;
  }

  .nav-links{
    min-height:calc(100vh - 110px);
    justify-content:flex-start !important;
    padding-top:36px !important;
  }

  .nav-links a{
    font-size:16px !important;
    width:100%;
  }

  .hero{
    min-height:86vh !important;
  }

  .hero-content,
  .hero-card{
    border-radius:26px !important;
  }

  .menu-row:hover{
    transform:none;
  }

  .gallery-section{
    padding:48px 0;
  }

  .premium-booking:after{
    font-size:10px;
  }
}

@media(max-width:640px){
  .luxury-loader img{
    width:210px;
  }

  .hero h1{
    font-size:clamp(3rem,15vw,4.8rem) !important;
    line-height:1 !important;
  }

  .hero-logo{
    max-width:160px !important;
  }

  .section-center{
    text-align:left;
  }

  .gold-divider{
    margin-left:0;
  }

  .menu-tabs{
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 90%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 90%,transparent);
  }

  .menu-row{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .menu-row h3{
    font-size:1.35rem;
  }

  .gallery-lightbox{
    padding:16px;
  }

  .lightbox-close{
    top:14px;
    right:14px;
  }
}


/* V5.1 booking modifications */
.booking-location-fixed{
  width:100%;
  background:rgba(0,0,0,.42);
  border:1px solid var(--border);
  color:var(--cream);
  padding:15px 16px;
  border-radius:18px;
}

.booking-location-fixed span{
  display:block;
  color:var(--gold-bright);
  font-size:13px;
  margin-bottom:8px;
}

.booking-location-fixed strong{
  display:block;
  color:var(--cream);
  font-weight:600;
}


/* V5.5 transparent logo + 20% bigger homepage logo */
.hero-logo{
  width:min(360px,84vw) !important;
  max-width:360px !important;
  background:transparent !important;
  filter:drop-shadow(0 0 34px rgba(214,175,57,.28)) !important;
}

.hero-content .hero-logo,
.hero-card .hero-logo{
  margin-bottom:30px !important;
}

.brand img{
  background:transparent !important;
}

.luxury-loader img{
  background:transparent !important;
}


/* V5.6 step-by-step clean hero update */
.hero-content,
.hero-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

.hero-logo{
  width:min(432px,88vw) !important;
  max-width:432px !important;
  background:transparent !important;
  margin-bottom:32px !important;
  filter:
    drop-shadow(0 0 34px rgba(214,175,57,.34))
    drop-shadow(0 18px 48px rgba(0,0,0,.58)) !important;
}

.hero h1{
  font-size:clamp(2.9rem,6.4vw,5.6rem) !important;
  line-height:1.04 !important;
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero .eyebrow{
  margin-bottom:18px !important;
}

.hero-subtitle,
.hero-copy{
  max-width:780px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:980px){
  .hero-logo{
    width:min(360px,86vw) !important;
    max-width:360px !important;
  }

  .hero h1{
    font-size:clamp(2.5rem,9vw,4.5rem) !important;
  }
}

@media(max-width:640px){
  .hero-logo{
    width:min(310px,84vw) !important;
    max-width:310px !important;
  }

  .hero h1{
    font-size:clamp(2.2rem,10vw,3.5rem) !important;
  }
}


/* V5.7 step update: chosen food background + hero refinements */
body{
  background:
    linear-gradient(rgba(0,0,0,.58), rgba(0,0,0,.74)),
    url("assets/rukthai-food-background.jpg") center top / cover fixed no-repeat !important;
  background-color:#040404 !important;
}

.hero{
  background:transparent !important;
}

.video-backdrop{
  display:none !important;
}

section,
.gallery-section,
.booking-section,
.contact-section,
footer{
  background:transparent !important;
}

.hero-logo{
  width:min(518px,92vw) !important;
  max-width:518px !important;
}

.hero h1{
  font-size:clamp(2.32rem,5.12vw,4.48rem) !important;
  line-height:1.04 !important;
  max-width:850px !important;
}

@media(max-width:980px){
  body{
    background-attachment:scroll !important;
    background-position:center top !important;
  }

  .hero-logo{
    width:min(432px,90vw) !important;
    max-width:432px !important;
  }

  .hero h1{
    font-size:clamp(2rem,7.2vw,3.6rem) !important;
  }
}

@media(max-width:640px){
  .hero-logo{
    width:min(372px,88vw) !important;
    max-width:372px !important;
  }

  .hero h1{
    font-size:clamp(1.76rem,8vw,2.8rem) !important;
  }
}


/* V5.8 update: bigger logo, small corner logo, more vibrant gold/background */
.hero-logo{
  width:min(673px,96vw) !important;
  max-width:673px !important;
  filter:
    saturate(1.35)
    contrast(1.16)
    brightness(1.16)
    drop-shadow(0 0 46px rgba(255,198,56,.46))
    drop-shadow(0 20px 58px rgba(0,0,0,.68)) !important;
}

.brand,
.text-brand{
  width:190px !important;
  height:110px !important;
  display:block !important;
  background:url("assets/rukthai-logo-web.png") left center / contain no-repeat !important;
  filter:
    saturate(1.32)
    contrast(1.14)
    brightness(1.14)
    drop-shadow(0 0 24px rgba(255,198,56,.36)) !important;
}

.brand img,
.text-brand img,
.text-brand span{
  display:none !important;
}

.site-header{
  padding-left:34px !important;
  padding-right:34px !important;
}

body{
  background:
    linear-gradient(rgba(0,0,0,.46), rgba(0,0,0,.68)),
    url("assets/rukthai-food-background.jpg") center top / cover fixed no-repeat !important;
}

.hero .eyebrow{
  color:#ffd84f !important;
  text-shadow:0 0 24px rgba(255,198,56,.35), 0 3px 14px rgba(0,0,0,.8) !important;
}

h1,h2,h3,
.hero h1{
  filter:saturate(1.12) brightness(1.06);
}

.btn.primary{
  background:linear-gradient(180deg,#ffdc67,#c99422) !important;
  border-color:#e2b646 !important;
  box-shadow:0 14px 44px rgba(255,198,56,.24) !important;
}

.btn.ghost{
  border-color:rgba(255,210,72,.76) !important;
}

@media(max-width:980px){
  .hero-logo{
    width:min(562px,94vw) !important;
    max-width:562px !important;
  }

  .brand,
  .text-brand{
    width:150px !important;
    height:86px !important;
  }
}

@media(max-width:640px){
  .hero-logo{
    width:min(484px,92vw) !important;
    max-width:484px !important;
  }

  .brand,
  .text-brand{
    width:118px !important;
    height:68px !important;
  }

  .site-header{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}


/* V5.9 typography refinement */
.hero .eyebrow{
  font-size:16.8px !important; /* +20% */
  letter-spacing:.34em !important;
  font-weight:800 !important;
}

.hero h1{
  font-size:clamp(1.86rem,4.1vw,3.58rem) !important; /* -20% */
  line-height:1.02 !important;
}

.hero-subtitle,
.hero-copy{
  font-size:.84rem !important;
  line-height:1.52 !important;
}

.nav-links a{
  font-size:12px !important;
}

.lang{
  font-size:11px !important;
}

.btn{
  font-size:10.4px !important;
  letter-spacing:.18em !important;
}

.menu-row h3{
  font-size:1.2rem !important;
}

.menu-row p{
  font-size:.8rem !important;
}

.menu-price{
  font-size:1rem !important;
}

.section-title,
h2{
  font-size:clamp(1.9rem,3vw,3rem) !important;
}

.story-text,
.contact-text,
.booking-text,
footer,
input,
textarea,
select{
  font-size:.84rem !important;
}

@media(max-width:980px){
  .hero .eyebrow{
    font-size:14px !important;
  }

  .hero h1{
    font-size:clamp(1.7rem,6vw,2.9rem) !important;
  }
}

@media(max-width:640px){
  .hero .eyebrow{
    font-size:12px !important;
    letter-spacing:.22em !important;
  }

  .hero h1{
    font-size:clamp(1.42rem,7vw,2.3rem) !important;
  }

  .hero-subtitle,
  .hero-copy{
    font-size:.78rem !important;
  }
}


/* V5.10 visual update */
.brand,
.text-brand{
  width:133px !important; /* 30% smaller */
  height:77px !important;
}

.hero-logo{
  width:min(808px,98vw) !important; /* 20% bigger from previous */
  max-width:808px !important;
  filter:
    saturate(1.48)
    contrast(1.22)
    brightness(1.2)
    drop-shadow(0 0 58px rgba(255,204,52,.54))
    drop-shadow(0 22px 68px rgba(0,0,0,.72)) !important;
}

.hero h1{
  max-width:900px !important;
  text-align:center !important;
}

body{
  background:
    linear-gradient(rgba(0,0,0,.34), rgba(0,0,0,.58)),
    url("assets/rukthai-food-background.jpg") center top / cover fixed no-repeat !important;
}

.hero{
  background:
    radial-gradient(circle at center, rgba(0,0,0,.10), rgba(0,0,0,.14) 42%, rgba(0,0,0,.30) 100%) !important;
}

@media(max-width:980px){
  .brand,
  .text-brand{
    width:105px !important;
    height:60px !important;
  }

  .hero-logo{
    width:min(674px,96vw) !important;
    max-width:674px !important;
  }
}

@media(max-width:640px){
  .brand,
  .text-brand{
    width:83px !important;
    height:48px !important;
  }

  .hero-logo{
    width:min(581px,94vw) !important;
    max-width:581px !important;
  }
}


/* V5.11 hero alignment update */
.hero-logo{
  position:relative !important;
  left:4.5% !important;
}

.hero-content{
  text-align:center !important;
}

.hero h1,
.hero .eyebrow,
.hero-copy,
.hero-actions{
  position:relative !important;
  left:2.5% !important;
}

@media(max-width:980px){
  .hero-logo,
  .hero h1,
  .hero .eyebrow,
  .hero-copy,
  .hero-actions{
    left:0 !important;
  }
}


/* V5.12 crop logo, stronger colors, transparent header */
.site-header{
  background:rgba(0,0,0,.50) !important;
  backdrop-filter:blur(12px) !important;
}

.site-header.scrolled{
  background:rgba(0,0,0,.50) !important;
  backdrop-filter:blur(16px) !important;
}

body{
  background:
    linear-gradient(rgba(0,0,0,.24), rgba(0,0,0,.52)),
    url("assets/rukthai-food-background.jpg") center top / cover fixed no-repeat !important;
}

.hero{
  background:
    radial-gradient(circle at center, rgba(0,0,0,.04), rgba(0,0,0,.10) 42%, rgba(0,0,0,.22) 100%) !important;
}

.hero-logo{
  filter:
    saturate(1.62)
    contrast(1.26)
    brightness(1.24)
    drop-shadow(0 0 64px rgba(255,204,52,.58))
    drop-shadow(0 22px 72px rgba(0,0,0,.72)) !important;
}


/* V5.13 hero positioning + EE only */
.hero-logo{
  left:9% !important;
}

.hero h1,
.hero .eyebrow,
.hero-copy,
.hero-actions{
  left:5% !important;
}

@media(max-width:980px){
  .hero-logo,
  .hero h1,
  .hero .eyebrow,
  .hero-copy,
  .hero-actions{
    left:0 !important;
  }
}


.language-switcher{
  display:none !important;
}


/* V5.15 button alignment adjustments */
.hero-actions{
  left:1.5% !important;
  justify-content:center !important;
}

.pdf-actions,
.menu-actions,
.menu-buttons{
  left:0 !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:980px){
  .hero-actions,
  .pdf-actions,
  .menu-actions,
  .menu-buttons{
    left:0 !important;
  }
}


/* V5.16 menu spacing update */
.menu-subtitle,
.menu-intro,
.menu-description{
  margin-top:24px !important;
}


/* V5.17 Kadriorg / Nõmme menu switch */
.restaurant-menu-switch{
  display:flex;
  justify-content:center;
  gap:14px;
  margin:42px auto 18px;
  flex-wrap:wrap;
}

.restaurant-menu-btn{
  min-width:210px;
  height:52px;
  border:1px solid rgba(214,175,57,.55);
  background:transparent;
  color:var(--gold-bright);
  font-family:"Inter", Arial, sans-serif;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.28s ease;
}

.restaurant-menu-btn.active,
.restaurant-menu-btn:hover{
  background:linear-gradient(180deg,#ffdc67,#c99422);
  color:#050505;
  border-color:#d4a431;
  box-shadow:0 14px 44px rgba(255,198,56,.18);
}

.menu-category-panel[data-menu-set="nomme"]{
  display:none;
}

.menu-category-panel.active{
  display:block;
}


/* V5.23 header logo cleanup */
.brand,
.text-brand{
  background:url("assets/rukthai-logo-header-clean.png") left center / contain no-repeat !important;
}


/* V5.24 remove story counter widgets */
#story .stats,
#story .story-stats{
  display:none !important;
}


/* V5.26 mobile hero logo centering */
@media (max-width: 768px){

  .hero-logo{
    left:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
    position:relative !important;
    transform:none !important;
  }

  .hero-content{
    text-align:center !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .hero h1,
  .hero .eyebrow,
  .hero-copy,
  .hero-actions{
    left:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
}


/* V5.27 stronger mobile hero shift */
@media (max-width: 768px){

  .hero-logo{
    left:7.5% !important;
    position:relative !important;
  }

  .hero h1,
  .hero .eyebrow,
  .hero-copy,
  .hero-actions{
    left:3.5% !important;
    position:relative !important;
  }
}


/* V5.28 loader/mobile hero text tweaks */
.luxury-loader img{
  content:url("assets/rukthai-logo-loader-clean.png") !important;
  background:transparent !important;
}

/* Remove Keri / scroll text and indicator from main page */
.scroll-indicator{
  display:none !important;
}

/* Move mobile hero text slightly left */
@media (max-width: 768px){
  .hero .eyebrow{
    left:-3.5% !important;
    position:relative !important;
  }

  .hero h1{
    left:-3.5% !important;
    position:relative !important;
  }

  .hero-copy,
  .hero-subtitle{
    left:-3.5% !important;
    position:relative !important;
  }

  .hero-actions{
    left:0 !important;
  }
}


/* V5.29 Center 'Menüüd' heading on mobile */
@media (max-width:768px){
  #menu h2,
  .menu-title,
  .menu-header h2,
  .section-title{
    text-align:center !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
  }
}


/* V5.31 language switcher + contact opening hours */
.language-switcher{
  display:flex !important;
  align-items:center;
  gap:0;
}

.opening-hours-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:0 0 34px;
}

.opening-hours-card p{
  margin-top:10px;
  color:rgba(255,246,219,.72);
  line-height:1.65;
}

@media(max-width:980px){
  .opening-hours-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .language-switcher{
    display:flex !important;
  }
}

.location-seo-section{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}


/* V5.41 local food gallery carousel */
.gallery-carousel{
  width:min(1440px,94vw);
  margin:46px auto 0;
  overflow:hidden;
  position:relative;
  border-radius:26px;
  border:1px solid rgba(214,175,57,.16);
  box-shadow:0 28px 90px rgba(0,0,0,.38);
  background:rgba(0,0,0,.24);
}

.gallery-carousel::before,
.gallery-carousel::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:3;
  pointer-events:none;
}

.gallery-carousel::before{
  left:0;
  background:linear-gradient(90deg, rgba(3,3,3,.95), rgba(3,3,3,0));
}

.gallery-carousel::after{
  right:0;
  background:linear-gradient(270deg, rgba(3,3,3,.95), rgba(3,3,3,0));
}

.gallery-track.premium-gallery.rotating-gallery{
  display:flex !important;
  flex-wrap:nowrap !important;
  grid-template-columns:none !important;
  gap:18px !important;
  width:max-content !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px !important;
  animation:rukthaiFoodGalleryScroll 55s linear infinite !important;
  transform:none !important;
  will-change:transform !important;
}

.gallery-track.premium-gallery.rotating-gallery .gallery-image{
  flex:0 0 360px !important;
  width:360px !important;
  min-width:360px !important;
  height:255px !important;
  object-fit:cover !important;
  border-radius:20px !important;
  border:1px solid rgba(214,175,57,.22) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.42) !important;
  background:#111 !important;
  pointer-events:none !important;
  cursor:default !important;
}

.gallery-track.premium-gallery.rotating-gallery .gallery-image:hover{
  transform:none !important;
}

@keyframes rukthaiFoodGalleryScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@media(max-width:980px){
  .gallery-track.premium-gallery.rotating-gallery .gallery-image{
    flex-basis:300px !important;
    width:300px !important;
    min-width:300px !important;
    height:214px !important;
  }
}

@media(max-width:640px){
  .gallery-carousel::before,
  .gallery-carousel::after{
    width:46px;
  }

  .gallery-track.premium-gallery.rotating-gallery{
    gap:12px !important;
    padding:12px !important;
    animation-duration:42s !important;
  }

  .gallery-track.premium-gallery.rotating-gallery .gallery-image{
    flex-basis:245px !important;
    width:245px !important;
    min-width:245px !important;
    height:175px !important;
  }
}


/* V5.42 bulletproof local food marquee carousel */
.food-marquee{
  width:min(1440px,94vw) !important;
  margin:46px auto 0 !important;
  overflow:hidden !important;
  position:relative !important;
  border-radius:26px !important;
  border:1px solid rgba(214,175,57,.16) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.38) !important;
  background:rgba(0,0,0,.24) !important;
}

.food-marquee::before,
.food-marquee::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:120px !important;
  z-index:3 !important;
  pointer-events:none !important;
}

.food-marquee::before{
  left:0 !important;
  background:linear-gradient(90deg, rgba(3,3,3,.95), rgba(3,3,3,0)) !important;
}

.food-marquee::after{
  right:0 !important;
  background:linear-gradient(270deg, rgba(3,3,3,.95), rgba(3,3,3,0)) !important;
}

.food-marquee-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:18px !important;
  width:max-content !important;
  padding:18px !important;
  animation:rukthaiMarqueeFood 45s linear infinite !important;
  will-change:transform !important;
}

.food-marquee:hover .food-marquee-track{
  animation-play-state:running !important;
}

.food-marquee-img{
  flex:0 0 360px !important;
  width:360px !important;
  min-width:360px !important;
  height:255px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:20px !important;
  border:1px solid rgba(214,175,57,.22) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.42) !important;
  background:#111 !important;
  pointer-events:none !important;
  cursor:default !important;
  transform:none !important;
}

.food-marquee-img:hover{
  transform:none !important;
}

@keyframes rukthaiMarqueeFood{
  0%{
    transform:translate3d(0,0,0);
  }
  100%{
    transform:translate3d(-50%,0,0);
  }
}

@media(max-width:980px){
  .food-marquee-track{
    gap:14px !important;
    padding:14px !important;
    animation-duration:40s !important;
  }

  .food-marquee-img{
    flex-basis:300px !important;
    width:300px !important;
    min-width:300px !important;
    height:214px !important;
  }
}

@media(max-width:640px){
  .food-marquee::before,
  .food-marquee::after{
    width:46px !important;
  }

  .food-marquee-track{
    gap:12px !important;
    padding:12px !important;
    animation-duration:35s !important;
  }

  .food-marquee-img{
    flex-basis:245px !important;
    width:245px !important;
    min-width:245px !important;
    height:175px !important;
  }
}

/* V5.45 phone field added to booking form */


/* V5.49 safe Google rating section */
.google-rating-section{
  background:transparent !important;
}

.rating-cards{
  display:flex;
  justify-content:center;
  gap:22px;
  flex-wrap:wrap;
  margin-top:34px;
}

.rating-card{
  width:min(330px,90vw);
  text-decoration:none;
  text-align:center;
  padding:26px 24px;
  border:1px solid rgba(214,175,57,.26);
  border-radius:22px;
  background:rgba(0,0,0,.38);
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  transition:.28s ease;
}

.rating-card:hover{
  transform:translateY(-5px);
  border-color:rgba(255,214,95,.58);
  background:rgba(0,0,0,.48);
}

.rating-card span{
  display:block;
  color:rgba(255,246,219,.76);
  font-family:"Inter", Arial, sans-serif;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:12px;
}

.rating-card strong{
  display:block;
  color:#f4d36c;
  font-size:32px;
  letter-spacing:.08em;
  line-height:1;
  text-shadow:0 0 22px rgba(214,175,57,.22);
}

.rating-card small{
  display:block;
  color:rgba(255,246,219,.54);
  margin-top:12px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}


/* V5.51 Google rating numbers */
.rating-card .rating-stars{
  display:block;
  color:#f4d36c;
  font-size:24px !important;
  letter-spacing:.08em;
  line-height:1;
  margin-bottom:12px;
  text-shadow:0 0 20px rgba(214,175,57,.22);
}

.rating-card .rating-number{
  color:#fff6db;
  font-family:"Cinzel", Georgia, serif;
  font-size:clamp(2.2rem,4vw,3.4rem);
  font-weight:700;
  line-height:1;
  margin:8px 0 14px;
  text-shadow:0 0 30px rgba(214,175,57,.18);
}

.rating-card span{
  margin-bottom:14px !important;
}

.rating-card small{
  letter-spacing:.18em !important;
}


/* V5.52 Delivery section */
.delivery-grid{
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 gap:24px;
 margin-top:32px;
}

.delivery-card{
 width:min(420px,90vw);
 padding:28px;
 border:1px solid rgba(214,175,57,.3);
 border-radius:22px;
 background:rgba(0,0,0,.35);
 text-align:center;
}

.delivery-card h3{
 margin-bottom:20px;
 color:#f4d36c;
}

.delivery-btn{
 display:inline-block;
 margin:8px;
 padding:14px 28px;
 text-decoration:none;
 border-radius:6px;
 background:#d6af39;
 color:#000;
 font-weight:700;
}

.delivery-btn.secondary{
 background:transparent;
 color:#f4d36c;
 border:1px solid rgba(214,175,57,.4);
}

/* Direct Kadriorg delivery ordering */
.delivery-intro{max-width:760px;margin:14px auto 0;color:var(--muted);line-height:1.7}
.delivery-notice{max-width:860px;margin:24px auto 0;padding:18px 20px;text-align:left;border:1px solid rgba(214,175,57,.38);border-radius:14px;background:rgba(214,175,57,.07)}
.delivery-notice strong{display:block;color:var(--gold-bright);margin-bottom:7px}.delivery-notice p{color:var(--cream);line-height:1.65;margin:0}
.delivery-order-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:32px;align-items:start;margin-top:36px;text-align:left}
.delivery-category-filter{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px;margin-bottom:10px}
.delivery-category-filter button{white-space:nowrap;border:1px solid var(--border);background:#111;color:var(--cream);padding:10px 15px;border-radius:999px;cursor:pointer}
.delivery-category-filter button.active{background:var(--gold);color:#090909;border-color:var(--gold)}
.delivery-menu{display:grid;gap:10px}
.delivery-menu-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:14px}
.delivery-menu-item h3{font-size:1rem;margin:0 0 5px}.delivery-menu-item strong{color:var(--gold-bright)}
.delivery-menu-item button,.quantity-control button{border:1px solid var(--gold);background:transparent;color:var(--gold-bright);border-radius:8px;min-width:42px;height:38px;padding:0 12px;cursor:pointer}
.delivery-cart{position:sticky;top:112px;display:grid;gap:14px;padding:24px;background:#0e0e0e;border:1px solid rgba(214,175,57,.4);border-radius:22px}
.delivery-cart h3{color:var(--gold-bright);font-size:1.4rem}.delivery-cart label{display:grid;gap:7px;font-size:.86rem;color:var(--muted)}
.delivery-date-time{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delivery-cart input,.delivery-cart textarea,.delivery-cart select{width:100%;background:#090909;color:var(--cream);border:1px solid var(--border);padding:12px;border-radius:10px}
.delivery-cart-items{display:grid;gap:9px}.delivery-cart-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.delivery-cart-row small{display:block;color:var(--muted);margin-top:4px}.quantity-control{display:flex;align-items:center;gap:8px}.quantity-control button{min-width:32px;height:32px;padding:0}
.delivery-total{display:flex;justify-content:space-between;font-size:1.1rem;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.delivery-confirm{grid-template-columns:auto 1fr!important;align-items:start}.delivery-confirm input{width:auto;margin-top:3px}.delivery-cart .form-message{white-space:pre-line;color:var(--gold-bright);line-height:1.5}
@media(max-width:900px){.delivery-order-layout{grid-template-columns:1fr}.delivery-cart{position:static}}
@media(max-width:480px){.delivery-date-time{grid-template-columns:1fr}}

/* V5.54 consistent mobile page width */
@media(max-width:768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}

  .section,
  .luxury-menu-section,
  .gallery-section,
  footer{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .section *,
  footer *{
    min-width:0;
    max-width:100%;
  }

  .hero{
    width:100% !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .hero-content{
    width:100% !important;
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .hero-logo,
  .hero h1,
  .hero .eyebrow,
  .hero-copy,
  .hero-subtitle,
  .hero-actions{
    left:0 !important;
    right:auto !important;
    max-width:100% !important;
  }

  .split-section,
  .booking-panel,
  .contact-card,
  .delivery-order-layout,
  .delivery-cart,
  .delivery-notice,
  .luxury-menu-list,
  .restaurant-menu-switch,
  .opening-hours-grid,
  .ratings-grid,
  .google-ratings-grid{
    width:100% !important;
    max-width:100% !important;
  }

  .booking-panel,
  .contact-card,
  .delivery-cart{
    padding:20px !important;
  }

  .delivery-notice{padding:16px !important}
  .delivery-order-layout{gap:20px !important}
  .delivery-menu-item{width:100%;padding:15px 14px}
  .delivery-menu-item > div{min-width:0;overflow-wrap:anywhere}
  .delivery-menu-item button{flex:0 0 auto}

  .menu-tabs,
  .delivery-category-filter,
  .restaurant-menu-switch{
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }

  .menu-row,
  .location-card,
  .opening-hours-card,
  .rating-card,
  form,
  input,
  select,
  textarea,
  img{
    max-width:100% !important;
  }

  .form-row,
  .delivery-date-time,
  .contact-grid,
  .opening-hours-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .map-actions,
  .hero-actions{width:100%}
  .map-actions .btn,
  .hero-actions .btn{max-width:100%}
}

/* V5.55 mobile category carousels */
.category-scroll-shell{position:relative}
.category-scroll-arrow{display:none}

@media(max-width:768px){
  .category-scroll-shell{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 36px;
    gap:6px;
    align-items:center;
    width:100%;
    max-width:100%;
  }

  .category-scroll-shell .menu-tabs,
  .category-scroll-shell .delivery-category-filter{
    display:flex !important;
    justify-content:flex-start !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .category-scroll-shell .menu-tabs::-webkit-scrollbar,
  .category-scroll-shell .delivery-category-filter::-webkit-scrollbar{display:none}

  .category-scroll-shell .menu-tab,
  .category-scroll-shell .delivery-category-filter button{
    flex:0 0 calc((100% - 12px)/3) !important;
    width:calc((100% - 12px)/3) !important;
    min-width:0 !important;
    max-width:none !important;
    scroll-snap-align:start;
    padding:12px 5px !important;
    font-size:10px !important;
    line-height:1.2;
    text-align:center;
    white-space:normal !important;
  }

  .category-scroll-arrow{
    display:grid;
    place-items:center;
    width:36px;
    height:44px;
    padding:0;
    border:1px solid rgba(214,175,57,.5);
    border-radius:10px;
    background:#111;
    color:var(--gold-bright);
    font-size:30px;
    line-height:1;
    cursor:pointer;
  }
}
