/* Bella Roma booking form — uses the theme's colour tokens when present. */
.brb{--b-gold:var(--gold,#b07f3e);--b-gold-2:var(--gold-2,#c99a55);--b-ink:var(--ink,#2b2420);--b-text:var(--text,#5d534b);--b-line:var(--line,#e8dccb);--b-cream:var(--cream,#fbf7f1);--b-serif:var(--serif,Georgia,serif);--b-sans:var(--sans,system-ui,sans-serif);
  background:#fff;border-radius:8px;box-shadow:0 10px 30px -12px rgba(110,80,40,.22);padding:32px;color:var(--b-text);font-family:var(--b-sans)}
.brb *{box-sizing:border-box}
.brb-step{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--b-line)}
.brb-h{display:flex;align-items:center;gap:12px;font:500 22px/1.2 var(--b-serif);color:var(--b-ink);margin:0 0 18px}
.brb-h span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--b-gold);color:#fff;font:400 14px var(--b-sans)}

.brb-treatments{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.brb-chip{position:relative;cursor:pointer}
.brb-chip input{position:absolute;opacity:0;pointer-events:none}
.brb-chip span{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--b-line);border-radius:6px;background:var(--b-cream);transition:.2s;height:100%}
.brb-chip strong{font:500 16px/1.25 var(--b-serif);color:var(--b-ink)}
.brb-chip small{font-size:12px;color:var(--b-text)}
.brb-chip:hover span{border-color:var(--b-gold-2)}
.brb-chip input:checked+span{border-color:var(--b-gold);background:#fff;box-shadow:0 0 0 2px var(--b-gold) inset}
.brb-chip input:focus-visible+span{outline:2px solid var(--b-gold);outline-offset:2px}

.brb-when{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.brb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.brb-month{font:500 19px var(--b-serif);color:var(--b-ink)}
.brb-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--b-line);background:#fff;color:var(--b-ink);font-size:20px;line-height:1;cursor:pointer}
.brb-nav:disabled{opacity:.35;cursor:default}
.brb-week,.brb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.brb-week span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--b-text);padding:6px 0}
.brb-day{aspect-ratio:1;border:0;border-radius:50%;background:none;font:400 14px var(--b-sans);color:#c5b9ab;cursor:default;padding:0}
.brb-day.is-open{color:var(--b-ink);background:var(--b-cream);cursor:pointer}
.brb-day.is-open:hover{background:#f1e5d2}
.brb-day.is-today{box-shadow:0 0 0 1px var(--b-gold-2) inset}
.brb-day.is-selected{background:var(--b-gold)!important;color:#fff}
.brb.is-loading .brb-days{opacity:.5}
.brb-date-label{font:500 18px var(--b-serif);color:var(--b-ink);margin:6px 0 12px;min-height:1.2em}
.brb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:300px;overflow:auto;padding:2px}
.brb-slot{padding:10px 6px;border:1px solid var(--b-line);border-radius:999px;background:#fff;color:var(--b-ink);font:400 14px var(--b-sans);cursor:pointer;transition:.2s}
.brb-slot:hover{border-color:var(--b-gold-2)}
.brb-slot.is-selected{background:var(--b-gold);border-color:var(--b-gold);color:#fff}
.brb-hint{grid-column:1/-1;font-size:14px;margin:0;color:var(--b-text)}

.brb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.brb-full{grid-column:1/-1}
.brb-field{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.brb-field label{font-size:12.5px;letter-spacing:.04em;color:var(--b-ink)}
.brb-field input,.brb-field textarea{font:300 15px var(--b-sans);color:var(--b-ink);background:var(--b-cream);border:1px solid var(--b-line);border-radius:4px;padding:12px 14px;width:100%}
.brb-field input:focus,.brb-field textarea:focus{outline:0;border-color:var(--b-gold-2);box-shadow:0 0 0 3px rgba(201,154,85,.18)}
.brb-field .is-invalid{border-color:#c0574b}
.brb-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px}
.brb-consent input{margin-top:3px;accent-color:var(--b-gold)}
.brb-consent a{color:var(--b-gold);text-decoration:underline}
.brb-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.brb-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.brb-summary{margin:0;font:500 17px var(--b-serif);color:var(--b-ink)}
.brb-error{flex-basis:100%;order:3;margin:0;color:#b04a3e;font-size:14px}
.brb-submit{border:0;cursor:pointer;padding:15px 30px;border-radius:999px;font:400 15px var(--b-sans);color:#fff;background:linear-gradient(135deg,var(--b-gold-2),var(--b-gold) 55%,#8f6328);box-shadow:0 8px 20px -8px rgba(143,99,40,.6);transition:transform .2s}
.brb-submit:hover{transform:translateY(-2px)}
.brb-submit:disabled{opacity:.7;transform:none;cursor:wait}

.brb-done{text-align:center;padding:30px 10px;outline:0}
.brb-done-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--b-gold);color:#fff;font-size:30px}
.brb-done-title{font:500 30px var(--b-serif);color:var(--b-ink);margin:0 0 6px}
.brb-done-when{font:italic 19px var(--b-serif);color:var(--b-gold);margin:0 0 12px}
.brb-done-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.brb-done-actions a{padding:11px 22px;border-radius:999px;border:1px solid var(--b-gold-2);color:var(--b-ink);text-decoration:none;font-size:14px}
.brb-done-actions a:hover{background:var(--b-gold);color:#fff}

@media (max-width:720px){
  .brb{padding:22px 18px}
  .brb-when,.brb-grid{grid-template-columns:minmax(0,1fr)}
  .brb-submit{width:100%}
}
