:root{
  --black:#111111;
  --black-2:#191919;
  --yellow:#F5CD47;
  --yellow-soft:#fff5ca;
  --cream:#faf9f4;
  --white:#fff;
  --ink:#171717;
  --muted:#77746d;
  --line:#e7e5dd;
  --green:#25d366;
  --max:1120px;
  --radius:24px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
[hidden]{display:none!important}

/* ---------- NAV / LANDING-PAGE LANGUAGE ---------- */
.page-shell{min-height:100vh;overflow:hidden;background:var(--cream)}
.topbar{
  position:relative;z-index:10;
  width:100%;min-height:72px;
  padding:0 max(18px,calc((100vw - var(--max))/2));
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:rgba(17,17,17,.97);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.brand{display:inline-flex;align-items:center;min-width:0}
.brand-logo-image{width:170px;height:46px;object-fit:contain;object-position:left center;display:block}
#business-name{display:none}
.secure-note{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.64);font-size:11px;font-weight:700}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(37,211,102,.12)}

/* ---------- HERO ---------- */
.main-layout{
  position:relative;isolation:isolate;
  width:100%;max-width:none;margin:0;padding:82px max(18px,calc((100vw - var(--max))/2)) 96px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,520px);gap:70px;align-items:center;
  background:var(--black);color:#fff;
}
.main-layout::before{
  content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-260px;top:-250px;border-radius:50%;
  background:rgba(245,205,71,.08);filter:blur(3px);animation:glow 9s ease-in-out infinite alternate
}
.main-layout::after{
  content:"";position:absolute;z-index:-1;width:260px;height:260px;left:-150px;bottom:-160px;border-radius:50%;
  border:1px solid rgba(245,205,71,.13);animation:orbit 14s linear infinite
}

