/* Luxury iOS Glass skin for the public booking journey. */
body.luxury-client {
  --accent: #0a84ff;
  --accent-2: #64d2ff;
  --accent-dark: #0066cc;
  --accent-ink: #fff;
  --lux-bg: #f1eee9;
  --lux-ink: #171719;
  --lux-soft: #716d68;
  --lux-line: rgba(70, 62, 54, .12);
  --lux-glass: rgba(255, 255, 255, .68);
  --lux-solid: #fbfaf8;
  background:
    radial-gradient(circle at 10% -10%, rgba(255,255,255,.95), transparent 38%),
    radial-gradient(circle at 105% 25%, rgba(196,169,137,.22), transparent 35%),
    linear-gradient(155deg, #f7f5f1, var(--lux-bg));
  color: var(--lux-ink);
}

body.luxury-client::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .2;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");
}

body.luxury-client header.top {
  max-width: 640px;
  background: rgba(248,246,242,.68);
  border-color: rgba(255,255,255,.85);
  color: var(--lux-ink);
  box-shadow: 0 12px 38px rgba(44,38,32,.08), inset 0 1px rgba(255,255,255,.8);
}

.luxury-client header.top .brand { color: var(--lux-ink); }
.secure-booking { display:flex; align-items:center; gap:7px; color:var(--lux-soft); font-size:11px; font-weight:650; }
.secure-booking svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }
.luxury-client .wrap { max-width: 640px; padding-top: 28px; }

.luxury-client .salon-hero {
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
  margin-bottom: 22px;
}

.luxury-client .salon-cover {
  height: clamp(190px, 44vw, 270px);
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(135deg, #282421, #6a5c4f);
  box-shadow: 0 24px 54px -24px rgba(27,23,20,.42), inset 0 1px rgba(255,255,255,.16);
}
.luxury-client .salon-cover::before { background:linear-gradient(180deg,transparent 35%,rgba(10,9,8,.42)); }
.luxury-client .salon-logo,
.luxury-client .salon-logo-fallback {
  width:78px; height:78px; margin:-42px 0 0 24px; position:relative; z-index:2;
  border:5px solid rgba(247,245,241,.92); border-radius:25px;
  box-shadow:0 14px 28px rgba(31,26,22,.18); background:#292521; color:#f3e5d0;
}
.luxury-client .salon-hero-text { margin-top:14px; padding:0 10px; }
.luxury-client .salon-hero-text h1 { color:var(--lux-ink); font-size:clamp(27px,7vw,36px); letter-spacing:-.045em; }
.luxury-client .salon-meta-row { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--lux-soft); }
.luxury-client .salon-meta-row span,
.luxury-client .salon-meta-row a { display:inline-flex; align-items:center; gap:7px; color:inherit; font-size:12px; }
.luxury-client .salon-meta-row svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; }
.luxury-client .salon-desc { color:var(--lux-soft); padding:0 10px; font-size:13px; line-height:1.65; }
.salon-trust { display:flex; flex-wrap:wrap; gap:8px; padding:10px 10px 0; }
.salon-trust span { padding:8px 11px; border:1px solid var(--lux-line); border-radius:999px; font-size:10px; color:var(--lux-soft); background:rgba(255,255,255,.42); }
.salon-trust span::before { content:"✓"; color:var(--accent-dark); margin-right:6px; font-weight:800; }

