/* ═══════════════════════════════════════════════════════
   Modern Zen Spa & Lounge — Main Stylesheet
   Mirrors the React/Tailwind version exactly
   ═══════════════════════════════════════════════════════ */

/* ── CSS CUSTOM PROPERTIES ── */
:root {
  --gold:        #c9a84c;
  --gold-light:  #f0d882;
  --gold-dark:   #a07830;
  --gold-rgb:    201, 168, 76;
  --bg:          #0d0d0d;
  --bg-card:     #141414;
  --border:      rgba(255,255,255,0.06);
  --border-gold: rgba(201,168,76,0.2);
  --text:        #f9f9f9;
  --text-muted:  #a6a6a6;
  --green-wa:    #25D366;
  --green-wa-h:  #20bd5a;
  --radius:      1rem;
  --radius-lg:   1.5rem;
  --radius-full: 9999px;
  --t:           0.3s ease;
  --shadow-gold: 0 12px 40px rgba(0,0,0,.5), 0 0 30px rgba(201,168,76,.12);
}

/* ── KEYFRAMES ── */
@keyframes gold-shimmer {
  0%   { background-position: -250% center; }
  100% { background-position:  250% center; }
}
@keyframes pulse-glow-gold {
  0%,100% { box-shadow: 0 0 18px rgba(201,168,76,.25), 0 0 40px rgba(201,168,76,.08); }
  50%     { box-shadow: 0 0 32px rgba(201,168,76,.55), 0 0 70px rgba(201,168,76,.20); }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes fade-in-up {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0);    }
}
@keyframes spin-slow {
  to { transform: rotate(360deg); }
}

/* ── RESET & BASE ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html  { scroll-behavior:smooth; font-size:16px; }
body  {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg); color:var(--text);
  overflow-x:hidden; -webkit-font-smoothing:antialiased; line-height:1.6;
}
h1,h2,h3,h4,h5,h6 { font-family:'Playfair Display',Georgia,serif; line-height:1.2; }
a   { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul  { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

/* ── UTILITIES ── */
.container { max-width:1152px; margin:0 auto; padding:0 1rem; }

.gold-shimmer-text {
  background: linear-gradient(90deg,var(--gold-dark) 0%,var(--gold-light) 35%,#f5e27d 50%,var(--gold-light) 65%,var(--gold-dark) 100%);
  background-size:250% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:gold-shimmer 5s linear infinite;
}

.luxury-card { transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.luxury-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-gold); border-color:rgba(201,168,76,.28)!important; }

.section-ornament { display:inline-block; }
.section-ornament::before { content:"——◆"; color:rgba(201,168,76,.5); margin-right:.75rem; font-size:.75rem; }
.section-ornament::after  { content:"◆——"; color:rgba(201,168,76,.5); margin-left:.75rem;  font-size:.75rem; }

.pulse-glow-gold { animation:pulse-glow-gold 3s ease-in-out infinite; }

/* scroll-reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
.reveal.revealed { opacity:1; transform:none; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s}
.d4{transition-delay:.4s} .d5{transition-delay:.5s}

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 1.75rem; border-radius:var(--radius-full);
  font-weight:600; font-size:1rem; transition:all .25s ease;
  cursor:pointer; white-space:nowrap; text-decoration:none;
  justify-content:center; font-family:'Inter',sans-serif;
}
.btn:hover { transform:scale(1.04); }
.btn-sm { padding:.5rem 1rem; font-size:.875rem; gap:.375rem; }

.btn-wa  { background:var(--green-wa); color:#fff; box-shadow:0 0 25px rgba(37,211,102,.35); }
.btn-wa:hover  { background:var(--green-wa-h); box-shadow:0 0 35px rgba(37,211,102,.5); }

.btn-phone { border:2px solid var(--gold); color:var(--gold); background:transparent; }
.btn-phone:hover { background:rgba(201,168,76,.1); }

.btn-ghost { border:1px solid rgba(255,255,255,.15); color:var(--text); background:transparent; }
.btn-ghost:hover { background:rgba(255,255,255,.05); }

.btn-gold { background:var(--gold); color:#0d0d0d; font-weight:700; }
.btn-gold:hover { opacity:.9; box-shadow:0 0 20px rgba(201,168,76,.4); }

.btn-gold-outline { border:1px solid rgba(201,168,76,.5); color:var(--gold); background:transparent; }
.btn-gold-outline:hover { background:rgba(201,168,76,.1); }

/* ── ANNOUNCEMENT BAR ── */
.ann-bar {
  background:rgba(201,168,76,.1); border-bottom:1px solid rgba(201,168,76,.2);
  height:2rem; overflow:hidden; position:relative;
}
.ann-bar .ann-text {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:.75rem; color:var(--gold); font-weight:500;
  transition:opacity .35s,transform .35s;
}
.ann-bar .ann-text.hide { opacity:0; transform:translateY(-8px); pointer-events:none; }

