.cbm-booking{--cbm-ink:#1A1E1A;--cbm-ink-soft:#5B6259;--cbm-porcelain:#F2F1EC;--cbm-porcelain-alt:#E9E6DD;--cbm-white:#FFF;--cbm-pine:#2F4A3E;--cbm-pine-deep:#1F332A;--cbm-bronze:#A67C52;--cbm-border:#DDD8CC;--cbm-error:#B3413B;max-width:780px;margin:0 auto;background:var(--cbm-white);border:1px solid var(--cbm-border);padding:40px;font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--cbm-ink);box-sizing:border-box}.cbm-booking *,.cbm-booking *::before,.cbm-booking *::after{box-sizing:border-box}.cbm-booking__intro{margin-bottom:28px}.cbm-booking__title{font-family:'Instrument Serif',Georgia,serif;font-size:32px;font-weight:400;font-style:italic;margin:0 0 8px;color:var(--cbm-ink)}.cbm-booking__subtitle{margin:0;color:var(--cbm-ink-soft);font-size:15px;line-height:1.6;max-width:52ch}.cbm-steps{list-style:none;display:flex;margin:0 0 32px;padding:0;border-bottom:1px solid var(--cbm-border)}.cbm-steps__item{flex:1;text-align:center;padding-bottom:14px;position:relative;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#b9b3a5;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .25s ease,border-color .25s ease}.cbm-steps__item.is-active,.cbm-steps__item.is-complete{color:var(--cbm-pine);border-bottom-color:var(--cbm-pine)}.cbm-panel{display:none;animation:cbmFadeIn .3s ease}.cbm-panel.is-active{display:block}@keyframes cbmFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cbm-panel__nav{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid var(--cbm-border)}.cbm-option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.cbm-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--cbm-porcelain);border:1.5px solid var(--cbm-border);padding:18px;cursor:pointer;font-family:inherit;color:var(--cbm-ink);transition:border-color .2s ease,background .2s ease}.cbm-option:hover{border-color:var(--cbm-pine)}.cbm-option__icon{width:22px;height:22px;color:var(--cbm-bronze)}.cbm-option__icon svg{width:100%;height:100%}.cbm-option__label{font-weight:600;font-size:14.5px}.cbm-option__meta{font-size:12.5px;color:var(--cbm-ink-soft);line-height:1.4}.cbm-option__check{position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--cbm-border);color:transparent;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.cbm-option__check svg{width:11px;height:11px}.cbm-option--selected,.cbm-option[aria-pressed="true"]{background:var(--cbm-white);border-color:var(--cbm-pine);box-shadow:0 0 0 1px var(--cbm-pine)}.cbm-option--selected .cbm-option__check,.cbm-option[aria-pressed="true"] .cbm-option__check{background:var(--cbm-pine);border-color:var(--cbm-pine);color:var(--cbm-white)}.cbm-datetime{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media (max-width:640px){.cbm-datetime{grid-template-columns:1fr}}.cbm-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cbm-cal__label{font-weight:600;font-size:14px}.cbm-cal__nav{background:none;border:1px solid var(--cbm-border);width:28px;height:28px;border-radius:50%;cursor:pointer;color:var(--cbm-ink);display:inline-flex;align-items:center;justify-content:center}.cbm-cal__nav svg{width:12px;height:12px;transform:rotate(180deg)}.cbm-cal__nav--next svg{transform:rotate(0deg)}.cbm-cal__weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:10.5px;color:var(--cbm-ink-soft);letter-spacing:.06em;margin-bottom:6px}.cbm-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cbm-cal__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;border:none;background:transparent;cursor:pointer;color:var(--cbm-ink);border-radius:50%}.cbm-cal__day:hover:not(:disabled){background:var(--cbm-porcelain-alt)}.cbm-cal__day:disabled{color:#d4cfc3;cursor:default}.cbm-cal__day.is-selected{background:var(--cbm-pine);color:var(--cbm-white)}.cbm-cal__day.is-empty{visibility:hidden}.cbm-datetime__slots-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cbm-ink-soft);margin:0 0 12px}.cbm-datetime__slots-label svg{width:15px;height:15px;color:var(--cbm-bronze)}.cbm-slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:260px;overflow-y:auto;padding-right:4px}.cbm-slot{border:1.5px solid var(--cbm-border);background:var(--cbm-porcelain);padding:9px 4px;font-size:12.5px;text-align:center;cursor:pointer;border-radius:2px;font-family:inherit;color:var(--cbm-ink)}.cbm-slot:hover{border-color:var(--cbm-pine)}.cbm-slot.is-selected{background:var(--cbm-pine);border-color:var(--cbm-pine);color:var(--cbm-white)}.cbm-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cbm-field{display:flex;flex-direction:column;gap:6px}.cbm-field--full{grid-column:1 / -1}.cbm-field label{font-size:12.5px;font-weight:600;letter-spacing:.02em}.cbm-field input,.cbm-field textarea{border:1.5px solid var(--cbm-border);padding:11px 12px;font-size:14.5px;font-family:inherit;background:var(--cbm-porcelain);color:var(--cbm-ink);border-radius:2px}.cbm-field input:focus,.cbm-field textarea:focus{outline:2px solid var(--cbm-pine);outline-offset:1px;background:var(--cbm-white)}.cbm-field--consent label{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:13px;color:var(--cbm-ink-soft);line-height:1.5}.cbm-field--consent input{margin-top:3px}@media (max-width:640px){.cbm-fields{grid-template-columns:1fr}}.cbm-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:2px;font-size:13.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1.5px solid transparent;font-family:inherit;text-decoration:none}.cbm-btn svg{width:13px;height:13px}.cbm-btn--primary{background:var(--cbm-pine);border-color:var(--cbm-pine);color:var(--cbm-white)}.cbm-btn--primary:hover:not(:disabled){background:var(--cbm-pine-deep)}.cbm-btn--primary:disabled{background:#c7c2b6;border-color:#c7c2b6;cursor:not-allowed}.cbm-btn--ghost{background:transparent;border-color:var(--cbm-border);color:var(--cbm-ink)}.cbm-btn--ghost:hover{border-color:var(--cbm-pine);color:var(--cbm-pine)}.cbm-summary__row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--cbm-border);font-size:14.5px}.cbm-summary__row span:first-child{color:var(--cbm-ink-soft);text-transform:uppercase;font-size:11px;letter-spacing:.06em}.cbm-panel--success{text-align:center;padding:20px 0}.cbm-success__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--cbm-pine);color:var(--cbm-white);margin-bottom:16px}.cbm-success__icon svg{width:24px;height:24px}.cbm-panel--success h3{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:28px;margin:0 0 8px}.cbm-success__details{max-width:320px;margin:20px auto;text-align:left;background:var(--cbm-porcelain);padding:16px 20px}.cbm-error{color:var(--cbm-error);background:#FBEAE8;border:1px solid #f0c9c5;padding:12px 14px;font-size:13.5px;margin-top:16px;border-radius:2px}.cbm-manage{max-width:480px;margin:0 auto;font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}.cbm-manage__greeting{font-size:15px;color:var(--cbm-ink-soft,#5B6259)}.cbm-manage__card{background:var(--cbm-porcelain,#F2F1EC);border:1px solid var(--cbm-border,#DDD8CC);padding:24px;margin:16px 0}.cbm-manage__card h3{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:24px;margin:10px 0 6px}.cbm-manage__status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;background:#DCE9E2;color:#1F332A}.cbm-manage__status--pending{background:#FCEFD1;color:#8a6300}.cbm-manage__status--cancelled{background:#F6DEDC;color:#8a2c25}.cbm-manage__note{font-size:12.5px;color:var(--cbm-ink-soft,#5B6259);margin-top:8px}.cbm-manage__result{margin-top:12px;font-size:13.5px}