/* Expanded-only landing interactions; compact previews retain their layout. */
.dl-experience>header>p{max-width:720px}.dl-choices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.dl-choices button{background:transparent;color:var(--dx-ink);border-color:var(--dx-line);border-radius:30px;padding:12px 24px}.dl-choices button[aria-pressed=true]{background:var(--dx-accent);color:var(--dx-button-text,#fff);border-color:var(--dx-accent)}.dl-choice-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px}.dl-choice-layout>img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.dl-choice-copy{min-width:0}.dl-choice-copy>small{font-size:12px;letter-spacing:1px;color:var(--dx-accent)}.dl-choice-copy h5{font-size:32px}.dl-choice-copy>button{margin-top:10px}.dl-journey{border-top:1px solid var(--dx-line)}.dl-journey ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0;padding:0;list-style:none}.dl-journey li{padding-top:20px;border-top:1px solid var(--dx-line)}.dl-journey li>span{font:32px/1 Georgia,serif;color:var(--dx-accent)}.dl-journey li>h5{font-size:24px}
@media(min-width:1001px){
.demo-maximized .n-booking,.demo-maximized .sv-booking{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:48px;align-items:start}
.demo-maximized .n-booking>div:first-child,.demo-maximized .sv-booking>.sv-section-heading{grid-column:1/-1}
.demo-maximized .n-booking>.nx-patient-fields{grid-column:1;grid-row:2/6;margin:0;min-width:0}
.demo-maximized .n-booking>.n-booking-controls{grid-column:2;grid-row:2;grid-template-columns:1fr;min-width:0}
.demo-maximized .n-booking>.nx-coupon-form{grid-column:2;grid-row:3}
.demo-maximized .n-booking>.nx-reserve{grid-column:2;grid-row:4;margin-top:16px}
.demo-maximized .n-booking>.nx-book-feedback,.demo-maximized .n-booking>p:last-child{grid-column:1/-1}
.demo-maximized .sv-booking>.sv-patient-fields{grid-column:1;grid-row:2/6;margin:0;min-width:0}
.demo-maximized .sv-booking>label{grid-column:2;grid-row:2;margin:0}
.demo-maximized .sv-booking>#savia-service{grid-column:2;grid-row:3;margin-top:8px;min-width:0}
.demo-maximized .sv-booking>.sv-slot-grid{grid-column:2;grid-row:4;grid-template-columns:1fr}
.demo-maximized .sv-booking>[data-sv-book]{grid-column:2;grid-row:5}
.demo-maximized .sv-booking>.sv-book-status{grid-column:1/-1}
.demo-maximized .n-booking label,.demo-maximized .sv-booking label{font-size:15px}
.demo-maximized .n-booking select,.demo-maximized .sv-booking select{font-size:16px;min-height:46px}
.demo-maximized .n-booking input,.demo-maximized .sv-booking input{font-size:16px;min-height:46px}
}
@media(max-width:800px){.dl-choice-layout{grid-template-columns:1fr;gap:25px}.dl-journey ol{grid-template-columns:1fr;gap:22px}.dl-choice-copy h5{font-size:28px}.dl-choices button{padding:10px 16px}}
/* Full-size typography only inside the expanded fictional browser. */
.demo-maximized .demo-v2{font-size:17px;line-height:1.7}
.demo-maximized .demo-v2 .local-demo-status,.demo-maximized .demo-v2 .n-status,.demo-maximized .demo-v2 .sv-footnote,.demo-maximized .demo-v2 .demo-feedback{font-size:14px;line-height:1.8;padding:16px 24px}
.demo-maximized .dental-demo .n-view-tabs button,.demo-maximized .sv-demo .sv-view-tabs button{font-size:16px;padding:13px 18px}
.demo-maximized .dental-demo .n-nav>b{font-size:34px}.demo-maximized .dental-demo .n-nav>b small{font-size:11px}.demo-maximized .dental-demo .n-nav .n-nav-actions{font-size:16px}
.demo-maximized .dental-demo .n-hero>div>span{font-size:13px;line-height:1.6}.demo-maximized .dental-demo .n-hero p{font-size:19px;line-height:1.8}.demo-maximized .dental-demo .n-hero button{font-size:17px}
.demo-maximized .dental-demo .n-services b{font-size:20px}.demo-maximized .dental-demo .n-services small{font-size:16px}
.demo-maximized .dental-demo .n-booking>div>small,.demo-maximized .dental-demo .nx-public-promotions>small{font-size:13px;line-height:1.7;letter-spacing:1.2px}.demo-maximized .dental-demo .n-booking h5{font-size:34px;line-height:1.25}
.demo-maximized .dental-demo .n-booking label,.demo-maximized .dental-demo .nx-day-picker>span,.demo-maximized .dental-demo .nx-coupon-form label{font-size:17px;line-height:1.6}
.demo-maximized .dental-demo .nx-patient-fields p,.demo-maximized .dental-demo .nx-patient-fields small,.demo-maximized .dental-demo .n-booking>p,.demo-maximized .dental-demo .nx-coupon-feedback,.demo-maximized .dental-demo .nx-book-feedback{font-size:15px;line-height:1.8}
.demo-maximized .dental-demo .n-booking input,.demo-maximized .dental-demo .n-booking select{font-size:17px;min-height:50px;padding:12px 14px}
.demo-maximized .dental-demo .nx-client-days{gap:9px}.demo-maximized .dental-demo .nx-client-days button{font-size:15px;padding:12px;min-height:46px}.demo-maximized .dental-demo .n-slot-options{gap:9px}.demo-maximized .dental-demo .n-slot-options button{font-size:16px;min-height:58px;padding:12px}.demo-maximized .dental-demo .n-slot-options button small{font-size:12px}
.demo-maximized .dental-demo .nx-reserve,.demo-maximized .dental-demo .nx-coupon-form button,.demo-maximized .dental-demo .nx-marketing-action{font-size:16px;min-height:48px;padding:13px 18px}
.demo-maximized .dental-demo .nx-client-promo h5,.demo-maximized .dental-demo .nx-marketing-card h5{font-size:26px;line-height:1.35}.demo-maximized .dental-demo .nx-client-promo p,.demo-maximized .dental-demo .nx-promotions-panel p,.demo-maximized .dental-demo .nx-coupons-panel p{font-size:16px;line-height:1.8}.demo-maximized .dental-demo .nx-client-promo small,.demo-maximized .dental-demo .nx-promotions-panel>small,.demo-maximized .dental-demo .nx-coupons-panel>small{font-size:13px}.demo-maximized .dental-demo .nx-promo-state,.demo-maximized .dental-demo .nx-first-visit-state,.demo-maximized .dental-demo .nx-coupon-state{font-size:15px;line-height:1.7}
.demo-maximized .dental-demo .d-nav>b{font-size:32px}.demo-maximized .dental-demo .d-nav>b>small,.demo-maximized .dental-demo .d-nav>span{font-size:12px}.demo-maximized .dental-demo .d-subnav button{font-size:16px}.demo-maximized .dental-demo .d-welcome small{font-size:12px}.demo-maximized .dental-demo .d-live{font-size:13px}.demo-maximized .dental-demo .d-stats span{font-size:16px}.demo-maximized .dental-demo .d-stats b{font-size:38px}.demo-maximized .dental-demo .d-day{font-size:16px}.demo-maximized .dental-demo .d-week button{font-size:15px;padding:12px}.demo-maximized .dental-demo .d-week button>b{font-size:28px}.demo-maximized .dental-demo .d-week button small{font-size:13px}.demo-maximized .dental-demo .d-appointments b{font-size:17px}.demo-maximized .dental-demo .d-appointments small,.demo-maximized .dental-demo .d-appointments time{font-size:15px}.demo-maximized .dental-demo .d-state,.demo-maximized .dental-demo .nx-confirm{font-size:14px;padding:10px 12px}.demo-maximized .dental-demo .d-feedback,.demo-maximized .dental-demo .nx-empty{font-size:15px;line-height:1.8}
.demo-maximized .barber-demo .b-nav small{font-size:12px}.demo-maximized .barber-demo .b-kicker{font-size:14px}.demo-maximized .barber-demo .b-services small,.demo-maximized .barber-demo .b-services em{font-size:16px}.demo-maximized .barber-demo .b-services b{font-size:22px}.demo-maximized .barber-demo .b-action{font-size:17px}
.demo-maximized .coffee-demo .c-strip{font-size:12px;padding:12px}.demo-maximized .coffee-demo .c-nav>b>span{font-size:11px}.demo-maximized .coffee-demo .c-cart{font-size:16px;padding:12px 16px}.demo-maximized .coffee-demo .c-product-copy>small{font-size:13px}.demo-maximized .coffee-demo .c-product-copy p{font-size:17px}.demo-maximized .coffee-demo .c-drawer-head>div>span{font-size:12px}.demo-maximized .coffee-demo .c-item-details>strong{font-size:17px}.demo-maximized .coffee-demo .c-item-details>small,.demo-maximized .coffee-demo .c-drawer-summary p{font-size:14px}.demo-maximized .coffee-demo .c-item-details>b,.demo-maximized .coffee-demo .c-place-order{font-size:16px}.demo-maximized .coffee-demo .c-drawer-summary>small,.demo-maximized .coffee-demo .c-continue-shopping{font-size:13px}
.demo-maximized .sv-demo .sv-nav b small{font-size:11px}.demo-maximized .sv-demo .sv-cart-toggle{font-size:16px}.demo-maximized .sv-demo .sv-service-intro>span,.demo-maximized .sv-demo .sv-section-heading small{font-size:13px}.demo-maximized .sv-demo .sv-service-intro p,.demo-maximized .sv-demo .sv-shop-intro{font-size:18px;line-height:1.8}.demo-maximized .sv-demo .sv-demo-tag{font-size:12px}.demo-maximized .sv-demo .sv-booking label,.demo-maximized .sv-demo .sv-field-label{font-size:17px}.demo-maximized .sv-demo .sv-patient-fields p,.demo-maximized .sv-demo .sv-patient-fields small,.demo-maximized .sv-demo .sv-book-status{font-size:15px;line-height:1.8}.demo-maximized .sv-demo .sv-booking input,.demo-maximized .sv-demo .sv-booking select{font-size:17px;min-height:50px}.demo-maximized .sv-demo .sv-slot-grid button{font-size:16px;min-height:46px}.demo-maximized .sv-demo .sv-main-button{font-size:17px;min-height:48px}.demo-maximized .sv-demo .sv-product small{font-size:13px}.demo-maximized .sv-demo .sv-product p{font-size:17px}.demo-maximized .sv-demo .sv-panel-caption,.demo-maximized .sv-demo .sv-appointment b{font-size:17px}.demo-maximized .sv-demo .sv-appointment small,.demo-maximized .sv-demo .sv-panel-status{font-size:15px;line-height:1.7}.demo-maximized .sv-demo .sv-panel-tabs button{font-size:16px}.demo-maximized .sv-demo .sv-metrics span{font-size:16px}.demo-maximized .sv-demo .sv-promo p{font-size:16px;line-height:1.8}
.demo-maximized .dx-section p,.demo-maximized .dx-section li{font-size:18px;line-height:1.85}.demo-maximized .dx-section>header>small,.demo-maximized .dx-cards small,.demo-maximized .dl-choice-copy>small{font-size:14px}.demo-maximized .dx-section button{font-size:16px}.demo-maximized .dx-footer-main p,.demo-maximized .dx-footer-explore button{font-size:16px}.demo-maximized .dx-footer-main small,.demo-maximized .dx-footer-main span,.demo-maximized .dx-footer-bottom{font-size:14px}.demo-maximized .dx-footer-main h5{font-size:13px!important}
@media(min-width:1001px){.demo-maximized .dental-demo .nx-public-promotions{display:grid;grid-template-columns:1fr 1fr;gap:20px}.demo-maximized .dental-demo .nx-public-promotions>small,.demo-maximized .dental-demo .nx-public-promotions>h5{grid-column:1/-1}.demo-maximized .dental-demo .nx-public-promotions[hidden]{display:none!important}.demo-maximized .dental-demo .nx-client-promo{margin-bottom:0}.demo-maximized .dental-demo .nx-client-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.demo-maximized .dx-section p,.demo-maximized .dx-section li{font-size:17px}.demo-maximized .dental-demo .n-nav .n-nav-actions{font-size:13px;gap:9px}.demo-maximized .dental-demo .n-nav>b{font-size:28px}.demo-maximized .dental-demo .n-nav>b small{display:none}.demo-maximized .dental-demo .d-nav>b>small{display:none}.demo-maximized .dental-demo .d-nav>span{font-size:10px;gap:7px}.demo-maximized .dental-demo .d-week button{padding:10px 6px}.demo-maximized .dental-demo .d-appointments small{font-size:14px}}
@media(max-width:800px){.demo-maximized .dental-demo .n-services{grid-template-columns:1fr;gap:18px}.demo-maximized .dental-demo .n-services>span{min-width:0}.demo-maximized .coffee-demo .c-heading{align-items:flex-start;flex-direction:column;gap:12px}.demo-maximized .coffee-demo .c-drawer-summary{padding:14px}.demo-maximized .coffee-demo .c-drawer-head{padding:15px}.demo-maximized .coffee-demo .c-drawer-summary p{font-size:13px}.demo-maximized .sv-demo .sv-section-heading{flex-wrap:wrap;gap:14px}}
/* Clearer add-to-cart controls in compact and expanded previews. */
#demo-content .c-product-copy button[data-add],#demo-content .sv-product-info button[data-sv-add]{display:grid;place-items:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:2px solid #527b39;border-radius:9px;background:#d9edc3;color:#244520;font-size:29px;font-weight:600;line-height:1;box-shadow:0 3px 9px #24452020}
#demo-content .c-product-copy button[data-add]:hover,#demo-content .sv-product-info button[data-sv-add]:hover{background:#b8de88;border-color:#345d23;box-shadow:0 4px 14px #477a3038}
.demo-maximized #demo-content .c-product-copy button[data-add],.demo-maximized #demo-content .sv-product-info button[data-sv-add]{width:50px;height:50px;min-width:50px;min-height:50px;font-size:32px}
#demo-content .c-product-copy>div>b,#demo-content .sv-product-info>div>b{font-size:22px;font-weight:700;line-height:1.3;white-space:nowrap}.demo-maximized #demo-content .c-product-copy>div>b,.demo-maximized #demo-content .sv-product-info>div>b{font-size:28px}@media(max-width:380px){#demo-content .c-product-copy>div>b,#demo-content .sv-product-info>div>b{font-size:20px}.demo-maximized #demo-content .c-product-copy>div>b,.demo-maximized #demo-content .sv-product-info>div>b{font-size:25px}}
.demo-checkout[hidden]{display:none!important}.demo-checkout{display:block!important;text-align:left;margin:16px 0;padding:15px;border:1px solid #b5c5a8;border-radius:7px;background:#fff;color:#30432d}.demo-checkout>p:first-child{font-size:16px!important;font-weight:700;margin-top:0}.demo-checkout>small{display:block;font-size:13px!important;line-height:1.7}.demo-checkout label{display:block;color:#30432d;font-size:14px;margin:12px 0 5px}.demo-checkout input{display:block;width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #a5b69b;border-radius:5px;background:#fff;color:#253b29;font-size:16px;box-sizing:border-box}.demo-checkout input[aria-invalid=true]{border-color:#ad3a30}.demo-checkout-feedback{color:#94382d!important;font-size:14px!important;line-height:1.6!important}.coffee-message-preview{font:14px/1.7 Inter,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0}.c-drawer-summary,.sv-cart-summary{max-height:72%;overflow-y:auto;overscroll-behavior:contain}.sv-order-contact{padding:14px;background:#eff4e9;border-radius:5px;overflow-wrap:anywhere}
/* Reception dashboard uses a calendar sidebar at desktop widths. */
@media(min-width:1001px){
.demo-maximized .dental-demo .d-body{padding-top:36px;padding-bottom:40px}
.demo-maximized .dental-demo .d-welcome{margin-bottom:30px;gap:24px}
.demo-maximized .dental-demo .d-welcome h4{font-size:40px;line-height:1.2;margin-top:10px}
.demo-maximized .dental-demo .d-welcome small{font-size:14px}
.demo-maximized .dental-demo .d-live{font-size:14px;padding:10px 14px}
.demo-maximized .dental-demo .d-stats{gap:22px;margin-bottom:30px}
.demo-maximized .dental-demo .d-stats>div{padding:25px;border-radius:10px}
.demo-maximized .dental-demo .d-stats span{font-size:18px}
.demo-maximized .dental-demo .d-stats b{font-size:46px;margin-top:12px}
.demo-maximized .dental-demo .nx-agenda-panel{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.7fr);gap:20px 28px;align-items:start}
.demo-maximized .dental-demo .d-day{grid-column:1/-1;margin:8px 0 0;padding-bottom:18px;border-bottom:1px solid #8ba7af55;flex-wrap:wrap}
.demo-maximized .dental-demo .d-day>b{font-size:23px}
.demo-maximized .dental-demo .d-day>span:first-child{font-size:12px}
.demo-maximized .dental-demo .d-day>span:last-child{font-size:16px}
.demo-maximized .dental-demo .d-week{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:16px;border-radius:10px}
.demo-maximized .dental-demo .d-week button{padding:14px 6px;font-size:16px;border-radius:7px}
.demo-maximized .dental-demo .d-week button>b{font-size:30px;margin:9px 0}
.demo-maximized .dental-demo .d-week button small{font-size:13px}
.demo-maximized .dental-demo .d-appointments{grid-column:2;grid-row:2;margin:0;padding:0 22px;border-radius:10px;min-width:0}
.demo-maximized .dental-demo .d-appointments>div{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;padding:25px 0;align-items:center}
.demo-maximized .dental-demo .d-appointments .d-avatar{display:none}
.demo-maximized .dental-demo .d-appointments time{font-size:17px;font-weight:600}
.demo-maximized .dental-demo .d-appointments b{font-size:19px;line-height:1.5}
.demo-maximized .dental-demo .d-appointments small{font-size:16px;line-height:1.7;margin-top:6px;overflow-wrap:anywhere}
.demo-maximized .dental-demo .d-state,.demo-maximized .dental-demo .nx-confirm{font-size:15px;line-height:1.5;padding:12px 14px;white-space:nowrap}
.demo-maximized .dental-demo .d-feedback{grid-column:2;margin:0;font-size:15px;line-height:1.8}
.demo-maximized .dental-demo .nx-empty{font-size:17px;padding:35px 12px}
.demo-maximized .dental-demo .d-subnav{gap:30px;padding-top:5px}
.demo-maximized .dental-demo .d-subnav button{font-size:17px;padding:18px 0}
.demo-maximized .dental-demo .nx-promotions-panel,.demo-maximized .dental-demo .nx-coupons-panel{padding:30px}
}

/* All three barber styles remain visible for direct comparison. */
.dl-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.dl-style-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--dx-line);border-radius:10px;overflow:hidden}
.dl-style-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.dl-style-card>.dl-choice-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.dl-style-card .dl-choice-copy>h5{font-size:28px;margin:0 0 12px}
.dl-style-card .dl-choice-copy>button{margin-top:auto;align-self:flex-start}
.dl-style-card .dl-choice-copy>p:last-of-type{margin-bottom:24px}
@media(max-width:800px){.dl-style-grid{grid-template-columns:1fr;gap:24px}.dl-style-card>img{aspect-ratio:16/10}}

.demo-maximized .dl-barber-contact{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;border-top:1px solid var(--dx-line)}
.dl-barber-contact>div>h5{font-size:24px}.dl-barber-contact>div>small{display:block;line-height:1.7}
.dl-barber-form{display:grid;gap:20px;min-width:0;padding:28px;border:1px solid var(--dx-line);border-radius:10px}
.dl-barber-form label{display:grid;gap:9px;font-size:16px;font-weight:600;color:var(--dx-ink)}
.dl-barber-form input,.dl-barber-form select,.dl-barber-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:13px 14px;border:1px solid var(--dx-line);border-radius:5px;background:var(--dx-bg,#fff);color:var(--dx-ink);font:inherit;font-size:16px}
.dl-barber-form textarea{resize:vertical}.dl-barber-form :is(input,select,textarea):focus-visible{outline:2px solid var(--dx-accent);outline-offset:3px}
.dl-barber-form>button{justify-self:start}.dl-barber-feedback{margin:0;font-size:14px!important;line-height:1.7}
@media(max-width:800px){.demo-maximized .dl-barber-contact{grid-template-columns:minmax(0,1fr);gap:28px}.dl-barber-form{padding:20px}}

.dl-location-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center}
.dl-location-map{position:relative;min-width:0;border:1px solid var(--dx-line);border-radius:12px;overflow:hidden;background:#e8e5dc}
.dl-location-map>svg{display:block;width:100%;height:auto;min-height:260px;object-fit:cover}
.dl-map-label{position:absolute;top:20px;left:20px;display:grid;gap:5px;background:#22362d;color:#fff;padding:14px 20px;border-radius:6px;box-shadow:0 4px 16px #0002}
.dl-map-label>b{font-size:20px}.dl-map-label>span{font-size:13px}.dl-map-disclaimer{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);box-sizing:border-box;padding:6px 10px;background:#fffdf5;color:#374339;font-size:12px}
.dl-location-info{min-width:0}.dl-location-info>h5{font-size:28px;margin:12px 0 20px}.dl-location-info>small{color:var(--dx-accent);letter-spacing:1px}
@media(max-width:800px){.dl-location-layout{grid-template-columns:minmax(0,1fr);gap:26px}.dl-map-label{top:12px;left:12px;padding:10px 14px}.dl-map-label>b{font-size:18px}}

.sv-cart-summary>.sv-order-status{display:block;color:#30432d;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.sv-cart-summary>.sv-order-status[hidden]{display:none}

/* Readable order records in the Savia business panel. */
#demo-content .sv-panel-order{padding:22px;margin-bottom:18px}
#demo-content .sv-panel-order header>b{font-size:18px}
#demo-content .sv-panel-order header>span{font-size:14px}
#demo-content .sv-panel-order p{font-size:16px;line-height:1.75;overflow-wrap:anywhere}
#demo-content .sv-panel-order .sv-order-contact>b{font-size:18px}
#demo-content .sv-panel-order>div>b{font-size:22px}
#demo-content .sv-panel-order button,#demo-content .sv-panel-order .sv-state{font-size:14px;line-height:1.5}
#demo-content .sv-panel-order button{min-height:44px;padding:10px 14px}
.demo-maximized #demo-content .sv-panel-order{padding:28px;margin-bottom:22px}
.demo-maximized #demo-content .sv-panel-order header>b{font-size:21px}
.demo-maximized #demo-content .sv-panel-order p{font-size:18px}
.demo-maximized #demo-content .sv-panel-order .sv-order-contact>b{font-size:21px}
.demo-maximized #demo-content .sv-panel-order>div>b{font-size:26px}
.demo-maximized #demo-content .sv-panel-order header>span,.demo-maximized #demo-content .sv-panel-order button,.demo-maximized #demo-content .sv-panel-order .sv-state{font-size:16px}
@media(max-width:600px){#demo-content .sv-panel-order>div,#demo-content .sv-panel-order header{flex-wrap:wrap;gap:12px}.demo-maximized #demo-content .sv-panel-order{padding:20px}}

.sv-promo-form{margin:20px;padding:24px;display:grid;gap:16px;background:#f4f7ef;border:1px solid #c7d4bc;border-radius:8px;color:#30432d}
.sv-promo-form h5{font-size:24px;margin:0}.sv-promo-form label{display:grid;gap:8px;font-size:16px;font-weight:600}
.sv-promo-form input,.sv-promo-form textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:16px;padding:12px;border:1px solid #a5b69b;border-radius:5px;background:white;color:#253b29}
.sv-promo-form textarea{resize:vertical}.sv-promo-form button{justify-self:start;min-height:44px;padding:12px 18px;font-size:16px}.sv-promo-form p{font-size:14px;line-height:1.7;margin:0}
.sv-promo-form :is(input,textarea):focus-visible{outline:2px solid #536d44;outline-offset:3px}

/* Client-facing Savia copy and featured promotions. */
#demo-content .sv-web .sv-service-intro p,#demo-content .sv-web .sv-shop-intro{font-size:16px;line-height:1.8}
#demo-content .sv-web .sv-service-intro>div>span{font-size:14px}
#demo-content .sv-web .sv-public-promotions{padding:32px 28px;background:#e5ecdb;border-top:1px solid #c5d2b6;border-bottom:1px solid #c5d2b6}
.sv-promo-heading{max-width:760px;margin-bottom:26px}.sv-promo-heading>small{font-size:13px;font-weight:700;letter-spacing:1.5px;color:#405a35}
#demo-content .sv-promo-heading>h4{font-family:Georgia,serif;font-size:32px;line-height:1.15;color:#30462b;margin:12px 0 16px}
#demo-content .sv-promo-heading>p{font-size:16px;line-height:1.8;color:#42563a}
#demo-content .sv-public-promotions .sv-promo{background:#fafcf6;border:1px solid #b6c5a4;border-left:5px solid #738e50;padding:26px;box-shadow:0 6px 20px #34472c0d;display:flex;flex-direction:column;align-items:flex-start}
#demo-content .sv-public-promotions .sv-promo>span{font-size:12px;font-weight:700;color:#4c653a;letter-spacing:1px}
#demo-content .sv-public-promotions .sv-promo>h5{font-size:27px;line-height:1.2;margin:14px 0;color:#30462b}
#demo-content .sv-public-promotions .sv-promo>p{font-size:16px;line-height:1.8;color:#42563a;overflow-wrap:anywhere}
#demo-content .sv-public-promotions .sv-promo>button{margin-top:auto;padding:12px 18px;min-height:44px;background:#405d37;border:1px solid #405d37;border-radius:5px;color:white;font-size:16px}
.demo-maximized #demo-content .sv-web .sv-service-intro p,.demo-maximized #demo-content .sv-web .sv-shop-intro,.demo-maximized #demo-content .sv-hero p{font-size:20px;line-height:1.8}
.demo-maximized #demo-content .sv-web .sv-service-intro>span,.demo-maximized #demo-content .sv-web .sv-section-heading small{font-size:15px}
.demo-maximized #demo-content .sv-web .sv-service-intro>div>span{font-size:16px}
.demo-maximized #demo-content .sv-web .sv-public-promotions{padding:48px clamp(24px,6vw,100px)}
.demo-maximized #demo-content .sv-promo-heading>h4{font-size:42px}
.demo-maximized #demo-content .sv-promo-heading>p,.demo-maximized #demo-content .sv-public-promotions .sv-promo>p{font-size:18px}
.demo-maximized #demo-content .sv-public-promotions .sv-promo>h5{font-size:32px}
@media(max-width:600px){#demo-content .sv-web .sv-public-promotions{padding:28px 18px}.demo-maximized #demo-content .sv-promo-heading>h4{font-size:34px}#demo-content .sv-public-promotions .sv-promo{padding:22px}}

/* Savia uses an explicit product action instead of a plus icon. */
#demo-content .sv-product-info>div{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
#demo-content .sv-product-info button[data-sv-add]{width:auto;min-width:0;min-height:44px;height:auto;padding:10px 14px;font-size:14px;line-height:1.4;white-space:normal;text-align:center}
.demo-maximized #demo-content .sv-product-info button[data-sv-add]{width:auto;min-height:48px;height:auto;padding:12px 16px;font-size:16px}
@media(max-width:600px){#demo-content .sv-product-info button[data-sv-add]{flex-basis:100%;font-size:14px;padding:10px 8px}.demo-maximized #demo-content .sv-product-info button[data-sv-add]{font-size:15px}}

#demo-content .nx-book-feedback.nx-book-success,#demo-content .sv-book-status.sv-book-success{font-size:18px;line-height:1.7;font-weight:600;color:#234b2d;background:#e5f3de;border:1px solid #98bb85;border-left:5px solid #4f7c39;border-radius:8px;padding:22px;margin-top:20px;box-shadow:0 5px 16px #234b2d12;overflow-wrap:anywhere}
.demo-maximized #demo-content .nx-book-feedback.nx-book-success,.demo-maximized #demo-content .sv-book-status.sv-book-success{font-size:21px;padding:26px}
@media(max-width:600px){.demo-maximized #demo-content .nx-book-feedback.nx-book-success,.demo-maximized #demo-content .sv-book-status.sv-book-success{font-size:18px;padding:20px}}

/* Give appointment details and confirmation actions a readable scale. */
#demo-content .sv-appointment{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px}
#demo-content .sv-appointment>div{min-width:0}
#demo-content .sv-appointment b{font-size:19px;line-height:1.5;overflow-wrap:anywhere}
#demo-content .sv-appointment small{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
#demo-content .sv-appointment .sv-time{font-size:18px;font-weight:700}
#demo-content .sv-appointment button,#demo-content .d-appointments .nx-confirm{min-height:46px;padding:12px 20px;font-size:16px;font-weight:600;border-radius:6px}
#demo-content .sv-appointment .sv-state{font-size:15px;padding:10px 14px}
#demo-content .d-appointments b{font-size:18px;line-height:1.5}
#demo-content .d-appointments small{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
#demo-content .d-appointments time{font-size:16px}
.demo-maximized #demo-content .sv-appointment{grid-template-columns:100px minmax(0,1fr) auto;padding:28px 30px;gap:28px}
.demo-maximized #demo-content .sv-appointment b,.demo-maximized #demo-content .d-appointments b{font-size:23px}
.demo-maximized #demo-content .sv-appointment small,.demo-maximized #demo-content .d-appointments small{font-size:18px;line-height:1.75}
.demo-maximized #demo-content .sv-appointment .sv-time,.demo-maximized #demo-content .d-appointments time{font-size:21px}
.demo-maximized #demo-content .sv-appointment button,.demo-maximized #demo-content .d-appointments .nx-confirm{font-size:18px;min-height:52px;padding:14px 24px}
.demo-maximized #demo-content .sv-appointment .sv-state,.demo-maximized #demo-content .d-appointments .d-state{font-size:17px}
@media(max-width:650px){#demo-content .sv-appointment,.demo-maximized #demo-content .sv-appointment{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:20px 16px}#demo-content .sv-appointment>button,#demo-content .sv-appointment>.sv-state{grid-column:2;justify-self:start}.demo-maximized #demo-content .sv-appointment b,.demo-maximized #demo-content .d-appointments b{font-size:20px}.demo-maximized #demo-content .sv-appointment small,.demo-maximized #demo-content .d-appointments small{font-size:16px}.demo-maximized #demo-content .sv-appointment button,.demo-maximized #demo-content .d-appointments .nx-confirm{font-size:16px;padding:12px 16px}}

#demo-content .demo-appointment-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}
#demo-content .demo-appointment-actions .demo-cancel-appointment{background:#fff1f0;color:#a32828;border:1px solid #cf7770;border-radius:6px;font-size:15px;font-weight:600;min-height:44px;padding:10px 16px;cursor:pointer}
#demo-content .demo-appointment-actions .demo-cancel-appointment:hover{background:#a32828;color:white}
#demo-content .demo-appointment-actions button:focus-visible{outline:3px solid #98bb85;outline-offset:3px}
.demo-maximized #demo-content .demo-appointment-actions .demo-cancel-appointment{font-size:17px;min-height:48px}
@media(max-width:650px){#demo-content .sv-appointment>.demo-appointment-actions{grid-column:2;justify-self:start}#demo-content .demo-appointment-actions{flex-wrap:wrap}.demo-maximized #demo-content .demo-appointment-actions .demo-cancel-appointment{font-size:15px}}
