@font-face{font-family:'Great Vibes';src:url('/static/fonts/great-vibes.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{--rose:#d94f7c;--rose-dark:#b6335f;--ink:#2d2528;--muted:#776c71;--line:#f0e5e8;--blush:#fff3f5;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}

*{box-sizing:border-box}
body{margin:0;background:#f8f1f3;color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%}
h1,h2,p{margin:0}
h1,h2{font-family:var(--serif);font-weight:500;line-height:1.2}
h1{font-size:29px}
h2{font-size:22px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px}
.icon{width:24px;height:24px;flex-shrink:0}
.app-shell{max-width:460px;min-height:100svh;margin:auto;padding-bottom:calc(78px + env(safe-area-inset-bottom));background:linear-gradient(160deg,#fff 65%,#fff6f7)}
.page{padding:18px 20px 28px}
.topbar{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.topbar h1{font-size:25px;flex:1;text-align:center;margin-right:44px}
.back{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font:35px/1 var(--sans)}
.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:52px;padding:14px 18px;border-radius:15px;border:0;font-size:15px;text-align:center}
.primary-button{background:linear-gradient(110deg,#e9799b,var(--rose));color:#fff;font-weight:600;box-shadow:0 8px 20px #d94f7c1c}
.primary-button:hover{background:var(--rose-dark)}
.secondary-button{border:1px solid var(--rose);color:var(--rose-dark);background:transparent}
.sticky-cta{margin-top:28px}
.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;display:flex;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:#ffffffef;border-top:1px solid var(--line)}
.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:44px;font-size:10px;color:#6d6267}
.bottom-nav [aria-current]{color:var(--rose-dark)}
.bottom-nav .icon{width:22px;height:22px}
.skip-link{position:fixed;top:-80px;z-index:20;background:#fff;padding:12px}
.skip-link:focus{top:0}

/* Home: editorial portrait, transparent signature and six refined care tiles. */
.home{position:relative;background:linear-gradient(180deg,#fff6f7 0%,#fbe3e9 70%,#fff5f7 100%);min-height:calc(100svh - 74px)}
.home-visual{height:455px;position:relative;overflow:hidden;background:#f9e9ea}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%}
.home-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff7f5f2 0%,#fff7f5b5 33%,#fff7f520 72%,transparent 100%),linear-gradient(0deg,#fbe3e9 0%,#fbe3e925 30%,transparent 59%)}
.brand{position:absolute;z-index:1;top:17px;left:19px;width:250px;max-width:66%;height:auto}
.brand>img{display:block;width:100%;height:auto}
.hero-copy{position:absolute;z-index:1;top:145px;left:25px;max-width:86%}
.eyebrow{font-size:10px;letter-spacing:2.7px;color:#a44465;margin-bottom:19px;font-weight:600}
.hero-copy h1{font-size:clamp(32px,9.2vw,43px);line-height:1.06;letter-spacing:-1.2px;text-wrap:balance;color:#36252c;text-shadow:0 1px 12px #fff7f544}
.hero-copy h1 em{display:block;font-weight:400;color:#b63360;font-style:italic;white-space:nowrap}
.hero-tagline{font:16px/1.35 var(--serif);margin-top:20px;color:#604e55}
.hero-accent{display:block;width:29px;height:1px;background:#c44b78;margin-top:20px}
.home-actions{position:relative;z-index:2;margin-top:-22px;padding:0 16px 27px}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}
.category-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:139px;padding:12px 5px 9px;background:#ffffffea;border:1px solid #fff;border-radius:19px;text-align:center;box-shadow:0 9px 23px #8b536013;transition:background-color .15s,border-color .15s}
.category-tile:nth-child(3){background:#f9e1e9}
.category-tile:hover{background:#ffe8f0;border-color:#f1c7d5}
.category-icon{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#fbecf0;flex-shrink:0}
.category-tile:nth-child(3) .category-icon{background:#f8dce6}
.category-icon .icon{width:31px;height:31px;stroke-width:1.55;color:#442f36}
.category-label{font:14px/1.12 var(--serif);color:#32262b;min-height:30px;display:flex;align-items:center;justify-content:center}
.category-arrow{font:27px/.6 var(--serif);color:#cb6084;line-height:15px;transform:rotate(0deg)}
.home-cta{min-height:55px;border-radius:999px;font:17px var(--serif);background:linear-gradient(105deg,#d96a8d,#b83e67);box-shadow:0 9px 22px #b6386330;justify-content:center}
.home-cta span{font:25px/1 var(--sans);margin-left:9px}
@media(max-width:360px){
 .home-visual{height:420px}
 .brand{top:13px;left:13px;width:225px}
 .hero-copy{top:133px;left:19px}
 .hero-copy h1{font-size:32px}
 .hero-tagline{font-size:14px}
 .home-actions{padding-left:11px;padding-right:11px}
 .category-grid{gap:7px}
 .category-tile{min-height:126px;padding:9px 3px}
 .category-icon{width:49px;height:49px}
 .category-label{font-size:12px}
}
@media(min-width:600px){.home-visual{height:485px}}

.search-form{display:flex;align-items:center;background:#f7f5f6;border:1px solid #f0ecee;border-radius:13px;overflow:hidden;margin-bottom:17px}
.search-form input{width:100%;min-width:0;background:none;border:0;padding:12px;color:var(--ink);font-size:14px}
.search-form button{border:0;background:none;font-size:25px;width:44px;min-height:44px;color:var(--muted)}
.tabs{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding:3px 0 8px;margin-bottom:15px}
.tabs a{white-space:nowrap;padding:11px 13px;border-radius:12px;background:#fff4f6;font-size:12px}
.tabs a.active{color:white;background:var(--rose)}
.service-group{margin-bottom:24px}
.service-group h2{font-size:21px;margin:0 0 11px}
.service-list{display:grid;gap:8px}
.service-card{display:flex;align-items:center;gap:12px;padding:6px;border:1px solid var(--line);border-radius:13px;background:#fff;min-height:76px}
.service-card:hover{border-color:#e6a8ba}
.service-thumb{width:66px;height:66px;flex-shrink:0;object-fit:cover;border-radius:9px}
.service-copy{flex:1;min-width:0}
.service-copy strong{font-size:14px;font-weight:500;display:block;line-height:1.35}
.service-copy small{display:block;color:var(--muted);margin-top:4px;font-size:13px}
.chevron{color:#8e7c83;font-size:24px;margin:0 8px}
.photo-sourcils,.photo-forfait-sourcils-levres{object-position:80% 14%}
.photo-levres{object-position:85% 40%}
.subtle{font-size:13px;color:var(--muted);margin:8px 0 16px}
.detail-cover{height:270px;position:relative;overflow:hidden}
.detail-cover>img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.detail-cover>.photo-sourcils{object-position:center 15%}
.floating{position:absolute;top:18px;left:18px;background:#ffffffda;border-radius:50%}
.detail-sheet{position:relative;background:#fff;margin-top:-22px;border-radius:26px 26px 0 0;padding:25px 22px 30px}
.detail-title{display:flex;justify-content:space-between;align-items:start;gap:14px}
.detail-title h1{font-size:29px}
.detail-title>strong{font:22px var(--serif);white-space:nowrap;padding-top:5px}
.detail-meta{display:grid;gap:12px;margin:21px 0}
.detail-meta>span{display:flex;align-items:center;gap:10px;font-size:14px}
.detail-meta small{font-size:11px;color:var(--muted)}
.detail-meta .icon{width:20px;height:20px}
.detail-description{font-size:15px;line-height:1.7;margin:22px 0 26px}
.section-title{margin:25px 0 12px;font-size:21px}
.similar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini-thumb{width:100%;height:96px;border-radius:12px;object-fit:cover;margin-bottom:8px}
.similar-grid strong,.similar-grid small{display:block;font-size:12px;font-weight:400}
.similar-grid small{color:var(--muted);margin-top:3px}

.page-header{padding:25px 0}
.page-header h1{font-size:37px}
.page-header p{margin-top:16px;color:var(--muted)}
.city-page{position:relative}
.city-pin{position:absolute;right:30px;top:104px;color:var(--rose)}
.city-pin .icon{width:44px;height:44px;stroke-width:1}
.selection-note{display:flex;justify-content:space-between;gap:16px;margin-bottom:25px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:14px}
.selection-note strong{white-space:nowrap}
.city-form{display:grid;gap:14px}
.city-card{position:relative;display:flex;gap:15px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;cursor:pointer}
.city-card input,.slot input{position:absolute;opacity:0;width:1px;height:1px}
.city-card:has(input:checked){border-color:var(--rose);background:#fff5f8}
.city-card:has(input:focus-visible),.slot:has(input:focus-visible){outline:3px solid var(--rose-dark);outline-offset:3px}
.city-art{width:76px;height:96px;border-radius:12px;display:grid;place-items:center;color:#658e9b;background:linear-gradient(155deg,#d5eaf0 55%,#f0e1cc 55%)}
.city-art.harish{color:#73816c;background:linear-gradient(155deg,#e3e9d8 55%,#f1e7da 55%)}
.city-art .icon{width:30px;height:30px}
.city-copy{flex:1}
.city-copy strong{display:block;font:25px var(--serif)}
.city-copy small{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.radio-dot{width:22px;height:22px;border:1px solid #c4b9bd;border-radius:50%;flex-shrink:0}
.city-card:has(input:checked) .radio-dot{border:5px solid white;outline:1px solid var(--rose);background:var(--rose)}
.info-box{padding:18px;background:#fff0f4;border-radius:14px;color:#795a66;font-size:13px}
.compact-header{text-align:center;margin:-42px 34px 26px;min-height:50px}
.compact-header h1{font-size:26px}
.step{font-size:9px;color:var(--rose-dark);letter-spacing:2px;margin-bottom:7px}
.summary-card,.recap-card,.confirmation-card{padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff}
.summary-card{display:flex;align-items:center;gap:12px}
.summary-card>span{flex:1;min-width:0}
.summary-card strong,.recap-top strong{font:18px var(--serif)}
.summary-card small,.recap-top small{display:block;font-size:12px;margin-top:8px}
.summary-card small a{color:var(--rose-dark)}
.summary-card>b{font-size:15px;white-space:nowrap}
.calendar{margin-top:25px}
.calendar-heading{display:flex;justify-content:center;gap:20px;align-items:center;margin-bottom:15px}
.calendar-heading h2{font-size:21px}
.calendar-heading a{width:44px;height:44px;display:grid;place-items:center}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 0;text-align:center}
.calendar-grid>*{min-height:40px;display:grid;place-items:center;font-size:13px}
.calendar-grid .weekday{font-size:11px;color:var(--muted)}
.calendar-grid .disabled{color:#c6bec1}
.calendar-grid a{border-radius:50%;width:40px;justify-self:center}
.calendar-grid a:hover{background:var(--blush)}
.calendar-grid .selected{background:var(--rose);color:white}
.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.slot{position:relative;cursor:pointer}
.slot span{display:block;text-align:center;border:1px solid var(--line);border-radius:11px;padding:12px 3px;font-size:14px;background:#fff}
.slot input:checked+span{background:var(--rose);color:#fff;border-color:var(--rose)}
.recap-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.recap-line{font-size:14px;margin-top:10px}
.customer-form{display:grid;gap:13px}
.customer-form>label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:0 14px;border-radius:13px;background:#fff}
.customer-form input:not([type=hidden]),.customer-form textarea{width:100%;min-width:0;padding:16px 0;border:0;background:none;font-size:16px;color:var(--ink)}
.customer-form textarea{resize:vertical}
.textarea-label{align-items:flex-start!important}
.textarea-label>span{padding-top:15px}
.error-box{background:#fff0f0;color:#a12d46;padding:15px;border-radius:12px;margin-top:15px}
.empty-state{padding:35px 12px;text-align:center;color:var(--muted)}
.empty-state a{text-decoration:underline;color:var(--rose-dark)}
.confirmation-page{padding:58px 22px 30px;background:radial-gradient(circle at top,#ffe3ec,transparent 65%);text-align:center;min-height:100svh}
.success-check{display:grid;place-items:center;width:88px;height:88px;margin:12px auto 28px;border-radius:50%;background:linear-gradient(130deg,#f39bb6,var(--rose));color:#fff;font-size:48px;box-shadow:0 0 0 14px #fbdce5}
.sparkle{color:#d4849e;font-size:25px}
.confirmation-page h1{font-size:29px;margin:15px 0}
.confirmation-page>p{font-size:14px;line-height:1.7}
.confirmation-card{text-align:left;margin:26px 0}
.booking-code{font-size:13px;color:var(--muted);margin:20px 0}
.tiny-note{font-size:12px!important;color:var(--muted);margin-top:18px}

@media(min-width:600px){.app-shell{margin:24px auto;min-height:calc(100svh - 48px);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 60px #60334b0d}
.bottom-nav{bottom:0;border-radius:18px 18px 0 0}
}

@media(max-width:360px){.page:not(.booking-selection){padding:16px}
.calendar-grid a{width:36px}
.detail-title h1{font-size:25px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}


/* One category photograph, then quiet service rows without duplicate thumbnails. */
.category-heading{display:flex;align-items:center;gap:16px;padding:16px;margin-bottom:12px;background:linear-gradient(120deg,#fff0f4,#fff9fa);border:1px solid #f5e7ed;border-radius:18px}
.category-heading>img{width:76px;height:76px;object-fit:cover;border-radius:13px;flex-shrink:0}
.category-heading h2{margin:5px 0;font-size:23px}
.category-kicker{font-size:8px;letter-spacing:1.4px;color:#906574}
.category-count{font-size:11px;color:var(--muted)}
.service-list{gap:0;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.service-card{border:0;border-radius:0;min-height:78px;padding:16px;gap:12px;background:transparent}
.service-card+.service-card{border-top:1px solid var(--line)}
.service-card:hover{background:#fff6f8}
.service-copy strong{font-size:14px;line-height:1.4}
.service-copy small{font-size:11px;color:#897980;margin-top:5px}
.service-price{white-space:nowrap;font-size:16px;font-weight:500;color:#49363e}
.service-price small{font-size:12px;font-weight:400}
.service-card .chevron{margin:0;font-size:21px;color:#b48a99}
.similar-list{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.similar-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px}
.similar-list a+a{border-top:1px solid var(--line)}
.similar-list a:hover{background:var(--blush)}
.similar-list strong{font-size:13px;font-weight:500}
.similar-list small{font-size:13px;white-space:nowrap;color:var(--muted)}
@media(max-width:360px){.category-heading{padding:12px;gap:12px}.category-heading h2{font-size:21px}.service-card{padding:14px 12px}}



/* Booking: city and date together, close to the approved mobile mockup. */
.app-shell:has(.booking-selection){padding-bottom:env(safe-area-inset-bottom)}
.booking-selection{min-height:100svh;padding:12px 19px 38px;background:radial-gradient(ellipse at -12% 17%,#f9dce69e,transparent 34%),linear-gradient(160deg,#fffafa 0%,#fff 45%,#fff5f7 100%)}
.booking-topline{display:grid;grid-template-columns:44px minmax(0,1fr) 100px;align-items:center;min-height:58px;margin:0 0 7px}
.booking-topline .back{color:#583f49}
.booking-topline-title{font-size:9px;letter-spacing:1.8px;color:#a85a78;font-weight:600;text-align:center;white-space:nowrap}
.booking-logo{width:100px;height:auto;justify-self:end}
.booking-progress{display:flex;gap:8px;margin:0 auto 21px;max-width:141px}
.booking-progress span{flex:1;height:4px;border-radius:8px;background:#f4e7eb}
.booking-progress span.active{background:#c34874}
.booking-progress span.complete{background:#e6a5bb}
.booking-stage{animation:booking-appear .23s ease-out}
.booking-selection.is-updating{opacity:.75;pointer-events:none}
@keyframes booking-appear{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.selection-heading{text-align:center;margin:0 0 22px}
.selection-heading .step{font-size:10px;letter-spacing:2.2px;margin:0 0 10px;color:#c14c75}
.selection-heading h1{font-size:clamp(28px,8.5vw,41px);letter-spacing:-.8px;margin:0 auto;line-height:1.12}
.selection-heading h1:focus{outline:none}
.selection-heading>p:last-child{font:15px/1.4 var(--serif);color:#85717a;margin:11px 0 0}
.selection-summary{display:flex;align-items:center;gap:13px;padding:11px 12px;margin:0 0 14px;min-width:0;background:#fff9fae6;border:1px solid #f3dce4;border-radius:18px}
.selection-summary .service-thumb{width:57px;height:57px;border-radius:12px;object-fit:cover;flex-shrink:0}
.selection-summary>span{flex:1;min-width:0}
.selection-summary strong{font:21px/1.1 var(--serif);display:block;overflow-wrap:anywhere}
.selection-summary small{font-size:14px;color:#57434a;margin:5px 0 0}
.summary-edit{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 11px;border:1px solid #f0cfdb;border-radius:999px;color:#b8446e;background:#fff7f9;font-size:12px;white-space:nowrap}
.summary-edit span{font-size:23px;line-height:1}
.city-segment{display:flex;align-items:center;gap:4px;border:1px solid #f0d5df;border-radius:999px;padding:5px;background:#fff9fa;margin:0 0 17px}
.city-option{flex:1;display:flex;gap:7px;align-items:center;justify-content:center;min-width:0;min-height:45px;padding:8px 3px;border-radius:999px;color:#9c7b87;font:19px/1 var(--serif);transition:background-color .15s,color .15s}
.city-option .icon{width:20px;height:20px;stroke-width:1.7}
.city-option.is-selected{background:linear-gradient(100deg,#cf6085,#af3d69);color:#fff;box-shadow:0 4px 12px #bd45711a}
.city-option:not(.is-selected):hover{background:#fbe8ef}
.selection-calendar{margin:0;padding:14px 10px 18px;background:#fffdfded;border:1px solid #f0dce2;border-radius:20px;box-shadow:0 9px 23px #8740530b}
.selection-calendar .calendar-heading{justify-content:space-between;gap:5px;margin:0 0 10px}
.selection-calendar .calendar-heading h2{font:600 13px/1.25 var(--sans);letter-spacing:2px;text-transform:uppercase;color:#b64c73;text-align:center}
.selection-calendar .month-arrow{width:40px;height:42px;flex-shrink:0;display:grid;place-items:center;color:#57404b;font:28px/1 var(--sans);border-radius:12px}
.selection-calendar .month-arrow:hover{background:#fff1f5}
.selection-calendar .calendar-grid{gap:5px 0}
.selection-calendar .calendar-grid>*{min-height:39px;font-size:13px}
.selection-calendar .calendar-grid .weekday{text-transform:uppercase;font-size:10px;letter-spacing:1px;color:#83737a}
.selection-calendar .calendar-grid a{width:min(100%,40px);height:39px;border-radius:50%;color:#49343f;background:#fcf0f3;font-weight:500;justify-self:center}
.selection-calendar .calendar-grid a:hover,.selection-calendar .calendar-grid a:focus-visible{background:#eec3d3}
.selection-calendar .calendar-grid .disabled{color:#c9bfc3}
.selection-helper{max-width:315px;margin:18px auto 0;text-align:center;font-size:12px;line-height:1.6;color:#906d7c}
.change-date{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin:4px 0 18px;color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px;font-size:13px}
.change-date .icon{width:18px;height:18px}
.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.slot-choice{display:block;width:100%;min-height:53px;border:1px solid #efd7e0;border-radius:13px;background:#fff5f8;color:#663846;font-size:15px;font-weight:600}
.slot-choice:hover,.slot-choice:focus-visible{background:var(--rose);color:white;border-color:var(--rose)}
.booking-selection .empty-state{background:#fff7f9;border-radius:16px}
.booking-selection .error-box{margin-bottom:15px}
.customer-page .recap-card{padding:17px}
.customer-page .recap-top{gap:14px;margin-bottom:22px}
.customer-page .recap-top .service-thumb{width:66px;height:66px}
.customer-page .recap-line{display:flex;align-items:center;gap:12px;font-size:14px;margin:14px 0 0}
.customer-page .recap-line .icon{width:18px;height:18px;color:#9c6980}
.customer-page .customer-form>label>.icon{width:20px;height:20px;flex-shrink:0;color:#8e6b79}
.customer-page .customer-form .textarea-label>.icon{align-self:flex-start;margin-top:15px}
.customer-page .primary-button{border-radius:999px}
@media(max-width:360px){
  .booking-selection{padding-left:13px;padding-right:13px}
  .booking-topline{grid-template-columns:38px minmax(0,1fr) 84px}
  .booking-topline-title{font-size:8px;letter-spacing:1.2px}
  .booking-logo{width:84px}
  .selection-heading h1{font-size:30px}
  .optional-break{display:none}
  .selection-calendar{padding-left:7px;padding-right:7px}
  .selection-calendar .calendar-grid>*{min-height:36px}
  .selection-calendar .calendar-grid a{height:36px;width:min(100%,36px)}
  .city-option{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.booking-stage{animation:none}.category-tile,.city-option{transition:none}}


.package-badge{display:inline-block;font:600 10px/1.4 var(--sans);color:#934566;background:#f7e7ef;border-radius:6px;padding:2px 6px;vertical-align:middle;white-space:nowrap}.package-includes{margin:14px 0;font-size:13px}.package-includes ul{padding-left:20px}

/* Compact multiple-service selection. */
.booking-basket {padding:14px; margin:12px 0 20px; border:1px solid #e7dbe2; border-radius:18px; background:#fff;}
.booking-basket h2 {font-size:18px; margin:0 0 8px;}
.basket-line {display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #f0e8ed; font-size:14px;}
.basket-line small,.booking-items small {display:block; font-size:12px; color:#786e7c;}
.basket-line a {padding:10px 0; font-size:12px; flex-shrink:0;}
.booking-basket .primary-button {margin-top:12px; font-size:14px; padding:13px 8px;}
.package-suggestion {display:grid; gap:5px; padding:12px; margin-top:10px; background:#fff2f6; border-radius:12px; font-size:13px;}
.package-suggestion a {padding:8px 0; font-weight:600;}
.selectable-service {display:flex; gap:6px; align-items:center;}
.selectable-service .service-card {flex:1; min-width:0;}
.service-select {display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #decad4; border-radius:50%; color:#a74368; font-size:24px; background:white; text-decoration:none;}
.service-select.is-selected {background:#fff0f5; font-size:18px;}
.booking-items {list-style:none; padding:0; margin:12px 0; text-align:left;}
.booking-items li {padding:7px 0; border-bottom:1px solid #eee7eb; font-size:14px;}
.booking-items .subtle {display:block; font-size:12px; margin:4px 0;}

.package-suggestion .package-apply-button {display:block; padding:11px 14px; border:1px solid #a74368; border-radius:12px; background:#a74368; color:#fff; text-align:center; text-decoration:none; font-weight:600;}
.package-apply-button:focus-visible,.service-select:focus-visible {outline:3px solid #704562; outline-offset:3px;}
.selection-status:empty {display:none;}
.selection-status {font-size:13px; margin:8px 0; color:#786e7c;}
#services-selection[aria-busy=true] .service-select {opacity:.6;}

.manage-page .customer-form{margin:16px 0}
.manage-page .customer-form>label{display:grid;gap:6px;padding:12px}
.manage-page select{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}