/* ── STICKY HEADER ── */
.sticky-wrap { position:fixed; top:0; left:0; right:0; z-index:50; }

.site-header {
  background:rgba(13,13,13,.95); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:.75rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between;
}
.header-logo img { height:2.5rem; width:auto; object-fit:contain; }
.header-phone {
  display:none; align-items:center; gap:.5rem;
  font-size:.875rem; font-weight:500; color:var(--text); transition:color var(--t);
}
.header-phone:hover { color:var(--gold); }
.header-phone i { color:var(--gold); }
.header-right { display:flex; align-items:center; gap:.5rem; }
.header-loc {
  display:none; align-items:center; gap:.375rem;
  font-size:.75rem; color:var(--text-muted); transition:color var(--t);
}
.header-loc:hover { color:var(--gold); }
@media(min-width:768px){
  .header-phone{display:flex}
  .header-loc{display:flex}
}

/* ── NAV BAR ── */
.site-nav {
  display:none; background:rgba(13,13,13,.98); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:0 1.5rem; align-items:center; justify-content:space-between;
}
@media(min-width:768px){ .site-nav{display:flex} }
.nav-links { display:flex; }
.nav-links a {
  padding:.75rem 1rem; font-size:.875rem; font-weight:500;
  color:var(--text-muted); transition:color var(--t); white-space:nowrap;
}
.nav-links a:hover { color:var(--text); }
.nav-ctas { display:flex; align-items:center; gap:.5rem; border-left:1px solid rgba(255,255,255,.1); padding-left:1rem; }

main { padding-top:88px; }
@media(min-width:768px){ main{padding-top:132px} }

/* ── HERO ── */
.hero {
  position:relative; min-height:90vh;
  display:flex; align-items:center; justify-content:center;
  padding:6rem 1rem; overflow:hidden;
}
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(13,13,13,.85) 0%,rgba(13,13,13,.7) 50%,rgba(13,13,13,1) 100%); }
.hero-radial  { position:absolute; inset:0; background:radial-gradient(ellipse at center,rgba(201,168,76,.08) 0%,transparent 70%); }

.hero-content { position:relative; z-index:10; max-width:56rem; margin:0 auto; text-align:center; }
.hero-logo { margin-bottom:2rem; display:flex; justify-content:center; }
.hero-logo img { height:9rem; width:auto; object-fit:contain; filter:drop-shadow(0 0 40px rgba(201,168,76,.35)); }
@media(min-width:768px){ .hero-logo img{height:12rem} }

.hero-prestige { font-size:.625rem; text-transform:uppercase; letter-spacing:.25em; color:rgba(201,168,76,.6); font-weight:500; margin-bottom:.75rem; }
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.375rem 1.25rem; border-radius:var(--radius-full);
  background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.3);
  color:var(--gold); font-size:.875rem; font-weight:600; margin-bottom:1.5rem;
}
.hero-seo { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.2em; color:rgba(201,168,76,.7); margin-bottom:1rem; }
.hero-h1 { font-size:clamp(2rem,5vw,3.75rem); font-weight:700; line-height:1.15; margin-bottom:1.5rem; letter-spacing:-.02em; }
.hero-sub { font-size:1.125rem; color:var(--text-muted); max-width:36rem; margin:0 auto 2.5rem; line-height:1.7; }
@media(min-width:768px){ .hero-sub{font-size:1.25rem} }
.hero-ctas { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }

.hero-stats {
  border-top:1px solid rgba(201,168,76,.15); padding-top:2.5rem;
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem;
  max-width:48rem; margin:3rem auto 0;
}
@media(min-width:768px){ .hero-stats{grid-template-columns:repeat(4,1fr)} }
.stat-val { display:block; font-size:1.75rem; font-family:'Playfair Display',serif; font-weight:700; }
@media(min-width:768px){ .stat-val{font-size:2rem} }
.stat-lbl { font-size:.875rem; font-weight:600; margin-top:.25rem; }
.stat-sub { font-size:.75rem; color:var(--text-muted); margin-top:.125rem; }

/* ── MARQUEE ── */
.marquee-wrap {
  overflow:hidden; border-top:1px solid rgba(201,168,76,.12); border-bottom:1px solid rgba(201,168,76,.12);
  background:linear-gradient(to right,var(--bg),rgba(201,168,76,.05),var(--bg));
  padding:1rem 0;
}
.marquee-track { display:flex; align-items:center; width:max-content; animation:marquee 35s linear infinite; }
.marquee-item  { display:flex; align-items:center; gap:.75rem; padding:0 1.5rem; font-size:.875rem; font-weight:500; color:rgba(201,168,76,.6); white-space:nowrap; }
.marquee-dot   { font-size:.625rem; color:var(--gold); }

/* ── TRUST STRIP ── */
.trust-strip { padding:1.25rem 1rem; border-bottom:1px solid rgba(255,255,255,.05); background:rgba(20,20,20,.3); }
.trust-inner { max-width:80rem; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.5rem 1.5rem; }
.trust-loc { display:flex; align-items:center; gap:.375rem; font-size:.75rem; color:var(--text-muted); transition:color var(--t); }
.trust-loc:hover { color:var(--gold); }
.trust-loc i { color:rgba(201,168,76,.5); font-size:.75rem; }

/* ── SECTION BASE ── */
.section { padding:3rem 1rem; }
@media(min-width:768px){ .section{padding:6rem 1rem} }
.section-dark { background:rgba(20,20,20,.3); }
.s-head { text-align:center; margin-bottom:3rem; }
.s-tag  { font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; color:rgba(201,168,76,.7); font-weight:500; display:block; margin-bottom:.75rem; }
.s-title { font-size:clamp(1.5rem,3.5vw,2.5rem); font-weight:700; }
.s-sub  { color:var(--text-muted); max-width:36rem; margin:.75rem auto 0; font-size:1rem; }