.booking-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:20px 0 12px; }
.booking-progress span { position:relative; display:flex; align-items:center; gap:7px; color:#9b9690; font-size:10px; font-weight:650; }
.booking-progress span::after { content:""; height:2px; flex:1; background:#d9d4ce; border-radius:2px; }
.booking-progress span:last-child::after { display:none; }
.booking-progress b { display:grid; place-items:center; width:23px; height:23px; border:1px solid #d7d1ca; border-radius:50%; font-size:9px; }
.booking-progress .active { color:var(--lux-ink); }
.booking-progress .active b { color:#fff; background:var(--lux-ink); border-color:var(--lux-ink); }
.booking-progress .complete b { color:#fff; background:var(--accent); border-color:var(--accent); }
.booking-progress .complete b::after { content:"✓"; }
.booking-progress .complete b { font-size:0; }

.luxury-client .booking-card,
.luxury-client .details-card,
.confirmation-card {
  background: var(--lux-glass);
  color: var(--lux-ink);
  border:1px solid rgba(255,255,255,.82);
  border-radius:30px;
  box-shadow:0 18px 55px -28px rgba(37,31,25,.26), inset 0 1px rgba(255,255,255,.8);
  backdrop-filter:blur(28px) saturate(140%);
  -webkit-backdrop-filter:blur(28px) saturate(140%);
}
.luxury-client .booking-card { padding:0 22px; }
.booking-step { padding:25px 0 26px; border-bottom:1px solid var(--lux-line); transition:opacity .2s; }
.booking-step:last-child { border-bottom:0; }
.booking-step.awaiting { opacity:.47; }
.step-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; margin-bottom:17px; }
.step-heading span,
.details-heading>span,
.step-kicker { color:var(--accent-dark); text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:750; }
.step-heading h2,
.details-heading h2 { margin:0; color:var(--lux-ink); text-transform:none; letter-spacing:-.035em; font-size:21px; }

.luxury-client .svc-list { gap:10px; }
.luxury-client .svc-card {
  background:rgba(255,255,255,.48); border:1px solid var(--lux-line); border-radius:18px; color:var(--lux-ink); min-height:72px;
  box-shadow:none; padding:15px 17px;
}
.luxury-client .svc-card.active { background:rgba(25,25,27,.94); border-color:#19191b; box-shadow:0 12px 22px -14px rgba(0,0,0,.45); }
.luxury-client .svc-card.active .svc-card-name,
.luxury-client .svc-card.active .svc-card-dur,
.luxury-client .svc-card.active .svc-card-price { color:#fff; }
.luxury-client .svc-card-name { color:var(--lux-ink); font-size:14px; }
.luxury-client .svc-card-dur { color:var(--lux-soft); }
.luxury-client .svc-card-price { color:var(--accent-dark); }

.luxury-client .day-row { gap:8px; padding:2px 2px 7px; flex-wrap:wrap; }
.luxury-client .day-row::-webkit-scrollbar { display:none; }
.luxury-client .day-chip { flex:0 0 61px; min-height:69px; border-radius:18px; background:rgba(255,255,255,.42); border:1px solid var(--lux-line); color:var(--lux-soft); box-shadow:none; }
.luxury-client .day-chip.active { background:var(--lux-ink); color:#fff; border-color:var(--lux-ink); box-shadow:0 10px 18px -12px rgba(0,0,0,.5); }
.luxury-client .day-chip .dname { font-size:9px; letter-spacing:.08em; }
.luxury-client .day-chip .dnum { font-size:20px; }
.luxury-client .pill-row { gap:8px; }
.luxury-client .pill { min-width:74px; background:rgba(255,255,255,.46); border:1px solid var(--lux-line); color:var(--lux-ink); box-shadow:none; }
.luxury-client .pill.active { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 10px 20px -12px rgba(116,79,40,.55); }

.luxury-client #formCard { scroll-margin-top:100px; }
.luxury-client .details-card { padding:22px; margin-top:14px; }
.booking-summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; background:rgba(25,25,27,.94); color:white; padding:15px; border-radius:21px; }
.summary-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:linear-gradient(145deg,#64d2ff,#0a84ff); color:#fff; }
.booking-summary div { display:flex; flex-direction:column; min-width:0; }
.booking-summary div>span { font-size:9px; color:#b8b4ae; text-transform:uppercase; letter-spacing:.1em; }
.booking-summary strong { font-size:13px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-summary small { color:#d0cbc5; font-size:10px; }
.change-time { min-height:34px; padding:7px 10px; color:#64d2ff; background:transparent; border:0; font-size:10px; box-shadow:none; }
.details-heading { margin:25px 2px 20px; }
.details-heading h2 { margin-top:6px; }
.details-heading p { color:var(--lux-soft); font-size:12px; margin:6px 0 0; }
.luxury-client .details-card label { color:var(--lux-ink); font-size:12px; }
.luxury-client .details-card label span { float:right; color:var(--lux-soft); font-weight:500; font-size:10px; }
.luxury-client input { background:rgba(255,255,255,.58)!important; color:var(--lux-ink)!important; border:1px solid var(--lux-line)!important; box-shadow:inset 0 1px 2px rgba(30,25,20,.04)!important; }
.luxury-client input:focus { border-color:rgba(10,132,255,.72)!important; box-shadow:0 0 0 4px rgba(10,132,255,.14)!important; }
.privacy-note { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; background:rgba(10,132,255,.09); border-radius:15px; color:var(--lux-soft); }
.privacy-note>span { color:var(--accent-dark); font-size:18px; line-height:1; }
.privacy-note p { margin:0; font-size:10px; line-height:1.6; }
.privacy-note a { color:var(--lux-ink); text-decoration:underline; }
.luxury-client .luxury-cta { margin-top:16px; background:linear-gradient(145deg,#28272a,#111113); color:#fff; box-shadow:0 16px 28px -17px rgba(0,0,0,.65); justify-content:space-between; padding-inline:20px; }
.luxury-client .luxury-cta>span { color:#64d2ff; }

.confirmation-card { padding:34px 25px; margin-top:14px; text-align:center; }
.confirmation-check { width:58px; height:58px; display:grid; place-items:center; border-radius:20px; margin:0 auto 18px; background:linear-gradient(145deg,#64d2ff,#0a84ff); color:white; font-size:27px; box-shadow:0 13px 24px -14px rgba(120,84,43,.6); }
.confirmation-card h2 { color:var(--lux-ink); font-size:25px; text-transform:none; line-height:1.15; letter-spacing:-.04em; max-width:380px; margin:9px auto 14px; }
.confirmation-card p { color:var(--lux-soft); font-size:13px; line-height:1.7; }
.confirmation-card small { color:var(--lux-soft); font-size:10px; }
.luxury-client .foot { color:var(--lux-soft); }

@media (prefers-color-scheme:dark) {
  body.luxury-client {
    --lux-bg:#07080b; --lux-ink:#f4f2ef; --lux-soft:#aaa5a0; --lux-line:rgba(255,255,255,.09);
    --lux-glass:rgba(26,26,31,.67); --lux-solid:#17171b;
    --accent:#0a84ff; --accent-dark:#409cff; --accent-ink:#fff;
    background:radial-gradient(circle at 85% -5%,rgba(110,91,71,.22),transparent 38%),linear-gradient(155deg,#101014,#060709);
  }
  body.luxury-client header.top { background:rgba(22,22,26,.66); border-color:rgba(255,255,255,.09); }
  .luxury-client .salon-logo,.luxury-client .salon-logo-fallback { border-color:rgba(15,15,18,.9); }
  .luxury-client .salon-trust span,.luxury-client .svc-card,.luxury-client .day-chip,.luxury-client .pill { background:rgba(255,255,255,.045); }
  .luxury-client .svc-card.active,.luxury-client .day-chip.active { background:#efebe6; color:#161619; border-color:#efebe6; }
  .luxury-client .svc-card.active .svc-card-name,.luxury-client .svc-card.active .svc-card-dur,.luxury-client .svc-card.active .svc-card-price { color:#161619; }
  .luxury-client input { background:rgba(255,255,255,.055)!important; }
  .luxury-client .luxury-cta { background:linear-gradient(145deg,#64d2ff,#0a84ff); color:#17130f; }
  .booking-progress .active b { background:#f1ede7; color:#171719; border-color:#f1ede7; }
  .booking-progress span::after { background:#36343a; }
}

@media (max-width:520px) {
  .luxury-client .wrap { padding:20px 14px 50px; }
  body.luxury-client header.top { margin:8px 10px 0; padding:12px 16px; }
  .secure-booking { font-size:10px; }
  .luxury-client .salon-cover { border-radius:25px; height:200px; }
  .luxury-client .salon-logo,.luxury-client .salon-logo-fallback { width:72px; height:72px; border-radius:22px; margin-left:20px; }
  .luxury-client .booking-card { padding-inline:17px; }
  .booking-progress span { gap:5px; font-size:9px; }
  .booking-progress span::after { min-width:10px; }
  .booking-progress b { width:21px; height:21px; }
  .step-heading h2 { font-size:19px; }
  .luxury-client .svc-card { min-height:68px; }
  .luxury-client .day-chip { flex-basis:58px; }
  .booking-summary { grid-template-columns:auto minmax(0,1fr) auto; padding:13px; }
}

@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
  body.luxury-client header.top,.luxury-client .booking-card,.luxury-client .details-card,.confirmation-card { background:var(--lux-solid); backdrop-filter:none; }
}

/* Readable day states and WhatsApp consent. */
.luxury-client .day-chip .dname{color:#6e6e73;font-size:10px;font-weight:750}
.luxury-client .day-chip .dnum{color:#1c1c1e;font-size:21px;font-weight:800;line-height:1.1}
.luxury-client .day-chip.active{background:#0a84ff;border-color:#0a84ff}
.luxury-client .day-chip.active .dname{color:rgba(255,255,255,.78)}
.luxury-client .day-chip.active .dnum{color:#fff}
.reminder-consent{display:flex;align-items:flex-start;gap:12px;margin:18px 0 10px;padding:14px;border:1px solid var(--lux-line);border-radius:17px;background:rgba(255,255,255,.42);cursor:pointer}
.reminder-consent input{flex:0 0 auto;width:20px!important;height:20px;min-height:0!important;margin:1px 0 0;accent-color:#0a84ff}
.reminder-consent>span{display:flex;flex-direction:column;gap:3px}
.reminder-consent strong{color:var(--lux-ink);font-size:12px}
.reminder-consent small{color:var(--lux-soft);font-size:10px;line-height:1.5}
@media(prefers-color-scheme:dark){
  .luxury-client .day-chip .dname{color:#a9a9b0}
  .luxury-client .day-chip .dnum{color:#f5f5f7}
  .luxury-client .day-chip.active{background:#0a84ff;border-color:#0a84ff}
  .luxury-client .day-chip.active .dname{color:rgba(255,255,255,.78)}
  .luxury-client .day-chip.active .dnum{color:#fff}
  .reminder-consent{background:rgba(255,255,255,.045)}
}
.reminder-confirmed{max-width:420px;margin:14px auto;padding:10px 13px;border-radius:14px;background:rgba(10,132,255,.1);color:var(--accent-dark)!important;font-size:11px!important;font-weight:650}
