/* Breathwork booking section — goes into the plugin as assets/booking.css.
   Built for the dark #dates section of the breathwork page, in the Fondations tokens.
   Look folded in from the Claude Design version (26 Oct 2026): hairline list of dates with radio dots,
   selected row = slightly lighter dark; beige price card with one price + one message. */
.bw-booking{
  --bw-dark:#2B2926; --bw-d1:#F3E6DA; --bw-d2:#D6C2B0; --bw-d3:#B79A80; --bw-dborder:#554336; --bw-drule:#4A3A30; --bw-dhover:#36332F;
  --bw-page:#F6EDE5; --bw-ink:#3B2A20; --bw-body:#554336; --bw-muted:#7A6252; --bw-accent:#A98D74; --bw-rule:#EADACB;
  --bw-btn:#151412; --bw-btn-off:#BFB2A8; --bw-cream:#F7EDE6;
  --bw-serif:'Playfair Display',Georgia,serif; --bw-sans:'Poppins',system-ui,sans-serif;
  --bw-tr:transform .35s ease,background-color .35s ease,color .35s ease,border-color .35s ease;
  --bw-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  color:var(--bw-d1); font-family:var(--bw-sans); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums tabular-nums;
}
.bw-booking *,.bw-booking *::before,.bw-booking *::after{box-sizing:border-box}
.bw-booking p{margin:0}

/* Themes (Flatsome) style every <label> (bold, small, block): reset it inside the date rows. */
.bw-booking label.bw-date,.bw-booking label.bw-date *{font-weight:400;font-size:inherit;letter-spacing:normal;text-transform:none;line-height:inherit;color:inherit;margin:0}
.bw-booking label.bw-date{font-size:16px;line-height:1.6;color:var(--bw-d1)}

/* [someria_breathwork fond="sombre"]: brings its own dark background (test pages, or a page without a dark section) */
.bw-booking.bw-own-bg{background:var(--bw-dark);padding:clamp(40px,6vw,72px) clamp(20px,4vw,48px)}

/* messages after a redirect */
.bw-booking .bw-flash{border:1px solid var(--bw-dborder);border-radius:14px;padding:14px 18px;margin:0 0 28px;color:var(--bw-d1);font-size:15px}

/* price chips + Paris-time note */
.bw-booking .bw-tiers{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 clamp(40px,5vw,56px)}
.bw-booking .bw-tier{padding:10px 18px;border:1px solid var(--bw-dborder);border-radius:999px;font-size:14px;color:var(--bw-d1);transition:var(--bw-tr)}
.bw-booking .bw-tier b{font-weight:600}
.bw-booking .bw-tier.is-on{background:var(--bw-dhover)} /* same as a chosen date row */
.bw-booking .bw-note{font-size:13px;color:var(--bw-d3)}

/* layout */
.bw-booking .bw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(32px,4vw,56px);align-items:start}

/* date rows */
.bw-booking .bw-list{display:flex;flex-direction:column;border-top:1px solid var(--bw-drule)}
.bw-booking .bw-date{position:relative;display:grid;grid-template-columns:22px 56px minmax(0,1fr) auto;align-items:center;gap:12px 20px;
  margin:0;padding:20px 18px;border-bottom:1px solid var(--bw-drule);cursor:pointer;transition:var(--bw-tr)}
.bw-booking .bw-date.is-on{background:var(--bw-dhover)}
@media (hover:hover) and (pointer:fine){.bw-booking .bw-date:hover{background:var(--bw-dhover)}}
.bw-booking .bw-check{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bw-booking .bw-box{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--bw-d2);display:flex;align-items:center;justify-content:center}
.bw-booking .bw-box::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--bw-d1);opacity:0;transition:opacity .2s ease}
.bw-booking .bw-date.is-on .bw-box::after{opacity:1}
.bw-booking .bw-check:focus-visible ~ .bw-box{outline:2px solid var(--bw-d2);outline-offset:3px}

.bw-booking label.bw-date .bw-when{display:flex;flex-direction:column;align-items:flex-start;color:var(--bw-d1)}
.bw-booking label.bw-date .bw-wd,.bw-booking label.bw-date .bw-month{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bw-d3)}
.bw-booking label.bw-date .bw-day{font-size:28px;line-height:1.1}

.bw-booking label.bw-date .bw-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.bw-booking label.bw-date .bw-theme{font-size:18px;font-weight:500;line-height:1.35;color:var(--bw-d1)}
.bw-booking label.bw-date .bw-desc{max-width:340px;font-size:14px;line-height:1.55;color:var(--bw-d2);text-wrap:pretty}