/* ── CONVERSION BAND ── */
.conv-band {
  padding:2rem 1rem; text-align:center;
  background:linear-gradient(to right,var(--bg),#120e01,var(--bg));
  border-top:1px solid rgba(201,168,76,.2); border-bottom:1px solid rgba(201,168,76,.2);
}
.conv-band .cb-tag { font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; color:rgba(201,168,76,.7); margin-bottom:.5rem; }
.conv-band h2 { font-size:clamp(1.1rem,2.5vw,1.5rem); margin-bottom:1.25rem; }
.cb-ctas { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }

/* ── WHY GRID ── */
.why-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media(min-width:768px){ .why-grid{grid-template-columns:repeat(3,1fr); gap:1.5rem} }
.why-card {
  display:flex; flex-direction:column; gap:.75rem; padding:1.25rem;
  border-radius:var(--radius); background:var(--bg-card); border:1px solid var(--border);
}
@media(min-width:768px){ .why-card{padding:1.5rem} }
.why-icon {
  width:2.75rem; height:2.75rem; border-radius:.75rem;
  background:rgba(201,168,76,.1); display:flex; align-items:center; justify-content:center;
  color:var(--gold); font-size:1.125rem; transition:background var(--t);
}
.why-card:hover .why-icon { background:rgba(201,168,76,.2); }
.why-card h3 { font-family:'Inter',sans-serif; font-size:.9rem; font-weight:600; }
@media(min-width:768px){ .why-card h3{font-size:1rem} }
.why-card p { font-size:.8rem; color:var(--text-muted); line-height:1.6; }

/* ── OFFERS ── */
.offers-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px){ .offers-grid{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1024px){ .offers-grid{grid-template-columns:repeat(3,1fr)} }
.offer-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem; display:flex; flex-direction:column; }
.offer-ico  { width:2.5rem; height:2.5rem; border-radius:.75rem; background:rgba(201,168,76,.1); display:flex; align-items:center; justify-content:center; color:var(--gold); margin-bottom:1rem; font-size:1rem; }
.offer-card h3 { font-family:'Playfair Display',serif; font-size:1.25rem; color:var(--gold); margin-bottom:.5rem; }
.offer-desc { font-size:.875rem; color:var(--text-muted); margin-bottom:1.25rem; flex:1; }
.offer-benefits { display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.5rem; }
.offer-benefit  { display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; }
.offer-benefit i { color:var(--gold); font-size:.75rem; margin-top:.2rem; }
.offer-ctas { display:flex; flex-direction:column; gap:.5rem; margin-top:auto; }
.octa-wa   { display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.625rem; border-radius:.75rem; background:var(--green-wa); color:#fff; font-size:.875rem; font-weight:500; transition:background var(--t); }
.octa-wa:hover { background:var(--green-wa-h); }
.octa-call { display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.625rem; border-radius:.75rem; border:1px solid rgba(255,255,255,.1); color:var(--text); font-size:.875rem; font-weight:500; transition:background var(--t); }
.octa-call:hover { background:rgba(255,255,255,.05); }

/* ── SERVICES ── */
.services-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:768px){ .services-grid{grid-template-columns:repeat(2,1fr)} }
.svc-card {
  display:flex; flex-direction:column;
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
}
@media(min-width:480px){ .svc-card{flex-direction:row} }
.svc-img { position:relative; width:100%; height:12rem; flex-shrink:0; overflow:hidden; }
@media(min-width:480px){ .svc-img{width:11rem; height:auto} }
.svc-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.svc-card:hover .svc-img img { transform:scale(1.05); }
.svc-badge { position:absolute; top:.75rem; left:.75rem; font-size:.625rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; padding:.25rem .5rem; border-radius:9999px; background:var(--gold); color:#0d0d0d; }
.svc-body { padding:1.25rem; display:flex; flex-direction:column; flex:1; }
.svc-body h3 { font-size:1.125rem; font-weight:700; margin-bottom:.25rem; }
.svc-tagline { font-size:.8rem; color:var(--gold); margin-bottom:.75rem; font-weight:500; }
.svc-desc { font-size:.8rem; color:var(--text-muted); line-height:1.65; margin-bottom:.75rem; flex:1; }
.svc-meta { display:flex; gap:.75rem; margin-bottom:.75rem; flex-wrap:wrap; }
.svc-meta span { font-size:.75rem; color:var(--text-muted); display:flex; align-items:center; gap:.375rem; }
.svc-meta i { color:var(--gold); font-size:.6875rem; }
.svc-cta { display:inline-flex; align-items:center; gap:.375rem; font-size:.8rem; color:var(--gold); font-weight:500; transition:gap var(--t); }
.svc-cta:hover { gap:.625rem; }

/* ── GALLERY ── */
.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; }
@media(min-width:768px){ .gallery-grid{grid-template-columns:repeat(4,1fr); gap:.75rem} }
.gallery-item { position:relative; border-radius:var(--radius); overflow:hidden; }
.gallery-item.featured { grid-row:span 2; }
.gallery-item img { width:100%; height:12rem; object-fit:cover; transition:transform .7s ease; display:block; }
@media(min-width:768px){ .gallery-item img{height:10rem} }
.gallery-item.featured img { height:24.5rem; }
@media(min-width:768px){ .gallery-item.featured img{height:20.5rem} }
.gallery-item:hover img { transform:scale(1.08); }
.gallery-lbl {
  position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.1) 50%,transparent 100%);
  display:flex; align-items:flex-end; padding:1rem;
  opacity:0; transition:opacity .4s ease;
}
.gallery-item:hover .gallery-lbl { opacity:1; }
.gallery-lbl span { color:#fff; font-size:.875rem; font-weight:600; letter-spacing:.05em; }
.gallery-ring { position:absolute; inset:0; border-radius:var(--radius); box-shadow:inset 0 0 0 1px rgba(255,255,255,0); transition:box-shadow .3s; }
.gallery-item:hover .gallery-ring { box-shadow:inset 0 0 0 1px rgba(201,168,76,.3); }

/* ── REVIEWS ── */
.reviews-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media(min-width:768px){ .reviews-grid{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1024px){ .reviews-grid{grid-template-columns:repeat(3,1fr)} }
.rev-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:1.25rem 1.5rem; display:flex; flex-direction:column; gap:1rem;
  position:relative; overflow:hidden;
}
.rev-quote { position:absolute; top:.75rem; right:1rem; font-size:4rem; font-family:'Playfair Display',serif; color:rgba(201,168,76,.08); line-height:1; pointer-events:none; user-select:none; }
.rev-top  { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.rev-author { display:flex; align-items:center; gap:.75rem; }
.rev-avatar {
  width:2.5rem; height:2.5rem; border-radius:50%;
  background:rgba(201,168,76,.15); border:1px solid rgba(201,168,76,.25);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); font-weight:700; font-size:.875rem; flex-shrink:0;
}
.rev-name { font-weight:600; font-size:.875rem; }
.rev-loc  { font-size:.75rem; color:var(--text-muted); }
.rev-stars { display:flex; gap:1px; flex-shrink:0; }
.rev-stars i { color:var(--gold); font-size:.8125rem; }
.rev-service { display:inline-block; font-size:.7rem; padding:.2rem .6rem; border-radius:9999px; border:1px solid rgba(201,168,76,.2); color:rgba(201,168,76,.7); }
.rev-text { font-size:.875rem; color:var(--text-muted); line-height:1.65; flex:1; }
.rev-foot { display:flex; align-items:center; justify-content:space-between; font-size:.75rem; color:rgba(255,255,255,.3); }

/* ── FAQ ── */
.faq-list { display:flex; flex-direction:column; gap:.75rem; max-width:48rem; margin:0 auto; }
.faq-item { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.faq-q {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.5rem; gap:1rem; background:none; cursor:pointer;
  text-align:left; color:var(--text); font-size:.9375rem; font-weight:500;
  font-family:'Inter',sans-serif; transition:color var(--t);
}
.faq-q:hover { color:var(--gold); }
.faq-q.open  { color:var(--gold); }
.faq-icon {
  width:1.25rem; height:1.25rem; border-radius:50%;
  border:1px solid rgba(201,168,76,.3); display:flex; align-items:center;
  justify-content:center; color:var(--gold); font-size:.625rem; flex-shrink:0;
  transition:transform var(--t);
}
.faq-q.open .faq-icon { transform:rotate(45deg); }
.faq-a { overflow:hidden; max-height:0; transition:max-height .4s ease; }
.faq-a.open { max-height:600px; }
.faq-a-inner {
  padding:1rem 1.5rem 1.25rem;
  font-size:.875rem; color:var(--text-muted); line-height:1.7;
  border-top:1px solid rgba(255,255,255,.05);
}

/* ── MEMBERSHIP ── */
.mem-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
@media(min-width:768px){ .mem-grid{grid-template-columns:repeat(2,1fr)} }
.mem-card {
  background:linear-gradient(135deg,rgba(201,168,76,.1),var(--bg-card));
  border:1px solid rgba(201,168,76,.2); border-radius:var(--radius-lg); padding:2rem;
}
.mem-card h3 { font-size:1.5rem; margin-bottom:.75rem; }
.mem-card > p { font-size:.875rem; color:var(--text-muted); margin-bottom:1.25rem; }
.mem-tiers { display:flex; flex-direction:column; gap:.75rem; margin-bottom:1.5rem; }
.tier-row { display:flex; align-items:center; justify-content:space-between; padding:.75rem 1rem; border-radius:.75rem; border:1px solid; }
.tier-silver  { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.05); }
.tier-gold    { border-color:rgba(201,168,76,.4);  background:rgba(201,168,76,.1); }
.tier-diamond { border-color:rgba(250,204,21,.4);  background:rgba(250,204,21,.05); }
.tier-name    { font-weight:600; font-size:.875rem; }
.tier-sess    { font-size:.75rem; color:var(--text-muted); }
.tier-price   { font-weight:700; color:var(--gold); font-size:.875rem; }
.loyalty-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2rem; }
.loyalty-card h3 { font-size:1.5rem; margin-bottom:.75rem; }
.loyalty-card > p { font-size:.875rem; color:var(--text-muted); margin-bottom:1.25rem; }
.loyalty-list { display:flex; flex-direction:column; gap:.75rem; margin-bottom:1.5rem; }
.loyalty-item { display:flex; align-items:center; gap:.75rem; font-size:.875rem; }
.loyalty-item i { color:var(--gold); font-size:.75rem; }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr; gap:3rem; }
@media(min-width:1024px){ .contact-grid{grid-template-columns:repeat(2,1fr); align-items:start} }
.contact-cards { display:flex; flex-direction:column; gap:1.5rem; }
.c-card { display:flex; align-items:flex-start; gap:1rem; padding:1.25rem; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); }
.c-icon { width:1.5rem; height:1.5rem; color:var(--gold); flex-shrink:0; margin-top:.125rem; font-size:1rem; }
.c-card strong { font-weight:500; display:block; margin-bottom:.25rem; }
.c-card a,.c-card span { font-size:.875rem; color:var(--text-muted); display:block; transition:color var(--t); }
.c-card a:hover { color:var(--gold); }
.contact-map { border-radius:var(--radius); overflow:hidden; border:1px solid var(--border); }
.contact-map iframe { width:100%; height:20rem; border:none; display:block; }
.cta-group { display:flex; flex-direction:column; gap:1rem; }
@media(min-width:480px){ .cta-group{flex-direction:row; flex-wrap:wrap} }