.intro{position:relative;padding:20px 0;min-height:540px;display:flex;flex-direction:column;justify-content:center;animation:rise .8s var(--ease) both}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.eyebrow-line{width:22px;height:2px;border-radius:99px;background:var(--yellow)}
.intro h1{max-width:650px;margin:20px 0 18px;font-size:clamp(48px,6.7vw,78px);line-height:.97;font-weight:900;letter-spacing:-.055em;color:#fff}
.intro h1 span{color:var(--yellow)}
.intro>p{max-width:500px;margin:0;color:rgba(255,255,255,.62);font-size:15px;line-height:1.8}
.intro-foot{display:flex;align-items:center;gap:9px;margin-top:28px;color:rgba(255,255,255,.58);font-size:11px;font-weight:700}
.clock-icon{color:var(--yellow);font-size:20px;line-height:1}
.decor{position:absolute;border-radius:50%;pointer-events:none;border:1px solid rgba(245,205,71,.18);animation:float 6s ease-in-out infinite}
.decor-one{width:240px;height:240px;left:-110px;bottom:-60px}
.decor-two{width:150px;height:150px;left:-65px;bottom:-15px;border-color:rgba(245,205,71,.1);animation-delay:-2s}

/* ---------- BOOKING CARD ---------- */
.booking-card{
  position:relative;width:100%;background:#fff;color:var(--ink);
  border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:34px 34px 27px;
  box-shadow:0 35px 90px rgba(0,0,0,.38),0 3px 10px rgba(0,0,0,.08);
  animation:cardIn .85s var(--ease) .08s both;
}
.booking-card::before{content:"";position:absolute;left:26px;right:26px;top:-1px;height:4px;border-radius:0 0 999px 999px;background:var(--yellow)}
.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}
.step-label{color:#a08317;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.card-heading h2,.confirmation-view h2{margin:6px 0 0;font-size:28px;line-height:1.05;letter-spacing:-.045em;font-weight:900;color:var(--black)}
.step-count{padding:7px 10px;border-radius:999px;background:var(--yellow-soft);color:#8b7010;font-size:10px;font-weight:900;white-space:nowrap}
.step-count i{color:#aaa59a;font-style:normal;font-weight:700}
.form-section{border:0;padding:0;margin:0 0 23px;min-width:0}
legend,.section-title{display:flex;align-items:center;gap:9px;padding:0;margin:0 0 12px;color:#292824;font-size:12px;font-weight:800}
.section-number{width:23px;height:23px;flex:0 0 23px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--yellow);color:var(--black);font-size:10px;font-weight:900}

.service-list{display:grid;gap:9px}
.service-option{position:relative;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:.22s var(--ease)}
.service-option:hover{transform:translateY(-2px);border-color:#e4c95e;background:#fffdf5;box-shadow:0 8px 20px rgba(17,17,17,.06)}
.service-option.selected{border-color:#d5b12e;background:#fffaf0;box-shadow:0 0 0 3px rgba(245,205,71,.2)}
.service-option input{position:absolute;opacity:0;pointer-events:none}
.service-radio{width:17px;height:17px;border:1.5px solid #bdb8ad;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.service-option.selected .service-radio{border-color:#a98612}
.service-option.selected .service-radio::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:inset 0 0 0 2px #aa8817}
.service-copy{flex:1;min-width:0}.service-copy strong{display:block;color:#1b1a18;font-size:12px;font-weight:800}.service-copy small{display:block;margin-top:3px;color:#8b877f;font-size:10px}.service-price{color:#111;font-size:12px;font-weight:900;white-space:nowrap}

.date-wrap{height:47px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:.2s}
.date-wrap:focus-within{border-color:#d5b63f;box-shadow:0 0 0 4px rgba(245,205,71,.17)}
.calendar-icon{color:#9b7c17;font-size:16px}.date-wrap input{border:0;outline:0;color:var(--ink);font-size:12px;font-weight:650;flex:1;min-width:0;background:transparent}.date-hint{color:#9a958b;font-size:10px;white-space:nowrap}
.field-hint{margin:8px 0 0 1px;color:#8d8980;font-size:10px}

.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.time-slot{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:39px;padding:7px 3px;color:#59564f;font-size:10px;font-weight:800;cursor:pointer;transition:.2s var(--ease)}
.time-slot:hover:not(:disabled){transform:translateY(-2px);border-color:#e0c55b;background:#fffdf5}.time-slot.selected{color:var(--black);border-color:#d4ad2d;background:var(--yellow);box-shadow:0 8px 18px rgba(245,205,71,.24)}.time-slot:disabled{background:#f7f6f2;color:#c3bfb7;text-decoration:line-through;cursor:not-allowed;border-color:#eeeae2}.empty-state{grid-column:1/-1;margin:0;padding:14px;text-align:center;border-radius:10px;background:#f8f7f3;color:#99958c;font-size:10px}

.customer-section{margin-top:2px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-label{display:grid;gap:7px;color:#59564f;font-size:10px;font-weight:800}.field-label input{width:100%;height:45px;border:1px solid var(--line);border-radius:12px;padding:0 12px;color:var(--ink);font-size:11px;outline:none;transition:.2s}.field-label input::placeholder{color:#b4b0a8}.field-label input:focus{border-color:#d5b63f;box-shadow:0 0 0 4px rgba(245,205,71,.17)}
.form-error{min-height:0;color:#b74343;font-size:11px;margin:-9px 0 10px}.form-error:empty{display:none}
.primary-button{width:100%;min-height:50px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--yellow);color:var(--black);font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(245,205,71,.25);transition:.22s var(--ease);position:relative;overflow:hidden}.primary-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(245,205,71,.34)}.primary-button span{font-size:17px;font-weight:600}.primary-button::after{content:"";position:absolute;top:-70%;left:-70%;width:42%;height:240%;transform:rotate(22deg);background:rgba(255,255,255,.3);transition:left .65s var(--ease)}.primary-button:hover::after{left:125%}
.privacy-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:11px 0 0;color:#a09b92;font-size:9px;text-align:center}

/* ---------- CONFIRMATION ---------- */
.confirmation-view{text-align:left}.success-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--yellow);color:var(--black);font-size:27px;font-weight:900;box-shadow:0 12px 28px rgba(245,205,71,.28);margin-bottom:18px}.confirmation-copy{max-width:430px;color:#77746d;font-size:12px;line-height:1.7;margin:12px 0 20px}.booking-summary{border:1px solid var(--line);border-radius:18px;background:#faf9f4;padding:16px;margin-bottom:14px}.summary-top{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#8e897f;font-size:8px;font-weight:900;letter-spacing:.08em}.summary-status{display:inline-flex;align-items:center;gap:5px;color:#7d766b;letter-spacing:0;text-transform:none;font-weight:700}.summary-status i{width:6px;height:6px;border-radius:50%;background:#d2a71d}.summary-service{display:flex;align-items:center;gap:10px;padding:15px 0 12px}.summary-symbol{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--yellow);color:var(--black);font-weight:900}.summary-service>div{flex:1}.summary-service strong{display:block;font-size:12px;color:#1b1a18}.summary-service small{display:block;margin-top:2px;color:#98938a;font-size:9px}.summary-service b{font-size:12px;color:#111}.summary-divider{height:1px;background:var(--line);margin-bottom:6px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:10px}.summary-row span{color:#8b877f}.summary-row strong{color:#37342e;text-align:right;font-weight:800}.summary-reference{margin-top:8px;padding-top:10px;border-top:1px dashed #e1dbcf;color:#a09b91;font-size:8px;text-align:center;letter-spacing:.04em}.whatsapp-button{background:var(--green);color:#fff;box-shadow:0 12px 26px rgba(37,211,102,.18)}.whatsapp-button:hover{background:#20bc5a;box-shadow:0 16px 32px rgba(37,211,102,.25)}.secondary-button{width:100%;border:0;background:transparent;color:#706c64;padding:15px 0 2px;font-size:11px;font-weight:800;cursor:pointer}.secondary-button:hover{color:#8a7117}

/* ---------- FOOTER ---------- */
.footer{width:100%;padding:22px max(18px,calc((100vw - var(--max))/2));background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#9b968d;font-size:10px}.footer a{font-weight:800;color:#77736a}.footer a:hover{color:#8a7117}

@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@keyframes cardIn{from{opacity:0;transform:translateY(30px) scale(.985)}to{opacity:1;transform:none}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes glow{from{transform:translate(-10px,-5px) scale(1);opacity:.65}to{transform:translate(25px,20px) scale(1.1);opacity:1}}
@keyframes orbit{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .main-layout{grid-template-columns:1fr;gap:34px;padding-top:60px;padding-bottom:70px}
  .intro{min-height:0;padding:0 0 5px}.intro h1{max-width:700px}.intro>p{max-width:580px}.decor{display:none}
  .booking-card{max-width:620px;justify-self:center}
}
@media(max-width:650px){
  .topbar{min-height:64px;padding:0 18px}.brand-logo-image{width:145px;height:40px}.secure-note{font-size:9px}
  .main-layout{padding:45px 16px 52px;gap:24px}.intro h1{font-size:46px;letter-spacing:-.05em;margin:16px 0 14px}.intro>p{font-size:13px;line-height:1.65}.intro-foot{margin-top:18px;font-size:10px}
  .booking-card{padding:26px 20px 22px;border-radius:22px}.booking-card::before{left:20px;right:20px}.card-heading{margin-bottom:22px}.card-heading h2,.confirmation-view h2{font-size:23px}
  .field-grid{grid-template-columns:1fr}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding:18px;font-size:9px}
}
@media(max-width:360px){.booking-card{padding-left:15px;padding-right:15px}.booking-card::before{left:15px;right:15px}.main-layout{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
