/* No Sweat Intro booking and note boxes. Uses the site's own tokens (--ink, --red, --paper, --bw). */
.bfi{border:var(--bw,3px) solid var(--ink,#07090C);background:var(--white,#fff);box-shadow:8px 8px 0 var(--ink,#07090C);min-width:0;min-height:0}
.bfi .gbh{background:var(--ink,#07090C);color:#fff;padding:13px 16px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.bfi-body{padding:18px 16px 20px;display:grid;gap:16px;min-width:0}
.bfi [hidden]{display:none!important}

/* days */
.bfi-pick{display:grid;gap:14px;min-width:0}
.bfi-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.bfi-day{flex:0 0 auto;scroll-snap-align:start;display:grid;gap:2px;justify-items:center;min-width:64px;padding:9px 10px;
  border:var(--bw,3px) solid var(--ink,#07090C);background:var(--paper,#F6F2EF);color:var(--ink,#07090C);font-family:inherit;line-height:1.1}
.bfi-day .wd{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--mute,#6B6560)}
.bfi-day .md{font-size:14px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.bfi-day:hover{background:var(--paper2,#EAE2DC)}
.bfi-day[aria-selected="true"]{background:var(--navy,#0B1634);color:#fff;border-color:var(--navy,#0B1634)}
.bfi-day[aria-selected="true"] .wd{color:#C9D1E3}
.bfi-dayname{margin:0;font-family:var(--d,Impact,sans-serif);font-weight:400;font-size:26px;line-height:1;letter-spacing:.01em}
.bfi-slotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px;margin-top:12px}
.bfi-slot{padding:13px 6px;border:var(--bw,3px) solid var(--ink,#07090C);background:var(--white,#fff);color:var(--ink,#07090C);
  font-family:inherit;font-size:13.5px;font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.bfi-slot:hover,.bfi-slot:focus-visible{background:var(--red,#C50405);color:#fff}
.bfi-tz,.bfi-fine{margin:0;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--mute,#6B6560);text-transform:none;line-height:1.5}
.bfi-fine a{color:inherit}
.bfi-loading,.bfi-empty{margin:0;padding:22px 0;font-size:13.5px;font-weight:600;line-height:1.55;text-transform:none;letter-spacing:.01em}
.bfi-loading::after{content:"...";display:inline-block;overflow:hidden;vertical-align:bottom;width:0;animation:bfidots 1.2s steps(4,end) infinite}
@keyframes bfidots{to{width:1.2em}}

/* chosen time */
.bfi-chosen{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;
  background:var(--navy,#0B1634);color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.03em}
.bfi-chosen b{font-weight:700}
.bfi-link{appearance:none;background:none;border:0;padding:0;font:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--red,#C50405);text-decoration:underline;text-underline-offset:3px;cursor:pointer;justify-self:start}
.bfi-chosen .bfi-link{color:#fff}

/* form: undo the site's global form/label/input rules inside the box */
.bfi form.bfi-form{border:0;padding:0;background:none;display:grid;gap:14px;min-width:0}
.bfi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;align-items:end}
.bfi-f{grid-column:1/-1;display:grid;gap:6px;min-width:0}
.bfi-f.half{grid-column:auto}
.bfi-f label{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--ink,#07090C);text-transform:uppercase}
.bfi-opt{color:var(--mute,#6B6560);font-weight:600;letter-spacing:.08em}
.bfi-f input,.bfi-f select,.bfi-f textarea{font-family:var(--f,Arial,sans-serif);font-weight:600;font-size:16px;letter-spacing:0;text-transform:none;
  padding:12px 12px;border:var(--bw,3px) solid var(--ink,#07090C);background:var(--paper,#F6F2EF);color:var(--ink,#07090C);
  border-radius:0;width:100%;min-width:0;max-width:100%;box-sizing:border-box;line-height:1.3}
.bfi-f textarea{resize:vertical;min-height:64px}
.bfi-f input:focus-visible,.bfi-f select:focus-visible,.bfi-f textarea:focus-visible,.bfi-slot:focus-visible,.bfi-day:focus-visible,.bfi-link:focus-visible,.bfi-consent input:focus-visible{
  outline:3px solid var(--act,#DF2F4E);outline-offset:2px}
.bfi-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bfi label.bfi-consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:12px;font-weight:600;letter-spacing:.01em;
  line-height:1.5;color:#2F2F2F;text-transform:none;cursor:pointer}
.bfi-consent input{width:22px;height:22px;margin:0;padding:0;accent-color:var(--red,#C50405);border-radius:0}
.bfi-err{margin:0;padding:10px 12px;border:var(--bw,3px) solid var(--red,#C50405);background:#FFF1F1;color:#7A0203;font-size:13px;font-weight:700;
  letter-spacing:.01em;text-transform:none;line-height:1.45}
.bfi-submit{width:100%}
.bfi-submit[disabled]{opacity:.7;cursor:progress}
.bfi-form.shake{animation:bfishake 320ms}
@keyframes bfishake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* confirmation */
.bfi-done{display:grid;gap:12px;padding:8px 0;outline:none}
.bfi-done h3{margin:0;font-family:var(--d,Impact,sans-serif);font-weight:400;font-size:clamp(26px,4vw,34px);line-height:1;letter-spacing:.01em}
.bfi-done p{margin:0;font-size:14px;font-weight:600;line-height:1.6;text-transform:none;letter-spacing:.01em;max-width:52ch}
.bfi-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}

@media (max-width:620px){
  .bfi{box-shadow:5px 5px 0 var(--ink,#07090C)}
  .bfi-grid{grid-template-columns:1fr}
  .bfi-f.half{grid-column:1/-1}
  .bfi-slotgrid{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){.bfi-form.shake,.bfi-loading::after{animation:none}.bfi-loading::after{width:1.2em}}