/* ── FOOTER ── */
.site-footer { background:#0a0700; border-top:1px solid rgba(201,168,76,.15); padding:3rem 1rem 1.5rem; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; max-width:72rem; margin:0 auto 2rem; }
@media(min-width:768px){ .footer-grid{grid-template-columns:2fr 1fr 1fr} }
.footer-logo img { height:3rem; width:auto; margin-bottom:.75rem; }
.footer-tagline { font-size:.875rem; color:var(--text-muted); max-width:18rem; line-height:1.6; margin-bottom:1rem; }
.footer-col h4 { font-family:'Playfair Display',serif; font-size:1rem; color:#fff; margin-bottom:1rem; }
.footer-links { display:flex; flex-direction:column; gap:.75rem; }
.footer-links a,.footer-links li { display:flex; align-items:center; gap:.375rem; font-size:.875rem; color:var(--text-muted); transition:color var(--t); }
.footer-links a:hover { color:var(--gold); }
.footer-links i { font-size:.875rem; }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.05); padding-top:1.5rem;
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  gap:.75rem; font-size:.75rem; color:rgba(255,255,255,.3);
  max-width:72rem; margin:0 auto; text-align:center;
}
@media(min-width:768px){ .footer-bottom{flex-direction:row; text-align:left} }
.footer-bottom a { color:var(--gold); opacity:.7; transition:opacity var(--t); }
.footer-bottom a:hover { opacity:1; }

