:root{--purple:#6f1978;--purple2:#9d2caf;--ink:#35123a;--muted:#8b728e;--line:#eadbea;--soft:#faf1fb;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(135deg,#fff 0%,#f8eafa 100%);min-height:100vh}a{color:var(--purple)}
.wrap{width:100%;max-width:1180px;margin:auto;padding:24px}.top{text-align:center;padding:26px 8px 30px}.brand{letter-spacing:2px;font-size:13px;color:var(--purple2);font-weight:700}.top h1{font-size:44px;margin:8px 0;color:#4d0b50}.top p,.muted{color:var(--muted)}
.public-hero{position:relative;overflow:hidden;border-radius:24px;min-height:220px;margin-bottom:24px;background:linear-gradient(135deg,#5b1266,#b746be);display:flex;align-items:flex-end}.public-hero.has-cover{background-size:cover;background-position:center}.public-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(55,8,61,.78),rgba(55,8,61,.18))}.hero-content{position:relative;z-index:1;padding:28px;color:#fff;display:flex;gap:18px;align-items:center}.hero-logo{width:82px;height:82px;border-radius:18px;object-fit:contain;background:#fff;padding:8px}.hero-content h1{margin:0 0 6px;font-size:34px}.hero-content p{margin:4px 0;color:#f6eaf8}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;color:var(--purple);cursor:pointer}.chip.active{background:var(--purple);color:#fff}
.layout{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(300px,1fr)!important;gap:28px;align-items:start}.panel,.card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(76,11,80,.08)}.search{width:100%;padding:15px 17px;border:1px solid #e5d3e5;border-radius:14px;font-size:16px;margin-bottom:18px;background:#fff}
.category{margin-bottom:12px}.category summary{cursor:pointer;font-weight:700;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#5a155e}.category[open] summary{border-radius:13px 13px 0 0}.service{display:grid;grid-template-columns:1fr auto;gap:15px;padding:17px 10px;border-bottom:1px solid #f1e7f1;background:#fff}.service h3{margin:0 0 6px}.old{text-decoration:line-through;color:#9b859c}.new{font-weight:800;color:var(--purple2);font-size:19px;margin-left:8px}.bundle-tag{display:inline-block;background:#f5dcf7;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:800;color:#78117e}.service label.add{align-self:center;background:linear-gradient(90deg,#8e2199,#b748c4);color:#fff;padding:10px 15px;border-radius:999px;white-space:nowrap;cursor:pointer}.service label.add input{width:auto;margin:0 6px 0 0}
.summary{position:sticky;top:18px;height:max-content}.summary h2{margin-top:0}.summary-item{padding:12px 0;border-bottom:1px solid #eee}.saving{color:#8f1594;font-weight:700}.bundle-suggest{display:none;background:#fff4c9;border:1px solid #eed476;border-radius:14px;padding:14px;margin:0 0 16px}.bundle-suggest.show{display:block}.bundle-suggest strong{display:block;margin-bottom:5px}
.btn{border:0;border-radius:999px;padding:12px 20px;cursor:pointer;background:linear-gradient(90deg,#8e2199,#b748c4);color:#fff;font-weight:700;text-decoration:none;display:inline-block}.btn.light{background:#f3e8f4;color:#5b1b5f}.btn.danger{background:#8f2430}.row{display:flex;gap:14px;flex-wrap:wrap}.row>*{flex:1;min-width:180px}label{font-weight:700}input,select,textarea{width:100%;padding:14px;border:1px solid #e5d3e5;border-radius:13px;margin:7px 0 16px;font-size:15px;background:#fff}.notice{background:#f8e8fa;padding:14px;border-radius:12px}.voucher-box{border:1px dashed #d6acd9;background:#fffafd;border-radius:15px;padding:15px;margin-top:16px}.voucher-result{margin-top:8px;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.metric{font-size:28px;font-weight:800}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #eee}.badge{background:#f1e6f2;border-radius:99px;padding:5px 9px;font-size:12px}.badge.paid{background:#e6f6eb;color:#176b35}.badge.pending{background:#fff4d6;color:#805b00}
.admin-shell{min-height:100vh;background:#f8f7fa}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:linear-gradient(180deg,#6c1678,#5a1166);color:#fff;padding:22px 16px;overflow:auto}.admin-brand{display:flex;align-items:center;gap:12px;padding:8px 8px 24px}.admin-logo{width:48px;height:48px;border-radius:12px;background:#fff;object-fit:contain;padding:5px}.admin-brand-name{font-weight:800;line-height:1.2}.admin-nav a{display:block;color:#fff;text-decoration:none;padding:11px 13px;border-radius:10px;margin:3px 0}.admin-nav a:hover{background:rgba(255,255,255,.12)}.admin-main{margin-left:245px;padding:28px;max-width:1450px}.admin-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.admin-head h1{margin:0}.admin-card{background:#fff;border:1px solid #eee3ef;border-radius:16px;padding:20px;box-shadow:0 5px 18px rgba(55,17,60,.05)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.admin-card .metric{color:#5b1764}.admin-table-wrap{overflow:auto}.form-section{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #eee}.thumb{width:110px;height:70px;object-fit:contain;border:1px solid #eee;border-radius:10px;background:#fff}
@media(max-width:850px){.layout{grid-template-columns:1fr!important}.summary{position:static}.service{grid-template-columns:1fr}.wrap{padding:14px}.top h1{font-size:34px}.admin-sidebar{position:static;width:auto}.admin-main{margin-left:0;padding:16px}.admin-shell{display:block}.admin-nav{display:flex;gap:5px;overflow:auto}.admin-nav a{white-space:nowrap}.admin-brand{padding-bottom:10px}}

/* V3.1 */
.business-head{display:flex;align-items:center;justify-content:space-between;gap:38px;padding:8px 4px 22px}.business-identity{display:flex;align-items:center;gap:24px;min-width:0}.business-logo{display:block;width:132px;height:96px;object-fit:contain;background:transparent;border:0;border-radius:0;padding:0;flex:none}.business-name{font-size:31px;font-weight:800;line-height:1.08;color:#4d0b50}.business-contact{max-width:455px;font-size:14px;line-height:1.7;color:#644b66}.business-contact>div{display:flex;gap:9px;align-items:flex-start}.contact-icon{width:18px;flex:none;color:var(--purple);font-weight:800}.public-banner{width:100%;border-radius:24px;overflow:hidden;background:#eee;margin-bottom:25px;box-shadow:0 10px 30px rgba(76,11,80,.08)}.public-banner img{width:100%;height:auto;max-height:360px;display:block;object-fit:cover}.promo-intro{padding:2px 5px 23px;border-bottom:1px solid var(--line);margin-bottom:23px}.promo-intro h1{font-size:38px;line-height:1.08;margin:0 0 7px;color:#4d0b50}.promo-date{font-size:18px;font-weight:800;color:#6f1978;margin-bottom:8px}.promo-intro p{font-size:16px;line-height:1.5;margin:0;color:var(--muted)}.bundle-suggest.show{background:#f5fff5;border-color:#b9dfbc;color:#244f2a;padding:17px}.bundle-suggest-name{font-size:16px;font-weight:800;margin:2px 0 4px}.bundle-suggest-copy{font-size:14px;color:#5e675f}.bundle-prices{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.bundle-prices span{background:#fff;border:1px solid #dcebdc;border-radius:10px;padding:8px 10px;color:#5c465e}.bundle-prices .extra-save{color:#247032;font-weight:700}.service.bundle-locked{background:#fafafa}.service.bundle-locked .service-copy{opacity:.55}.service.bundle-locked label.add{background:#e4e1e5;color:#8c858d;cursor:not-allowed}.lock-note{display:none;font-size:13px;font-weight:800;color:#7e637f;margin:7px 0}.service.bundle-locked .lock-note{display:block}.admin-brand{display:block;padding:5px 8px 25px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.13)}.admin-logo{display:block;width:138px;height:104px;max-width:100%;object-fit:contain;object-position:left center;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 17px}.admin-brand-name{font-size:18px;line-height:1.15;margin-bottom:4px}.admin-brand small{opacity:.82}@media(max-width:850px){.business-head{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:18px}.business-identity{gap:16px}.business-logo{width:112px;height:82px}.business-name{font-size:25px}.business-contact{font-size:13px}.public-banner{border-radius:17px;margin-bottom:20px}.public-banner img{max-height:none}.promo-intro h1{font-size:31px}.admin-brand{padding-bottom:15px}.admin-logo{width:120px;height:88px;margin-bottom:12px}}


/* ===== V3.2 Admin polish: mirrors the existing SkinBeauty admin visual language ===== */
.admin-shell,.admin-shell input,.admin-shell select,.admin-shell textarea,.admin-shell button{font-family:Arial,Helvetica,sans-serif}
.admin-sidebar{width:252px;background:linear-gradient(180deg,#72127c 0%,#8f1594 100%);padding:18px 15px}
.admin-main{margin-left:252px;padding:24px 28px}
.admin-brand{text-align:center!important;padding:0 8px 32px!important;margin:0 0 12px!important;border:0!important}
.admin-logo-stage{width:96px;height:72px;margin:0 auto 12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;border-radius:0!important}
.admin-logo{width:126px!important;height:96px!important;max-width:none!important;object-fit:contain!important;object-position:center!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important}
.admin-brand-name{font-size:22px!important;font-weight:800;line-height:1.12;margin:0 0 5px;color:#fff}.admin-brand small{font-size:15px;color:#fff;opacity:.92}
.admin-nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;margin:4px 0;font-size:15px}.admin-nav a.active{background:rgba(255,255,255,.22);font-weight:800}.nav-ico{width:20px;text-align:center;font-weight:800;font-size:17px}
.admin-head h1{font-size:32px;letter-spacing:-.4px}.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(120deg,#5f126b,#b537bb);color:#fff;border-radius:22px;padding:27px 30px;margin-bottom:22px;box-shadow:0 12px 30px rgba(103,20,112,.14)}.admin-hero .eyebrow{font-size:11px;letter-spacing:1.8px;opacity:.55;margin-bottom:9px}.admin-hero h2{font-size:28px;margin:0 0 7px}.admin-hero p{margin:0;opacity:.9}.hero-action{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);padding:12px 17px;border-radius:999px;white-space:nowrap;font-weight:700}
.metric-grid{grid-template-columns:repeat(7,minmax(145px,1fr))}.metric-card{min-height:155px;position:relative;overflow:hidden;padding:20px}.metric-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;background:#fbf2fc;right:-20px;top:-22px}.metric-icon{width:42px;height:42px;border-radius:12px;background:#f6e9f7;color:#8d188f;display:grid;place-items:center;font-size:20px;font-weight:800;margin-bottom:20px}.metric-card .metric{font-size:27px;color:#29242a;margin-bottom:7px;white-space:nowrap}.recent-card{padding:21px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}.section-head h2{margin:0 0 4px;font-size:23px}.soft-pill{background:#f7eaf8;color:#8a238e;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}
.branding-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px}.brand-preview{display:flex;align-items:center;justify-content:flex-start;margin:8px 0 12px;overflow:hidden;background:transparent;border:0}.brand-preview img{display:block;max-width:100%;object-fit:contain}.transparent-preview{height:110px}.transparent-preview img{width:150px;height:110px}.cover-preview{height:110px;border-radius:12px}.cover-preview img{width:210px;height:110px;object-fit:cover;border-radius:12px}.remove-option{display:flex;align-items:center;gap:8px;width:max-content;font-weight:600;margin:0 0 15px;color:#7b267e}.remove-option input{width:auto;margin:0}
@media(max-width:1250px){.metric-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}}
@media(max-width:850px){.admin-sidebar{width:auto}.admin-main{margin-left:0}.admin-brand{text-align:left!important;padding:0 5px 15px!important}.admin-logo-stage{margin:0 0 8px;width:90px;height:65px}.admin-nav{display:flex}.admin-hero{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.branding-grid{grid-template-columns:1fr}}

/* ===== V3.3: closer to SkinBeauty's existing admin + image hover controls ===== */
.admin-sidebar{
  background:
    radial-gradient(circle at 14% 9%,rgba(38,0,45,.72) 0,rgba(38,0,45,.36) 20%,transparent 43%),
    radial-gradient(circle at 88% 56%,rgba(177,34,183,.34) 0,transparent 46%),
    linear-gradient(165deg,#4b0757 0%,#700b7b 46%,#9b159f 100%);
  box-shadow:18px 0 38px rgba(73,7,82,.12);
}
.admin-brand{padding-top:13px!important;padding-bottom:36px!important}
.admin-logo-stage{width:116px;height:84px;margin-bottom:16px;border-radius:16px!important;overflow:hidden;background:transparent!important}
.admin-logo{width:116px!important;height:84px!important;object-fit:cover!important;border-radius:16px!important}
.admin-brand-name{font-size:25px!important;font-weight:400!important;letter-spacing:-.2px}
.admin-brand small{font-size:18px!important;font-weight:400}
.admin-nav a{font-size:17px;padding:13px 15px;border-radius:11px}
.admin-nav a.active{background:rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(42,0,49,.10)}
.admin-hero{
  background:
    radial-gradient(circle at 12% 24%,rgba(49,0,58,.72),transparent 39%),
    radial-gradient(circle at 86% 20%,rgba(205,74,211,.34),transparent 37%),
    linear-gradient(120deg,#4c0759 0%,#75147f 47%,#ad31b5 100%);
  border-radius:28px;
  box-shadow:0 22px 46px rgba(105,18,113,.20),0 5px 16px rgba(67,5,75,.13);
  padding:31px 34px;
}
.admin-hero h2{font-size:30px}.admin-hero .eyebrow{letter-spacing:2px;opacity:.48}
.metric-card{border-radius:20px;box-shadow:0 12px 30px rgba(89,24,94,.08);border-color:#eee4ef}
.metric-card:after{width:105px;height:105px;right:-30px;top:-35px;background:radial-gradient(circle,#fbf0fc 0%,#fdf8fd 72%)}
.metric-icon{border-radius:13px;box-shadow:0 4px 12px rgba(118,31,124,.06)}
.recent-card{border-radius:22px;box-shadow:0 14px 34px rgba(89,24,94,.08)}

.branding-help{margin-top:-4px;margin-bottom:18px}.media-field>label:first-child{display:block;margin-bottom:9px}.media-preview{position:relative;border:1px dashed #e5d7e6;border-radius:16px;background:#fff;overflow:hidden;margin:0 0 14px;display:flex;align-items:center;justify-content:center;min-height:150px}.media-preview.logo-media{max-width:310px}.media-preview.cover-media{width:100%;min-height:180px}.media-preview img{display:block;max-width:100%;max-height:210px;object-fit:contain}.cover-media img{width:100%;height:180px;object-fit:cover}.media-preview:after{content:"";position:absolute;inset:0;background:rgba(38,5,42,.48);opacity:0;transition:.18s}.media-delete{position:absolute;z-index:3;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#d2243b;font-size:27px;line-height:1;cursor:pointer;opacity:0;transform:translateY(-4px);transition:.18s;box-shadow:0 5px 18px rgba(0,0,0,.15)}.media-remove-label{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-weight:800;opacity:0;transition:.18s;pointer-events:none}.media-preview:hover:after,.media-preview:hover .media-delete,.media-preview:hover .media-remove-label{opacity:1}.media-preview:hover .media-delete{transform:none}.media-delete:hover{background:#fff0f1}.media-empty{border:1px dashed #dfd2e0;border-radius:14px;min-height:115px;display:grid;place-items:center;color:var(--muted);margin-bottom:14px}.upload-label{display:block;margin-top:4px}.marked-for-removal{background:#fff7f8;border-color:#e8b8be}.marked-for-removal:after{display:none}.removal-state{text-align:center;color:#8d2632;font-weight:700;line-height:1.55}.undo-remove{margin-top:10px;border:0;border-radius:999px;padding:8px 14px;background:#f3e7f4;color:#68156f;font-weight:700;cursor:pointer}
@media(max-width:850px){.admin-brand-name{font-size:21px!important}.admin-brand small{font-size:15px!important}.admin-nav a{font-size:15px}.admin-hero{border-radius:21px;padding:24px}.media-preview.logo-media{max-width:none}}

/* ===== V3.3.2 Sidebar brand spacing fix ===== */
.admin-brand{
  padding-top:13px!important;
  padding-bottom:42px!important;
}
.admin-logo-stage{
  margin:0 auto 30px!important;
}
.admin-brand-name{
  font-size:21px!important;
  line-height:1.15!important;
  margin:0 0 7px!important;
  font-weight:400!important;
}
.admin-brand small{
  display:block;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:400!important;
}
@media(max-width:850px){
  .admin-logo-stage{margin:0 0 20px!important}
  .admin-brand-name{font-size:19px!important}
  .admin-brand small{font-size:14px!important}
}

/* =========================================================
   V4 — SKINBEAUTY & AURA BRAND EXPERIENCE
   Brand guide: Playfair Display / Poppins / Quicksand
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;1,500&family=Poppins:wght@300;400;500;600;700&family=Quicksand:wght@400;500&display=swap');
:root{--v4-ink:#2d172b;--v4-wine:#5c184f;--v4-accent:#a22aa6;--v4-rose:#d69a9a;--v4-blush:#fbf3f1;--v4-paper:#fffdfc;--v4-line:#eadfdd;--v4-muted:#796b75;--v4-green:#28b765}
html{scroll-behavior:smooth}body{font-family:'Poppins',Arial,sans-serif}.public-v4{background:#f9f3f1;color:var(--v4-ink)}
.public-v4 h1,.public-v4 h2,.public-v4 .category>summary{font-family:'Playfair Display',Georgia,serif;font-weight:500}.public-v4 .muted{color:var(--v4-muted)}
.site-shell{width:min(1220px,calc(100% - 34px));margin:18px auto;background:var(--v4-paper);border:1px solid var(--v4-line);border-radius:6px;overflow:hidden;box-shadow:0 18px 55px rgba(64,30,48,.06)}
.public-nav{height:82px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0e7e4;background:#fffdfc}.public-brand{display:flex;align-items:center;gap:13px}.public-brand img{width:52px;height:52px;object-fit:contain}.public-brand strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:19px;letter-spacing:.04em}.public-brand span{display:block;font-family:'Quicksand',sans-serif;font-size:8px;letter-spacing:.28em;margin-top:3px}.nav-book,.btn{font-family:'Poppins',sans-serif;text-decoration:none}.nav-book{background:linear-gradient(135deg,#b77779,#d69a9a);color:#fff;padding:12px 21px;border-radius:999px;font-size:13px;font-weight:500}
.v4-hero{min-height:500px;display:grid;grid-template-columns:46% 54%;background:linear-gradient(120deg,#fff9f7,#f4ded8);overflow:hidden}.v4-hero.no-image{grid-template-columns:1fr}.hero-copy{padding:70px 58px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow,.section-kicker,.summary-kicker{font-family:'Poppins',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;color:#9c5c68}.hero-copy h1{font-size:56px;line-height:1.02;margin:18px 0 20px;max-width:620px;color:#351c2f}.hero-copy p{font-size:14px;line-height:1.8;max-width:480px;margin:0 0 28px;color:#5f505a}.hero-media{min-height:500px;position:relative;background:#ead9d5}.hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-copy .btn{width:auto}.btn{background:linear-gradient(135deg,#a86b70,#d28f91)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:13px 22px!important;font-weight:500!important;box-shadow:none!important}.btn.light{background:#fff!important;color:#5a324d!important;border:1px solid #dccdca!important}.btn:hover{transform:translateY(-1px)}
.booking-stage{padding:42px 48px 54px;background:#fff}.booking-stage.compact{padding-top:28px}.booking-stage>h1,.booking-stage>h2{font-size:38px;margin:8px 0}.section-lead{font-size:13px;color:var(--v4-muted);margin:0 0 25px}.stepper{display:grid;grid-template-columns:repeat(4,1fr);max-width:720px;margin:0 0 42px;position:relative}.stepper:before{content:"";position:absolute;left:25px;right:25px;top:14px;height:1px;background:#e5d8d5}.step{position:relative;display:flex;align-items:center;gap:8px;font-size:11px;color:#a3929b;z-index:1}.step span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #dbc8c5;border-radius:50%;background:#fff;font-size:10px}.step.active,.step.done{color:#713b57}.step.active span,.step.done span{background:#bd7d80;color:#fff;border-color:#bd7d80}.step b{font-weight:500;background:#fff;padding-right:8px}
.public-v4 .layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.service-tools{margin:22px 0}.public-v4 .search{border:1px solid var(--v4-line);border-radius:12px;padding:14px 16px;font-family:'Poppins';background:#fff}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chip{border:1px solid #eadedb;background:#fff;color:#6c5b65;padding:8px 13px;border-radius:999px;font-family:'Poppins';font-size:11px}.chip.active{background:#b77779;color:#fff;border-color:#b77779}.category{border:0!important;background:transparent!important;margin:0 0 24px!important}.category>summary{font-size:22px;padding:12px 0!important;border-bottom:1px solid #eee3e0;cursor:pointer}.service-list{display:grid;gap:10px;padding-top:13px}.service{display:grid!important;grid-template-columns:96px minmax(0,1fr) 46px!important;gap:16px!important;align-items:center!important;padding:10px!important;border:1px solid #eee3e0!important;border-radius:10px!important;background:#fffaf8!important;box-shadow:none!important;min-height:112px}.service-image{width:96px;height:92px;border-radius:7px;overflow:hidden;background:#f0dfda}.service-image img{width:100%;height:100%;object-fit:cover}.service-image.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#f4e3df,#ead0d2);color:#9a6879;font-family:'Playfair Display';font-size:13px;letter-spacing:.08em}.service-copy h3{font-family:'Poppins',sans-serif!important;font-size:14px!important;font-weight:600!important;margin:0 0 4px!important}.service-copy p{font-size:11px;line-height:1.55;margin:2px 0}.included{font-family:'Quicksand',sans-serif;color:#8b7680}.service-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px;font-size:11px}.service-meta span+span:before{content:'|';color:#d6c6c4;margin-right:10px}.old{text-decoration:line-through;color:#a69a9f!important}.new{color:#401b37!important;font-weight:700}.add{width:38px;height:38px;border:1px solid #b98c8e;border-radius:50%;display:grid!important;place-items:center!important;cursor:pointer}.add input{position:absolute;opacity:0;pointer-events:none}.add span{font-size:20px;color:#8b555e;line-height:1}.service:has(.add input:checked){border-color:#c88d90!important;background:#fff6f4!important}.service:has(.add input:checked) .add{background:#b77779}.service:has(.add input:checked) .add span{color:#fff}.bundle-tag{font-size:8px!important;letter-spacing:.12em;background:#f0dcdf!important;color:#8c4e62!important}.bundle-locked{opacity:.58}.lock-note{font-size:10px;color:#9b2aac;display:none}.bundle-locked .lock-note{display:block}
.public-v4 .summary{position:sticky;top:20px;border:1px solid #eadfdd!important;border-radius:12px!important;background:#fff!important;padding:24px!important;box-shadow:0 12px 32px rgba(61,30,46,.06)!important}.summary h2{font-family:'Poppins',sans-serif!important;font-size:19px!important;font-weight:600!important;margin:5px 0 18px}.summary-item{display:flex!important;justify-content:space-between;gap:12px;padding:11px 0!important;border-bottom:1px solid #f0e7e4;font-size:11px}.summary p{display:flex;justify-content:space-between;font-size:11px}.summary h3{display:flex;justify-content:space-between;border-top:1px solid #e8dcda;padding-top:15px;font-size:17px}.summary .saving{color:#a22aa6}.summary .btn{width:100%;margin-top:10px}.bundle-suggest.show{border:1px solid #e4cfcb;background:#fff4f0;border-radius:12px;padding:18px;margin:15px 0}.bundle-suggest-name{font-family:'Playfair Display';font-size:20px;margin:5px 0}.bundle-prices{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;margin:10px 0}.extra-save{color:#a22aa6}.public-footer{padding:25px 42px;border-top:1px solid #eee4e1;display:flex;justify-content:space-between;font-family:'Quicksand';font-size:11px;color:#76646e}
.simple-public-head{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid #eee4e1}.simple-public-head a{text-decoration:none;color:#6b5361;font-size:12px}.simple-public-head strong{font-family:'Playfair Display';font-weight:500}.booking-shell .panel{border:1px solid #eadfdd!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}.public-v4 label{font-size:11px;font-weight:500;color:#493742}.public-v4 input,.public-v4 select,.public-v4 textarea{font-family:'Poppins';border:1px solid #ded1cf;border-radius:9px;padding:12px;background:#fff}.voucher-box,.public-v4 .notice{border:1px solid #ead9e8!important;background:#fcf5fb!important;border-radius:10px!important}.confirmation-shell{max-width:780px}.confirmation-card{text-align:center;padding:58px 54px;background:linear-gradient(135deg,#fff,#fff8f6)}.confirm-mark{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#5ab572;color:#fff;font-size:27px}.confirmation-card h1{font-size:40px;margin:9px 0}.confirmation-details{text-align:left;margin-top:28px}.confirmation-details h2{font-family:'Poppins';font-size:20px}

/* V4 admin typography + cleaner editorial dashboard */
.admin-shell,.admin-shell input,.admin-shell textarea,.admin-shell select,.admin-shell button{font-family:'Poppins',Arial,sans-serif}.admin-main h1,.admin-main h2{font-family:'Poppins',Arial,sans-serif;letter-spacing:-.02em}.admin-sidebar{background:linear-gradient(180deg,#3b2634 0%,#291d27 100%)!important}.admin-brand-name{font-family:'Playfair Display',Georgia,serif!important;font-weight:500!important}.admin-nav a{font-family:'Poppins';font-size:13px!important;font-weight:400}.admin-hero{background:linear-gradient(125deg,#3c2835,#694054 58%,#a66d72)!important;border-radius:18px!important}.admin-hero h2{font-family:'Playfair Display',Georgia,serif!important;font-weight:500;font-size:31px!important}.admin-card,.metric-card,.recent-card{border-radius:12px!important;box-shadow:0 8px 24px rgba(61,30,46,.05)!important}.metric-card .metric{font-family:'Poppins';font-weight:600}.metric-icon{background:#f7eeeb!important;color:#955b65!important}.service-admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:28px}.service-image-preview{border:1px solid #eadfdd;border-radius:12px;overflow:hidden;background:#faf6f4}.service-image-preview img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.remove-image-check{display:block;padding:10px 12px}.service-image-empty{aspect-ratio:4/3;display:grid;place-items:center;border:1px dashed #d9c9c7;border-radius:12px;color:#8a7880;margin-bottom:12px;background:#fcf8f6}

@media(max-width:900px){
 .site-shell{width:100%;margin:0;border:0;border-radius:0}.public-nav{height:68px;padding:0 18px}.public-brand img{width:42px;height:42px}.public-brand strong{font-size:15px}.public-brand span{font-size:6px}.nav-book{padding:10px 13px;font-size:10px}.v4-hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:42px 24px 34px}.hero-copy h1{font-size:42px}.hero-media{min-height:360px;position:relative}.hero-media img{position:absolute}.booking-stage{padding:30px 18px 90px}.stepper{margin-bottom:32px}.step b{display:none}.stepper:before{left:14px;right:14px}.booking-stage>h1,.booking-stage>h2{font-size:31px}.public-v4 .layout{grid-template-columns:1fr}.public-v4 .summary{position:static}.service-admin-grid{grid-template-columns:1fr}.simple-public-head{padding:0 18px}.confirmation-card{padding:42px 18px}.confirmation-card h1{font-size:34px}.public-footer{padding:22px 18px;display:grid;gap:5px}
}
@media(max-width:560px){
 .hero-copy h1{font-size:36px}.hero-media{min-height:300px}.service{grid-template-columns:76px minmax(0,1fr) 38px!important;gap:11px!important}.service-image{width:76px;height:82px}.service-copy .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-meta{gap:6px}.service-meta span+span:before{margin-right:6px}.chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.chip{white-space:nowrap}.public-v4 .row{grid-template-columns:1fr!important}.booking-stage .panel{padding:18px!important}.public-brand div{max-width:170px}.public-brand span{display:none}
}

/* =========================================================
   V4.1 PART 1 — RESPONSIVE APP-LIKE ANNIVERSARY LANDING
   Phone / tablet / laptop / desktop are first-class layouts.
   ========================================================= */
:root{--sba-purple:#7b0674;--sba-magenta:#ac08a2;--sba-mauve:#b186aa;--sba-cream:#fffaf7;--sba-ink:#321b2d}
.public-v4{min-height:100dvh;background:var(--sba-cream);overflow-x:hidden}
.public-v4 .site-shell{min-height:calc(100dvh - 36px)}
.app-screen.is-hidden{display:none!important}.booking-screen{display:none}.booking-screen.is-active{display:block}
.landing-screen{min-height:calc(100dvh - 36px);display:flex;flex-direction:column;background:#fffaf7}
.landing-screen .public-nav{flex:0 0 82px;position:relative;z-index:5}
.landing-screen .nav-book,.landing-screen .hero-book{background:linear-gradient(135deg,var(--sba-purple),var(--sba-magenta))!important}
.landing-screen .v4-hero{flex:1;min-height:0;grid-template-columns:minmax(390px,44%) minmax(0,56%);background:linear-gradient(105deg,#fffaf7 0%,#fff5f2 48%,#f5ded9 100%)}
.landing-screen .hero-copy{padding:clamp(42px,5.4vw,82px) clamp(34px,5vw,74px);position:relative;z-index:2}
.landing-screen .eyebrow{color:var(--sba-purple);font-size:clamp(9px,.75vw,11px);letter-spacing:.22em}
.landing-screen .hero-copy h1{color:var(--sba-ink);font-size:clamp(46px,5.1vw,72px);line-height:.98;max-width:650px;margin:20px 0 22px}
.landing-screen .hero-copy p{font-size:clamp(13px,1vw,16px);line-height:1.65;color:#594650;max-width:520px}
.landing-screen .hero-media{min-height:0;height:100%;position:relative;background:#f3dfda;overflow:hidden}
.landing-screen .hero-media:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:18%;background:linear-gradient(90deg,#fff5f2 0%,rgba(255,245,242,0) 100%);pointer-events:none}
.landing-screen .hero-media img{object-fit:cover;object-position:center center}
.hero-tagline{position:absolute;z-index:2;left:5%;bottom:10%;max-width:210px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,31px);line-height:1.12;color:#5b294b;text-shadow:0 1px 8px rgba(255,255,255,.6)}
.booking-open .booking-only{display:flex}.booking-only{display:none}

/* Tablet landscape / small laptops */
@media (min-width:901px) and (max-width:1180px){
 .public-v4 .site-shell{width:calc(100% - 24px);margin:12px auto;min-height:calc(100dvh - 24px)}
 .landing-screen{min-height:calc(100dvh - 24px)}
 .landing-screen .public-nav{height:74px;flex-basis:74px;padding:0 28px}
 .landing-screen .v4-hero{grid-template-columns:46% 54%}
 .landing-screen .hero-copy{padding:44px 34px}
 .landing-screen .hero-copy h1{font-size:clamp(43px,5.2vw,60px)}
 .hero-tagline{font-size:23px;left:6%;bottom:8%;max-width:160px}
}

/* Tablet portrait — editorial stack, not a stretched phone */
@media (min-width:601px) and (max-width:900px){
 .public-v4 .site-shell{width:100%;margin:0;min-height:100dvh;border:0;border-radius:0}
 .landing-screen{min-height:100dvh}
 .landing-screen .public-nav{height:76px;flex-basis:76px;padding:0 28px}
 .landing-screen .v4-hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(390px,1fr);min-height:calc(100dvh - 76px)}
 .landing-screen .hero-copy{padding:44px 48px 26px}
 .landing-screen .hero-copy h1{font-size:clamp(48px,7vw,64px);max-width:620px;margin:15px 0 15px}
 .landing-screen .hero-copy p{max-width:560px;margin-bottom:20px}
 .landing-screen .hero-media{min-height:390px}
 .landing-screen .hero-media img{object-position:center 34%}
 .landing-screen .hero-media:before{inset:0 0 auto 0;width:auto;height:18%;background:linear-gradient(180deg,#fff5f2,rgba(255,245,242,0))}
 .hero-tagline{left:7%;bottom:10%;font-size:27px;max-width:190px}
}

/* Phones — first screen fills the device and image sits beneath the copy */
@media (max-width:600px){
 html,body{max-width:100%;overflow-x:hidden}
 .public-v4 .site-shell{width:100%;margin:0;min-height:100dvh;border:0;border-radius:0;box-shadow:none}
 .landing-screen{height:100dvh;min-height:640px;overflow:hidden}
 .landing-screen .public-nav{height:66px;flex:0 0 66px;padding:0 16px;background:#fffdfc}
 .landing-screen .public-brand{gap:10px;min-width:0}.landing-screen .public-brand img{width:40px;height:40px}.landing-screen .public-brand strong{font-size:15px;white-space:nowrap}.landing-screen .public-brand span{display:none}
 .landing-screen .nav-book{display:none}
 .landing-screen .v4-hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:0;height:calc(100dvh - 66px);background:linear-gradient(180deg,#fff8f6 0%,#f8e4e0 100%)}
 .landing-screen .hero-copy{padding:25px 24px 13px;justify-content:flex-start}
 .landing-screen .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.18em}
 .landing-screen .hero-copy h1{font-size:clamp(38px,11vw,52px);line-height:.96;margin:11px 0 12px;max-width:360px}
 .landing-screen .hero-copy p{font-size:12.5px;line-height:1.5;margin:0 0 14px;max-width:340px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .landing-screen .hero-book{padding:11px 19px!important;font-size:12px!important}
 .landing-screen .hero-media{min-height:0;height:auto}
 .landing-screen .hero-media img{object-position:center 28%;}
 .landing-screen .hero-media:before{inset:0 0 auto 0;width:auto;height:22%;background:linear-gradient(180deg,#f8e4e0 0%,rgba(248,228,224,0) 100%)}
 .hero-tagline{left:7%;bottom:9%;font-size:clamp(19px,6vw,25px);max-width:145px}
 .booking-screen{min-height:100dvh}
}

/* Short phone screens: preserve controls without horizontal clipping */
@media (max-width:600px) and (max-height:700px){
 .landing-screen .hero-copy{padding-top:16px;padding-bottom:8px}
 .landing-screen .hero-copy h1{font-size:36px;margin:8px 0}
 .landing-screen .hero-copy p{font-size:11.5px;margin-bottom:9px;-webkit-line-clamp:2}
 .landing-screen .hero-book{padding:9px 16px!important}
 .hero-tagline{font-size:18px;bottom:6%}
}

/* Phone landscape: compact two-column app view */
@media (max-height:600px) and (orientation:landscape){
 .landing-screen{height:100dvh;min-height:0}
 .landing-screen .public-nav{height:56px;flex-basis:56px}.landing-screen .public-brand img{width:34px;height:34px}
 .landing-screen .v4-hero{height:calc(100dvh - 56px);display:grid;grid-template-columns:46% 54%;grid-template-rows:1fr}
 .landing-screen .hero-copy{padding:18px 24px}.landing-screen .hero-copy h1{font-size:clamp(31px,5vw,44px)}.landing-screen .hero-copy p{font-size:11px;-webkit-line-clamp:2}
 .landing-screen .hero-media{height:100%}.landing-screen .hero-media:before{inset:0 auto 0 0;width:18%;height:auto;background:linear-gradient(90deg,#fff5f2,rgba(255,245,242,0))}
 .hero-tagline{font-size:18px;left:5%;bottom:7%}
}

/* =========================================================
   V4.1.1 PART 1 — FULL-BLEED HERO BACKGROUND CORRECTION
   The admin-uploaded hero artwork now covers the entire hero.
   ========================================================= */
.landing-screen .v4-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:stretch;
  background-image:var(--hero-bg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.landing-screen .v4-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,250,247,.93) 0%,rgba(255,250,247,.78) 32%,rgba(255,250,247,.20) 55%,rgba(255,250,247,0) 72%);
}
.landing-screen .v4-hero.no-image{background-image:linear-gradient(105deg,#fffaf7,#f5ded9)}
.landing-screen .hero-copy{width:min(48%,680px);min-width:390px;position:relative;z-index:2}
.landing-screen .hero-tagline{left:auto;right:5.5%;bottom:8%;z-index:2;color:#5b294b}

@media (min-width:901px) and (max-width:1180px){
 .landing-screen .v4-hero{background-position:58% center}
 .landing-screen .hero-copy{width:48%;min-width:360px}
 .landing-screen .hero-tagline{right:4%;left:auto}
}

@media (min-width:601px) and (max-width:900px){
 .landing-screen .v4-hero{
   display:flex;
   min-height:calc(100dvh - 76px);
   background-position:62% center;
 }
 .landing-screen .v4-hero::after{background:linear-gradient(180deg,rgba(255,250,247,.94) 0%,rgba(255,250,247,.78) 35%,rgba(255,250,247,.20) 63%,rgba(255,250,247,0) 82%)}
 .landing-screen .hero-copy{width:100%;min-width:0;max-width:680px;padding:48px 48px 32px;justify-content:flex-start}
 .landing-screen .hero-tagline{left:7%;right:auto;bottom:7%;max-width:190px}
}

@media (max-width:600px){
 .landing-screen .v4-hero{
   display:flex;
   height:calc(100dvh - 66px);
   min-height:0;
   background-size:auto 100%;
   background-position:70% center;
   background-color:#f8e4e0;
 }
 .landing-screen .v4-hero::after{
   background:linear-gradient(180deg,rgba(255,250,247,.96) 0%,rgba(255,250,247,.84) 37%,rgba(255,250,247,.28) 58%,rgba(255,250,247,0) 76%);
 }
 .landing-screen .hero-copy{width:100%;min-width:0;max-width:none;padding:25px 24px 13px;justify-content:flex-start}
 .landing-screen .hero-tagline{left:7%;right:auto;bottom:7%;max-width:145px}
}

@media (max-height:600px) and (orientation:landscape){
 .landing-screen .v4-hero{
   display:flex;
   height:calc(100dvh - 56px);
   background-size:cover;
   background-position:65% center;
 }
 .landing-screen .v4-hero::after{background:linear-gradient(90deg,rgba(255,250,247,.94) 0%,rgba(255,250,247,.76) 38%,rgba(255,250,247,.08) 66%,rgba(255,250,247,0) 78%)}
 .landing-screen .hero-copy{width:48%;min-width:300px;padding:18px 24px}
 .landing-screen .hero-tagline{left:auto;right:4%;bottom:7%}
}

/* V4.1.2 — SkinBeauty hero copy + softer brand-purple CTAs */
.landing-screen .nav-book,
.landing-screen .hero-book{
  background:linear-gradient(135deg,#9b4a96,#b86bb3)!important;
  color:#fff!important;
}
.landing-screen .nav-book:hover,
.landing-screen .hero-book:hover{
  background:linear-gradient(135deg,#8d3588,#ad58a7)!important;
}


/* V4.1.3 — hero regression correction */
.landing-screen .v4-hero{background-size:cover!important;background-repeat:no-repeat!important;}
.landing-screen .hero-brand-line{order:2;margin:0 0 18px;color:var(--sba-purple)!important;}
.landing-screen .hero-copy h1{order:1;}
.landing-screen .hero-copy p{order:3;}
.landing-screen .hero-book{order:4;}
.landing-screen .nav-book,.landing-screen .hero-book{background:#9b4a96!important;background-image:none!important;color:#fff!important;}
.landing-screen .nav-book:hover,.landing-screen .hero-book:hover{background:#873d82!important;}
@media(max-width:600px){.landing-screen .hero-brand-line{margin:0 0 12px}.landing-screen .v4-hero{background-size:auto 100%!important;background-position:70% center!important;}}
@media(max-height:600px) and (orientation:landscape){.landing-screen .v4-hero{background-size:cover!important;background-position:65% center!important;}}

/* =========================================================
   V4.2 PART 2 — SERVICE SELECTOR + SKINBEAUTY PURPLE STATES
   Hero rules above are intentionally untouched.
   ========================================================= */
.booking-screen{--booking-purple:#9b4a96;--booking-purple-dark:#873d82;}
.booking-screen .step.active,.booking-screen .step.done{color:var(--booking-purple)!important}
.booking-screen .step.active span,.booking-screen .step.done span{background:var(--booking-purple)!important;border-color:var(--booking-purple)!important;color:#fff!important}
.booking-screen .chip.active{background:var(--booking-purple)!important;border-color:var(--booking-purple)!important;color:#fff!important}
.booking-screen .category>summary{color:#4e2146}
.booking-screen .service{grid-template-columns:minmax(0,1fr) 46px!important;padding:17px 18px!important;min-height:0!important}
.booking-screen .service-image{display:none!important}
.booking-screen .add{border-color:var(--booking-purple)!important;background:var(--booking-purple)!important}
.booking-screen .add span{color:#fff!important}
.booking-screen .service:has(.add input:checked){border-color:var(--booking-purple)!important;background:#fcf5fb!important;box-shadow:0 0 0 1px rgba(155,74,150,.08)!important}
.booking-screen .service:has(.add input:checked) .add{background:var(--booking-purple-dark)!important}
.booking-screen .new,.booking-screen .saving,.booking-screen .extra-save{color:var(--booking-purple)!important}
.booking-screen .regular-only{margin-left:0!important;color:#351c2f!important}
.booking-screen .summary .btn,.booking-screen .bundle-suggest .btn{background:var(--booking-purple)!important;background-image:none!important;color:#fff!important}
.booking-screen .summary .btn:hover,.booking-screen .bundle-suggest .btn:hover{background:var(--booking-purple-dark)!important}
.booking-screen .bundle-tag{background:#f3e6f2!important;color:#7b326f!important}
.order-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #eee3ef}.order-row:last-child{border-bottom:0}.order-actions form{display:flex;gap:8px;flex-wrap:wrap;margin:0}.order-btn{width:auto!important;margin:0!important;padding:8px 12px!important;border:1px solid #d8c7d5!important;border-radius:999px!important;background:#fff!important;color:#7b326f!important;cursor:pointer}.order-btn:hover{background:#f7edf6!important}.top-order{margin:14px 0 4px}.bundle-service-option{display:block;padding:10px;border-bottom:1px solid #eee}.bundle-service-option input{width:auto;margin-right:6px}
@media(max-width:600px){.booking-screen .service{grid-template-columns:minmax(0,1fr) 40px!important;padding:15px 14px!important}.booking-screen .add{width:36px;height:36px}.order-row{grid-template-columns:1fr}.order-actions form{width:100%}.order-btn{flex:1}}

/* =========================================================
   V4.2.1 — DRAG ORDER + COLLAPSED CATALOGUE + PORTRAIT WIDTH
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.booking-screen,.booking-screen form,.booking-screen .layout,.booking-screen main,.booking-screen .service-tools,.booking-screen .cat-block,.booking-screen .service-list,.booking-screen .service,.booking-screen .service-copy{min-width:0;max-width:100%;box-sizing:border-box}
.booking-screen .category>summary{overflow-wrap:anywhere;word-break:normal}
.booking-screen .service-copy h3,.booking-screen .service-copy p,.booking-screen .included{overflow-wrap:anywhere}
.sortable-list{display:grid;gap:8px;margin:14px 0}.sortable-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #e7dbe5;border-radius:10px;background:#fff;transition:box-shadow .15s,opacity .15s}.sortable-item.dragging{opacity:.55;box-shadow:0 8px 24px rgba(74,32,69,.16)}.drag-handle{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f4eaf3;color:#8d4286;font-size:22px;line-height:1;cursor:grab;touch-action:none;user-select:none}.drag-handle:active{cursor:grabbing}.reorder-save{width:auto!important;margin-top:4px!important}
@media(max-width:600px){.booking-stage{width:100%;max-width:100%;padding-left:16px!important;padding-right:16px!important;overflow:hidden}.booking-screen .layout{width:100%;max-width:100%}.booking-screen .chips{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.booking-screen .category>summary{font-size:20px!important;line-height:1.2}.booking-screen .service{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) 36px!important;gap:8px!important;padding:14px 12px!important}.booking-screen .service-meta{max-width:100%;gap:5px!important}.booking-screen .service-meta span{max-width:100%}.booking-screen .add{width:34px!important;height:34px!important}.sortable-item{grid-template-columns:34px minmax(0,1fr)}.sortable-item>.muted{grid-column:2}}

/* =========================================================
   V4.3 PART 3 — DATE & TIME
   ========================================================= */
.datetime-stage{--dt-purple:#9b4a96;--dt-purple-dark:#873d82;--dt-soft:#fbf5fa;--dt-line:#eadfea}
.datetime-stage .step.active,.datetime-stage .step.done{color:var(--dt-purple)!important}.datetime-stage .step.active span,.datetime-stage .step.done span{background:var(--dt-purple)!important;border-color:var(--dt-purple)!important;color:#fff!important}
.datetime-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.datetime-panel{padding:28px!important}.calendar-card,.time-card{border:1px solid var(--dt-line);border-radius:16px;background:#fff;padding:22px}.calendar-card{margin-bottom:18px}.calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;margin-bottom:20px}.calendar-head h2{font-family:'Playfair Display',Georgia,serif!important;text-align:center;font-size:25px!important;font-weight:500!important;margin:0!important}.calendar-nav{width:38px;height:38px;border:1px solid var(--dt-line);background:#fff;border-radius:50%;font-size:25px;color:#5d3659;cursor:pointer}.calendar-nav:disabled{opacity:.25;cursor:default}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday-row{margin-bottom:7px}.weekday-row span{text-align:center;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#9a8995}.calendar-day{aspect-ratio:1;border:1px solid transparent;background:#fff;border-radius:50%;font-family:'Poppins';font-size:12px;color:#46333f;cursor:pointer;min-width:0}.calendar-day:hover:not(:disabled){border-color:#d9b9d6;background:#fff9ff}.calendar-day.is-selected{background:var(--dt-purple);color:#fff;border-color:var(--dt-purple);font-weight:600}.calendar-day.is-disabled{color:#d3c8cf;background:transparent;cursor:not-allowed}.calendar-blank{aspect-ratio:1}.time-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:17px}.time-heading h2{font-family:'Poppins',sans-serif!important;font-size:17px!important;font-weight:600!important;margin:4px 0 0!important}.duration-pill{white-space:nowrap;border-radius:999px;background:#f4e9f3;color:#773a71;padding:7px 10px;font-size:10px}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.time-slot{border:1px solid #e4d7e2;background:#fff;border-radius:10px;padding:12px 8px;font-family:'Poppins';font-size:11px;color:#51364d;cursor:pointer}.time-slot:hover{border-color:#c995c5;background:#fffaff}.time-slot.is-selected{background:var(--dt-purple);border-color:var(--dt-purple);color:#fff;font-weight:600}.empty-times{grid-column:1/-1;margin:0;padding:18px;border-radius:10px;background:#fbf8fa;color:#8a7984;font-size:12px;text-align:center}.datetime-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.datetime-actions .btn{min-width:122px;text-align:center}.datetime-actions button:disabled{opacity:.42;cursor:not-allowed;transform:none!important}.datetime-summary{position:sticky!important;top:20px!important}.datetime-summary .summary-item{text-align:left}.datetime-summary .summary-item>div:last-child{text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee3eb;margin-top:10px;padding-top:17px}.summary-total strong{font-size:18px;color:#351c2f}.chosen-appointment{margin-top:17px;padding:14px;border-radius:11px;background:var(--dt-soft);border:1px solid #ead9e8}.chosen-appointment span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8d7588;margin-bottom:5px}.chosen-appointment strong{font-size:12px;color:#4b2946}.flow-step[hidden]{display:none!important}
@media(max-width:900px){.datetime-layout{grid-template-columns:1fr}.datetime-summary{position:static!important}.datetime-panel{padding:22px!important}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.datetime-stage{padding-left:16px!important;padding-right:16px!important;overflow:hidden}.datetime-stage,.datetime-stage form,.datetime-layout,.datetime-panel,.calendar-card,.time-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.datetime-panel{padding:0!important;border:0!important}.calendar-card,.time-card{padding:16px;border-radius:14px}.calendar-head{margin-bottom:15px}.calendar-head h2{font-size:22px!important}.weekday-row,.calendar-grid{gap:3px}.calendar-day{font-size:11px}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.time-slot{padding:12px 5px}.datetime-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0 2px;z-index:4}.datetime-actions .btn{flex:1;min-width:0}.datetime-summary{display:none}.time-heading{align-items:center}.duration-pill{font-size:9px}.datetime-stage>h1,.flow-step>h1{font-size:31px;margin:8px 0}}
@media(max-width:360px){.calendar-card,.time-card{padding:12px}.weekday-row,.calendar-grid{gap:1px}.calendar-nav{width:34px;height:34px}.time-slots{grid-template-columns:1fr 1fr}}


/* =========================================================
   V4.3.1 — DATE/TIME BUTTON COLOUR + MOBILE BOOKING SUMMARY
   ========================================================= */
.datetime-stage .datetime-actions .btn:not(.light){background:var(--dt-purple)!important;background-image:none!important;border-color:var(--dt-purple)!important;color:#fff!important}
.datetime-stage .datetime-actions .btn:not(.light):hover{background:var(--dt-purple-dark)!important;border-color:var(--dt-purple-dark)!important}
.datetime-stage .datetime-actions .btn.light{background:#fff!important;background-image:none!important;border:1px solid var(--dt-purple)!important;color:var(--dt-purple)!important}
.datetime-stage .datetime-actions .btn.light:hover{background:var(--dt-soft)!important;border-color:var(--dt-purple-dark)!important;color:var(--dt-purple-dark)!important}
.datetime-stage .datetime-actions button:disabled{background:var(--dt-purple)!important;border-color:var(--dt-purple)!important;color:#fff!important;opacity:.42!important}
.datetime-mobile-summary{display:none}
@media(max-width:600px){
 .datetime-mobile-summary{display:block!important;width:100%;max-width:100%;margin-top:18px;padding:18px!important;box-sizing:border-box}
 .datetime-mobile-summary .summary-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;text-align:left}
 .datetime-mobile-summary .summary-item>div{min-width:0}
 .datetime-mobile-summary .summary-item>div:last-child{text-align:right;flex:0 0 auto}
 .datetime-mobile-summary .summary-item b{overflow-wrap:anywhere}
 .datetime-mobile-summary .chosen-appointment{margin-bottom:0}
}

/* =========================================================
   V4.4 PART 4 — CUSTOMER DETAILS
   ========================================================= */
.details-flow{--details-purple:#9b4a96;--details-purple-dark:#873d82;--details-soft:#fbf5fa;--details-line:#eadfea}
.details-flow .step.active,.details-flow .step.done{color:var(--details-purple)!important}.details-flow .step.active span,.details-flow .step.done span{background:var(--details-purple)!important;border-color:var(--details-purple)!important;color:#fff!important}
.details-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}.details-panel{padding:28px!important;background:#fff}.details-card{border:1px solid var(--details-line);border-radius:16px;padding:22px;margin-bottom:18px;background:#fff}.details-card-head>div{display:flex;gap:13px;align-items:flex-start}.details-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#f4e9f3;color:#773a71;font-size:10px;font-weight:600;letter-spacing:.04em}.details-card-head h2{font-family:'Poppins',sans-serif!important;font-size:16px!important;line-height:1.35;margin:2px 0 4px!important;color:#3f2739}.details-card-head p{margin:0;color:#8a7984;font-size:11px;line-height:1.55}.details-fields{display:grid;gap:16px;margin-top:20px}.details-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;margin:0!important}.field>span{font-size:11px;font-weight:600;color:#5b4054}.field em{font-style:normal;color:var(--details-purple)}.field small{font-weight:400;color:#9b8b96;margin-left:4px}.details-flow .field input,.details-flow .field textarea,.details-flow .voucher-entry input{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #e2d7df;border-radius:10px;background:#fff;padding:13px 14px;font-family:'Poppins',sans-serif;font-size:12px;color:#432f3e;outline:none;transition:border-color .15s,box-shadow .15s}.details-flow .field textarea{resize:vertical;min-height:100px}.details-flow .field input:focus,.details-flow .field textarea:focus,.details-flow .voucher-entry input:focus{border-color:#bc88b7;box-shadow:0 0 0 3px rgba(155,74,150,.08)}.details-flow input::placeholder,.details-flow textarea::placeholder{color:#b3a7af}.voucher-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:18px}.voucher-entry .btn{min-width:96px;margin:0!important;background:#fff!important;border:1px solid var(--details-purple)!important;color:var(--details-purple)!important}.voucher-entry .btn:hover{background:var(--details-soft)!important}.voucher-result{margin-top:9px;font-size:11px;color:#6d5268}.policy-link{display:flex;justify-content:space-between;align-items:center;margin:18px 0 13px;padding:12px 14px;border-radius:10px;background:var(--details-soft);color:var(--details-purple)!important;text-decoration:none!important;font-size:11px;font-weight:600}.policy-check{display:grid!important;grid-template-columns:18px 1fr;gap:10px;align-items:start;margin:0!important;font-size:11px;line-height:1.55;color:#5f4c59;cursor:pointer}.policy-check input{position:absolute;opacity:0;pointer-events:none}.custom-check{width:17px;height:17px;border:1px solid #cdb9c9;border-radius:4px;background:#fff;position:relative;margin-top:1px}.policy-check input:checked+.custom-check{background:var(--details-purple);border-color:var(--details-purple)}.policy-check input:checked+.custom-check:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px}.details-summary{position:sticky!important;top:20px!important}.details-summary .summary-item,.details-mobile-summary .summary-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;text-align:left}.details-summary .summary-item>div:last-child,.details-mobile-summary .summary-item>div:last-child{text-align:right;flex:0 0 auto}.summary-duration{margin-top:9px!important}.details-voucher-saving{font-size:11px;color:var(--details-purple);margin:8px 0 0}.details-mobile-summary{display:none}.details-actions .btn:not(.light){background:var(--details-purple)!important;background-image:none!important;border-color:var(--details-purple)!important;color:#fff!important}.details-actions .btn:not(.light):hover{background:var(--details-purple-dark)!important}.details-actions .btn.light{background:#fff!important;background-image:none!important;border:1px solid var(--details-purple)!important;color:var(--details-purple)!important}.details-actions .btn.light:hover{background:var(--details-soft)!important;color:var(--details-purple-dark)!important}
@media(max-width:900px){.details-layout{grid-template-columns:1fr}.details-summary{position:static!important}}
@media(max-width:600px){.details-flow,.details-flow form,.details-layout,.details-panel,.details-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.details-panel{padding:0!important;border:0!important}.details-card{padding:17px;border-radius:14px}.details-row{grid-template-columns:1fr}.voucher-entry{grid-template-columns:minmax(0,1fr) 88px}.details-summary{display:none!important}.details-mobile-summary{display:block!important;margin:0 0 18px;padding:18px!important}.details-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0 2px;z-index:4}.details-actions .btn{flex:1;min-width:0}.details-flow>h1{font-size:31px;margin:8px 0}.details-card-head p{font-size:10px}}
@media(max-width:360px){.details-card{padding:14px}.voucher-entry{grid-template-columns:1fr}.voucher-entry .btn{width:100%}}

/* V4.4.1 — in-page Appointment Policy modal */
.policy-modal-trigger{appearance:none;-webkit-appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}
.policy-modal[hidden]{display:none!important}
.policy-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.policy-modal-backdrop{position:absolute;inset:0;background:rgba(28,12,27,.48);backdrop-filter:blur(2px)}
.policy-modal-dialog{position:relative;width:min(880px,100%);max-height:min(88vh,820px);display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(37,13,35,.24);overflow:hidden}
.policy-modal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #eadfe8}
.policy-modal-header h2{margin:0;color:#6f0b6d;font-family:Poppins,sans-serif;font-size:22px;font-weight:700;display:flex;align-items:center;gap:9px}
.policy-modal-icon{font-size:19px;color:#8f198d}
.policy-modal-x{border:0;background:transparent;color:#777;font-size:36px;line-height:1;padding:0 2px;cursor:pointer;font-weight:300}
.policy-modal-body{overflow:auto;padding:18px 24px 8px;color:#4c374b;font-family:Poppins,sans-serif;font-size:16px;line-height:1.55;overscroll-behavior:contain}
.policy-modal-body section{margin:0 0 22px}
.policy-modal-body h3{margin:0 0 8px;color:#6f0b6d;font-size:17px;font-weight:700}
.policy-modal-body ul{margin:0;padding-left:36px}
.policy-modal-body li{margin:2px 0}
.policy-modal-body strong{font-weight:700;color:#3f283e}
.policy-modal-footer{display:flex;justify-content:flex-end;padding:18px 24px;border-top:1px solid #eadfe8;background:#fff}
.policy-modal-close{min-width:74px;background:#8f3fa0!important;border-color:#8f3fa0!important;color:#fff!important}
body.policy-modal-open{overflow:hidden}
@media(max-width:600px){.policy-modal{padding:12px}.policy-modal-dialog{max-height:92dvh;border-radius:14px}.policy-modal-header{padding:16px 18px}.policy-modal-header h2{font-size:18px}.policy-modal-x{font-size:31px}.policy-modal-body{padding:16px 18px 6px;font-size:14px;line-height:1.55}.policy-modal-body ul{padding-left:24px}.policy-modal-body section{margin-bottom:19px}.policy-modal-footer{padding:14px 18px}.policy-modal-close{width:100%}}

/* =========================================================
   V4.5 PART 5 — CONFIRM & PAYMENT REVIEW
   ========================================================= */
.confirm-flow{--confirm-purple:#9b4a96;--confirm-purple-dark:#873d82;--confirm-soft:#fbf5fa;--confirm-line:#eadfea}
.confirm-flow .step.active,.confirm-flow .step.done{color:var(--confirm-purple)!important}.confirm-flow .step.active span,.confirm-flow .step.done span{background:var(--confirm-purple)!important;border-color:var(--confirm-purple)!important;color:#fff!important}
.confirm-layout{max-width:820px;margin:0 auto}.confirm-panel{padding:28px!important;background:#fff}.confirm-card{border:1px solid var(--confirm-line);border-radius:16px;padding:22px;margin-bottom:18px;background:#fff}.confirm-card-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:19px}.confirm-card-head h2{font-family:Poppins,sans-serif!important;font-size:16px!important;line-height:1.35;margin:2px 0 4px!important;color:#3f2739}.confirm-card-head p{margin:0;color:#8a7984;font-size:11px}.confirm-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confirm-review-grid>div{padding:13px 14px;border-radius:10px;background:#fcf9fb;min-width:0}.confirm-review-grid span{display:block;color:#927f8d;font-size:9px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}.confirm-review-grid strong{display:block;color:#432f3e;font-size:12px;font-weight:600;overflow-wrap:anywhere}.confirm-notes-row{grid-column:1/-1}.confirm-items{border-top:1px solid #f0e7ee}.confirm-item{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid #f0e7ee}.confirm-item>div{min-width:0}.confirm-item>div:first-child{display:grid;gap:3px}.confirm-item>div:last-child{display:grid;justify-items:end;align-content:start}.confirm-item b{font-size:12px;color:#432f3e;overflow-wrap:anywhere}.confirm-item span{font-size:10px;color:#9a8995}.confirm-item strong{font-size:13px;color:#3f2739}.confirm-item .old{text-decoration:line-through;color:#a99ca5}.confirm-item .bundle-tag{width:max-content;margin-bottom:2px}.confirm-price-lines{padding-top:13px}.confirm-price-lines>div{display:flex;justify-content:space-between;gap:20px;padding:5px 0;font-size:11px;color:#6c5867}.confirm-price-lines .confirm-saving{color:var(--confirm-purple)}.confirm-grand-total{margin-top:8px;padding-top:13px!important;border-top:1px solid var(--confirm-line);align-items:center}.confirm-grand-total span{font-size:13px;font-weight:600;color:#432f3e}.confirm-grand-total strong{font-size:20px;color:#3f2739}.confirm-policy-note{width:max-content;max-width:100%;margin:4px auto 18px;padding:9px 13px;border-radius:999px;background:#f4e9f3;color:#74386f;font-size:10px;font-weight:600}.confirm-actions .btn:not(.light){background:var(--confirm-purple)!important;background-image:none!important;border-color:var(--confirm-purple)!important;color:#fff!important}.confirm-actions .btn:not(.light):hover{background:var(--confirm-purple-dark)!important}.confirm-actions .btn.light{background:#fff!important;background-image:none!important;border:1px solid var(--confirm-purple)!important;color:var(--confirm-purple)!important}.confirm-actions .btn.light:hover{background:var(--confirm-soft)!important}.confirm-payment-note{text-align:center;color:#9a8995;font-size:9px;margin:10px 0 0}.confirm-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.confirm-flow,.confirm-layout,.confirm-panel,.confirm-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.confirm-panel{padding:0!important;border:0!important}.confirm-card{padding:17px;border-radius:14px}.confirm-review-grid{grid-template-columns:1fr}.confirm-notes-row{grid-column:auto}.confirm-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0 2px;z-index:4}.confirm-actions .btn{flex:1;min-width:0}.confirm-flow>h1{font-size:31px;margin:8px 0}.confirm-item{gap:12px}}

/* V4.6 booking confirmation */
.confirmation-v46{background:#f7f1ed;min-height:100vh;margin:0;color:#2e172d}.confirmation-page-v46{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;box-sizing:border-box}.confirmation-layout-v46{width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);background:#fff;border:1px solid #eadfda;border-radius:18px;overflow:hidden;box-shadow:0 20px 55px rgba(46,1,0,.08)}.confirmation-layout-v46.no-image{grid-template-columns:1fr;max-width:760px}.confirmation-message-v46{min-width:0;padding:58px 52px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.confirmation-logo-v46{display:block;max-width:230px;max-height:82px;object-fit:contain;margin:0 auto 20px}.confirmation-brand-v46{font-family:"Playfair Display",Georgia,serif;letter-spacing:.08em;font-size:20px;margin-bottom:24px}.confirmation-brand-v46 small{display:block;font-family:Poppins,Arial,sans-serif;font-size:8px;letter-spacing:.35em;margin-top:5px}.confirmation-check-v46{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#72a66f;color:#fff;font-size:31px;line-height:1;margin:4px auto 20px}.confirmation-message-v46 h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(31px,4vw,48px);line-height:1.08;margin:0 0 10px;color:#2e172d}.confirmation-welcome-v46{font-family:"Playfair Display",Georgia,serif;font-size:23px;margin:0 0 24px}.confirmation-copy-v46{font-size:14px;line-height:1.8;color:#665564;margin:0 0 28px}.confirmation-actions-v46{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.confirmation-actions-v46 a{min-height:48px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-decoration:none;box-sizing:border-box}.confirmation-calendar-v46{border:1px solid #cbb7c9;color:#6f146e;background:#fff}.confirmation-whatsapp-v46{border:1px solid #42ad67;color:#fff;background:#42ad67}.confirmation-mini-v46{display:flex;gap:8px 20px;flex-wrap:wrap;justify-content:center;margin-top:28px;padding-top:18px;border-top:1px solid #eee2eb;width:100%;font-size:12px;color:#756575}.confirmation-art-v46{min-width:0;background:#f4dcd6;display:flex}.confirmation-art-v46 img{display:block;width:100%;height:100%;min-height:500px;object-fit:cover}.admin-shell .media-field{min-width:0}
@media(max-width:800px){.confirmation-page-v46{padding:18px 14px;align-items:flex-start}.confirmation-layout-v46{grid-template-columns:1fr;border-radius:16px}.confirmation-message-v46{padding:40px 22px 30px}.confirmation-art-v46{order:2}.confirmation-art-v46 img{height:auto;min-height:0;max-height:none;object-fit:cover}.confirmation-actions-v46{width:100%}.confirmation-actions-v46 a{flex:1 1 190px}.confirmation-mini-v46{flex-direction:column}.confirmation-logo-v46{max-width:190px}.confirmation-welcome-v46{font-size:20px}}
@media(max-width:420px){.confirmation-page-v46{padding:10px}.confirmation-message-v46{padding:34px 16px 24px}.confirmation-message-v46 h1{font-size:32px}.confirmation-actions-v46{flex-direction:column}.confirmation-actions-v46 a{width:100%;flex:none}.confirmation-check-v46{width:52px;height:52px;font-size:27px}}


/* V4.6.2 — confirmation refinement built from stable V4.6 */
.confirmation-logo-v46{border-radius:10px!important;overflow:hidden}
.confirmation-actions-v46 button,.confirmation-actions-v46 a{font-family:inherit;font-size:14px;line-height:1;cursor:pointer;min-height:48px!important;padding:0 22px!important;border-radius:999px!important;gap:9px;flex:none!important;width:auto!important}
.confirmation-calendar-v46{border:1px solid #cbb7c9;color:#6f146e;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;box-sizing:border-box}
.confirmation-actions-v46 svg{width:20px;height:20px;display:block;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.confirmation-whatsapp-v46 svg{width:21px;height:21px;flex-basis:21px;stroke:#fff;fill:none}.confirmation-whatsapp-v46 svg path+path{fill:#fff;stroke:none}
.confirmation-art-v46{position:relative;overflow:hidden}.confirmation-art-copy-v462,.confirmation-preview-copy-v462{position:absolute;z-index:2;max-width:78%;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(22px,2.1vw,34px);line-height:1.15;color:#2e172d;text-shadow:0 1px 8px rgba(255,255,255,.5);white-space:pre-line}
.pos-top-left{top:9%;left:9%;text-align:left}.pos-top-center{top:9%;left:50%;transform:translateX(-50%);text-align:center}.pos-top-right{top:9%;right:9%;text-align:right}.pos-center-left{top:50%;left:9%;transform:translateY(-50%);text-align:left}.pos-center{top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.pos-center-right{top:50%;right:9%;transform:translateY(-50%);text-align:right}.pos-bottom-left{bottom:9%;left:9%;text-align:left}.pos-bottom-center{bottom:9%;left:50%;transform:translateX(-50%);text-align:center}.pos-bottom-right{bottom:9%;right:9%;text-align:right}
.calendar-modal-v462[hidden]{display:none}.calendar-modal-v462{position:fixed;inset:0;z-index:9999;background:rgba(32,18,31,.46);display:grid;place-items:center;padding:18px}.calendar-modal-card-v462{position:relative;width:min(430px,100%);background:#fff;border-radius:18px;padding:34px 30px 30px;box-shadow:0 24px 70px rgba(46,1,0,.22);text-align:center}.calendar-modal-close-v462{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;color:#746474;cursor:pointer}.calendar-modal-icon-v462{width:48px;height:48px;border-radius:50%;background:#f6edf6;color:#7b0674;display:grid;place-items:center;margin:0 auto 14px}.calendar-modal-icon-v462 svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.calendar-modal-card-v462 h2{font-family:"Playfair Display",Georgia,serif;margin:0 0 8px;font-size:27px}.calendar-modal-card-v462 p{font-size:13px;color:#6f616d;line-height:1.6;margin:0 0 20px}.calendar-provider-list-v462{display:grid;gap:10px}.calendar-provider-list-v462 a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e4d5e3;border-radius:12px;text-decoration:none;color:#5f145f;font-weight:600;background:#fff}.calendar-provider-list-v462 a:hover{background:#faf5fa}.modal-open-v462{overflow:hidden}
.confirmation-admin-editor-v462{margin-top:22px;padding-top:22px;border-top:1px solid #eee}.confirmation-admin-editor-v462 h3{margin:0 0 5px}.confirmation-admin-grid-v462{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);gap:24px;align-items:start}.confirmation-admin-grid-v462 textarea,.confirmation-admin-grid-v462 select{width:100%;box-sizing:border-box}.confirmation-live-preview-v462{position:relative;overflow:hidden;border-radius:14px;background:#f3eeeb;aspect-ratio:4/5;max-height:520px;border:1px solid #e6d9e2}.confirmation-live-preview-v462 img{width:100%;height:100%;display:block;object-fit:cover}.confirmation-preview-copy-v462{font-size:clamp(20px,2vw,30px)}.confirmation-preview-empty-v462{height:100%;display:grid;place-items:center;padding:30px;text-align:center;color:#8b7c88}.admin-shell .logo-media img{border-radius:10px}
@media(max-width:800px){.confirmation-art-copy-v462{font-size:clamp(23px,7vw,34px)}.confirmation-admin-grid-v462{grid-template-columns:1fr}.confirmation-live-preview-v462{max-height:none}.confirmation-actions-v46 button,.confirmation-actions-v46 a{flex:1 1 190px!important}}
@media(max-width:420px){.confirmation-actions-v46 button,.confirmation-actions-v46 a{width:100%!important;flex:none!important}.calendar-modal-card-v462{padding:32px 20px 24px}}


/* V4.7 UX + unified brand header refinement */
.public-brand{display:flex;align-items:center;gap:14px;min-width:0}
.public-brand img{border-radius:10px!important;overflow:hidden;display:block}
.public-brand strong{font-family:'Poppins',Arial,sans-serif!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.105em;line-height:1.2;font-size:17px!important;white-space:nowrap}
.public-brand span{display:none!important}
.simple-public-head strong{font-family:'Poppins',Arial,sans-serif!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.105em;line-height:1.2}
.booking-back-link{appearance:none;border:0;background:transparent;padding:0;margin:0;color:#6b5361;font:500 12px/1.2 'Poppins',sans-serif;cursor:pointer;text-align:left}
.booking-back-link:hover{color:#8f2f89}
#serviceContinue:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.45);box-shadow:none}
#serviceContinue:not(:disabled){opacity:1}
.confirmation-brand img,.confirmation-logo img,.confirm-logo,.brand-logo img{border-radius:10px!important}
@media(max-width:768px){
 .public-brand{gap:10px}
 .public-brand img{border-radius:8px!important}
 .public-brand strong{font-size:13px!important;letter-spacing:.075em;white-space:normal;max-width:210px}
 .simple-public-head strong{font-size:12px;letter-spacing:.075em}
 .booking-back-link{font-size:11px}
}
@media(max-width:380px){.public-brand strong{font-size:11.5px!important;letter-spacing:.055em;max-width:180px}}
\n\n/* V4.7.1 — visual correction only: preserve V4.7 navigation logic */\n/* Cover/landing brand: Poppins Semibold, all caps, rounded logo */\n.landing-screen .public-nav .public-brand strong{font-family:'Poppins',Arial,sans-serif!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.09em!important;line-height:1.2!important;font-size:17px!important;white-space:nowrap!important}\n.landing-screen .public-nav .public-brand img{border-radius:10px!important;overflow:hidden!important}\n\n/* Booking flow brand: Playfair on every viewport */\n.booking-shell .simple-public-head strong{font-family:'Playfair Display',Georgia,serif!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.04em!important;line-height:1.2!important}\n\n/* Contextual back control must look like the original text link, never a browser button */\n.booking-shell .simple-public-head .booking-back-link{\n -webkit-appearance:none!important;appearance:none!important;\n display:inline!important;width:auto!important;min-width:0!important;min-height:0!important;\n border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;\n background:none!important;background-color:transparent!important;background-image:none!important;\n padding:0!important;margin:0!important;\n color:#6b5361!important;font-family:'Poppins',Arial,sans-serif!important;font-size:12px!important;font-weight:400!important;line-height:1.2!important;\n text-decoration:none!important;cursor:pointer!important;text-align:left!important;\n}\n.booking-shell .simple-public-head .booking-back-link:hover,.booking-shell .simple-public-head .booking-back-link:focus{color:#8f2f89!important;text-decoration:none!important;background:transparent!important;box-shadow:none!important}\n@media(max-width:768px){\n .landing-screen .public-nav .public-brand strong{font-size:13px!important;letter-spacing:.07em!important;white-space:nowrap!important}\n .landing-screen .public-nav .public-brand img{border-radius:8px!important}\n .booking-shell .simple-public-head strong{font-family:'Playfair Display',Georgia,serif!important;font-size:12px!important;letter-spacing:.035em!important}\n .booking-shell .simple-public-head .booking-back-link{font-size:11px!important}\n}\n
/* Admin V5 — SkinBeauty service menu */
.admin-v5{background:#fbfafc;color:#251a26}.admin-v5 .admin-sidebar{width:238px;background:linear-gradient(180deg,#3b2132 0%,#271a24 100%)!important;padding:22px 14px}.admin-v5 .admin-main{margin-left:238px;padding:0 30px 42px;max-width:none}.admin-v5 .admin-brand{padding:4px 10px 28px!important}.admin-v5 .admin-logo-stage{width:78px;height:62px;margin:0 auto 12px!important;border-radius:13px!important}.admin-v5 .admin-logo{width:78px!important;height:62px!important;border-radius:13px!important}.admin-v5 .admin-brand-name{font-size:18px!important;text-align:center}.admin-v5 .admin-brand small{display:block;text-align:center;font-size:11px!important;letter-spacing:.3px}.admin-v5 .admin-nav a{font-size:13px!important;padding:12px 13px!important;margin:4px 0!important}.admin-v5 .admin-nav a.active{background:#65425f!important}.admin-topbar{height:72px;margin:0 -30px 26px;padding:0 30px;border-bottom:1px solid #eee7ef;background:#fff;display:flex;align-items:center;justify-content:space-between}.admin-topbar>div{display:flex;flex-direction:column}.admin-topbar strong{font-size:14px}.admin-topbar span{font-size:11px;color:#8a7b89}.topbar-site{background:#f4e9f2;color:#5c234f;text-decoration:none;padding:10px 15px;border-radius:12px;font-size:12px;font-weight:700}.service-page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.service-page-title h1{font-family:'Playfair Display',Georgia,serif!important;font-size:40px!important;font-weight:500;margin:0;color:#291b28}.service-page-title p{margin:3px 0 0;color:#786c79;font-size:13px}.anniversary-chip{min-width:230px;text-align:center;background:linear-gradient(135deg,#f8edf5,#f4e1f0);border-radius:12px;padding:13px 20px;color:#85256f}.anniversary-chip span{display:block;font-family:'Playfair Display',Georgia,serif;font-size:15px}.anniversary-chip small{font-size:9px;font-weight:700;letter-spacing:.7px}.service-toolbar{background:#fff;border:1px solid #eee5ee;border-radius:14px;padding:14px;display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(120px,.55fr) auto auto;gap:10px;align-items:center;box-shadow:0 5px 20px rgba(51,24,46,.035);margin-bottom:16px}.service-search{height:44px;border:1px solid #e7dfe7;border-radius:10px;display:flex;align-items:center;padding:0 13px;gap:9px}.service-search span{font-size:22px;color:#5f5360}.service-search input{border:0!important;outline:0!important;padding:0!important;margin:0!important;box-shadow:none!important;background:transparent!important;font-size:12px!important}.service-toolbar select{height:44px;margin:0!important;padding:0 12px!important;border-radius:10px!important;border-color:#e7dfe7!important;background:#fff;font-size:12px}.soft-btn,.primary-add{height:44px;border-radius:10px;padding:0 16px;border:1px solid #e6dce5;background:#faf7fa;color:#3b2838;font-weight:600;white-space:nowrap;cursor:pointer}.soft-btn.active{background:#f2e5f0;color:#7b0674;border-color:#d8bcd5}.primary-add{background:#7b0674;color:#fff;border-color:#7b0674;min-width:110px}.add-menu-wrap{position:relative}.add-menu{display:none;position:absolute;right:0;top:52px;width:220px;background:#fff;border:1px solid #eadfea;border-radius:13px;padding:7px;box-shadow:0 18px 45px rgba(40,18,36,.15);z-index:30}.add-menu.show{display:block}.add-menu a,.add-menu button{display:block;width:100%;border:0;background:none;text-decoration:none;color:#291e29;text-align:left;padding:11px 12px;border-radius:9px;font:600 12px Poppins;cursor:pointer}.add-menu a:hover,.add-menu button:hover{background:#faf1f8}.add-menu small{display:block;color:#8d808c;font-size:9px;font-weight:400;margin-top:2px}.service-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}.category-panel,.catalogue-panel{background:#fff;border:1px solid #eee5ee;border-radius:14px;box-shadow:0 5px 20px rgba(51,24,46,.035)}.category-panel{padding:14px;position:sticky;top:16px}.category-panel-title{display:flex;justify-content:space-between;align-items:center;padding:6px 7px 10px}.category-panel-title h2{font-family:'Playfair Display',Georgia,serif!important;font-size:20px;margin:0}.category-panel-title>span,.category-link b{background:#f3eef3;border-radius:999px;padding:3px 7px;font-size:10px;color:#786978}.category-link{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:10px 10px;border-radius:9px;font:500 12px Poppins;color:#30232f;cursor:pointer;margin:1px 0}.category-link.active{background:#f4e8f2;color:#7b0674;font-weight:700}.category-add-link{border:0;background:none;color:#9c2a89;font:600 12px Poppins;padding:13px 9px 5px;cursor:pointer}.catalogue-panel{padding:18px;min-height:420px}.catalogue-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.catalogue-head h2{font-family:'Playfair Display',Georgia,serif!important;font-size:22px;margin:0}.catalogue-head h2 span{font-family:Poppins;font-size:11px;color:#9a8d99;font-weight:500}.catalogue-head p{margin:2px 0 0;color:#938593;font-size:10px}.service-category{border:1px solid #eee4ed;border-radius:13px;overflow:hidden;margin:0 0 14px}.service-category-head{background:linear-gradient(90deg,#f8edf5,#fcf8fb);padding:12px 15px}.service-category-head>div{display:flex;align-items:center;gap:8px}.service-category-head h3{font-family:'Playfair Display',Georgia,serif!important;font-size:18px;margin:0}.service-category-head span{font-size:9px;background:#eddceb;color:#8a2d79;padding:3px 7px;border-radius:999px}.service-card-list{padding:4px 12px}.service-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 4px;border-bottom:1px solid #f0e9ef}.service-card:last-child{border-bottom:0}.service-card-main{display:flex;align-items:center;gap:11px;min-width:0}.service-mark{width:34px;height:34px;border-radius:10px;background:#f6e8f3;color:#9c2c89;display:grid;place-items:center;flex:none}.service-card-copy{min-width:0}.service-card-copy h4{font-size:13px;margin:0 0 3px}.service-meta{font-size:10px;color:#8b7d89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.service-card-side{display:flex;align-items:center;gap:10px;flex:none}.service-price{display:flex;align-items:baseline;gap:7px;min-width:145px;justify-content:flex-end}.service-price s{font-size:10px;color:#9b8e99}.service-price strong{font-size:12px;color:#86136f}.status-pill{font-size:9px;font-weight:700;padding:5px 9px;border-radius:999px}.status-pill.is-active{background:#e2f6e7;color:#28733b}.status-pill.is-inactive{background:#f2edef;color:#786c74}.dots-btn{border:0;background:transparent;font-size:20px;cursor:pointer;padding:4px 8px;color:#5e515b}.order-mode .order-note{background:#faf3f8;border:1px solid #eeddea;border-radius:11px;padding:12px 14px;margin-bottom:14px}.order-note strong,.order-note span{display:block}.order-note strong{font-size:12px}.order-note span{font-size:10px;color:#897b87;margin-top:2px}.order-category-form,.order-service-form{border:1px solid #eee5ed;border-radius:12px;padding:14px;margin-bottom:13px}.order-service-form h3{font-size:14px;margin:0 0 9px}.sortable-list{display:grid;gap:6px;margin-bottom:10px}.sortable-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #eee5ed;border-radius:9px;background:#fff;font-size:11px}.sortable-item .drag-handle{cursor:grab;color:#9b8296;font-size:16px}.sortable-item span:last-child{margin-left:auto;color:#948793;font-size:9px}.sortable-item.dragging{opacity:.45}.empty-services{text-align:center;padding:60px 20px;color:#91828f}.admin-modal{display:none;position:fixed;inset:0;z-index:100}.admin-modal.show{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(35,20,31,.38);backdrop-filter:blur(2px)}.modal-card{position:relative;width:min(720px,calc(100% - 30px));max-height:calc(100vh - 50px);overflow:auto;margin:25px auto;background:#fff;border-radius:17px;padding:24px;box-shadow:0 25px 70px rgba(28,13,25,.22)}.modal-card.small{width:min(470px,calc(100% - 30px))}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{font-family:'Playfair Display',Georgia,serif!important;font-size:27px;margin:0}.modal-head p{font-size:11px;color:#8b7d89;margin:3px 0 0}.modal-head>button{border:0;background:#f5eff4;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer}.admin-v5 .modal-card label{font-size:11px;font-weight:600}.admin-v5 .modal-card input,.admin-v5 .modal-card textarea{margin-top:5px;margin-bottom:14px;border-radius:10px!important;border-color:#e6dce5!important}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto!important;margin:0!important}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:16px;border-top:1px solid #eee7ed}.modal-actions .btn{margin:0}.modal-open{overflow:hidden}
@media(max-width:1050px){.service-toolbar{grid-template-columns:1fr 1fr 1fr}.service-search{grid-column:1/-1}.service-workspace{grid-template-columns:190px minmax(0,1fr)}.service-card-side{gap:6px}.service-price{min-width:110px}}
@media(max-width:850px){.admin-v5 .admin-main{margin-left:0;padding:0 14px 30px}.admin-v5 .admin-sidebar{width:auto}.admin-topbar{margin:0 -14px 20px;padding:0 14px}.anniversary-chip{display:none}.service-page-title h1{font-size:34px!important}.service-toolbar{grid-template-columns:1fr 1fr}.service-search{grid-column:1/-1}.service-workspace{grid-template-columns:1fr}.category-panel{position:static;display:flex;gap:6px;overflow:auto;align-items:center}.category-panel-title{display:none}.category-link{width:auto;white-space:nowrap}.category-link b{margin-left:8px}.category-add-link{white-space:nowrap;padding:10px}.service-card{align-items:flex-start}.service-card-side{flex-wrap:wrap;justify-content:flex-end}.service-meta{max-width:300px}.form-two{grid-template-columns:1fr}}
@media(max-width:560px){.service-toolbar{grid-template-columns:1fr}.service-search{grid-column:auto}.service-card{display:block}.service-card-side{margin:10px 0 0 45px;justify-content:flex-start}.service-price{justify-content:flex-start}.admin-topbar>div span{display:none}.topbar-site{padding:9px 11px}.catalogue-panel{padding:10px}.service-category-head{padding:10px 12px}}
