/* Isolated theme-aware CHANNMAS Service Builder styling */
.chmsb{--sb-bg:var(--bg,#fafbf8);--sb-surface:var(--surface,#fff);--sb-soft:var(--surface-soft,#f3f6f2);--sb-ink:var(--ink,#142c27);--sb-muted:var(--muted,#66766e);--sb-border:var(--outline,#e0e8e2);--sb-accent:var(--jade,#148a68);--sb-mint:var(--mint,#a9e9ca);--sb-green:#103f32;width:min(1240px,calc(100% - 40px));margin:44px auto 90px;color:var(--sb-ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.5;isolation:isolate}
.chmsb *, .chmsb *::before,.chmsb *::after{box-sizing:border-box}.chmsb button,.chmsb input,.chmsb textarea{font:inherit}.chmsb button{cursor:pointer}.chmsb h1,.chmsb h2,.chmsb h3{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.045em;margin:0;font-weight:800;color:inherit}.chmsb p{margin:0}.chmsb button:focus-visible,.chmsb input:focus-visible,.chmsb textarea:focus-visible{outline:3px solid #3eaf8f;outline-offset:3px}
.chmsb-hero{background:radial-gradient(circle at 95% 110%,#1f745a 0%,transparent 44%),#103b30;color:#fff;border-radius:24px 24px 0 0;padding:32px clamp(22px,4.2vw,54px) 30px;overflow:hidden}.chmsb-hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:33px}.chmsb-brand{display:flex;align-items:center;gap:11px;letter-spacing:-.025em;font-size:14px}.chmsb-brand-mark{width:37px;height:37px;border-radius:10px;background:#b3edcb;color:#114c37;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:21px}.chmsb-tag,.chmsb-overline{font-size:10px;font-weight:800;letter-spacing:.13em;color:#a7e8ca}.chmsb-tag{border:1px solid #45856d;border-radius:99px;padding:8px 12px;color:#d9f5e5}.chmsb-hero h1{font-size:clamp(2rem,4.2vw,3.65rem);line-height:1.12;max-width:770px;margin:13px 0 15px}.chmsb-hero h1 em{font-style:normal;color:#a2eac2}.chmsb-hero>p{font-size:15px;color:#cfebdd;max-width:710px}.chmsb-steps{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.chmsb-steps span{display:block;color:#e6f6ed;background:#ffffff15;border:1px solid #ffffff31;border-radius:30px;padding:8px 13px;font-weight:700;font-size:11px}
.chmsb-body{background:var(--sb-bg);border:1px solid var(--sb-border);border-radius:0 0 24px 24px;overflow:hidden}.chmsb-panel{padding:36px clamp(18px,4.2vw,52px);border-top:1px solid var(--sb-border)}.chmsb-panel:first-child{border-top:0}.chmsb-section-heading{display:flex;gap:14px;align-items:center;margin-bottom:10px}.chmsb-step-no{height:43px;width:43px;min-width:43px;display:grid;place-items:center;border-radius:12px;background:var(--sb-soft);border:1px solid var(--sb-border);color:var(--sb-accent);font-size:12px;font-weight:900}.chmsb-kicker{font-size:10px;letter-spacing:.11em;color:var(--sb-accent);font-weight:800}.chmsb-section-heading h2{font-size:clamp(1.35rem,2.1vw,1.75rem);line-height:1.25;margin:4px 0 0}.chmsb-count{margin-left:auto;font-size:11px;font-weight:800;background:var(--sb-soft);border:1px solid var(--sb-border);border-radius:99px;padding:6px 10px;white-space:nowrap}.chmsb-help{color:var(--sb-muted);font-size:13px;margin-bottom:18px!important}.chmsb-help strong{color:var(--sb-ink)}
.chmsb-filters{display:flex;gap:8px;overflow:auto;padding-bottom:13px;margin:21px 0 4px;scrollbar-width:thin}.chmsb-filter{border:1px solid var(--sb-border);background:var(--sb-surface);color:var(--sb-ink);border-radius:30px;padding:10px 14px;font-weight:700;font-size:11px;white-space:nowrap}.chmsb-filter.active{border-color:#7fcfb0;background:#d5f3e5;color:#134a36}.chmsb-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.chmsb-service{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--sb-surface);color:var(--sb-ink);border:1.5px solid var(--sb-border);border-radius:15px;padding:19px 17px;min-height:201px;transition:border-color .15s,transform .15s,background .15s}.chmsb-service:hover{transform:translateY(-2px);border-color:#70c7a5}.chmsb-service.is-selected{border-color:#1f9a73;border-width:2px;background:color-mix(in srgb,var(--sb-surface) 87%,#55c69a)}.chmsb-card-top{display:flex;width:100%;align-items:center;justify-content:space-between;gap:5px}.chmsb-service-category{font-size:10px;font-weight:700;color:var(--sb-accent)}.chmsb-choice{height:25px;width:25px;border:1px solid var(--sb-border);display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:17px;color:var(--sb-accent)}.chmsb-service.is-selected .chmsb-choice{background:#197857;color:#fff;border-color:#197857}.chmsb-service strong{font-size:14px;line-height:1.35;letter-spacing:-.025em}.chmsb-card-included{font-size:11px;color:var(--sb-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chmsb-price{font-size:19px;font-weight:900;color:var(--sb-ink);margin-top:auto}.chmsb-delivery{font-size:10px;color:var(--sb-muted)}
.chmsb-empty{border:1px dashed var(--sb-border);border-radius:18px;padding:29px 22px;background:var(--sb-surface);color:var(--sb-ink);text-align:center}.chmsb-empty p{font-size:13px;color:var(--sb-muted);margin-top:4px}.chmsb-empty-icon{display:block;font-size:27px;color:var(--sb-accent);margin-bottom:7px}.chmsb-empty-small{font-size:13px}.chmsb-extras-group{border:1px solid var(--sb-border);border-radius:18px;background:var(--sb-surface);overflow:hidden;margin-top:17px}.chmsb-group-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:19px 20px;border-bottom:1px solid var(--sb-border)}.chmsb-group-head h3{font-size:16px;line-height:1.3;margin-top:3px}.chmsb-group-kicker{font-size:10px;font-weight:900;color:var(--sb-accent);letter-spacing:.1em}.chmsb-group-price{font-size:14px;font-weight:800;white-space:nowrap}.chmsb-included{background:var(--sb-soft);margin:18px 20px;border-radius:12px;padding:14px;display:flex;align-items:flex-start;gap:12px}.chmsb-included-icon{border-radius:50%;height:25px;width:25px;min-width:25px;background:#d8f6e8;color:#126644;display:grid;place-items:center;font-size:16px}.chmsb-included strong{font-size:12px}.chmsb-included p{font-size:12px;color:var(--sb-muted);margin-top:4px}.chmsb-extras-label{font-size:12px;font-weight:800;padding:0 20px 10px}.chmsb-extras-items{margin:0 20px 16px}.chmsb-extra-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;padding:14px 2px;border-top:1px solid var(--sb-border)}.chmsb-extra-row.is-checked{background:color-mix(in srgb,var(--sb-surface) 93%,#53c798)}.chmsb-extra-check{display:flex;align-items:center;gap:12px;cursor:pointer;min-width:0}.chmsb-extra-check input{appearance:none;height:19px;width:19px;min-width:19px;border:1.6px solid #8aa89a;border-radius:6px;background:var(--sb-surface);position:relative;margin:0;cursor:pointer}.chmsb-extra-check input:checked{background:#108563;border-color:#108563}.chmsb-extra-check input:checked:after{content:'✓';position:absolute;top:-2px;left:3px;color:#fff;font-weight:900;font-size:14px}.chmsb-extra-info{display:flex;flex-direction:column;gap:3px}.chmsb-extra-info strong{font-size:13px;line-height:1.3}.chmsb-extra-info small{color:var(--sb-muted);font-size:11px;line-height:1.35}.chmsb-extra-price{font-size:12px;font-weight:800;white-space:nowrap}.chmsb-qty-control{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:12px}.chmsb-qty-control input{width:65px;min-height:32px;border:1px solid var(--sb-border);border-radius:8px;padding:4px 7px;background:var(--sb-bg);color:var(--sb-ink)}.chmsb-qty-control small{color:var(--sb-muted)}
.chmsb-checkout-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;margin-top:24px;align-items:start}.chmsb-order-summary,.chmsb-order-form{background:var(--sb-surface);border:1px solid var(--sb-border);border-radius:18px;padding:22px}.chmsb-summary-line{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;font-size:12px;margin-bottom:14px}.chmsb-summary-line strong{white-space:nowrap}.chmsb-summary-line.is-extra{color:var(--sb-muted);padding-left:12px}.chmsb-summary-line.is-extra strong{font-weight:700}.chmsb-summary-divider{border-top:1px solid var(--sb-border);margin:20px 0}.chmsb-total{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;font-size:13px}.chmsb-total strong{font-size:27px;letter-spacing:-.05em}.chmsb-recurring{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--sb-accent);margin-top:12px;font-size:12px;font-weight:800}.chmsb-summary-note{margin-top:15px!important;color:var(--sb-muted);font-size:12px}.chmsb-order-form h3{font-size:17px;margin:0 0 18px}.chmsb-order-form>label:not(.chmsb-check){font-weight:750;font-size:12px;display:block;margin-bottom:14px}.chmsb-order-form input:not([type=checkbox]),.chmsb-order-form textarea{width:100%;display:block;color:var(--sb-ink);background:var(--sb-bg);border:1px solid var(--sb-border);border-radius:10px;padding:12px 13px;margin-top:6px;font-size:13px}.chmsb-order-form textarea{resize:vertical}.chmsb-check{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--sb-muted);margin-bottom:15px;cursor:pointer}.chmsb-check input{margin:3px 0}.chmsb-submit{background:linear-gradient(110deg,#0e644e,#048365);color:#fff;border:0;border-radius:999px;font-size:13px;font-weight:900;padding:14px 17px;width:100%;min-height:48px}.chmsb-submit:hover:not(:disabled){filter:brightness(1.09)}.chmsb-submit:disabled{opacity:.55;cursor:not-allowed}.chmsb-footnote{font-size:11px!important;color:var(--sb-muted);margin:11px 0 0!important}.chmsb-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.chmsb-message{font-size:12px;margin:8px 0 13px}.chmsb-message.is-error{color:#b33434}.chmsb-message.is-success{background:#e1f7ea;color:#135a3f;border-radius:8px;padding:10px}
@media(max-width:920px){.chmsb-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chmsb-checkout-layout{grid-template-columns:1fr}}
@media(max-width:620px){.chmsb{width:min(100% - 22px,540px);margin:18px auto 60px}.chmsb-hero{border-radius:18px 18px 0 0;padding:22px 18px 25px}.chmsb-hero-top{margin-bottom:25px}.chmsb-hero h1{font-size:clamp(1.85rem,8vw,2.6rem)}.chmsb-hero>p{font-size:13px}.chmsb-steps{gap:6px;margin-top:23px}.chmsb-steps span{padding:7px 9px;font-size:10px}.chmsb-panel{padding:24px 13px}.chmsb-section-heading{gap:9px}.chmsb-step-no{height:35px;width:35px;min-width:35px}.chmsb-section-heading h2{font-size:1.25rem}.chmsb-service-grid{gap:9px}.chmsb-service{padding:13px 11px;min-height:188px;border-radius:12px}.chmsb-card-included{font-size:10px}.chmsb-service strong{font-size:12px}.chmsb-service-category{font-size:9px}.chmsb-price{font-size:16px}.chmsb-delivery{font-size:9px}.chmsb-group-head,.chmsb-included{margin-left:11px;margin-right:11px}.chmsb-group-head{padding:15px 11px;margin:0}.chmsb-included{padding:10px}.chmsb-extras-label{padding:0 11px 10px}.chmsb-extras-items{margin:0 11px 13px}.chmsb-order-summary,.chmsb-order-form{padding:17px}.chmsb-count{font-size:10px;padding:5px 7px}}
@media(max-width:370px){.chmsb-service-grid{grid-template-columns:1fr}.chmsb-service{min-height:unset;gap:6px}.chmsb-tag{font-size:8px}}
@media(prefers-reduced-motion:reduce){.chmsb *{transition:none!important}}

/* v1.1.0 — Compact three-step wizard and service catalog pagination */
.chmsb [hidden]{display:none!important}
.chmsb{width:min(1320px,calc(100% - 28px));margin:20px auto 44px;scroll-margin-top:82px}
.chmsb-hero{padding:22px clamp(20px,3.7vw,42px) 20px;border-radius:20px 20px 0 0}
.chmsb-hero-top{margin-bottom:14px}
.chmsb-hero h1{font-size:clamp(1.75rem,3.35vw,2.95rem);margin:9px 0 9px;max-width:none}
.chmsb-hero>p{max-width:850px;font-size:13px}
.chmsb-steps{margin-top:19px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chmsb-steps .chmsb-step-link{display:flex;align-items:center;gap:7px;border-radius:99px;padding:9px 14px;border:1px solid #ffffff37;background:#ffffff12;color:#daeee2;font-size:12px;font-weight:800;line-height:1.25;transition:background .15s;min-height:38px}
.chmsb-steps .chmsb-step-link span{font-weight:900;color:#9eddbb}
.chmsb-steps .chmsb-step-link.is-current{background:#a5e9c8;border-color:#a5e9c8;color:#113c30}
.chmsb-steps .chmsb-step-link.is-current span{color:#174d3d}
.chmsb-steps .chmsb-step-link.is-completed{border-color:#68b994;color:#fff}
.chmsb-steps .chmsb-step-link:disabled{opacity:.62;cursor:not-allowed}
.chmsb-progress-label{margin-left:auto;color:#bfdfcd;font-size:11px;letter-spacing:.03em;font-weight:800}
.chmsb-panel{padding:23px clamp(17px,3.7vw,42px) 20px;border-top:0;min-height:0}
.chmsb-section-heading{margin-bottom:7px}
.chmsb-help{margin-bottom:10px!important}
.chmsb-filters{margin:12px 0 9px;padding-bottom:9px}
.chmsb-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.chmsb-service{min-height:142px;padding:12px 15px;gap:5px;border-radius:12px}
.chmsb-service strong{font-size:13px}
.chmsb-card-included{font-size:11px}
.chmsb-price{font-size:16px}
.chmsb-choice{width:23px;height:23px}
.chmsb-selected-list{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0 0 11px}
.chmsb-selected-list:empty{display:none}
.chmsb-selected-label{font-size:11px;font-weight:800;color:var(--sb-muted)}
.chmsb-selected-pill{border:1px solid #86cbb0;border-radius:30px;background:color-mix(in srgb,var(--sb-surface) 80%,#84debb);padding:5px 9px;color:var(--sb-ink);font-size:11px;font-weight:700;max-width:100%}
.chmsb-selected-pill span{color:var(--sb-accent);font-size:14px;font-weight:900;margin-left:4px}
.chmsb-page-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:18px}
.chmsb-page-button{border:1px solid var(--sb-border);background:var(--sb-surface);color:var(--sb-ink);padding:9px 13px;border-radius:12px;font-weight:800;font-size:12px;min-height:40px}
.chmsb-page-button:disabled{opacity:.38;cursor:not-allowed}
.chmsb-page-label{color:var(--sb-muted);font-size:12px;white-space:nowrap}
.chmsb-extras-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;margin:12px 0 8px;padding-bottom:5px}
.chmsb-extras-tabs:empty{display:none}
.chmsb-extras-tab{white-space:nowrap;flex:0 0 auto;background:var(--sb-surface);border:1px solid var(--sb-border);color:var(--sb-ink);border-radius:99px;padding:9px 13px;font-size:11px;font-weight:800}
.chmsb-extras-tab.is-active{background:#d3f1df;border-color:#6fb999;color:#174936}
.chmsb-extras-group{margin-top:8px}
.chmsb-group-head{padding:13px 18px}
.chmsb-included{margin:12px 18px;padding:10px}
.chmsb-extras-items{margin:0 18px 12px}
.chmsb-extra-row{padding:10px 2px}
.chmsb-checkout-layout{margin-top:13px;gap:14px}
.chmsb-order-summary,.chmsb-order-form{padding:19px}
.chmsb-wizard-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px clamp(17px,3.7vw,42px);border-top:1px solid var(--sb-border);background:var(--sb-soft)}
.chmsb-wizard-back{padding:10px 18px;min-height:43px;background:var(--sb-surface);border:1px solid var(--sb-border);color:var(--sb-ink);border-radius:99px;font-weight:800;font-size:12px;white-space:nowrap}
.chmsb-wizard-totals{display:flex;flex:1;align-items:center;gap:9px;flex-wrap:wrap}
.chmsb-wizard-totals span{font-size:11px;font-weight:700;color:var(--sb-muted)}
.chmsb-wizard-totals strong{font-size:20px;color:var(--sb-ink);white-space:nowrap}
.chmsb-wizard-totals small{font-size:11px;color:var(--sb-accent)}
.chmsb-wizard-next{background:linear-gradient(110deg,#0b5d48,#07886b);border:0;color:#fff;padding:12px 23px;border-radius:99px;min-height:45px;font-size:12px;font-weight:900;white-space:nowrap}
.chmsb-wizard-next:disabled{opacity:.5;cursor:not-allowed}
.chmsb-step-feedback{font-size:12px;font-weight:700;color:#b33434;padding:0 20px}
.chmsb-step-feedback:empty{display:none}
@media(max-width:920px){.chmsb-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
 .chmsb{width:calc(100% - 20px);margin:10px auto 32px}
 .chmsb-hero{padding:18px 16px}
 .chmsb-hero-top{margin-bottom:12px}
 .chmsb-hero h1{font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.13}
 .chmsb-steps{margin-top:14px;gap:5px}
 .chmsb-steps .chmsb-step-link{font-size:10px;padding:8px 9px;gap:5px}
 .chmsb-progress-label{width:100%;margin:3px 0 0;font-size:10px}
 .chmsb-panel{padding:19px 13px 15px}
 .chmsb-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .chmsb-service{min-height:136px;padding:10px;gap:5px}
 .chmsb-service strong{font-size:12px}
 .chmsb-service-category{font-size:9px}
 .chmsb-card-included{font-size:10px;-webkit-line-clamp:2}
 .chmsb-price{font-size:14px}
 .chmsb-filters{margin-top:10px}
 .chmsb-page-controls{gap:9px}
 .chmsb-page-button{padding:9px 11px}
 .chmsb-wizard-bar{padding:12px;gap:9px;flex-wrap:wrap}
 .chmsb-wizard-totals{min-width:0;flex:1 1 100%;justify-content:space-between}
 .chmsb-wizard-totals strong{font-size:18px}
 .chmsb-wizard-back{flex:1}
 .chmsb-wizard-next{flex:2}
 .chmsb-wizard-next[hidden]+*{display:none}
 .chmsb-checkout-layout{grid-template-columns:1fr}
 .chmsb-group-head{padding:13px 11px}
}
@media(max-width:370px){.chmsb-service-grid{grid-template-columns:1fr}.chmsb-service{min-height:113px}}
/* Override the original decorative step spans for semantic wizard buttons. */
.chmsb-steps .chmsb-step-link span{background:none;border:0;padding:0;border-radius:0;font-size:inherit;display:inline;color:inherit}
.chmsb-steps .chmsb-progress-label{background:none;border:0;padding:0;border-radius:0;color:#bfe5d2;font-size:11px}
@media(max-width:620px){.chmsb-steps .chmsb-progress-label{font-size:10px}}

/* v1.2: two explicit customer choices on Step 3 */
.chmsb-purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.chmsb-purchase-actions button{min-height:48px;border-radius:999px;font-size:12px;font-weight:800;padding:12px 13px;width:100%}
.chmsb-quote-button{background:transparent;border:1.5px solid var(--sb-accent);color:var(--sb-ink)}
.chmsb-quote-button:hover{background:var(--sb-soft)}
.chmsb-purchase-actions .chmsb-submit{margin:0;background:linear-gradient(110deg,#0c654d,#08866c);border:0;color:white}
.chmsb-purchase-actions button:disabled{cursor:not-allowed;opacity:.48}
.chmsb-purchase-actions button[hidden]{display:none}
@media(max-width:700px){.chmsb-purchase-actions{grid-template-columns:1fr}}

/* v2.2 — transparent, store-base sales tax estimate on the review step */
#chmsb-builder .chmsb-tax-preview{border-top:1px solid var(--sb-border);margin-top:14px;padding-top:13px;font-size:12px;line-height:1.6;color:var(--sb-muted)}
#chmsb-builder .chmsb-tax-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:4px 0}
#chmsb-builder .chmsb-tax-line strong{color:var(--sb-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
#chmsb-builder .chmsb-tax-line.is-muted{opacity:.82}
#chmsb-builder .chmsb-tax-line.is-total{margin-top:10px;padding-top:11px;border-top:1px solid var(--sb-border);font-size:15px;font-weight:700;color:var(--sb-ink)}
#chmsb-builder .chmsb-tax-disclaimer{font-size:11px;color:var(--sb-muted);margin:10px 0 0;line-height:1.55}