/* ── FLOATING CTAs ── */
.floating-ctas { position:fixed; right:1.25rem; bottom:5.5rem; z-index:40; display:flex; flex-direction:column; gap:.75rem; }
@media(min-width:768px){ .floating-ctas{bottom:1.5rem} }
.floating-btn {
  display:flex; align-items:center; gap:.5rem; padding:.75rem 1.25rem;
  border-radius:9999px; font-size:.875rem; font-weight:600;
  box-shadow:0 4px 20px rgba(0,0,0,.4); transition:all .25s ease;
  white-space:nowrap; font-family:'Inter',sans-serif;
}
.floating-btn:hover { transform:scale(1.04); }
.f-phone   { background:var(--bg-card); border:1px solid rgba(255,255,255,.1); color:var(--text); }
.f-wa      { background:var(--green-wa); color:#fff; box-shadow:0 4px 20px rgba(37,211,102,.35); }
.f-wa:hover{ background:var(--green-wa-h); }
.f-offers  { background:var(--gold); color:#0d0d0d; }

/* ── MOBILE BOTTOM BAR ── */
.mobile-bar {
  display:flex; position:fixed; bottom:0; left:0; right:0; z-index:50;
  background:rgba(13,13,13,.95); backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,.08); padding:.75rem 1rem; gap:.75rem;
}
@media(min-width:768px){ .mobile-bar{display:none} }
.mobile-bar a,.mobile-bar button { flex:1; }

/* ── MODAL / OVERLAY ── */
.overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.7); backdrop-filter:blur(4px); z-index:100; align-items:center; justify-content:center; padding:1rem; }
.overlay.open { display:flex; }
.modal {
  background:var(--bg-card); border:1px solid rgba(201,168,76,.2);
  border-radius:var(--radius-lg); padding:2rem; max-width:28rem; width:100%;
  position:relative; text-align:center;
  animation:fade-in-up .3s ease;
}
.modal-close { position:absolute; top:1rem; right:1rem; background:none; border:none; color:var(--text-muted); font-size:1.25rem; cursor:pointer; transition:color var(--t); }
.modal-close:hover { color:var(--text); }
.modal-badge { display:inline-block; padding:.25rem .75rem; border-radius:9999px; background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2); color:var(--gold); font-size:.75rem; margin-bottom:1rem; }
.modal h3 { font-size:1.5rem; margin-bottom:.5rem; }
.modal p  { font-size:.875rem; color:var(--text-muted); margin-bottom:1.5rem; }
.modal-ctas { display:flex; flex-direction:column; gap:.75rem; }

