*{box-sizing:border-box}
html{scroll-behavior:smooth}
:root{
  --bg:#080808;
  --panel:#141414;
  --panel-2:#0d0d0e;
  --line:#2b2b2d;
  --muted:#8a8a8f;
  --text:#f2f2f2;
  --gold:#e0ba5d;
  --gold-soft:#8f7333;
}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 Arial,sans-serif}
a,button,input,select{font:inherit}
img{display:block}
.hero-head{min-height:700px;position:relative;overflow:hidden;background:
  radial-gradient(circle at 50% 10%,#2d2a1d55,transparent 34%),
  linear-gradient(180deg,#070707 0%,#0a0a0a 70%,#050505 100%);
  border-bottom:1px solid #292929}
.hero-head:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff05,transparent);pointer-events:none}
.hero-head:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#0002 55%,#0009 100%);pointer-events:none}
.nav-wrap{position:relative;z-index:5;max-width:1180px;margin:auto;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}
.wordmark{font-weight:900;letter-spacing:.2em;font-size:15px}
.wordmark span{font-size:10px;letter-spacing:.3em;color:#9a9a9a;margin-left:8px}
.langs{display:flex;gap:6px}
.langs button{background:#111;color:#999;border:1px solid #3f3f3f;padding:7px 10px;border-radius:7px;cursor:pointer}
.langs .active{background:var(--gold);color:#111;border-color:var(--gold)}
.logo-lockup{position:relative;z-index:2;width:min(420px,74vw);height:330px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.logo-lockup:after{content:"";position:absolute;width:240px;height:36px;bottom:20px;border-radius:50%;background:#0009;filter:blur(18px);z-index:-1}
.logo-lockup img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 42px #000)}
.hero-content{position:relative;z-index:3;max-width:880px;margin:-8px auto 0;text-align:center;padding:0 20px 115px}
.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:900;color:var(--gold);text-transform:uppercase}
.hero-content h1{font:clamp(42px,6vw,72px)/1.02 Georgia,serif;margin:14px 0 16px;letter-spacing:-.025em}
.hero-content p{color:#c9c9c9;font-size:18px;max-width:650px;margin:auto}
.hero-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #4a4a4a;border-radius:9px;color:#fff;background:#101010;text-decoration:none;font-weight:800;cursor:pointer;margin:22px 4px 0;transition:.18s ease}
.btn:hover{transform:translateY(-1px);border-color:#777;background:#151515}
.gold{background:var(--gold);color:#111;border-color:var(--gold)}
.gold:hover{background:#edc970;border-color:#edc970}
.hero-head nav{position:absolute;z-index:4;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:34px;padding:14px 18px;background:#050505e8;border-top:1px solid #222;backdrop-filter:blur(10px)}
.hero-head nav a{color:#ddd;text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}
.hero-head nav a:hover{color:var(--gold)}
.section{max-width:1180px;margin:auto;padding:92px 22px}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;flex-wrap:wrap;margin-bottom:30px}
.section h2{font:42px/1.08 Georgia,serif;margin:10px 0 0;letter-spacing:-.02em}
.section-intro{max-width:520px;color:var(--muted);margin:0}
.dark{max-width:none;background:linear-gradient(180deg,#101011,#0d0d0e);padding-left:max(22px,calc((100% - 1180px)/2));padding-right:max(22px,calc((100% - 1180px)/2));border-top:1px solid #1f1f20;border-bottom:1px solid #1f1f20}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service{background:linear-gradient(180deg,#171718,#121213);border:1px solid #303033;border-radius:14px;padding:23px;min-height:150px;position:relative;overflow:hidden}
.service:after{content:"";position:absolute;inset:auto -40px -70px auto;width:140px;height:140px;border-radius:50%;background:#e0ba5d0c}
.service h3{margin:0 0 10px;font-size:18px}
.price{color:var(--gold);font-size:25px;font-weight:900;letter-spacing:-.02em}
.duration{color:#777;font-size:12px;margin-top:6px}
.service-card{width:100%;text-align:left;color:#eee;cursor:pointer;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}
.service-card:hover{transform:translateY(-3px);border-color:var(--gold-soft);box-shadow:0 14px 32px #0004}
.service-card.chosen{border-color:var(--gold);background:linear-gradient(180deg,#1b1a16,#14130f);box-shadow:0 0 0 1px #e0ba5d44,0 16px 32px #0004}
.booking-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.booking-card{max-width:900px;background:linear-gradient(180deg,#171718,#121213);border:1px solid #303033;border-radius:18px;padding:28px;box-shadow:0 20px 55px #0003}
.step{margin-bottom:26px}
.step>label,.customer label>span{display:block;font-weight:900;margin-bottom:8px}
.booking-card select,.booking-card input{width:100%;background:#0b0b0c;border:1px solid #444;border-radius:9px;color:#fff;padding:13px 14px;font-size:15px;outline:none}
.booking-card select:focus,.booking-card input:focus,.date-button:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e0ba5d18}
.date-button{width:100%;padding:14px;background:#0b0b0c;border:1px solid #444;border-radius:9px;color:#fff;display:flex;justify-content:space-between;font-size:15px;cursor:pointer;text-align:left}
.booking-card input[type=date]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.calendar{margin-top:10px;padding:14px;background:#0b0b0c;border:1px solid #3a3a3a;border-radius:12px}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.calendar-head button{background:#171717;color:#fff;border:1px solid #444;border-radius:7px;padding:7px 11px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-grid span{text-align:center;color:#777;font-size:11px;padding:4px}
.day{padding:11px 4px;border:1px solid #303030;background:#121212;color:#ddd;border-radius:7px;cursor:pointer}
.day:hover{border-color:var(--gold)}
.day.disabled{opacity:.25;cursor:not-allowed}
.day.selected{background:var(--gold);color:#111;border-color:var(--gold);font-weight:900}
.hint{display:block;color:#777;margin-top:8px;font-size:12px}
.slots{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.slot{padding:11px;border-radius:8px;background:#0b0b0c;border:1px solid #444;color:#ddd;cursor:pointer;transition:.15s ease}
.slot:hover{border-color:#777}
.slot.selected{background:var(--gold);color:#111;border-color:var(--gold);font-weight:900}
.closed{padding:15px;border:1px dashed #555;color:#888;border-radius:9px;background:#101010}
.customer{border-top:1px solid #303033;padding-top:22px}
.customer>label{display:block;margin:0 0 16px}
.phone-wrap{display:flex;margin-top:8px}
.phone-wrap>span{display:flex;align-items:center;padding:0 13px;background:#222;border:1px solid #444;border-right:0;border-radius:9px 0 0 9px;color:#ddd;font-weight:900}
.phone-wrap input{border-radius:0 9px 9px 0!important}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0}
.summary div{padding:13px;background:#0b0b0c;border:1px solid #292929;border-radius:9px}
.summary small{color:#777;font-size:10px;display:block;letter-spacing:.08em}
.summary b{display:block;margin-top:4px}
.wide{width:100%;margin-top:0}
.status{min-height:20px;color:var(--gold)}
.gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.gallery img{width:100%;height:360px;object-fit:cover;border-radius:14px;border:1px solid #303033;box-shadow:0 16px 40px #0003}
.gallery .big{height:520px}
.location{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:linear-gradient(180deg,#171718,#121213);border:1px solid #303033;border-radius:18px;padding:30px}
.address{font-size:18px;line-height:1.75}
.location-actions{display:flex;gap:8px;flex-wrap:wrap}
.map{min-height:330px;border-radius:14px;background:
  radial-gradient(circle at 50% 35%,#3f3a2855,transparent 35%),
  linear-gradient(135deg,#252527,#0d0d0e);
  border:1px solid #303033;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:46px}
.map b{font-size:16px}
.map span{font-size:13px;color:#888}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:20;background:#25d366;color:#fff;text-decoration:none;padding:14px 17px;border-radius:30px;font-weight:900;box-shadow:0 12px 30px #0005}
footer{border-top:1px solid #292929;padding:36px 22px;color:#777}
.footer-inner{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.footer-brand{color:#ddd;font-weight:800}
footer a{color:#ddd;text-decoration:none}
.booking-success-card{margin-top:18px;padding:22px;border:1px solid #564a2b;border-radius:16px;background:linear-gradient(180deg,#1c1911,#111);box-shadow:0 12px 35px #0005}
.booking-success-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold);color:#111;font-size:26px;font-weight:900;margin-bottom:12px}
.booking-success-card h3{font:28px Georgia,serif;margin:0 0 18px}
.booking-success-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.booking-success-grid div{background:#0b0b0c;border:1px solid #2d2d2d;border-radius:9px;padding:11px}
.booking-success-grid small,.booking-success-address small{display:block;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.booking-success-grid b{display:block;margin-top:4px}
.booking-success-address{margin-top:12px;padding:14px;background:#0b0b0c;border:1px solid #2d2d2d;border-radius:9px}
.booking-success-address b,.booking-success-address span{display:block;margin-top:5px}
.booking-success-address span{color:#aaa;font-size:13px;line-height:1.5}
.booking-success-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.booking-success-actions .btn{margin:0}
@media(max-width:800px){
  .logo-lockup{height:285px}
  .hero-head{min-height:650px}
  .service-grid{grid-template-columns:1fr 1fr}
  .gallery,.location{grid-template-columns:1fr}
  .gallery .big,.gallery img{height:340px}
  .summary{grid-template-columns:1fr 1fr}
  .slots{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:560px){
  .nav-wrap{padding:15px 16px}
  .wordmark span{display:none}
  .logo-lockup{height:245px;width:min(320px,78vw)}
  .hero-content{margin-top:-5px;padding-bottom:120px}
  .hero-content h1{font-size:44px}
  .hero-content p{font-size:16px}
  .hero-head{min-height:665px}
  .hero-head nav{gap:18px;overflow:auto;justify-content:flex-start;padding-left:16px}
  .section{padding:68px 18px}
  .section h2{font-size:36px}
  .service-grid{grid-template-columns:1fr}
  .slots{grid-template-columns:repeat(3,1fr)}
  .calendar{padding:10px}
  .day{padding:9px 2px}
  .booking-card{padding:20px}
  .location{padding:22px}
  .booking-success-grid{grid-template-columns:1fr 1fr}
  .booking-success-actions .btn{width:100%}
  .footer-inner{align-items:flex-start;flex-direction:column}
}


/* POLISH STEP 2 */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}
.hero-content,.logo-lockup{animation:heroIn .7s ease both}
.logo-lockup{animation-delay:.05s}.hero-content{animation-delay:.12s}
@keyframes heroIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.hero-trust{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}
.hero-trust span{border:1px solid #3a3a3a;background:#0e0e0ecc;color:#bcbcbc;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}

.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 35%,#ffffff08 50%,transparent 65%);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}
.service-card:hover:before{transform:translateX(120%)}

.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 20px}
.booking-progress div{background:#0b0b0c;border:1px solid #292929;border-radius:9px;padding:10px;text-align:center;color:#777;font-size:11px;font-weight:800;letter-spacing:.04em}
.booking-progress div strong{display:block;color:#d8d8d8;font-size:13px;margin-top:3px}
.booking-card .step,.booking-card .customer{scroll-margin-top:20px}

.gallery img{cursor:zoom-in;transition:transform .25s ease,border-color .25s ease,filter .25s ease}
.gallery img:hover{transform:translateY(-3px);border-color:#6d5a2f;filter:brightness(1.04)}
.lightbox{position:fixed;inset:0;z-index:80;background:#000d;display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:14px;border:1px solid #333;box-shadow:0 25px 80px #000}
.lightbox button{position:fixed;right:22px;top:18px;width:44px;height:44px;border-radius:50%;border:1px solid #555;background:#111;color:#fff;font-size:24px;cursor:pointer}

.location .map{position:relative;overflow:hidden}
.location .map:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,#e0ba5d08,transparent);pointer-events:none}

.section-divider{height:1px;background:linear-gradient(90deg,transparent,#3a3a3a,transparent);max-width:1180px;margin:0 auto}

.whatsapp-float{transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 34px #0006}

@media(max-width:560px){
  .hero-trust{gap:6px}.hero-trust span{font-size:11px;padding:6px 8px}
  .booking-progress{grid-template-columns:1fr 1fr}
  .lightbox{padding:12px}.lightbox button{right:12px;top:12px}
}


/* EXPANDED SALON + HAIRCUT GALLERY */
.gallery-expanded{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  grid-auto-rows:245px;
  gap:14px;
}
.gallery-expanded img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:14px;
}
.gallery-expanded .big{
  grid-row:span 2;
  height:100%;
}
.gallery-expanded .gallery-cut{
  object-position:center;
}
@media(max-width:850px){
  .gallery-expanded{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:300px;
  }
  .gallery-expanded .big{
    grid-row:span 1;
    grid-column:span 2;
  }
}
@media(max-width:560px){
  .gallery-expanded{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:220px;
    gap:10px;
  }
  .gallery-expanded .big{
    grid-column:span 2;
    height:300px;
  }
  .gallery-expanded .gallery-salon:not(.big){
    grid-column:span 2;
    height:260px;
  }
}


/* POLISH STEP 3 — BOOKING UX */
.booking-card .step,.booking-card .customer{
  border-radius:12px;
  transition:background .2s ease,box-shadow .2s ease,padding .2s ease;
}
.booking-card .step-active{
  background:#e0ba5d08;
  box-shadow:inset 3px 0 0 #e0ba5d;
  padding-left:14px;
  padding-right:10px;
}
.summary div{
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.summary div:has(b:not(:empty)){
  border-color:#343434;
}
.summary div:hover{
  border-color:#66562f;
  transform:translateY(-1px);
}
#book{
  min-height:54px;
  font-size:16px;
  letter-spacing:.01em;
  box-shadow:0 12px 28px #0004;
}
#book:hover{box-shadow:0 15px 34px #0005}
.status:not(:empty){
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #4c4227;
  border-radius:9px;
  background:#e0ba5d0a;
}
.booking-reassurance{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
  color:#858585;
  font-size:11px;
}
.booking-reassurance span{
  padding:6px 8px;
  border:1px solid #292929;
  border-radius:999px;
  background:#0d0d0e;
}
.back-to-top{
  position:fixed;
  right:24px;
  bottom:78px;
  z-index:19;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid #4a4a4a;
  background:#111;
  color:#e0ba5d;
  font-size:20px;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:.2s ease;
  box-shadow:0 10px 25px #0005;
}
.back-to-top.show{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.back-to-top:hover{
  border-color:#e0ba5d;
  transform:translateY(-2px);
}
@media(max-width:560px){
  .booking-card .step-active{padding-left:10px}
  .booking-reassurance{display:grid;grid-template-columns:1fr}
  .booking-reassurance span{text-align:center}
  .back-to-top{right:18px;bottom:78px}
  .summary b{font-size:14px}
}


/* POLISH STEP 4 — FASTER BOOKING FLOW */
.service-state-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.service-card.chosen:after{
  content:"✓";
  position:absolute;
  top:13px;
  right:13px;
  width:25px;
  height:25px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e0ba5d;
  color:#111;
  font-weight:900;
  box-shadow:0 5px 15px #0005;
}
.booking-card{
  max-width:820px;
}
.booking-card .step{
  margin-bottom:18px;
}
.booking-card .step>label{
  font-size:15px;
  margin-bottom:7px;
}
.slots{
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.slot{
  padding:9px 5px;
  min-height:39px;
  font-size:13px;
}
.calendar{
  padding:11px;
}
.day{
  padding:8px 3px;
}
.summary{
  margin:18px 0;
}
.customer{
  padding-top:17px;
}
.booking-reassurance{
  margin-top:9px;
}
@media(max-width:800px){
  .slots{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:560px){
  .slots{
    grid-template-columns:repeat(4,1fr);
    gap:6px;
  }
  .slot{
    padding:9px 3px;
    min-height:38px;
    font-size:13px;
  }
  .booking-card{padding:18px}
  .booking-card .step{margin-bottom:16px}
  .calendar{padding:8px}
  .day{padding:8px 1px}
}


/* PROGRESSIVE BOOKING WIZARD */
.wizard-intro{margin-top:12px}
.hidden-until-service{display:none}
.hidden-until-service.wizard-visible{display:block}
.wizard-shell{max-width:900px}
.wizard-card{padding:18px}
.wizard-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.wizard-choice>div{background:#0b0b0c;border:1px solid #2d2d2d;border-radius:10px;padding:10px 12px}
.wizard-choice small{display:block;color:#777;font-size:9px;letter-spacing:.1em}
.wizard-choice b{display:block;margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-panel{border:1px solid #313133;border-radius:13px;background:#111112;margin-top:10px;overflow:hidden;transition:border-color .2s ease,opacity .2s ease}
.wizard-panel.locked{opacity:.35;pointer-events:none}
.wizard-panel.active{border-color:#8f7333;box-shadow:0 0 0 1px #e0ba5d22}
.wizard-panel.completed{border-color:#394033}
.wizard-panel-head{width:100%;min-height:60px;display:flex;align-items:center;gap:12px;border:0;color:#eee;background:transparent;padding:10px 14px;text-align:left;cursor:pointer}
.wizard-panel-head small{display:block;color:#777;font-size:9px;letter-spacing:.11em}
.wizard-panel-head b{display:block;margin-top:2px;font-size:15px}
.wizard-step-no{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#1d1d1e;border:1px solid #444;display:flex;align-items:center;justify-content:center;color:#e0ba5d;font-weight:900}
.wizard-check{margin-left:auto;color:#74c98a;font-weight:900;opacity:0}
.wizard-panel.completed .wizard-check{opacity:1}
.wizard-body{padding:0 14px 14px}
.wizard-panel.completed:not(.active) .wizard-body{display:none}
.wizard-panel.locked .wizard-body{display:none}
.wizard-customer{border-top:0;padding-top:0}
.wizard-card .slots{grid-template-columns:repeat(6,1fr)}
.wizard-card .slot{padding:9px 4px}
@media(max-width:700px){
  .wizard-choice{grid-template-columns:1fr 1fr 1fr}
  .wizard-choice b{font-size:12px}
  .wizard-card .slots{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:480px){
  .wizard-card{padding:12px}
  .wizard-choice{grid-template-columns:1fr}
  .wizard-choice>div{display:flex;justify-content:space-between;gap:12px;align-items:center}
  .wizard-choice small{margin:0}
  .wizard-choice b{margin:0;max-width:70%;text-align:right}
  .wizard-panel-head{min-height:56px;padding:9px 11px}
  .wizard-body{padding:0 11px 11px}
}


/* STEP 5 — SMARTER DATE/TIME + COMPACT PROGRESS */
.wizard-progress{
  display:grid;
  grid-template-columns:auto 1fr auto 1fr auto 1fr auto;
  gap:8px;
  align-items:center;
  margin:2px 0 14px;
}
.progress-step{
  display:flex;
  align-items:center;
  gap:7px;
  color:#666;
  white-space:nowrap;
}
.progress-step span{
  width:24px;height:24px;border-radius:50%;
  border:1px solid #3b3b3b;background:#151515;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:900;
}
.progress-step b{font-size:11px}
.progress-step.active{color:#e0ba5d}
.progress-step.active span{border-color:#e0ba5d;color:#111;background:#e0ba5d}
.progress-step.done{color:#a9cdb0}
.progress-step.done span{border-color:#5d8865;background:#17301d;color:#a9e5b4}
.progress-line{height:1px;background:#303030}
.time-groups{display:grid;gap:12px}
.time-group{background:#0c0c0d;border:1px solid #292929;border-radius:10px;padding:10px}
.time-group-title{font-size:10px;letter-spacing:.1em;color:#777;font-weight:900;margin-bottom:8px;text-transform:uppercase}
.time-group .slots{margin:0}
.date-quick-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.date-quick-row button{border:1px solid #3a3a3a;background:#111;color:#ddd;border-radius:8px;padding:7px 10px;cursor:pointer;font-size:12px;font-weight:700}
.date-quick-row button:hover{border-color:#e0ba5d}
@media(max-width:560px){
  .wizard-progress{grid-template-columns:repeat(4,1fr);gap:5px}
  .progress-line{display:none}
  .progress-step{justify-content:center;gap:4px}
  .progress-step b{font-size:10px}
}


/* STEP 6 — DIRECT CALENDAR SELECTION */
.date-quick-row{display:none!important}
.wizard-panel #calendar{margin-top:0}
.wizard-panel #calendar.hidden{display:block!important}


/* STEP 7 — COMPACT COMPLETED STEPS */
.wizard-panel-head em{
  display:none;
  color:#9b9b9b;
  font-style:normal;
  font-size:11px;
  margin-top:3px;
}
.wizard-panel.completed:not(.active) .wizard-panel-head b{display:none}
.wizard-panel.completed:not(.active) .wizard-panel-head em{display:block}
.wizard-panel.completed:not(.active) .wizard-panel-head{
  min-height:52px;
  background:#0d0f0d;
}
.wizard-panel.completed:not(.active) .wizard-step-no{
  background:#17301d;
  color:#a9e5b4;
  border-color:#5d8865;
}
.wizard-choice{position:sticky;top:8px;z-index:4;background:#121213dd;backdrop-filter:blur(8px);padding:4px;border-radius:12px}
.booking-success-card{
  border-color:#7a6535;
  background:
    radial-gradient(circle at 10% 0%,#e0ba5d12,transparent 28%),
    linear-gradient(180deg,#1c1911,#101010);
}
.booking-success-card h3{font-size:30px}
.booking-success-actions .gold{min-width:180px}
@media(max-width:560px){
  .wizard-choice{top:4px}
  .wizard-panel.completed:not(.active) .wizard-panel-head{min-height:48px}
}


/* STEP 8 — MOBILE + PERFORMANCE POLISH */
button,.btn,.slot,.day,.service-card{
  -webkit-tap-highlight-color:transparent;
}
button,.btn{
  touch-action:manipulation;
}
@media(max-width:560px){
  body{font-size:14px}
  .nav-wrap{gap:10px}
  .langs button{min-width:42px;min-height:38px}
  .hero-head nav a{padding:5px 0}
  .service-card{min-height:138px}
  .service-card h3{font-size:16px}
  .price{font-size:22px}
  .wizard-card{border-radius:14px}
  .wizard-panel-head{min-height:58px}
  .wizard-step-no{width:30px;height:30px;flex-basis:30px}
  .slot{min-height:42px}
  .day{min-height:38px}
  .booking-card input,.booking-card select,.date-button{font-size:16px}
  .btn{min-height:50px}
  .whatsapp-float{right:14px;bottom:14px;padding:13px 16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}


/* STEP 10 — GALLERY POLISH */
.gallery-section{overflow:hidden}
.gallery-heading{
  display:flex;justify-content:space-between;align-items:end;gap:24px;
  margin-bottom:24px
}
.gallery-heading h2{margin-bottom:8px}
.gallery-intro{margin:0;color:#999;line-height:1.6;max-width:560px}
.gallery-count{
  flex:0 0 auto;border:1px solid #3b3320;color:#dcb75b;background:#12100b;
  border-radius:999px;padding:8px 12px;font-size:10px;font-weight:900;
  letter-spacing:.12em
}
.gallery-showcase{display:grid;gap:12px}
.gallery-showcase figure{margin:0;position:relative;overflow:hidden;background:#111;border:1px solid #2e2e2e}
.gallery-showcase img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease,filter .35s ease
}
.gallery-showcase figure:hover img{transform:scale(1.018);filter:brightness(1.04)}
.gallery-feature{height:430px;border-radius:18px}
.gallery-feature img{object-position:center 43%}
.gallery-secondary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px
}
.gallery-secondary figure{height:260px;border-radius:15px}
.gallery-secondary figure:nth-child(1) img{object-position:center}
.gallery-secondary figure:nth-child(2) img{object-position:center 45%}
.gallery-secondary figure:nth-child(3) img{object-position:center 40%}
.gallery-secondary figure:nth-child(4) img{object-position:center 45%}
.gallery-showcase figcaption{
  position:absolute;left:12px;bottom:12px;
  padding:7px 10px;border-radius:999px;
  background:#080808d9;border:1px solid #ffffff20;
  color:#eee;font-size:10px;font-weight:800;letter-spacing:.04em;
  backdrop-filter:blur(7px)
}
@media(max-width:800px){
  .gallery-feature{height:360px}
  .gallery-secondary{grid-template-columns:1fr 1fr}
  .gallery-secondary figure{height:260px}
}
@media(max-width:560px){
  .gallery-heading{align-items:flex-start;margin-bottom:16px}
  .gallery-count{display:none}
  .gallery-intro{font-size:13px}
  .gallery-showcase{gap:8px}
  .gallery-feature{height:300px;border-radius:14px}
  .gallery-secondary{gap:8px}
  .gallery-secondary figure{height:205px;border-radius:12px}
  .gallery-showcase figcaption{left:9px;bottom:9px;padding:6px 8px;font-size:9px}
}
@media(max-width:380px){
  .gallery-feature{height:270px}
  .gallery-secondary figure{height:185px}
}


/* STEP 11 — PREMIUM COLOR & SURFACE POLISH */
:root{
  --bg:#070707;
  --panel:#121212;
  --panel-2:#0b0b0c;
  --line:#2b2925;
  --muted:#918d85;
  --text:#f4f1ea;
  --gold:#d8b35b;
  --gold-soft:#80682f;
  --gold-light:#f0d38a;
  --warm-black:#0d0c0a;
}

/* Global tone */
body{
  background:
    radial-gradient(circle at 50% -10%,#251f1230,transparent 30%),
    #070707;
  color:var(--text);
}

/* Premium hero depth */
.hero-head{
  background:
    radial-gradient(circle at 50% 9%,#40351d45,transparent 30%),
    radial-gradient(circle at 18% 45%,#17130c55,transparent 34%),
    linear-gradient(180deg,#050505 0%,#090806 65%,#050505 100%);
}
.hero-head:before{
  background:linear-gradient(90deg,transparent,#d8b35b08,transparent);
}
.eyebrow{color:var(--gold-light)}
.hero-content p{color:#c7c2b8}

/* Navigation */
.hero-head nav{
  background:#050505ee;
  border-top-color:#28251f;
}
.hero-head nav a{
  color:#cfcac1;
  transition:color .18s ease;
}
.hero-head nav a:hover{color:var(--gold-light)}

/* Buttons */
.btn{
  background:linear-gradient(180deg,#151515,#0e0e0e);
  border-color:#45413a;
  box-shadow:inset 0 1px 0 #ffffff08;
}
.btn:hover{
  background:linear-gradient(180deg,#1b1a18,#111);
  border-color:#71654c;
}
.gold{
  background:linear-gradient(180deg,#e7c86f,#cda648);
  border-color:#e1be64;
  box-shadow:
    inset 0 1px 0 #fff6c744,
    0 8px 22px #0004;
}
.gold:hover{
  background:linear-gradient(180deg,#f0d682,#d5ae4c);
  border-color:#f0d682;
}

/* Language buttons */
.langs button{
  background:#0d0d0d;
  border-color:#39352e;
}
.langs .active{
  background:linear-gradient(180deg,#e4c46c,#cda548);
  border-color:#e1bd62;
}

/* Sections */
.dark{
  background:
    radial-gradient(circle at 75% 20%,#2b241433,transparent 30%),
    linear-gradient(180deg,#0f0f0f,#0b0b0c);
  border-color:#24221e;
}
.section-divider{
  background:linear-gradient(90deg,transparent,#51442a,transparent);
}

/* Cards / services */
.service,
.booking-card,
.location{
  background:
    linear-gradient(180deg,#171614,#11110f);
  border-color:#332f28;
  box-shadow:
    inset 0 1px 0 #ffffff06,
    0 18px 45px #0002;
}
.service-card:hover{
  border-color:#8b7137;
  box-shadow:0 16px 38px #0005;
}
.service-card.chosen{
  background:
    radial-gradient(circle at 90% 5%,#d8b35b15,transparent 34%),
    linear-gradient(180deg,#1c1912,#13120f);
  border-color:#d8b35b;
  box-shadow:0 0 0 1px #d8b35b33,0 18px 40px #0005;
}
.price{color:var(--gold-light)}

/* Booking wizard */
.wizard-choice{
  background:#11100edb;
  border:1px solid #2c2924;
}
.wizard-choice>div{
  background:#0b0b0a;
  border-color:#2f2b24;
}
.wizard-panel{
  background:linear-gradient(180deg,#121211,#0d0d0c);
  border-color:#302d27;
}
.wizard-panel.active{
  border-color:#846d39;
  box-shadow:0 0 0 1px #d8b35b1f,0 10px 28px #0002;
}
.wizard-panel.completed:not(.active) .wizard-panel-head{
  background:linear-gradient(180deg,#10120f,#0c0e0c);
}
.wizard-step-no{
  background:#171612;
  border-color:#454037;
  color:var(--gold-light);
}
.progress-step.active span{
  background:linear-gradient(180deg,#e7c96f,#cda548);
  border-color:#e2bd60;
}
.calendar,
.booking-card select,
.booking-card input,
.date-button,
.slot,
.summary div{
  background:#0a0a09;
  border-color:#35312a;
}
.day{
  background:#11110f;
  border-color:#302d27;
}
.day:hover,.slot:hover{border-color:#8a713a}
.day.selected,.slot.selected{
  background:linear-gradient(180deg,#e5c56c,#cda548);
  color:#111;
  border-color:#e1bd62;
}

/* Inputs */
.booking-card input:focus,
.booking-card select:focus,
.date-button:focus{
  border-color:#b9974b;
  box-shadow:0 0 0 3px #d8b35b18;
}

/* Gallery */
.gallery-showcase figure{
  background:#0d0d0c;
  border-color:#302c25;
  box-shadow:0 16px 38px #0003;
}
.gallery-showcase figcaption{
  background:#0b0a08dc;
  border-color:#d8b35b28;
  color:#eee9dc;
}
.gallery-count{
  border-color:#4b3e22;
  color:var(--gold-light);
  background:#11100b;
}

/* Location */
.map{
  border-color:#342f27;
  background:
    radial-gradient(circle at 50% 35%,#5a492650,transparent 34%),
    linear-gradient(135deg,#191816,#0b0b0a);
}

/* Footer */
footer{
  border-top-color:#27231d;
  background:#060606;
}
.footer-brand{color:#ddd6c8}

/* Floating actions */
.whatsapp-float{
  box-shadow:0 14px 35px #0006;
}

/* Success card */
.booking-success-card{
  border-color:#6b572e;
  background:
    radial-gradient(circle at 12% 0%,#d8b35b1c,transparent 30%),
    linear-gradient(180deg,#1b1710,#0f0e0b);
}

/* Very subtle premium sheen */
.service,
.booking-card,
.location,
.gallery-showcase figure{
  position:relative;
}
.service:before,
.booking-card:before,
.location:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(120deg,transparent 0 42%,#fff6d708 50%,transparent 58%);
  opacity:.45;
}


/* STEP 12 — BOLD PREMIUM REDESIGN */
:root{
  --lux-gold:#e3bf67;
  --lux-gold-2:#b88b31;
  --lux-cream:#f6f1e8;
  --lux-panel:#12110f;
  --lux-panel-2:#0b0a09;
  --lux-line:#3a3327;
}

body{
  background:
    radial-gradient(circle at 50% -12%,#4a381c2a,transparent 28%),
    linear-gradient(180deg,#060606,#090806 48%,#060606 100%);
}

/* Hero becomes more editorial / luxury */
.hero-head{
  min-height:760px;
  background:
    radial-gradient(circle at 50% 11%,#6a52233b,transparent 25%),
    linear-gradient(180deg,#030303 0%,#090806 55%,#040404 100%);
}
.nav-wrap{padding-top:22px;padding-bottom:22px}
.wordmark{
  font-size:16px;
  letter-spacing:.24em;
  color:var(--lux-cream);
}
.wordmark span{color:#b2aa9e}
.logo-lockup{
  width:min(470px,78vw);
  height:350px;
  margin-top:4px;
}
.hero-content{
  max-width:900px;
  padding-bottom:132px;
}
.hero-content h1{
  font-size:clamp(48px,7vw,82px);
  line-height:.98;
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
  color:#f7f2e7;
  text-shadow:0 14px 45px #0009;
}
.hero-content p{
  max-width:610px;
  font-size:19px;
  color:#c8c0b3;
}
.hero-actions{margin-top:8px}
.hero-actions .btn{
  min-width:180px;
  min-height:52px;
  border-radius:999px;
}
.hero-trust span{
  background:#0d0c0ad9;
  border-color:#4a402f;
  color:#c8c0b3;
}

/* Navigation becomes more elegant */
.hero-head nav{
  padding:16px 20px;
  gap:38px;
  background:#050504f2;
  border-top:1px solid #332c21;
}
.hero-head nav a{
  font-size:13px;
  letter-spacing:.045em;
  text-transform:uppercase;
}

/* Sections have stronger visual hierarchy */
.section{
  padding-top:104px;
  padding-bottom:104px;
}
.section h2{
  font-size:clamp(40px,5vw,54px);
  color:#f3eee4;
  margin-top:8px;
}
.eyebrow{
  letter-spacing:.28em;
  font-size:10px;
}
.section-head{margin-bottom:36px}

/* Service cards feel more like premium tiles */
.service-grid{gap:18px}
.service{
  min-height:175px;
  padding:26px;
  border-radius:18px;
  background:
    radial-gradient(circle at 110% -10%,#e3bf6710,transparent 35%),
    linear-gradient(180deg,#171511,#0f0e0c);
  border-color:#3d3529;
  box-shadow:
    inset 0 1px 0 #ffffff08,
    0 18px 38px #0003;
}
.service h3{
  font-size:19px;
  color:#f3eee5;
}
.service .price{
  font-size:27px;
  color:var(--lux-gold);
}
.service-card:hover{
  transform:translateY(-5px);
  border-color:#b8954b;
  box-shadow:0 22px 48px #0006;
}
.service-card.chosen{
  transform:translateY(-2px);
  background:
    radial-gradient(circle at 90% 10%,#e3bf671c,transparent 34%),
    linear-gradient(180deg,#211c12,#15120d);
  border-color:#e3bf67;
  box-shadow:
    0 0 0 1px #e3bf6740,
    0 22px 48px #0006;
}

/* Booking section becomes a centerpiece */
.dark{
  background:
    radial-gradient(circle at 80% 15%,#6d53201f,transparent 28%),
    linear-gradient(180deg,#0c0b09,#090909);
}
.booking-card{
  max-width:860px;
  padding:30px;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,#e3bf670d,transparent 28%),
    linear-gradient(180deg,#171512,#0f0e0c);
  border-color:#40372a;
  box-shadow:
    0 24px 60px #0005,
    inset 0 1px 0 #ffffff08;
}
.wizard-choice{
  padding:8px;
  border-radius:16px;
  background:#0f0e0cdb;
  border:1px solid #373024;
}
.wizard-choice>div{
  padding:12px 14px;
  border-radius:12px;
}
.wizard-panel{
  border-radius:16px;
  margin-top:12px;
}
.wizard-panel-head{
  padding:13px 16px;
}
.wizard-panel-head b{
  font-size:16px;
}
.wizard-step-no{
  width:36px;height:36px;flex-basis:36px;
  font-size:13px;
}
.wizard-body{
  padding:0 16px 16px;
}
.calendar{
  border-radius:14px;
  background:#0a0908;
}
.day{
  border-radius:9px;
  min-height:42px;
}
.slot{
  border-radius:10px;
  min-height:44px;
}
.summary div{
  border-radius:11px;
  padding:14px;
}

/* Form fields look cleaner and more expensive */
.booking-card input,
.booking-card select{
  min-height:50px;
  border-radius:11px;
  background:#090807;
  border-color:#3b3428;
}
.phone-wrap>span{
  background:#1a1712;
  border-color:#3b3428;
  color:#d8d0c5;
}

/* Main CTA gets stronger presence */
#book{
  min-height:58px;
  border-radius:999px;
  font-size:16px;
  letter-spacing:.02em;
  background:linear-gradient(180deg,#f0d47e,#cf9f3a);
  border-color:#ebcb72;
  box-shadow:
    0 16px 32px #0006,
    inset 0 1px 0 #fff9cf70;
}
#book:hover{
  transform:translateY(-2px);
}

/* Gallery gets cinematic feel */
.gallery-heading{margin-bottom:28px}
.gallery-intro{
  font-size:15px;
  color:#aaa398;
}
.gallery-feature{
  height:470px;
  border-radius:22px;
}
.gallery-secondary figure{
  height:285px;
  border-radius:18px;
}
.gallery-showcase figure{
  border-color:#3c3428;
  box-shadow:0 20px 46px #0004;
}
.gallery-showcase figcaption{
  left:14px;
  bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  font-size:10px;
  background:#080705e6;
}

/* Location section feels like a premium contact panel */
.location{
  padding:34px;
  border-radius:22px;
  gap:30px;
}
.location h2{
  max-width:520px;
}
.address{
  color:#d0c8bb;
}
.map{
  min-height:360px;
  border-radius:18px;
  border-color:#3d3529;
}

/* Footer more refined */
footer{
  padding-top:42px;
  padding-bottom:42px;
  color:#8d887f;
}
.footer-brand{
  letter-spacing:.08em;
  color:#e3ddd2;
}

/* Mobile: retain premium look without oversized scrolling */
@media(max-width:800px){
  .hero-head{min-height:700px}
  .logo-lockup{height:300px}
  .section{padding-top:82px;padding-bottom:82px}
  .gallery-feature{height:390px}
}
@media(max-width:560px){
  .hero-head{min-height:680px}
  .nav-wrap{padding-top:16px;padding-bottom:16px}
  .logo-lockup{height:245px}
  .hero-content{padding-bottom:118px}
  .hero-content h1{font-size:46px}
  .hero-content p{font-size:16px}
  .hero-actions{display:grid;grid-template-columns:1fr;max-width:330px;margin:10px auto 0}
  .hero-actions .btn{width:100%;margin:8px 0 0}
  .section{padding-top:72px;padding-bottom:72px}
  .section h2{font-size:38px}
  .service{padding:22px;min-height:155px}
  .booking-card{padding:16px;border-radius:16px}
  .wizard-panel{border-radius:13px}
  .gallery-feature{height:310px}
  .gallery-secondary figure{height:210px}
  .location{padding:22px;border-radius:17px}
}


/* STEP 13 — PREMIUM MOTION & MICRO-INTERACTIONS */

/* Smooth but restrained interaction language */
a,button,.btn,.service-card,.slot,.day,.wizard-panel,.gallery-showcase figure{
  transition:
    transform .22s cubic-bezier(.2,.7,.2,1),
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease,
    color .22s ease,
    opacity .22s ease;
}

/* Premium button feedback */
.btn,button{position:relative;overflow:hidden}
.btn:active,button:active{transform:translateY(1px) scale(.985)}
.gold:after{
  content:"";
  position:absolute;
  top:-60%;left:-80%;
  width:42%;height:220%;
  background:linear-gradient(90deg,transparent,#fff9d34a,transparent);
  transform:rotate(18deg);
  transition:left .55s ease;
  pointer-events:none;
}
.gold:hover:after{left:145%}

/* Navigation underline */
.hero-head nav a{position:relative}
.hero-head nav a:after{
  content:"";
  position:absolute;
  left:50%;right:50%;bottom:-7px;
  height:1px;
  background:var(--lux-gold,#e3bf67);
  transition:left .2s ease,right .2s ease;
}
.hero-head nav a:hover:after{left:0;right:0}

/* Service cards */
.service-card{will-change:transform}
.service-card:hover{
  transform:translateY(-6px);
}
.service-card:active{transform:translateY(-2px) scale(.99)}
.service-card.chosen{
  animation:premiumSelect .32s cubic-bezier(.2,.8,.2,1);
}
@keyframes premiumSelect{
  0%{transform:scale(.985)}
  65%{transform:scale(1.012)}
  100%{transform:scale(1)}
}

/* Wizard opening/completion */
.wizard-panel.active .wizard-body{
  animation:wizardReveal .28s ease both;
}
@keyframes wizardReveal{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}
.wizard-panel.completed .wizard-check{
  animation:checkPop .3s cubic-bezier(.2,.9,.3,1.3);
}
@keyframes checkPop{
  0%{transform:scale(.5);opacity:.2}
  100%{transform:scale(1);opacity:1}
}

/* Calendar + time selection */
.day:not(.disabled):hover,.slot:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px #0005;
}
.day.selected,.slot.selected{
  animation:slotSelect .25s ease;
  box-shadow:0 8px 22px #0005,0 0 0 1px #f1d17b30;
}
@keyframes slotSelect{
  0%{transform:scale(.94)}
  100%{transform:scale(1)}
}

/* Form focus */
.booking-card input,
.booking-card select{
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.booking-card input:focus,
.booking-card select:focus{
  outline:none;
  background:#0d0b08;
}

/* Gallery: gentle cinematic movement */
.gallery-showcase figure{will-change:transform}
.gallery-showcase figure:hover{
  transform:translateY(-3px);
  box-shadow:0 26px 55px #0006;
}
.gallery-showcase img{
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.gallery-showcase figure:hover img{
  transform:scale(1.035);
}

/* WhatsApp floating button */
.whatsapp-float{
  transition:transform .22s ease,box-shadow .22s ease;
}
.whatsapp-float:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px #0008;
}
.whatsapp-float:active{transform:translateY(0) scale(.97)}

/* Booking confirmation entrance */
.booking-success-card{
  animation:successEnter .45s cubic-bezier(.2,.8,.2,1) both;
}
.booking-success-icon{
  animation:successIcon .5s .08s cubic-bezier(.2,.9,.3,1.35) both;
}
@keyframes successEnter{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes successIcon{
  from{opacity:0;transform:scale(.45) rotate(-12deg)}
  to{opacity:1;transform:scale(1) rotate(0)}
}

/* Desktop section reveal refinement */
.reveal{
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);
}
.reveal:not(.visible){transform:translateY(18px)}
.reveal.visible{transform:translateY(0)}

/* Accessibility: keyboard focus remains obvious */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--lux-gold,#e3bf67);
  outline-offset:3px;
}

/* Touch devices: avoid hover effects sticking */
@media(hover:none){
  .service-card:hover,
  .gallery-showcase figure:hover,
  .day:not(.disabled):hover,
  .slot:hover,
  .whatsapp-float:hover{
    transform:none;
  }
  .gallery-showcase figure:hover img{transform:none}
}

/* Respect users who request reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation:none!important;
    transition-duration:.01ms!important;
    transition-delay:0ms!important;
  }
}


/* STEP 14 — MOBILE BOOKING APP-LIKE REDESIGN */
@media(max-width:560px){

  /* Booking area becomes the visual focus */
  #booking.section{
    padding-left:10px;
    padding-right:10px;
    padding-top:58px;
    padding-bottom:68px;
  }
  #booking>.eyebrow,
  #booking>h2{
    padding-left:8px;
    padding-right:8px;
  }
  #booking>h2{
    font-size:34px;
    line-height:1.05;
    margin-bottom:22px;
  }

  .booking-card{
    width:100%;
    padding:10px;
    border-radius:20px;
    border-color:#433827;
    box-shadow:0 24px 60px #0007;
  }

  /* Compact progress strip */
  .wizard-progress{
    position:sticky;
    top:5px;
    z-index:15;
    margin:0 0 10px;
    padding:8px 6px;
    border:1px solid #393126;
    border-radius:14px;
    background:#0c0b09ee;
    backdrop-filter:blur(14px);
    box-shadow:0 8px 25px #0005;
  }
  .progress-step{
    min-width:0;
    gap:4px;
  }
  .progress-step span{
    width:27px;
    height:27px;
    min-width:27px;
    font-size:10px;
  }
  .progress-step small{
    font-size:8px;
    letter-spacing:0;
  }
  .progress-line{
    margin:0 3px;
  }

  /* Chosen service summary remains compact */
  .wizard-choice{
    position:sticky;
    top:54px;
    z-index:14;
    margin-bottom:9px;
    padding:5px;
    border-radius:13px;
    box-shadow:0 8px 22px #0004;
  }
  .wizard-choice>div{
    min-height:44px;
    padding:8px 10px;
  }
  .wizard-choice small{
    font-size:8px;
  }
  .wizard-choice b{
    font-size:12px;
  }

  /* One clean active card at a time */
  .wizard-panel{
    margin-top:8px;
    border-radius:15px;
    overflow:hidden;
  }
  .wizard-panel-head{
    min-height:55px;
    padding:10px 12px;
    gap:10px;
  }
  .wizard-panel-head small{
    font-size:8px;
    letter-spacing:.08em;
  }
  .wizard-panel-head b{
    font-size:14px;
  }
  .wizard-panel-head em{
    font-size:10px;
  }
  .wizard-step-no{
    width:31px;
    height:31px;
    flex-basis:31px;
    font-size:11px;
  }
  .wizard-body{
    padding:2px 10px 12px;
  }
  .wizard-panel.completed:not(.active) .wizard-panel-head{
    min-height:47px;
  }

  /* Calendar optimized for thumbs */
  .calendar{
    margin-top:5px;
    padding:8px;
    border-radius:13px;
  }
  .calendar-head{
    margin-bottom:7px;
  }
  .calendar-head button{
    min-width:42px;
    min-height:38px;
    padding:5px 9px;
  }
  .cal-grid{
    gap:4px;
  }
  .cal-grid span{
    font-size:9px;
    padding:3px 1px;
  }
  .day{
    min-height:42px;
    padding:6px 1px;
    border-radius:8px;
    font-size:12px;
  }

  /* Time selection: bigger buttons, less scanning */
  .time-group{
    margin-top:12px;
  }
  .time-group-title{
    margin:0 0 7px;
    font-size:10px;
    letter-spacing:.1em;
    color:#b5aa99;
  }
  .slots{
    grid-template-columns:repeat(3,1fr);
    gap:7px;
  }
  .slot{
    min-height:46px;
    padding:8px 4px;
    border-radius:10px;
    font-size:13px;
    font-weight:800;
  }

  /* Customer details */
  .customer{
    padding-top:10px;
  }
  .customer h3{
    font-size:17px;
    margin-top:2px;
  }
  .customer>label{
    margin-bottom:12px;
  }
  .customer label>span{
    margin-bottom:6px;
    font-size:12px;
  }
  .booking-card input,
  .booking-card select{
    min-height:51px;
    padding:12px;
    font-size:16px;
  }
  .phone-wrap>span{
    padding:0 11px;
  }
  .hint,.customer small{
    font-size:10px;
    line-height:1.4;
  }

  /* Summary becomes compact receipt */
  .summary{
    grid-template-columns:1fr 1fr;
    gap:6px;
    margin:14px 0;
  }
  .summary div{
    min-height:57px;
    padding:9px 10px;
  }
  .summary small{
    font-size:8px;
  }
  .summary b{
    font-size:12px;
    line-height:1.25;
  }

  /* Confirmation CTA feels like a mobile app action */
  #book{
    position:sticky;
    bottom:8px;
    z-index:16;
    width:100%;
    min-height:56px;
    margin-top:8px;
    border-radius:15px;
    box-shadow:
      0 12px 34px #000a,
      inset 0 1px 0 #fff9cf70;
  }
  #status{
    padding:0 4px;
    font-size:12px;
  }

  /* Success screen on mobile */
  .booking-success-card{
    padding:18px;
    border-radius:18px;
  }
  .booking-success-card h3{
    font-size:25px;
  }
  .booking-success-grid{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .booking-success-grid div{
    padding:9px;
  }
  .booking-success-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .booking-success-actions .btn{
    width:100%;
    min-height:50px;
  }
}

/* Extra-small phones */
@media(max-width:380px){
  #booking.section{padding-left:7px;padding-right:7px}
  .booking-card{padding:7px}
  .progress-step small{display:none}
  .wizard-progress{padding:7px 9px}
  .slots{gap:5px}
  .slot{font-size:12px}
}


/* STEP 15 — PREMIUM BOOKING CONFIRMATION */
.booking-success-card{
  position:relative;
  overflow:hidden;
  margin-top:22px;
  padding:30px;
  border:1px solid #796237;
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 0%,#f0cd7324,transparent 30%),
    radial-gradient(circle at 100% 100%,#80642d1c,transparent 34%),
    linear-gradient(180deg,#1b1811,#0d0c09);
  box-shadow:
    0 28px 70px #0008,
    inset 0 1px 0 #fff5cd12;
}
.booking-success-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(125deg,transparent 0 40%,#fff5d507 49%,transparent 58%);
}
.booking-success-icon{
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:50%;
  background:
    linear-gradient(180deg,#efd17a,#c99a38);
  color:#111;
  font-size:31px;
  box-shadow:
    0 13px 32px #0006,
    0 0 0 7px #e3bf670d,
    inset 0 1px 0 #fff8cf75;
}
.booking-success-card h3{
  max-width:620px;
  margin:0 auto 8px;
  text-align:center;
  font:36px/1.08 Georgia,serif;
  color:#f7f0e4;
  letter-spacing:-.02em;
}
.booking-success-card h3:after{
  content:"";
  display:block;
  width:54px;
  height:1px;
  margin:17px auto 22px;
  background:linear-gradient(90deg,transparent,#e3bf67,transparent);
}
.booking-success-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-top:8px;
}
.booking-success-grid div{
  position:relative;
  min-height:78px;
  padding:14px;
  border:1px solid #342e24;
  border-radius:13px;
  background:
    linear-gradient(180deg,#11100d,#090908);
  box-shadow:inset 0 1px 0 #ffffff05;
}
.booking-success-grid small,
.booking-success-address small{
  color:#988e7d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.booking-success-grid b{
  margin-top:7px;
  color:#f0eadf;
  font-size:14px;
  line-height:1.3;
}
.booking-success-grid div:last-child b{
  color:#e6c76f;
  font-size:17px;
}
.booking-success-address{
  position:relative;
  margin-top:10px;
  padding:16px 18px;
  border:1px solid #342e24;
  border-radius:13px;
  background:linear-gradient(180deg,#11100d,#090908);
}
.booking-success-address b{
  color:#eee6da;
  font-size:15px;
}
.booking-success-address span{
  color:#aaa196;
  font-size:13px;
  line-height:1.6;
}
.booking-success-actions{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:9px;
  margin-top:14px;
}
.booking-success-actions .btn{
  width:100%;
  min-height:50px;
  margin:0;
  border-radius:999px;
  font-size:13px;
}
.booking-success-actions .gold{
  box-shadow:0 12px 25px #0005;
}

/* Confirmation card replaces the visual weight of the form */
.booking-success-card ~ *{
  scroll-margin-top:20px;
}

@media(max-width:700px){
  .booking-success-card{
    padding:24px 18px;
    border-radius:20px;
  }
  .booking-success-icon{
    width:58px;
    height:58px;
    font-size:28px;
  }
  .booking-success-card h3{
    font-size:29px;
  }
  .booking-success-grid{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .booking-success-grid div{
    min-height:68px;
    padding:11px;
  }
  .booking-success-actions{
    grid-template-columns:1fr;
    gap:7px;
  }
  .booking-success-actions .btn{
    min-height:52px;
  }
}
@media(max-width:380px){
  .booking-success-card{
    padding:20px 13px;
  }
  .booking-success-card h3{
    font-size:26px;
  }
}


/* STEP 16 — PREMIUM FLAG LANGUAGE SWITCHER */
.premium-langs{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid #3b3328;
  border-radius:16px;
  background:
    linear-gradient(180deg,#11100e,#090908);
  box-shadow:
    inset 0 1px 0 #ffffff08,
    0 10px 28px #0004;
}
.premium-langs button{
  min-width:72px;
  min-height:48px;
  margin:0;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#a59f95;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:none;
  transition:
    background .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .18s ease,
    box-shadow .22s ease;
}
.premium-langs button:hover{
  color:#eee8dc;
  border-color:#40382c;
  background:#15130f;
}
.premium-langs button.active{
  color:#17130b;
  border-color:#efd178;
  background:
    linear-gradient(180deg,#f0d47d,#cfa13f);
  box-shadow:
    inset 0 1px 0 #fff9d070,
    0 7px 18px #0005;
}
.premium-langs button:active{
  transform:scale(.97);
}
.premium-langs .flag{
  display:inline-flex;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:50%;
  font-size:19px;
  line-height:1;
  background:#171717;
  box-shadow:
    0 0 0 1px #ffffff18,
    0 3px 9px #0005;
}
.premium-langs button.active .flag{
  background:#fff3;
  box-shadow:
    0 0 0 1px #3d2d1235,
    0 3px 8px #0003;
}
.premium-langs .lang-code{
  line-height:1;
}

@media(max-width:560px){
  .premium-langs{
    gap:3px;
    padding:3px;
    border-radius:14px;
  }
  .premium-langs button{
    min-width:62px;
    min-height:45px;
    padding:0 9px;
    gap:6px;
    border-radius:11px;
    font-size:12px;
  }
  .premium-langs .flag{
    width:22px;
    height:22px;
    font-size:17px;
  }
}

@media(max-width:380px){
  .premium-langs button{
    min-width:48px;
    padding:0 7px;
  }
  .premium-langs .lang-code{
    display:none;
  }
  .premium-langs .flag{
    width:24px;
    height:24px;
    font-size:19px;
  }
}


/* STEP 17 — BOOKING CODE */
.booking-success-code{
  margin-top:12px;
  padding:18px;
  text-align:center;
  border:1px solid #796237;
  border-radius:15px;
  background:
    radial-gradient(circle at 50% 0%,#e3bf6717,transparent 55%),
    linear-gradient(180deg,#16130d,#0b0a08);
  box-shadow:inset 0 1px 0 #fff6d20b;
}
.booking-success-code small{
  display:block;
  color:#a99b80;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.booking-success-code strong{
  display:block;
  margin-top:8px;
  color:#f0d078;
  font-size:28px;
  line-height:1;
  letter-spacing:.1em;
  font-family:Arial,sans-serif;
}
.booking-success-code span{
  display:block;
  max-width:470px;
  margin:9px auto 0;
  color:#a9a095;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:560px){
  .booking-success-code{
    padding:15px 12px;
    border-radius:13px;
  }
  .booking-success-code strong{
    font-size:25px;
  }
}


/* STEP 18 — CUSTOMER CANCELLATION ENTRY */
.booking-cancel-strip{
  max-width:1180px;
  margin:0 auto;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  color:#999187;
}
.booking-cancel-strip .btn{
  min-height:42px;
  margin:0;
  padding:0 15px;
  border-radius:999px;
}
.booking-success-actions{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){
  .booking-cancel-strip{padding:14px 18px;text-align:center}
  .booking-cancel-strip .btn{width:100%}
  .booking-success-actions{grid-template-columns:1fr}
}


/* FINAL POLISH PACK — CONSISTENCY, SPACING, MOBILE FINISH */
:root{
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:24px;
  --section-space:96px;
}

/* More consistent page rhythm */
.section{
  padding-top:var(--section-space);
  padding-bottom:var(--section-space);
}
.section h2{
  line-height:1.04;
  letter-spacing:-.02em;
}
.section-head,
.gallery-heading{
  margin-bottom:30px;
}
.section-intro,
.gallery-intro{
  max-width:620px;
  line-height:1.65;
}

/* Unify premium corner language */
.service,
.booking-card,
.location{
  border-radius:var(--radius-lg);
}
.wizard-panel,
.calendar,
.booking-success-address,
.booking-success-code,
.gallery-secondary figure{
  border-radius:var(--radius-md);
}
.gallery-feature{
  border-radius:var(--radius-xl);
}

/* Cleaner service-card balance */
.service{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.service h3{
  line-height:1.22;
  margin-bottom:12px;
}
.service .duration{
  margin-top:auto;
  padding-top:8px;
}
.service .price{
  line-height:1;
}

/* Booking wizard spacing consistency */
.wizard-card{
  display:grid;
  gap:10px;
}
.wizard-choice{
  margin-bottom:2px;
}
.wizard-panel{
  margin-top:0;
}
.wizard-body{
  padding-top:2px;
}
.customer>label:last-child{
  margin-bottom:0;
}
.summary{
  align-items:stretch;
}
.summary div{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Calendar polish */
.calendar-head{
  min-height:38px;
}
.calendar-head strong,
.calendar-head b{
  letter-spacing:.02em;
}
.cal-grid{
  align-items:stretch;
}
.day{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Time buttons: one consistent visual height */
.slot{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Buttons across the site */
.btn,
button{
  font-family:inherit;
}
.btn{
  letter-spacing:.01em;
}
.hero-actions .btn,
.booking-success-actions .btn{
  text-align:center;
}

/* Gallery final balance */
.gallery-showcase{
  gap:14px;
}
.gallery-secondary{
  gap:14px;
}
.gallery-showcase figure{
  isolation:isolate;
}
.gallery-showcase figcaption{
  z-index:2;
}
.gallery-showcase figure:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,#0008 100%);
  opacity:.55;
}

/* Location section */
.location{
  align-items:stretch;
}
.location>div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.location .btn{
  margin-top:10px;
}
.map{
  overflow:hidden;
}

/* Header balance */
.nav-wrap{
  min-height:78px;
}
.hero-content{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-content .eyebrow{
  margin-bottom:3px;
}
.hero-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
}

/* Premium language control alignment */
.premium-langs{
  flex-shrink:0;
}
.premium-langs button{
  line-height:1;
}

/* Footer consistency */
footer{
  font-size:13px;
  line-height:1.7;
}

/* Floating controls: avoid overlap on phones */
.whatsapp-float{
  max-width:calc(100vw - 28px);
}

/* Main cancellation strip */
.booking-cancel-strip{
  border-top:1px solid #211d17;
  border-bottom:1px solid #211d17;
  background:#080807;
}

/* Success card small finishing touches */
.booking-success-grid b{
  word-break:break-word;
}
.booking-success-actions{
  align-items:stretch;
}

/* Tablet cleanup */
@media(max-width:800px){
  :root{--section-space:80px}
  .service-grid{gap:12px}
  .gallery-showcase,.gallery-secondary{gap:10px}
  .location{gap:18px}
}

/* Mobile cleanup */
@media(max-width:560px){
  :root{--section-space:66px}

  .section{
    padding-left:16px;
    padding-right:16px;
  }

  .section h2{
    font-size:36px;
    margin-bottom:20px;
  }

  .section-head,
  .gallery-heading{
    margin-bottom:20px;
  }

  .hero-head nav{
    scrollbar-width:none;
  }
  .hero-head nav::-webkit-scrollbar{
    display:none;
  }

  .service{
    min-height:145px;
    padding:20px;
  }
  .service h3{
    margin-bottom:10px;
  }

  .wizard-choice{
    top:52px;
  }

  .wizard-panel-head{
    align-items:center;
  }

  .calendar{
    box-shadow:none;
  }

  .summary{
    margin-top:12px;
  }

  .gallery-feature{
    height:290px;
  }
  .gallery-secondary figure{
    height:198px;
  }

  .location{
    padding:20px;
    gap:20px;
  }
  .map{
    min-height:270px;
  }

  footer{
    padding-left:18px;
    padding-right:18px;
  }

  .whatsapp-float{
    right:12px;
    bottom:12px;
  }
}

/* Very small phones */
@media(max-width:380px){
  .section{
    padding-left:12px;
    padding-right:12px;
  }
  .section h2{
    font-size:33px;
  }
  .gallery-feature{
    height:260px;
  }
  .gallery-secondary figure{
    height:178px;
  }
}

/* Prevent layout shift from images */
.logo-lockup img,
.gallery-showcase img{
  background:#0c0b09;
}

/* Better keyboard and form polish */
input::placeholder{
  color:#6f6961;
}
input:disabled,
select:disabled,
button:disabled{
  opacity:.5;
  cursor:not-allowed;
}

/* Print-safe fallback */
@media print{
  .whatsapp-float,.back-to-top,.hero-head nav,.langs{display:none!important}
}
