*,:after,:before{box-sizing:border-box;margin:0}:root{--warm-50:#faf8f5;--warm-100:#f5f0ea;--warm-200:#ede4d8;--warm-300:#e0d6ca;--warm-400:#c8b9a8;--warm-500:#b08968;--warm-600:#8a7565;--warm-800:#3d2f25;--danger:#c44;--radius:12px;--radius-sm:8px;--transition:0.2s ease}body{background:var(--brand-background,linear-gradient(160deg,var(--warm-50) 0,var(--warm-100) 50%,var(--warm-200) 100%));color:var(--brand-text-primary,var(--warm-800));font-family:DM Sans,Segoe UI,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}.page{margin:0 auto;max-width:700px;padding:32px 16px}.page.page--wide{max-width:960px}.step-narrow{margin-left:auto;margin-right:auto;max-width:490px}.step-narrow.step-narrow--wide{max-width:880px}@media (max-width:767px){.step-narrow,.step-narrow.step-narrow--wide{max-width:none}}.header{margin-bottom:32px;text-align:center}.header-title{font-family:Playfair Display,serif;font-size:28px;font-weight:500;letter-spacing:-.02em}.header-subtitle{color:var(--brand-text-secondary,var(--warm-600));font-size:14px;margin-top:6px}.widget{background:#fff;border-radius:20px;box-shadow:0 4px 40px rgba(61,47,37,.08);overflow:hidden}.widget-body{padding:24px}.widget-footer{border-top:1px solid var(--brand-border-default,var(--warm-100));display:flex;gap:8px;padding:16px 24px 24px}.progress-bar{border-bottom:1px solid var(--warm-100);display:flex;gap:4px;padding:20px 24px 16px}.progress-step{flex:1;text-align:center}.progress-line{background:var(--brand-primary-muted,var(--warm-200));border-radius:2px;height:3px;margin-bottom:6px;transition:background var(--transition)}.progress-line.active{background:var(--brand-primary,var(--warm-500))}.progress-label{color:var(--brand-text-placeholder,var(--warm-400));font-size:10px;letter-spacing:.06em;text-transform:uppercase;transition:color var(--transition)}.progress-label.active{color:var(--brand-text-primary,var(--warm-800))}.progress-label.current{font-weight:600}.progress-windowed{display:none}@media (max-width:480px){.progress-bar{display:none}.progress-windowed{border-bottom:1px solid var(--warm-100);display:block}.progress-windowed-labels{align-items:baseline;display:flex;gap:12px;padding:18px 16px 10px}.progress-current{color:var(--brand-text-primary,var(--warm-800));flex:0 0 auto;font-family:Playfair Display,serif;font-size:clamp(15px,4.4vw,19px);font-weight:500;letter-spacing:-.01em;text-align:center;white-space:nowrap}.progress-ghost{color:var(--brand-text-secondary,var(--warm-600));flex:1 1 0;font-size:11px;font-style:italic;min-width:0;opacity:.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-ghost--prev{text-align:right}.progress-ghost--next{text-align:left}.progress-segments{display:flex;gap:4px;padding:0 16px 14px}.progress-segment{background:var(--brand-primary-muted,var(--warm-200));border-radius:2px;flex:1;height:3px;transition:background var(--transition)}.progress-segment.is-filled{background:var(--brand-primary,var(--warm-500))}}.category-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.tab{background:var(--brand-primary-muted,var(--warm-100));border:none;border-radius:20px;color:var(--brand-text-secondary,var(--warm-600));cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;padding:7px 16px;transition:all var(--transition)}.tab.active{background:var(--brand-primary,var(--warm-500));color:var(--brand-primary-text,#fff);font-weight:600}.tab:hover:not(.active){background:color-mix(in srgb,var(--brand-primary-muted,var(--warm-200)) 85%,#000)}.service-group{margin-bottom:20px}.service-group-title{color:var(--brand-primary,var(--warm-500));font-size:11px;font-weight:600;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.service-card{align-items:center;border:1px solid var(--brand-border-default,var(--warm-100));border-radius:var(--radius);cursor:pointer;display:flex;gap:14px;justify-content:space-between;margin-bottom:8px;padding:14px 16px;transition:all var(--transition)}.service-card:hover{border-color:var(--brand-accent,var(--warm-400))}.service-card.selected{background:var(--brand-primary-muted,var(--warm-50));border:2px solid var(--brand-primary,var(--warm-500))}.service-card-body{flex:1;min-width:0}.service-name{font-size:14px;font-weight:500}.service-desc{color:var(--brand-text-secondary,var(--warm-600));font-size:12px;margin-top:2px}.service-meta{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.service-duration-pill{background:var(--brand-primary-muted,var(--warm-100));border-radius:999px;color:var(--brand-text-secondary,var(--warm-600));font-size:11px;padding:3px 10px}.service-price{color:#4a6741;font-size:15px;font-weight:500;white-space:nowrap}.service-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;transition:background var(--transition);width:56px}.service-icon img{height:100%;object-fit:contain;width:100%}[data-icon-style=framed] .service-icon{background:var(--brand-primary-muted,var(--warm-200))}[data-icon-style=framed] .service-card.selected .service-icon{background:color-mix(in srgb,var(--brand-primary-muted,var(--warm-200)) 75%,#000)}[data-icon-style=framed] .service-icon img{height:70%;width:70%}@media (max-width:480px){.service-icon{border-radius:8px;height:44px;width:44px}}[data-icon-position=left] .service-icon{order:-1}[data-card-layout=compact] .service-grid,[data-card-layout=compact] .service-grid.two-col{display:grid;gap:4px;grid-template-columns:1fr}[data-card-layout=compact] .service-card{gap:12px;margin-bottom:0;padding:10px 14px}[data-card-layout=compact] .service-card-body{align-items:center;display:flex;flex:1;flex-direction:row;gap:14px;min-width:0}[data-card-layout=compact] .service-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-card-layout=compact] .service-desc{display:none}[data-card-layout=compact] .service-meta{flex-shrink:0;gap:12px;margin-top:0}[data-card-layout=compact] .service-icon{border-radius:8px;height:36px;width:36px}[data-card-layout=editorial] .service-grid{display:grid;gap:14px;grid-template-columns:1fr}[data-card-layout=editorial] .service-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}[data-card-layout=editorial] .service-card{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:0;padding:20px 22px 18px}[data-card-layout=editorial] .service-card-body{display:flex;flex:1;flex-direction:column}[data-card-layout=editorial] .service-icon{align-self:flex-start;height:64px;margin-bottom:4px;order:-1;width:64px}[data-card-layout=editorial] .service-name{font-family:Playfair Display,Georgia,serif;font-size:19px;font-weight:500;letter-spacing:-.005em;line-height:1.25}[data-card-layout=editorial] .service-desc{color:var(--brand-text-secondary,var(--warm-600));font-size:13px;line-height:1.55;margin-top:6px}[data-card-layout=editorial] .service-meta{border-top:1px solid var(--brand-border-default,var(--warm-100));margin-top:14px;padding-top:12px}[data-card-layout=editorial] .service-price{font-size:16px}@media (max-width:480px){[data-card-layout=editorial] .service-grid.two-col{grid-template-columns:1fr}[data-card-layout=editorial] .service-card{padding:16px 16px 14px}[data-card-layout=editorial] .service-name{font-size:17px}}[data-card-layout=hero] .service-hero{background:var(--brand-primary-muted,var(--warm-50));border:1px solid var(--brand-primary,var(--warm-500));border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:10px;margin-bottom:18px;padding:22px 24px 20px;position:relative;transition:all var(--transition)}[data-card-layout=hero] .service-hero:hover{filter:brightness(.98)}[data-card-layout=hero] .service-hero.selected{border:2px solid var(--brand-primary,var(--warm-500));padding:21px 23px 19px}.service-hero-eyebrow{color:var(--brand-primary,var(--warm-500));font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.service-hero-icon{align-items:center;background:hsla(0,0%,100%,.6);border-radius:12px;display:flex;height:56px;justify-content:center;overflow:hidden;width:56px}.service-hero-icon img{height:70%;object-fit:contain;width:70%}.service-hero-name{color:var(--brand-text-primary,var(--warm-900));font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.01em;line-height:1.2}.service-hero-desc{color:var(--brand-text-secondary,var(--warm-600));font-size:14px;line-height:1.55}.service-hero-meta{align-items:center;border-top:1px solid var(--brand-border-default,var(--warm-100));display:flex;justify-content:space-between;margin-top:4px;padding-top:12px}.service-hero-meta .service-price{font-size:18px}[data-card-layout=hero] .service-grid,[data-card-layout=hero] .service-grid.two-col{display:grid;gap:4px;grid-template-columns:1fr}[data-card-layout=hero] .service-card{gap:12px;margin-bottom:0;padding:10px 14px}[data-card-layout=hero] .service-card-body{align-items:center;display:flex;flex:1;flex-direction:row;gap:14px;min-width:0}[data-card-layout=hero] .service-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-card-layout=hero] .service-desc{display:none}[data-card-layout=hero] .service-meta{flex-shrink:0;gap:12px;margin-top:0}[data-card-layout=hero] .service-icon{border-radius:8px;height:36px;width:36px}@media (max-width:480px){[data-card-layout=hero] .service-hero{padding:18px 18px 16px}.service-hero-name{font-size:19px}.service-hero-icon{height:48px;width:48px}}[data-desc-style=off] .service-desc,[data-desc-style=off] .service-hero-desc{display:none}[data-desc-style=excerpt] .service-desc,[data-desc-style=excerpt] .service-hero-desc{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.step-title{font-family:Playfair Display,serif;font-size:clamp(18px,4.2vw,22px);font-weight:500;margin-bottom:16px}.step-subtitle{color:var(--brand-text-secondary,var(--warm-600));font-size:12px;margin-bottom:16px;margin-top:-12px}.date-week{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin-bottom:8px}.date-card{border:1px solid var(--brand-border-default,var(--warm-100));border-radius:10px;cursor:pointer;padding:10px 14px;transition:all var(--transition)}.date-card:hover{border-color:var(--brand-accent,var(--warm-400))}.date-card.selected{background:var(--brand-primary-muted,var(--warm-50));border:2px solid var(--brand-primary,var(--warm-500))}.date-weekday{font-size:13px;font-weight:500}.date-day{color:var(--brand-text-secondary,var(--warm-600));font-size:11px;margin-top:2px}.slots-grid{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.slot-card{border:1px solid var(--brand-border-default,var(--warm-100));border-radius:10px;cursor:pointer;font-size:14px;padding:10px;text-align:center;transition:all var(--transition)}.slot-card:hover{border-color:var(--brand-accent,var(--warm-400))}.slot-card.selected{background:var(--brand-primary-muted,var(--warm-50));border:2px solid var(--brand-primary,var(--warm-500));font-weight:600}.form-group{margin-bottom:14px}.form-label{color:var(--brand-text-secondary,var(--warm-600));display:block;font-size:12px;font-weight:500;margin-bottom:4px}.required{color:var(--danger);margin-left:2px}.form-input{border:1px solid var(--brand-border-default,var(--warm-300));border-radius:10px;color:var(--brand-text-primary,var(--warm-800));font-family:DM Sans,sans-serif;font-size:14px;outline:none;padding:10px 14px;transition:border var(--transition);width:100%}.form-input:focus{border-color:var(--brand-primary,var(--warm-500))}.form-input::placeholder{color:var(--brand-text-placeholder,var(--warm-400))}.form-input--error,.form-input--error:focus{border-color:var(--danger)}.form-error{color:var(--danger);font-size:12px;line-height:1.4;margin-top:4px}.form-textarea{font-family:DM Sans,sans-serif;line-height:1.5;min-height:76px;resize:vertical}.confirm-container{padding:20px 0;text-align:center}.confirm-icon{align-items:center;background:var(--brand-primary,var(--warm-500));border-radius:50%;color:var(--brand-primary-text,#fff);display:flex;font-size:28px;height:56px;justify-content:center;margin:0 auto 12px;width:56px}.confirm-title{font-family:Playfair Display,serif;font-size:20px;margin-bottom:8px}.confirm-subtitle{color:var(--brand-text-secondary,var(--warm-600));font-size:13px;margin-bottom:20px}.confirm-card{background:var(--brand-primary-muted,var(--warm-50));border-radius:var(--radius);margin-bottom:12px;text-align:left}.confirm-section{padding:16px 20px}.confirm-section+.confirm-section{border-top:1px solid var(--brand-border-default,var(--warm-100))}.confirm-section-label{color:var(--brand-text-secondary,var(--warm-600));font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.confirm-section-value{color:var(--brand-text-primary,var(--warm-800));font-size:14px;font-weight:500}.confirm-section-sub{color:var(--brand-text-secondary,var(--warm-600));font-size:12px;margin-top:2px}.confirm-extras-list{list-style:none;margin:6px 0 0;padding:0}.confirm-extras-item{color:var(--brand-text-secondary,var(--warm-600));font-size:12px;padding:2px 0}.confirm-treatment-block+.confirm-treatment-block{border-top:1px solid var(--brand-border-default,var(--warm-100));margin-top:10px;padding-top:10px}.confirm-treatment-head{align-items:baseline;color:var(--brand-text-primary,var(--warm-800));display:flex;font-size:14px;font-weight:600;gap:8px}.confirm-treatment-head>span:last-child{margin-left:auto;white-space:nowrap}.confirm-price-rows{display:flex;flex-direction:column;gap:6px;margin-top:6px}.confirm-price-row{align-items:baseline;color:var(--brand-text-primary,var(--warm-800));display:flex;font-size:13px;justify-content:space-between}.confirm-price-row>span:first-child{color:var(--brand-text-secondary,var(--warm-600))}.confirm-price-voucher,.confirm-price-voucher>span:first-child{color:var(--brand-primary,var(--warm-600));font-weight:500}.confirm-voucher-code{font-family:DM Mono,monospace;font-size:11px;margin-left:4px}.confirm-price-total{border-top:1px solid var(--brand-border-default,var(--warm-100));font-size:20px;font-weight:600;margin-top:4px;padding-top:10px}.confirm-price-total,.confirm-price-total>span:first-child{color:var(--brand-text-primary,var(--warm-800));font-family:Playfair Display,serif}.review-card{background:var(--brand-primary-muted,var(--warm-50));border-radius:var(--radius);margin-top:12px;text-align:left}.review-section{padding:16px 20px}.review-section+.review-section{border-top:1px solid var(--brand-border-default,var(--warm-100))}.review-section-label{color:var(--brand-text-secondary,var(--warm-600));font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.review-section-value{color:var(--brand-text-primary,var(--warm-800));font-size:14px;font-weight:500}.review-section-sub{color:var(--brand-text-secondary,var(--warm-600));font-size:12px;margin-top:2px}.review-section-notes{color:var(--brand-text-primary,var(--warm-800));font-size:13px;font-style:italic;margin-top:8px}.review-extras-list{list-style:none;margin:6px 0 0;padding:0}.review-extras-item{color:var(--brand-text-secondary,var(--warm-600));font-size:12px;padding:2px 0}.review-treatment-block+.review-treatment-block{border-top:1px solid var(--brand-border-default,var(--warm-100));margin-top:12px;padding-top:12px}.review-treatment-head{align-items:baseline;display:flex;gap:8px}.review-treatment-name{font-size:14px;min-width:0}.review-treatment-name,.review-treatment-price{color:var(--brand-text-primary,var(--warm-800));font-weight:600}.review-treatment-price{margin-left:auto;white-space:nowrap}.review-treatment-remove{background:none;border:none;color:var(--brand-text-secondary,var(--warm-600));cursor:pointer;flex-shrink:0;font-family:inherit;font-size:20px;line-height:1;padding:0 2px;transition:color var(--transition)}.review-treatment-remove:hover{color:var(--danger)}.review-price-rows{display:flex;flex-direction:column;gap:6px;margin-top:6px}.review-price-row{align-items:baseline;color:var(--brand-text-primary,var(--warm-800));display:flex;font-size:13px;justify-content:space-between}.review-price-row>span:first-child{color:var(--brand-text-secondary,var(--warm-600))}.review-price-voucher,.review-price-voucher>span:first-child{color:var(--brand-primary,var(--warm-600));font-weight:500}.review-price-total{border-top:1px solid var(--brand-border-default,var(--warm-100));font-size:20px;font-weight:600;margin-top:4px;padding-top:10px}.review-price-total,.review-price-total>span:first-child{color:var(--brand-text-primary,var(--warm-800));font-family:Playfair Display,serif}.review-price-strike{font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;margin-right:8px;opacity:.55;text-decoration:line-through}.voucher-inline--closed{margin-top:-4px}.voucher-inline-toggle{background:none;border:none;color:var(--brand-primary,var(--warm-500));cursor:pointer;font-family:inherit;font-size:14px;padding:0;text-decoration:underline}.voucher-inline-input{font-family:DM Mono,monospace;letter-spacing:.04em}.voucher-inline-hint{color:var(--brand-text-secondary,var(--warm-600));font-size:13px;margin-top:6px}.voucher-inline-error{color:#b02020;font-size:13px;margin-top:6px}.voucher-inline--applied{align-items:center;background:#eaf3ee;border:1px solid #6a9e7e;border-radius:var(--radius-sm);display:flex;font-size:14px;justify-content:space-between;padding:10px 14px}.voucher-inline-applied-info{color:#3d6b50}.voucher-inline-applied-info code{font-weight:600}.voucher-inline-remove{background:none;border:none;color:#3d6b50;cursor:pointer;font-size:20px;line-height:1;padding:0}@media (max-width:768px){.widget-footer--sticky-mobile{background:#fff;bottom:0;box-shadow:0 -2px 8px rgba(0,0,0,.06);position:sticky;z-index:10}}.legal-hint{color:var(--brand-text-primary,var(--warm-800));font-size:13px;line-height:1.6;opacity:.78;padding:4px 24px 20px;text-align:center}.legal-hint a{color:var(--brand-primary,var(--warm-500));font-weight:500;text-decoration:underline;text-underline-offset:2px}.legal-hint a:hover{opacity:.75}.confirm-code-box{align-items:center;background:transparent;border:1px dashed var(--brand-border-default,var(--warm-100));border-radius:var(--radius-sm);color:var(--brand-text-secondary,var(--warm-600));display:flex;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.08em;margin-bottom:16px;padding:10px 14px;text-transform:uppercase}.confirm-code-value{color:var(--brand-text-primary,var(--warm-800));font-family:DM Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:none}.btn-primary{background:var(--brand-primary,var(--warm-500));border:none;border-radius:var(--radius);color:var(--brand-primary-text,#fff);cursor:pointer;flex:2;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:12px;transition:background var(--transition)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand-primary,var(--warm-500)) 88%,#000)}.btn-primary:disabled{background:var(--brand-primary-muted,var(--warm-300));cursor:default}.btn-secondary{background:#fff;border:1px solid var(--brand-border-default,var(--warm-300));border-radius:var(--radius);color:var(--brand-text-primary,var(--warm-800));cursor:pointer;flex:1;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:12px;transition:all var(--transition)}.btn-secondary:hover{border-color:var(--brand-primary,var(--warm-500))}.empty-state,.loading{color:var(--brand-text-secondary,var(--warm-600));font-size:14px;padding:32px;text-align:center}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;color:#991b1b;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.error-close{background:none;border:none;color:#991b1b;cursor:pointer;font-size:18px;padding:0 0 0 12px}.error-banner--action{align-items:stretch;flex-wrap:wrap;gap:12px}.error-banner-text{flex:1 1 60%;font-size:13px}.error-banner-text strong{display:block;margin-bottom:2px}.error-banner-action{flex:0 0 auto;font-size:13px;padding:10px 16px;white-space:nowrap}@media (max-width:480px){.page{padding:16px 12px}.header-title{font-size:22px}.slots-grid{grid-template-columns:repeat(2,1fr)}.date-week{grid-template-columns:1fr 1fr}}.booking-summary{align-items:center;background:var(--brand-primary-muted,#faf6f1);border-top:1px solid var(--brand-border-default,#f0ebe5);color:var(--brand-text-secondary,#6b5240);display:flex;font-size:13px;gap:4px;padding:10px 24px}.booking-summary-price{color:var(--brand-primary,#b08968);font-weight:600;margin-left:auto}.date-card.disabled{background:#f8f6f4!important;cursor:not-allowed!important}.date-card.disabled,.date-card.disabled:hover{border-color:#f0ebe5!important}.date-card.disabled .date-day,.date-card.disabled .date-weekday{color:#ccc}.service-grid.two-col{display:grid;gap:8px;grid-template-columns:1fr 1fr}.extras-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.extras-header .step-subtitle{margin-bottom:0}.extras-skip-btn{align-self:center;background:transparent;border:1px solid var(--brand-border-default,var(--warm-100));border-radius:999px;color:var(--brand-text-secondary,var(--warm-600));cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12.5px;padding:7px 14px;transition:border-color var(--transition),color var(--transition),background var(--transition);white-space:nowrap}.extras-skip-btn:hover{background:var(--brand-primary-muted,var(--warm-50));border-color:var(--brand-primary,var(--warm-500));color:var(--brand-primary,var(--warm-500))}.extras-header-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}@media (max-width:480px){.extras-header-actions{align-items:stretch;flex-direction:column;width:100%}.extras-header-actions .extras-skip-btn{text-align:center;width:100%}}.treatment-banner{background:var(--brand-primary-muted,var(--warm-50));border:1px solid var(--brand-border-default,var(--warm-100));border-radius:var(--radius,12px);margin-bottom:20px;padding:14px 16px}.treatment-banner-list{display:flex;flex-direction:column;gap:6px}.treatment-banner-item{align-items:center;color:var(--brand-text-primary,var(--warm-800));display:flex;font-size:13px;gap:8px}.treatment-banner-check{color:var(--brand-primary,var(--warm-500));flex-shrink:0;font-weight:700}.treatment-banner-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treatment-banner-price{color:var(--brand-primary,var(--warm-500));flex-shrink:0;font-weight:600;margin-left:auto}.treatment-banner-remove{background:none;border:none;color:var(--brand-text-secondary,var(--warm-600));cursor:pointer;flex-shrink:0;font-family:inherit;font-size:18px;line-height:1;padding:0 2px;transition:color var(--transition)}.treatment-banner-remove:hover{color:var(--danger)}.treatment-banner-heading{color:var(--brand-text-primary,var(--warm-800));font-size:16px;font-weight:600;margin:12px 0 0}.progress-badge{align-items:center;background:var(--brand-primary,var(--warm-500));border-radius:999px;color:var(--brand-primary-text,#fff);display:inline-flex;font-size:10px;font-weight:700;height:16px;justify-content:center;line-height:1;margin-left:5px;min-width:16px;padding:0 4px;vertical-align:middle}.extras-grid{display:flex;flex-direction:column;gap:8px}.extras-grid.two-col{display:grid;gap:8px;grid-template-columns:1fr 1fr}.datetime-grid{display:block}.datetime--side .datetime-grid{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.datetime--side .datetime-times .datetime-slots{border-top:none;margin-top:0;padding-top:0}.datetime-slots--placeholder{align-items:center;border:1px dashed var(--brand-border-default,#f0ebe5);border-radius:12px;display:flex;justify-content:center;min-height:220px}.datetime--side .slot-grid{grid-template-columns:repeat(3,1fr)}@media (max-width:767px){.datetime--side .datetime-grid{display:block}.datetime--side .datetime-times .datetime-slots{border-top:1px solid var(--brand-border-default,#f0ebe5);margin-top:4px;padding-top:14px}.datetime-slots--placeholder{display:none}}.cal-legend{color:var(--brand-text-secondary,#8a7565);display:flex;font-size:11px;gap:14px;margin-top:14px}.cal-legend-item{align-items:center;display:flex;gap:4px}.cal-legend-dot{border-radius:50%;height:5px;width:5px}@media (max-width:767px){.extras-grid.two-col,.service-grid.two-col{grid-template-columns:1fr}}.cal-nav{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.cal-month-label{font-size:15px;font-weight:500}.cal-month-label,.cal-nav-btn{color:var(--brand-text-primary,#3d2f25)}.cal-nav-btn{align-items:center;background:#fff;border:1px solid var(--brand-border-default,#f0ebe5);border-radius:8px;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.cal-nav-btn:disabled{cursor:default;opacity:.3}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-weekday{color:var(--brand-primary,#b08968);font-size:11px;font-weight:600;letter-spacing:.05em;padding:4px 0;text-align:center;text-transform:uppercase}.cal-grid{display:grid;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:16px}.cal-loading{background:hsla(0,0%,100%,.7);color:var(--brand-text-secondary,#8a7565);font-size:13px;inset:0;position:absolute;z-index:1}.cal-day,.cal-loading{align-items:center;border-radius:8px;display:flex;justify-content:center}.cal-day{border:1px solid transparent;cursor:pointer;flex-direction:column;height:42px;transition:background .15s}.cal-day:hover:not(.cal-day-disabled):not(.cal-day-selected){background:var(--brand-primary-muted,#faf6f1)}.cal-day-selected{background:var(--brand-primary,#b08968);border-color:var(--brand-primary,#b08968)}.cal-day-selected .cal-day-num{color:var(--brand-primary-text,#fff);font-weight:600}.cal-day-today{background:var(--brand-primary-muted,#faf6f1);border:1px solid var(--brand-accent,#e0d6ca)}.cal-day-today .cal-day-num{color:var(--brand-primary,#b08968);font-weight:600}.cal-day-disabled{cursor:default;opacity:.35}.cal-day-outside{cursor:default;opacity:.15}.cal-day-num{color:var(--brand-text-primary,#3d2f25);font-size:13px}.cal-day-dot{border-radius:50%;height:4px;margin-top:1px;width:4px}.dot-avail{background:var(--brand-primary,#b08968)}.dot-full{background:#e0a030}.dot-closed{background:#ddd}.dot-sel{background:hsla(0,0%,100%,.6)}.datetime-slots{border-top:1px solid var(--brand-border-default,#f0ebe5);margin-top:4px;padding-top:14px}.datetime-slots-label{color:var(--brand-text-secondary,#6b5240);font-size:13px;font-weight:500;margin-bottom:10px}.datetime-slots-empty{color:var(--brand-text-secondary,#8a7565);font-size:13px;padding:16px;text-align:center}.slot-grid{display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}@media (max-width:767px){.slot-grid{grid-template-columns:repeat(3,1fr)}}.slot-btn{background:#fff;border:1px solid var(--brand-border-default,#e0dbd5);border-radius:8px;color:var(--brand-text-primary,#3d2f25);cursor:pointer;font-size:13px;padding:8px 4px;text-align:center;transition:all .15s}.slot-btn:hover{background:var(--brand-primary-muted,#faf6f1);border-color:var(--brand-accent,#d0c8be)}.slot-btn.selected{background:var(--brand-primary,#2c2420);border-color:var(--brand-primary,#2c2420);color:var(--brand-primary-text,#fff);font-weight:500}