/* ── DRAWER ── */
.drawer-overlay { display:none; position:fixed; inset:0; z-index:99; background:rgba(0,0,0,.5); }
.drawer-overlay.open { display:block; }
.drawer {
  position:fixed; right:0; top:0; bottom:0; width:min(24rem,90vw);
  background:var(--bg-card); border-left:1px solid rgba(201,168,76,.15);
  z-index:100; padding:1.5rem; overflow-y:auto;
  transform:translateX(100%); transition:transform .35s ease;
}
.drawer.open { transform:none; }
.drawer-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,.05); }
.drawer-head h3 { font-size:1.25rem; color:var(--gold); }
.drawer-item { background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; margin-bottom:.75rem; }
.drawer-item h4 { font-size:1rem; color:var(--gold); margin-bottom:.25rem; }
.drawer-item p  { font-size:.8rem; color:var(--text-muted); margin-bottom:.75rem; line-height:1.5; }

/* ── COUNTDOWN ── */
.countdown { display:flex; gap:1.5rem; justify-content:center; margin-bottom:1.5rem; }
.cd-unit { text-align:center; }
.cd-val   { font-size:2.5rem; font-family:'Playfair Display',serif; font-weight:700; color:var(--gold); display:block; line-height:1; min-width:2.5rem; }
.cd-lbl   { font-size:.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.1em; margin-top:.25rem; }

/* ── RATING GROUP ── */
.rating-group { display:flex; align-items:center; gap:.5rem; justify-content:center; }
.rating-group .stars { display:flex; }
.rating-group .stars i { color:var(--gold); font-size:1.125rem; }

/* ── SECTION GRADIENT BACKGROUNDS ── */
.bg-why  { background:linear-gradient(to bottom,rgba(20,20,20,.5),var(--bg)); }
.bg-mem  { background:linear-gradient(to bottom,rgba(201,168,76,.03),var(--bg)); }
