/* Booking widget styles - ported from the Squarespace code block.
   Values are unchanged. Selectors are scoped to #cbc-quote so the generic
   label/input/select rules cannot restyle the rest of the site. */
:root{
  --cbc-maxw:980px; --cbc-accent:#6b5b95; --cbc-accent-2:#5c4d86;
  --cbc-bg:#fff; --cbc-muted:#6b7280; --cbc-line:#e5e7eb;
  --cbc-radius:14px; --cbc-gap:18px; --cbc-shadow:0 6px 22px rgba(0,0,0,.08);
}
#cbc-quote{display:block;margin:40px auto;max-width:var(--cbc-maxw);padding:0 4vw}
#cbc-quote .cbc-card{background:var(--cbc-bg);border:1px solid var(--cbc-line);border-radius:var(--cbc-radius);box-shadow:var(--cbc-shadow);overflow:hidden}
#cbc-quote .cbc-header{padding:28px 22px;border-bottom:1px solid var(--cbc-line);background:#f8fafc}
#cbc-quote .cbc-title{margin:0;font:800 28px/1.1 system-ui,Segoe UI,Roboto,Inter,Arial}
#cbc-quote .cbc-sub{margin:8px 0 0;color:var(--cbc-muted);font:500 14px/1.45 system-ui,Segoe UI,Roboto,Inter,Arial}
#cbc-quote .cbc-body{padding:24px 22px;display:flex;flex-direction:column;gap:26px}
#cbc-quote .cbc-section-title{margin:0 0 6px;font:800 16px/1.2 system-ui,Segoe UI,Roboto}
#cbc-quote .cbc-grid{display:grid;gap:var(--cbc-gap)}
@media (min-width:900px){#cbc-quote .cbc-grid.cols-2{grid-template-columns:1fr 1fr}}
#cbc-quote label{font:700 13px/1.2 system-ui,Segoe UI,Roboto}
#cbc-quote input[type="text"],#cbc-quote input[type="email"],#cbc-quote input[type="tel"],#cbc-quote select,#cbc-quote textarea{
  width:100%;border:1px solid var(--cbc-line);border-radius:10px;padding:12px 13px;background:#fff;font:500 14px/1.2 system-ui,Segoe UI,Roboto}
#cbc-quote textarea{min-height:90px;resize:vertical}
#cbc-quote .cbc-badges{display:flex;gap:8px;flex-wrap:wrap}
#cbc-quote .cbc-badge{border:1px solid var(--cbc-line);padding:8px 12px;border-radius:999px;background:#fff;cursor:pointer}
#cbc-quote .cbc-badge.active{border-color:var(--cbc-accent);box-shadow:0 0 0 3px rgba(107,91,149,.12)}
#cbc-quote .cbc-extras{display:grid;gap:14px}
@media (min-width:740px){#cbc-quote .cbc-extras{grid-template-columns:repeat(3,1fr)}}
#cbc-quote .cbc-tile{border:1px solid var(--cbc-line);border-radius:12px;padding:12px;display:flex;gap:12px;align-items:center;background:#fff;cursor:pointer}
#cbc-quote .cbc-tile.selected{border-color:var(--cbc-accent);box-shadow:0 0 0 3px rgba(107,91,149,.12)}
#cbc-quote .cbc-lineitem{display:flex;justify-content:space-between;margin:6px 0;font-size:14px}
#cbc-quote .cbc-total{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;border-top:1px solid var(--cbc-line)}
#cbc-quote .cbc-total .amt{font:900 22px/1 system-ui;color:#111827}
#cbc-quote .cbc-footer{position:sticky;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(120%) blur(6px);border-top:1px solid var(--cbc-line);padding:14px 16px}
#cbc-quote .cbc-cta{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#cbc-quote .cbc-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:0;background:var(--cbc-accent);color:#fff;font:800 15px/1;cursor:pointer;text-decoration:none}
#cbc-quote .cbc-btn:hover{background:#5c4d86}
#cbc-quote .cbc-btn.secondary{background:#374151}
#cbc-quote .cbc-disclaimer{margin:8px 0 0;color:var(--cbc-muted);font-size:13px}
#cbc-quote .cbc-cta.big{font:900 22px/1 system-ui;color:#111827}
#cbc-quote .hide{display:none!important}
