/* CHANNMAS bookings — inherits both theme light/dark tokens */
.chmb-layout{padding:76px 0 110px;background:radial-gradient(circle at 12% 20%,rgba(132,217,173,.1),transparent 38%),var(--bg,#fafbf8);color:var(--ink,#15372d)}
.chmb-wrap{width:min(calc(100% - 64px),1240px);margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,5vw,100px);align-items:start}
.chmb-eyebrow{font:800 .74rem/1.5 'DM Sans',sans-serif;letter-spacing:.14em;color:var(--jade,#128568);margin:0 0 17px}
.chmb-intro{position:sticky;top:124px;padding-top:29px}
.chmb-intro h1{font:800 clamp(2.7rem,4.35vw,5.1rem)/1.09 'Plus Jakarta Sans',sans-serif;letter-spacing:-.065em;color:var(--ink,#15372d);margin:0 0 27px}
.chmb-intro h1 em{font-style:normal;color:var(--jade,#128568)}
.chmb-intro>p:not(.chmb-eyebrow){color:var(--muted,#64746a);font-size:1.065rem;line-height:1.75;max-width:470px}
.chmb-benefits{display:grid;gap:11px;margin:30px 0;color:var(--ink);font-weight:650;font-size:.86rem}
.chmb-benefits span::first-letter{color:var(--jade)}
.chmb-steps{display:flex;gap:7px;flex-wrap:wrap;margin-top:35px}
.chmb-steps span{padding:8px 11px;border:1px solid var(--outline,#dae7de);background:var(--surface,#fff);border-radius:99px;font-size:.72rem;font-weight:800;color:var(--muted)}
.chmb-steps .active{background:var(--surface-mint,#e4f1ea);border-color:#6bbca0;color:var(--jade,#0e8564)}
.chmb-panel{background:var(--surface,#fff);border:1px solid var(--outline,#dce9e0);border-radius:24px;box-shadow:var(--shadow,0 16px 45px rgba(0,0,0,.07));padding:clamp(22px,3vw,42px);min-width:0}
.chmb-form-section{padding:0 0 29px;border-bottom:1px solid var(--outline,#dce9e0);margin-bottom:28px}
.chmb-form-section h2{font:800 1.15rem/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:-.035em;margin:0 0 17px;color:var(--ink)}
.chmb-service-list{display:grid;gap:9px}
.chmb-service{display:flex;gap:15px;align-items:flex-start;text-align:left;padding:18px;width:100%;border:1.5px solid var(--outline,#dae7de);border-radius:15px;background:var(--surface-soft,#f5f8f5);color:var(--ink);transition:border-color .2s,background .2s;cursor:pointer}
.chmb-service.is-selected{border-color:var(--jade,#158b6a);background:var(--surface-mint,#e7f4eb)}
.chmb-service:focus-visible{outline:3px solid var(--mint,#97d9b8);outline-offset:3px}
.chmb-service-badge{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:12px;background:#d5f0e1;color:#0b684e;font-weight:900;font-size:1.15rem}
.chmb-service:nth-child(2) .chmb-service-badge{background:#e1ebff;color:#346cb5}
.chmb-service:nth-child(3) .chmb-service-badge{background:#fce3ea;color:#ae5175}
.chmb-service-body{flex:1;min-width:0}.chmb-service-top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.chmb-service strong{font-size:.9rem;font-weight:800;line-height:1.4}
.chmb-service small{display:block;color:var(--muted,#62796b);font-size:.77rem;line-height:1.6;margin:6px 0 0}
.chmb-price{font-size:.87rem;font-weight:800;color:var(--jade,#108568);white-space:nowrap}
.chmb-label{display:block;font-size:.78rem;font-weight:800;color:var(--ink);margin-bottom:14px}
.chmb-label input,.chmb-label textarea{display:block;width:100%;background:var(--surface,#fff);color:var(--ink);border:1px solid var(--outline,#dee8e0);border-radius:11px;margin-top:7px;padding:13px 14px;min-height:47px;outline:0}
.chmb-label input:focus,.chmb-label textarea:focus{border-color:var(--jade);box-shadow:0 0 0 3px color-mix(in srgb,var(--jade) 18%,transparent)}
.chmb-label textarea{min-height:96px;resize:vertical}
.chmb-help{font-size:.75rem;color:var(--muted);margin:6px 0 0;line-height:1.7}
.chmb-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;font-size:.84rem;color:var(--muted)}
.chmb-slot{border:1px solid var(--outline,#dce9e0);background:var(--surface-soft,#f6f9f6);border-radius:10px;min-height:41px;color:var(--ink);font-weight:700;font-size:.81rem}
.chmb-slot:hover,.chmb-slot.is-selected{background:var(--surface-mint,#e7f4eb);border-color:var(--jade,#168465);color:var(--ink,#194b35)}
.chmb-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.chmb-consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.77rem;line-height:1.65;font-weight:500}.chmb-consent input{margin:4px 0 0;accent-color:#148a68}
.chmb-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;overflow:hidden;width:1px;height:1px}
.chmb-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 8px}
#chmb-summary{font-size:.84rem;color:var(--muted);line-height:1.5;max-width:265px}
.chmb-submit{display:flex;align-items:center;justify-content:center;gap:13px;min-height:52px;border:0;border-radius:100px;padding:15px 24px;background:linear-gradient(105deg,#0a503c,#0b8160);color:#fff;font-weight:800;font-size:.83rem;cursor:pointer;white-space:nowrap}
.chmb-submit:disabled{opacity:.55;cursor:not-allowed}.chmb-submit span{font-size:1.25rem}
.chmb-message{padding:15px 18px;border-radius:13px;margin-bottom:20px;font-size:.9rem;line-height:1.6}.chmb-error{background:#fff0ef;border:1px solid #f1c3bc;color:#852f30}.chmb-success{background:#e0f5e9;border:1px solid #96d3b5;color:#115b43}
#chmb-payment-element{margin:18px 0;padding:20px;background:#fff;color:#172f28;border:1px solid #dfeae5;border-radius:16px}
html[data-theme=dark] .chmb-service-badge{color:#0e5944}html[data-theme=dark] .chmb-service.is-selected{border-color:#7dc9a2}
@media(max-width:1000px){.chmb-wrap{gap:28px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.chmb-intro h1{font-size:clamp(2.25rem,4vw,3.7rem)}}
@media(max-width:800px){.chmb-layout{padding:42px 0 75px}.chmb-wrap{width:min(calc(100% - 34px),570px);grid-template-columns:1fr;gap:26px}.chmb-intro{position:static;padding:0}.chmb-intro h1{font-size:clamp(2.65rem,9vw,4rem);margin-bottom:14px}.chmb-intro>p:not(.chmb-eyebrow){font-size:.93rem;margin:0}.chmb-benefits{display:flex;flex-wrap:wrap;gap:8px 14px;margin:20px 0}.chmb-benefits span{font-size:.74rem}.chmb-steps{margin-top:20px}.chmb-panel{border-radius:18px;padding:21px}}
@media(max-width:500px){#chmb-payment-element{padding:12px}.chmb-service{padding:14px;gap:10px}.chmb-service-top{flex-direction:column;gap:2px}.chmb-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.chmb-two{grid-template-columns:1fr;gap:0}.chmb-bottom{flex-direction:column;align-items:stretch}.chmb-submit{width:100%}#chmb-summary{max-width:none;text-align:center}}
/* v1.1.1 — streamlined public booking calendar. Admin styles are unchanged. */
.chmb-date-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.chmb-scheduling-section{container:chmb-schedule / inline-size}
.chmb-scheduling-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}
.chmb-scheduling-heading h2{margin:0 0 3px;font-size:1.12rem}
.chmb-scheduling-heading p{margin:0;font-size:.75rem;line-height:1.5;color:var(--muted,#8ca89b)}
.chmb-scheduling-number{display:grid;place-items:center;flex:0 0 33px;height:33px;border-radius:11px;background:var(--surface-mint,#e6f5ed);color:var(--jade,#0c7553);font:800 .77rem/1 'DM Sans',sans-serif}
.chmb-schedule-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}
.chmb-calendar-card,.chmb-time-card{min-width:0;border:1px solid var(--outline,#dce9e0);background:var(--surface-soft,#f7faf7);border-radius:15px;padding:13px}
.chmb-card-caption{display:flex;align-items:center;gap:7px;font-weight:850;letter-spacing:.09em;font-size:.64rem;color:var(--jade,#2a8a65);margin-bottom:12px}
.chmb-caption-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--surface-mint,#dff0e5);font-size:.97rem;letter-spacing:0;color:var(--jade,#178561)}
.chmb-calendar-card #chmb-date:not(.chmb-date-visually-hidden){width:100%;padding:12px;border:1px solid var(--outline,#dce9e0);border-radius:10px;background:var(--surface,#fff);color:var(--ink,#1c4433)}
.chmb-calendar-card .chmb-native-date-label[hidden]{display:none!important}
.chmb-public-cal{max-width:350px;margin:0 auto;min-width:0}
.chmb-public-cal-top{display:flex;justify-content:space-between;align-items:center;gap:5px;margin:0 0 10px;color:var(--ink,#194433)}
.chmb-public-cal-top strong{font-size:.83rem;font-weight:800;letter-spacing:-.01em;text-align:center}
.chmb-public-cal-top button{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;min-height:30px;padding:0;border:1px solid var(--outline,#dce9e0);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#194433);font-size:1.15rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.chmb-public-cal-top button:hover:not(:disabled){background:var(--surface-mint,#dff0e5);border-color:var(--jade,#168465)}
.chmb-public-cal-top button:disabled{opacity:.35;cursor:not-allowed}
.chmb-public-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;align-items:center}
.chmb-cal-weekday{display:grid;place-items:center;height:23px;font-weight:750;font-size:.64rem;color:var(--muted,#708879)}
.chmb-cal-date{min-width:0;width:100%;height:31px;min-height:31px;max-height:31px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted,#91a598);font-weight:700;font-size:.74rem;line-height:1;cursor:default;transition:background .16s,border-color .16s,transform .16s}
.chmb-cal-date:disabled{opacity:.38;cursor:not-allowed}
.chmb-cal-date.is-available{background:var(--surface-mint,#dcefe3);border-color:transparent;color:var(--jade,#195c43);cursor:pointer}
.chmb-cal-date.is-available:hover{background:var(--mint,#bde6ce);border-color:var(--jade,#348966)}
.chmb-cal-date.is-selected,.chmb-cal-date.is-selected:hover{background:#20674e;border-color:#20674e;color:#fff;opacity:1;box-shadow:0 2px 7px rgba(8,80,53,.16)}
.chmb-public-cal button:focus-visible,.chmb-period:focus-visible,.chmb-slot:focus-visible,.chmb-more-times:focus-visible{outline:3px solid var(--jade,#128568);outline-offset:2px}
.chmb-public-cal-legend{font-size:.64rem;line-height:1.4;color:var(--muted,#728779);display:flex;align-items:center;gap:7px;margin:10px 0 0}
.chmb-available-dot{background:#75c69a;width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.chmb-time-card{display:flex;flex-direction:column}
.chmb-time-picker-top{margin:0 0 12px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.chmb-time-picker-top strong{font-size:.77rem;line-height:1.35;color:var(--ink,#d4e8db)}
.chmb-time-empty{font-size:.77rem;line-height:1.7;color:var(--muted,#9eb6a6);margin:0}
.chmb-time-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.chmb-period{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:43px;border:1px solid var(--outline,#cfe0d5);border-radius:9px;padding:5px 2px;background:var(--surface,#fff);color:var(--ink,#254c3a);font-size:.61rem;line-height:1.15;font-weight:800;cursor:pointer}
.chmb-period small{font-size:.59rem;font-weight:700;opacity:.72}
.chmb-period.is-active{background:#23674d;color:#fff;border-color:#23674d}
.chmb-period:disabled{opacity:.38;cursor:not-allowed}
.chmb-time-card .chmb-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;color:var(--muted);font-size:.75rem}
.chmb-time-card .chmb-slot{padding:7px 4px;border:1px solid var(--outline,#dce9e0);background:var(--surface,#fff);border-radius:9px;min-width:0;min-height:39px;color:var(--ink,#194433);font-weight:800;font-size:.75rem;cursor:pointer;transition:background .16s,border-color .16s}
.chmb-time-card .chmb-slot:hover{border-color:var(--jade,#168465)}
.chmb-time-card .chmb-slot.is-selected{background:#23674d;color:#fff;border-color:#23674d}
.chmb-more-times{display:block;margin:8px auto 0;border:0;background:transparent;color:var(--jade,#75d8aa);font-size:.7rem;font-weight:800;cursor:pointer;padding:9px}
.chmb-more-times[hidden],#chmb-time-picker[hidden],#chmb-public-cal[hidden],#chmb-time-empty[hidden]{display:none!important}
.chmb-appointment-recap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-top:13px;padding:12px 15px;border-radius:12px;border:1px solid var(--outline,#d4e5d9);background:var(--surface-mint,#edf6ef);color:var(--ink,#193f30)}
.chmb-recap-title{font-weight:850;font-size:.64rem;letter-spacing:.08em;color:var(--jade,#157753);white-space:nowrap}
.chmb-recap-title span{color:var(--jade,#167a58);font-size:.85rem;margin-right:3px}
.chmb-recap-details{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:.69rem;color:var(--muted,#547665)}
.chmb-recap-details>span+span:before,.chmb-recap-details strong:before{content:'·';margin-right:10px;color:var(--muted,#547665)}
.chmb-recap-details strong{color:var(--ink,#173b2c);font-weight:850}
.chmb-appointment-recap.is-complete{border-color:var(--jade,#459c75)}
.chmb-tz-note{margin-top:10px!important;font-size:.67rem!important}
@container chmb-schedule (min-width: 490px){
 .chmb-schedule-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:12px}
 .chmb-calendar-card,.chmb-time-card{padding:11px}
 .chmb-cal-date{height:29px;min-height:29px;max-height:29px}
 .chmb-recap-details{justify-content:flex-end}
}
@container chmb-schedule (max-width: 489px){
 .chmb-calendar-card{max-width:365px;width:100%;justify-self:center;box-sizing:border-box}
 .chmb-time-card{width:100%;box-sizing:border-box}
 .chmb-appointment-recap{display:block}
 .chmb-recap-details{margin-top:8px}
}
@media(max-width:500px){.chmb-calendar-card,.chmb-time-card{padding:12px}.chmb-cal-date{height:37px;min-height:37px;max-height:37px}.chmb-public-cal-grid{gap:4px}}
@media(prefers-reduced-motion:reduce){.chmb-cal-date,.chmb-slot,.chmb-period{transition:none!important}}
