:root{
  --bg:#fff4f8;
  --paper:#fffafd;
  --paper2:#fff;
  --ink:#5d1734;
  --muted:#7e5a69;
  --gold:#ef1680;
  --gold2:#ff8cbc;
  --gold-dark:#a8114d;
  --line:rgba(239,22,128,.18);
  --line-strong:rgba(239,22,128,.34);
  --shadow:0 22px 52px rgba(122,17,61,.11);
  --shadow-soft:0 12px 34px rgba(122,17,61,.08)
}
[hidden]{display:none!important}
*{box-sizing:border-box}
body{background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.95),transparent 28%),linear-gradient(180deg,#fff8fb 0,#fff1f7 55%,#ffe8f2 100%);font-family:'Montserrat',Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.65}
button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(239,22,128,.35);outline-offset:3px}
.booking-header{height:86px;background:rgba(255,250,253,.96);border-bottom:1px solid var(--line);gap:20px;padding:0 max(18px,calc((100vw - 1180px)/2))}
.lash-brand{display:flex;align-items:center;gap:8px;color:#ef1680;min-width:0}
.lash-logo-mark{width:72px;height:42px;display:block;flex:0 0 auto}
.lash-logo-mark svg{width:100%;height:100%;overflow:visible;fill:none;stroke:#ef1680;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lash-logo-mark svg path:first-child{fill:rgba(239,22,128,.08)}
.lash-wordmark{font-family:'Allura',cursive;font-size:34px;line-height:1;white-space:nowrap;color:#ef1680}
.lash-wordmark span{font-weight:400}.lash-wordmark b{font-family:inherit;font-weight:400;margin-left:3px}
.back{font-size:13px;color:#7d415b;background:#fff;border:1px solid var(--line);padding:10px 15px}
.back:hover{color:#ef1680;border-color:rgba(239,22,128,.35)}
.page-shell{width:min(100% - 28px,1080px);padding:34px 0 44px}
.lash-booking-hero{grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:24px}
.intro,.lash-booking-side{background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:24px;overflow:hidden}
.intro{padding:34px 34px 30px;position:relative}
.intro:after{content:"";position:absolute;width:250px;height:90px;border:18px solid rgba(247,103,166,.12);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;right:-110px;top:-28px;transform:rotate(12deg);pointer-events:none}
.eyebrow{color:#d41b70;letter-spacing:2.6px;font-size:10px;font-weight:700}
.intro h1{font-family:'Playfair Display',Georgia,serif;font-size:55px;line-height:1.05;font-weight:700;letter-spacing:-.035em;color:#8d123f;margin:12px 0 14px}
.intro p{font-size:14px;line-height:1.8;color:var(--muted);max-width:660px}
.lash-highlight{font-family:'Allura',cursive;color:#ef1680;font-size:30px;line-height:1.2;margin-top:18px}
.lash-highlight span{font-family:'Montserrat',sans-serif;font-size:18px}
.lash-booking-side{position:relative;min-height:260px;background:#ffdce9}
.lash-booking-side img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center 26%;display:block;filter:saturate(.96)}
.lash-booking-side:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(84,8,39,.68) 100%)}
.lash-side-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;color:#fff;text-shadow:0 2px 12px rgba(64,4,30,.28)}
.lash-side-copy span{font-size:9px;letter-spacing:.25em;font-weight:700}.lash-side-copy strong{display:block;font-family:'Allura',cursive;font-size:38px;line-height:1.05;font-weight:400}.lash-side-copy p{margin:4px 0 0;font-size:12px;line-height:1.45}
.loading,.message,.helper,.calendar-loading,.no-slots{font-size:14px;line-height:1.7}
.booking-unavailable{background:#fff;border:1px solid var(--line);padding:40px;max-width:820px;margin:0 auto 40px;border-radius:22px;box-shadow:var(--shadow-soft)}
.booking-unavailable h2{font-family:'Playfair Display',Georgia,serif;font-size:36px;line-height:1.2;color:#8d123f;margin:12px 0 16px}
.booking-unavailable p:not(.eyebrow){font-size:14px;color:var(--muted)}
.fallback-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.fallback-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:700}
.fallback-primary{background:linear-gradient(135deg,#f42a8d,#d9156d);color:#fff;box-shadow:0 10px 25px rgba(239,22,128,.2)}.fallback-secondary{border:1px solid rgba(239,22,128,.35);color:#d41468;background:#fff}
.fallback-bottom a,.fallback-bottom button{color:#a8114d;border-bottom:1px solid rgba(239,22,128,.3)}
.booking-card{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow);padding:36px;border-radius:24px}
.step-head>span{border-color:rgba(239,22,128,.38);color:#e51a77;background:linear-gradient(180deg,#fff,#ffe8f2);font-family:'Playfair Display',serif;box-shadow:0 7px 18px rgba(239,22,128,.08)}
.step-head small{font-size:10px;letter-spacing:1.8px;color:#d11a6c}.step-head h2{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:600;color:#7a173c}
.divider{background:linear-gradient(90deg,transparent,rgba(239,22,128,.22),transparent)}
.service-grid{gap:12px}.service{border-color:rgba(239,22,128,.15);background:linear-gradient(180deg,#fff,#fff6fa);border-radius:16px;box-shadow:0 7px 18px rgba(122,17,61,.04)}
.service:before{background:linear-gradient(90deg,#ffc3db,#f12684,#ffc3db)}.service:hover{border-color:rgba(239,22,128,.38);box-shadow:0 12px 25px rgba(122,17,61,.08)}.service.selected{border-color:#ef1680;background:#fff3f8;box-shadow:0 0 0 2px rgba(239,22,128,.09),0 14px 28px rgba(122,17,61,.08)}
.service strong{font-family:'Playfair Display',Georgia,serif;font-size:21px;color:#7a173c}.service small{font-size:12px}.service .price{color:#d41468}.service.selected::after{background:linear-gradient(135deg,#f42a8d,#d9156d)}
.calendar-card{background:linear-gradient(180deg,#fff,#fff6fa);border-color:rgba(239,22,128,.16);box-shadow:0 12px 28px rgba(122,17,61,.05);border-radius:24px}
.calendar-title-block small{color:#bf527f}.calendar-title-block h3{font-family:'Playfair Display',serif;color:#78183b}.calendar-nav{border-color:rgba(239,22,128,.28);background:linear-gradient(180deg,#fff,#ffeaf3);color:#d21868;box-shadow:0 8px 20px rgba(122,17,61,.04)}
.calendar-weekdays span{color:#94707e}.calendar-day{border-color:rgba(239,22,128,.09);background:linear-gradient(180deg,#fff,#fff9fb);box-shadow:0 4px 10px rgba(122,17,61,.025)}.calendar-day .num{color:#77505f}.calendar-day.available .num{color:#6d2844}.calendar-day.available .sub{color:#cd5b87}.calendar-day.selected{border-color:rgba(239,22,128,.55);background:linear-gradient(180deg,#fff3f8,#ffdbe9);box-shadow:0 0 0 2px rgba(239,22,128,.08),0 10px 20px rgba(122,17,61,.06)}.calendar-day.selected .num{color:#b51456}.calendar-day.selected .sub{color:#b51456}.calendar-day.locked,.calendar-day.disabled,.calendar-day:disabled{background:linear-gradient(180deg,#fbf8fa,#f8f2f5)}
.slot{border-color:rgba(239,22,128,.22);background:linear-gradient(180deg,#fff,#fff8fb);color:#6f2846}.slot:hover,.slot.selected{background:linear-gradient(135deg,#f42a8d,#d9156d);color:#fff}.slot-preview-head strong{font-family:'Playfair Display',serif;color:#7a173c}.more-slots-btn,.change-day-btn{border-color:rgba(239,22,128,.20);color:#9a315c}.more-slots-btn:hover,.change-day-btn:hover{border-color:rgba(239,22,128,.42);color:#d41468}
.form-grid label span{font-size:12px;text-transform:none;letter-spacing:.1px;color:#714356}.form-grid input,.form-grid textarea{border-color:rgba(239,22,128,.19);background:#fff;border-radius:10px;font-size:15px}.form-grid input:focus,.form-grid textarea:focus{border-color:#ef1680;box-shadow:0 0 0 3px rgba(239,22,128,.08)}
.consent{background:#fff5f9;border-color:rgba(239,22,128,.14);font-size:12px}.consent input{accent-color:#ef1680}
.summary{background:linear-gradient(180deg,#fff0f6,#ffe3ee);border-color:rgba(239,22,128,.18);color:#6b3150}.summary strong{font-family:'Playfair Display',serif;color:#a8114d}
.submit{background:linear-gradient(135deg,#f42a8d,#d9156d);border-radius:999px;box-shadow:0 13px 28px rgba(239,22,128,.22);text-transform:none;letter-spacing:0;font-size:15px}.submit:disabled{opacity:.42}.pending-note{font-size:11px;color:#8a6574}
.message.error{background:#fff0f3;border-color:#efb7c8;color:#7c334c}.message.success{background:#edf8f0;border-color:#b8dec2;color:#315b3a}
.calendar-day.available:after,.calendar-mobile-hint>span{background:#ef1680}.calendar-day.selected:after{background:#a8114d}
footer{background:#a30f47;color:#ffe9f2;border-top:0}footer a{color:#fff}footer div:last-child{opacity:.9}
.mobile-step-highlight{box-shadow:0 0 0 3px rgba(239,22,128,.08),0 18px 34px rgba(122,17,61,.08)!important}

@media(max-width:900px){.lash-booking-hero{grid-template-columns:1fr}.lash-booking-side{min-height:310px}.lash-booking-side img{min-height:310px;object-position:center 22%}}
@media(max-width:680px){
  .booking-header{height:72px;padding:0 13px}.lash-logo-mark{width:55px;height:34px}.lash-wordmark{font-size:27px}.back{font-size:0;padding:9px 11px;min-width:42px;min-height:42px}.back:after{content:'←';font-size:21px}
  .page-shell{width:calc(100% - 20px);padding-top:18px}.lash-booking-hero{gap:12px;margin-bottom:16px}.intro{padding:25px 20px 22px;border-radius:19px}.intro h1{font-size:39px}.intro p{font-size:13px}.lash-highlight{font-size:25px}.lash-booking-side{min-height:230px;border-radius:19px}.lash-booking-side img{min-height:230px;object-position:center 23%}.lash-side-copy strong{font-size:32px}
  .booking-card{padding:24px 14px;border-radius:18px}.step-head{gap:10px}.step-head>span{width:39px;height:39px;font-size:15px}.step-head h2{font-size:23px}.step-head small{font-size:9px}.service-grid{grid-template-columns:1fr}.service{padding:15px}.service strong{font-size:20px}.service small{font-size:12px}
  .calendar-card{padding:14px 7px;border-radius:19px}.calendar-grid{gap:4px}.calendar-weekdays{gap:4px}.calendar-day{height:55px;border-radius:13px;padding:5px 1px}.calendar-day .num{font-size:16px}.calendar-day .sub{font-size:8px}.calendar-weekdays span{font-size:10px}.calendar-title-block h3{font-size:19px}.calendar-nav{width:44px;height:44px;min-width:44px;border-radius:14px}.calendar-mobile-hint{font-size:11px}
  .form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-grid label span{font-size:12px}.form-grid input,.form-grid textarea{font-size:16px}.consent{font-size:11px;padding:12px}.submit{min-height:54px}.pending-note{font-size:10px}.booking-unavailable{padding:25px 20px;border-radius:18px}.booking-unavailable h2{font-size:30px}.fallback-actions{display:grid;grid-template-columns:1fr}.fallback-actions a{font-size:14px}
  footer{font-size:12px;padding:16px 12px;text-align:center;line-height:1.8}
}
@media(max-width:380px){.lash-wordmark{font-size:24px}.lash-logo-mark{width:48px}.intro h1{font-size:34px}.calendar-day .num{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