.bw-booking label.bw-date .bw-time{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.bw-booking label.bw-date .bw-time strong{font-size:15px;font-weight:600;color:var(--bw-d1)}
.bw-booking label.bw-date .bw-dur,.bw-booking label.bw-date .bw-local{font-size:13px;color:var(--bw-d2)}

/* text under the dates (under the price card on phones, see .bw-below-m) */
.bw-booking .bw-below{margin:32px 0 0;padding:0 18px;max-width:560px;font-size:14px;line-height:1.7;color:var(--bw-d2);text-wrap:pretty}
.bw-booking .bw-below-m{display:none}

/* price card */
.bw-booking .bw-panel{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px;background:var(--bw-page);color:var(--bw-ink);border-radius:22px;padding:clamp(28px,3vw,40px)}
.bw-booking .bw-panel-body{display:flex;flex-direction:column;gap:20px}
.bw-booking .bw-kicker{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bw-accent)}
.bw-booking .bw-from{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}
.bw-booking .bw-from strong{font-size:clamp(44px,4.4vw,56px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--bw-ink)}
.bw-booking .bw-from span{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bw-muted)}
.bw-booking .bw-msg{font-size:15px;line-height:1.65;color:var(--bw-body);text-wrap:pretty}
.bw-booking .bw-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0;padding:16px 24px;border:0;border-radius:999px;
  background:var(--bw-btn);color:var(--bw-d1);font-family:var(--bw-sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;cursor:pointer;transition:var(--bw-tr)}
.bw-booking .bw-btn::after{content:"";width:14px;height:14px;flex:0 0 auto;background:currentColor;-webkit-mask:var(--bw-arrow) center/contain no-repeat;mask:var(--bw-arrow) center/contain no-repeat}
@media (hover:hover) and (pointer:fine){.bw-booking .bw-btn:hover{transform:scale(1.02)}}
.bw-booking .bw-btn[disabled]{background:var(--bw-btn-off);cursor:not-allowed;transform:none}
.bw-booking .bw-btn:focus-visible{outline:2px solid var(--bw-accent);outline-offset:3px}
.bw-booking .bw-small{padding-top:20px;border-top:1px solid var(--bw-rule);font-size:13px;line-height:1.6;color:var(--bw-muted);text-align:center;text-wrap:pretty}
.bw-booking .bw-small a{color:var(--bw-ink);text-decoration:underline;text-underline-offset:3px}

/* no dates open */
.bw-booking .bw-notify{max-width:640px}
.bw-booking .bw-notify .bw-kicker{color:var(--bw-d3)}
.bw-booking .bw-notify-title{margin:18px 0 0;font-family:var(--bw-serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-.01em;color:var(--bw-d1)}
.bw-booking .bw-notify-title em{font-style:italic;font-weight:600}
.bw-booking .bw-notify > p{margin-top:20px;color:var(--bw-d2)}
.bw-booking .bw-notify-form{display:flex;gap:12px;margin-top:28px}
.bw-booking .bw-input{flex:1;min-width:0;height:54px;border:1px solid var(--bw-dborder);border-radius:999px;background:transparent;color:var(--bw-d1);padding:0 24px;font-family:var(--bw-sans);font-size:15px}
.bw-booking .bw-input::placeholder{color:var(--bw-d3)}
.bw-booking .bw-input:focus{outline:none;border-color:var(--bw-d2)}
.bw-booking .bw-notify-form .bw-btn{width:auto;background:var(--bw-cream);color:var(--bw-btn)}
.bw-booking .bw-notify-form .bw-btn:hover{background:#E0C4AC}
.bw-booking .bw-notify .bw-small{border-top:0;padding-top:0;margin-top:14px;text-align:left;color:var(--bw-d3)}

/* phone bar (shown by the script while dates are ticked and the price card is off screen) */
.bw-booking .bw-bar{display:none}

@media (max-width:1099px){
  .bw-booking .bw-grid{grid-template-columns:minmax(0,1fr)}
  .bw-booking .bw-panel{position:static}
  .bw-booking .bw-list .bw-below{display:none}
  .bw-booking .bw-below-m{display:block;margin:0;padding:0 4px}
  .bw-booking .bw-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;
    padding:10px 10px 10px 22px;border-radius:999px;background:var(--bw-page);color:var(--bw-ink);box-shadow:0 10px 30px rgba(21,20,18,.28);
    transform:translateY(calc(100% + 40px));opacity:0;pointer-events:none;transition:transform .35s ease,opacity .35s ease}
  .bw-booking .bw-bar.is-on{transform:none;opacity:1;pointer-events:auto}
  .bw-booking .bw-bar-sum{font-size:14px;color:var(--bw-body);white-space:nowrap}
  .bw-booking .bw-bar-sum b{font-weight:700;font-size:15px;color:var(--bw-ink)}
  .bw-booking .bw-bar-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 20px;border:0;border-radius:999px;background:var(--bw-btn);color:var(--bw-d1);
    font-family:var(--bw-sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
  .bw-booking .bw-bar-btn::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--bw-arrow) center/contain no-repeat;mask:var(--bw-arrow) center/contain no-repeat}
}
@media (max-width:759px){
  .bw-booking .bw-date{grid-template-columns:22px 48px minmax(0,1fr)}
  .bw-booking label.bw-date .bw-time{grid-column:3;align-items:flex-start;text-align:left}
  .bw-booking .bw-notify-form{flex-direction:column}
  .bw-booking .bw-notify-form .bw-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .bw-booking *{transition:none!important}
}
