/* ============================================================================
   WMB 2026 — Metal Battle Lounge · Bookly skin
   Re-skins the Bookly booking form to the WMB palette (black/red, sharp
   corners, theme fonts). Loaded ONLY on the Lounge template, AFTER lounge.css
   (depends on its tokens) and AFTER Bookly's own stylesheet, so these rules
   win. Everything is scoped under .page-lounge .book__bookly so it can never
   touch a Bookly form rendered anywhere else on the site.

   This is a DEFENSIVE skin over a third-party plugin: Bookly ships fairly
   specific selectors and some inline-ish styling, so colour/border/font/radius
   overrides use !important deliberately. We intentionally do NOT touch the
   calendar/time-grid LAYOUT (widths, positioning) — Bookly's JS drives that —
   only its colours, so the form keeps working if Bookly updates its markup.
   ========================================================================= */

/* ---- recolour Bookly's own theme variable -----------------------------
   Bookly 27.5 injects its accent (orange #f4662f) as `--bookly-color` /
   `--bookly-main-color` on `:root !important` via an inline <style>, and
   drives leftover accents (e.g. the WED/THU day checkboxes) off it. Our
   wrapper selector (specificity 0,2,0) out-specifies `:root` (0,1,0), so
   redeclaring the variables here flips every remaining orange accent to
   WMB red in one shot — no need to hunt each element. */
.page-lounge .book__bookly,
.page-lounge .book__bookly .bookly-form {
  --bookly-color: var(--accent) !important;
  --bookly-main-color: var(--accent) !important;
}

/* ---- wrapper: fonts + sharp corners on everything ---------------------- */
.page-lounge .book__bookly .bookly-form,
.page-lounge .book__bookly .bookly-form * {
  font-family: var(--font-text);
  border-radius: 0 !important;
  box-sizing: border-box;
}
.page-lounge .book__bookly .bookly-form {
  color: var(--fg);
  font-size: 16px;
  letter-spacing: 0.03em;
}

/* ---- text / mono helpers Bookly uses ----------------------------------- */
.page-lounge .book__bookly .bookly-form label,
.page-lounge .book__bookly .bookly-label,
.page-lounge .book__bookly .bookly-form .bookly-box > label {
  color: var(--fg-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
}

/* ---- inputs / selects / textareas → mirror .field ---------------------- */
.page-lounge .book__bookly .bookly-form input[type="text"],
.page-lounge .book__bookly .bookly-form input[type="email"],
.page-lounge .book__bookly .bookly-form input[type="tel"],
.page-lounge .book__bookly .bookly-form input[type="number"],
.page-lounge .book__bookly .bookly-form input[type="search"],
.page-lounge .book__bookly .bookly-form textarea,
.page-lounge .book__bookly .bookly-form select {
  width: 100%;
  background: var(--wmb-black) !important;
  border: 1px solid var(--wmb-border) !important;
  color: var(--fg) !important;
  padding: 14px 16px !important;
  min-height: 44px;
  font-family: var(--font-text);
  font-size: 16px;
  letter-spacing: 0.03em;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none !important;
}
.page-lounge .book__bookly .bookly-form textarea { min-height: 96px; }
.page-lounge .book__bookly .bookly-form input::placeholder,
.page-lounge .book__bookly .bookly-form textarea::placeholder {
  color: var(--fg-meta);
}
.page-lounge .book__bookly .bookly-form input:focus,
.page-lounge .book__bookly .bookly-form textarea:focus,
.page-lounge .book__bookly .bookly-form select:focus {
  outline: 2px solid var(--accent) !important;
  outline-offset: 0;
  border-color: var(--accent) !important;
}
/* native select arrow, drawn in muted so it shows on the dark field */
.page-lounge .book__bookly .bookly-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%239a9a9a' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
}

/* ---- primary / secondary buttons → mirror .btn ------------------------- */
.page-lounge .book__bookly .bookly-form .bookly-btn,
.page-lounge .book__bookly .bookly-form button.bookly-btn,
.page-lounge .book__bookly .bookly-form input[type="button"].bookly-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 16px 24px !important;
  background: var(--accent) !important;
  color: #fff !important;
  border: 1px solid var(--accent) !important;
  font-family: var(--font-text);
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none !important;
  transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.page-lounge .book__bookly .bookly-form .bookly-btn:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}
.page-lounge .book__bookly .bookly-form .bookly-btn:active {
  background: var(--accent-press) !important;
  border-color: var(--accent-press) !important;
}
.page-lounge .book__bookly .bookly-form .bookly-btn:focus-visible {
  outline: 2px solid var(--accent) !important;
  outline-offset: 2px;
}
/* "Back" / secondary text links Bookly renders between steps */
.page-lounge .book__bookly .bookly-form .bookly-back-step,
.page-lounge .book__bookly .bookly-form .bookly-back-step a,
.page-lounge .book__bookly .bookly-form a.bookly-back-step {
  color: var(--fg-muted) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  text-decoration: none;
}
.page-lounge .book__bookly .bookly-form .bookly-back-step:hover { color: var(--accent-hover) !important; }

/* ---- progress tracker --------------------------------------------------
   Real Bookly markup is `.bookly-progress-tracker > div(.active)` holding a
   step label plus an inner `.step` bar; the bar's fill is Bookly's theme
   colour (orange by default). Recolour the bar to WMB red — Bookly dims the
   upcoming steps via opacity, so they ride along as muted red — and theme
   the step labels. (Earlier `.bookly-progress-tracker-step`/`:after` pip
   selectors never matched this markup.) */
.page-lounge .book__bookly .bookly-form .bookly-progress-tracker {
  background: transparent !important;
}
.page-lounge .book__bookly .bookly-form .bookly-progress-tracker > div {
  color: var(--fg-meta) !important;
  font-family: var(--font-mono);
  letter-spacing: 0.06em;
}
.page-lounge .book__bookly .bookly-form .bookly-progress-tracker > div.active {
  color: var(--fg) !important;
}
.page-lounge .book__bookly .bookly-form .bookly-progress-tracker .step {
  background-color: var(--accent) !important;
}

/* ---- calendar (pickadate) ---------------------------------------------- */
.page-lounge .book__bookly .picker__holder,
.page-lounge .book__bookly .picker__frame,
.page-lounge .book__bookly .picker__box {
  background: var(--wmb-surface) !important;
  border-color: var(--wmb-border) !important;
  color: var(--fg) !important;
}
.page-lounge .book__bookly .picker__header,
.page-lounge .book__bookly .picker__month,
.page-lounge .book__bookly .picker__year,
.page-lounge .book__bookly .picker__weekday {
  color: var(--fg) !important;
}
.page-lounge .book__bookly .picker__nav--prev,
.page-lounge .book__bookly .picker__nav--next { color: var(--fg-muted) !important; }
.page-lounge .book__bookly .picker__nav--prev:hover,
.page-lounge .book__bookly .picker__nav--next:hover {
  background: var(--wmb-surface-2) !important;
  color: var(--accent-hover) !important;
}
.page-lounge .book__bookly .picker__day {
  color: var(--fg) !important;
  background: transparent !important;
}
.page-lounge .book__bookly .picker__day--infocus:hover,
.page-lounge .book__bookly .picker__day--highlighted {
  background: var(--wmb-surface-2) !important;
  color: var(--fg) !important;
}
.page-lounge .book__bookly .picker__day--selected,
.page-lounge .book__bookly .picker__day--selected:hover {
  background: var(--accent) !important;
  color: #fff !important;
}
.page-lounge .book__bookly .picker__day--disabled,
.page-lounge .book__bookly .picker__day--disabled:hover {
  color: var(--fg-meta) !important;
  background: transparent !important;
  opacity: 0.5;
}
.page-lounge .book__bookly .picker__button--today,
.page-lounge .book__bookly .picker__button--clear,
.page-lounge .book__bookly .picker__button--close {
  background: var(--wmb-surface-2) !important;
  color: var(--fg-muted) !important;
  border: 1px solid var(--wmb-border) !important;
}

/* ---- time-slot grid (Bookly day/hour buttons) -------------------------- */
.page-lounge .book__bookly .bookly-form .bookly-day,
.page-lounge .book__bookly .bookly-form .bookly-hour,
.page-lounge .book__bookly .bookly-form .ladda-button[data-slot],
.page-lounge .book__bookly .bookly-form .bookly-time-step {
  background: var(--wmb-black) !important;
  border: 1px solid var(--wmb-border) !important;
  color: var(--fg) !important;
  font-family: var(--font-mono);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.page-lounge .book__bookly .bookly-form .bookly-day:hover,
.page-lounge .book__bookly .bookly-form .bookly-hour:hover {
  border-color: var(--accent) !important;
  color: var(--accent-hover) !important;
}
.page-lounge .book__bookly .bookly-form .bookly-day.active,
.page-lounge .book__bookly .bookly-form .bookly-hour.active,
.page-lounge .book__bookly .bookly-form .bookly-time-step.active {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}

/* ---- validation + info messages ---------------------------------------- */
.page-lounge .book__bookly .bookly-form .bookly-label-error,
.page-lounge .book__bookly .bookly-form .error {
  color: var(--accent-hover) !important;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
}
.page-lounge .book__bookly .bookly-form .bookly-box.bookly-error,
.page-lounge .book__bookly .bookly-form input.bookly-error,
.page-lounge .book__bookly .bookly-form select.bookly-error {
  border-color: var(--accent) !important;
}

/* ---- tables Bookly uses for cart / details summary --------------------- */
.page-lounge .book__bookly .bookly-form table { width: 100%; border-collapse: collapse; }
.page-lounge .book__bookly .bookly-form table th,
.page-lounge .book__bookly .bookly-form table td {
  border: 1px solid var(--wmb-border) !important;
  color: var(--fg) !important;
  padding: 10px 12px !important;
}
.page-lounge .book__bookly .bookly-form table th {
  background: var(--wmb-surface) !important;
  font-family: var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
}

/* ---- spinner / loader recolour ----------------------------------------- */
.page-lounge .book__bookly .bookly-form .bookly-spinner,
.page-lounge .book__bookly .bookly-loading {
  border-top-color: var(--accent) !important;
}

/* ============================================================================
   BOOKLY 27.5 utility-class skin — ported from the verified connector build.

   (A) GLOBAL block (intentionally NOT scoped under .page-lounge): Bookly mounts
       its booking MODAL on <body>, outside the page wrapper, so a page-scoped
       rule can never reach it. These selectors target Bookly's OWN classes
       (.bookly-css-root, [class*="bookly:"], .bookly-staff-form-container, …),
       and Bookly is only used by the Lounge, so global scope is safe here.
       Colours are the connector source's literal hexes (#c8102e = WMB red).
   (B) CATALOG-CARD block: scoped to the in-page wrapper (.page-lounge
       .book__bookly), substituted from the source's .wmblng prefix.

   VERIFY-ON-FIRST-REAL-RENDER: the modal + catalog-card skin cannot be visually
   confirmed until Bookly has a service + staff + bookable date and a logged-in
   band reaches the form. The selectors are Bookly's own utility classes, so
   confidence is high, but treat the modal skin as unconfirmed until then.
   ========================================================================= */

/* (A) — GLOBAL (reaches the body-mounted modal) -------------------------- */
.bookly-staff-form-container,[class*="bookly:"],.nojq{--bookly-color:#c8102e !important;}
[class*="bookly:"]{font-family:'Bebas Neue',Oswald,'Arial Narrow',sans-serif !important;letter-spacing:.01em;}
.bookly-staff-form-container,.nojq{color:#f4f4f4;}
.bookly-css-root [class*=":bg-white"]{background-color:#141414 !important;}
.bookly-css-root [class*="bookly:bg-slate"],.bookly-css-root [class*="bookly:hover:bg-slate"]:hover{background-color:#1c1c1c !important;}
.bookly-css-root [class*="bookly:text-slate"],.bookly-css-root [class*="bookly:text-gray"],.bookly-css-root [class*="bookly:text-muted"],.bookly-css-root [class*="bookly:text-black"]{color:#cfcfcf !important;}
.bookly-css-root [class*="bookly:border"]{border-color:#3a3a3a !important;}
.bookly-css-root [class*=":border-bookly"]{border-color:#c8102e !important;}
.bookly-css-root [class*="bookly:rounded"]{border-radius:0 !important;}
.bookly-css-root [class*="bookly:bg-bookly"]{color:#fff !important;}
.bookly-css-root .bookly-slot-free-mark{background-color:transparent !important;color:#f4f4f4 !important;border:1px solid #c8102e !important;}
.bookly-slots-step-body-mark > div:first-child{display:none !important;}
.bookly-staff-form-container input,.bookly-staff-form-container textarea,.bookly-staff-form-container select,.nojq input,.nojq textarea,.nojq select{background:#1c1c1c !important;color:#f4f4f4 !important;border-color:#3a3a3a !important;border-radius:0 !important;}
.iti__country-list{background:#1c1c1c !important;}.iti__country{color:#f4f4f4 !important;}
.headline-staff h3{font-family:'Bebas Neue',Impact,sans-serif !important;font-size:30px;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:#f4f4f4;margin:0;}
.headline-staff h3::before{content:'// ';color:#c8102e;font-family:'JetBrains Mono',monospace;font-size:14px;vertical-align:4px;}
.bookly-calendar-dates-mark [class*="bookly:bg-slate"]{background-color:transparent !important;}
.bookly-calendar-dates-mark [title]{color:#f4f4f4 !important;}
.bookly-calendar-dates-mark [class*="bookly:hover:bg-bookly"]:hover{background-color:#c8102e !important;color:#fff !important;}

/* (B) — CATALOG CARDS (in-page wrapper; .wmblng → .page-lounge .book__bookly) */
.page-lounge .book__bookly .bookly-card-header-mark{height:300px !important;overflow:hidden !important;background-color:#0a0a0a !important;}
.page-lounge .book__bookly .bookly-card-header-mark [class*="card-title"]{position:absolute !important;left:0!important;right:0!important;top:0!important;bottom:0!important;float:none !important;display:block !important;width:100% !important;height:300px !important;padding:0 !important;background:transparent !important;border:0 !important;}
.page-lounge .book__bookly .bookly-card-header-mark [class*="card-title"] [class*="justify-center"][class*="items-center"]{position:absolute !important;left:0!important;top:0!important;right:0!important;bottom:0!important;width:100% !important;height:300px !important;display:block !important;}
.page-lounge .book__bookly .bookly-card-header-mark [class*="card-title"] [class*="justify-center"][class*="items-center"] img{width:100% !important;height:300px !important;border-radius:0 !important;object-fit:cover !important;object-position:center 20% !important;filter:none !important;}
.page-lounge .book__bookly .bookly-card-header-mark [class*="card-title"] [class*="items-center"][class*="mx-2"]{position:absolute !important;left:0!important;right:0!important;bottom:0!important;margin:0 !important;padding:24px 12px 10px !important;background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,0)) !important;z-index:2 !important;}
.page-lounge .book__bookly .bookly-card-header-mark [class*="card-title"] [class*="items-center"][class*="mx-2"] span{font-family:'Latin CT Not Wide','Latin CT','Oswald','Bebas Neue',Impact,sans-serif !important;font-size:18px !important;letter-spacing:.01em;text-transform:uppercase !important;color:#fff !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;display:block !important;}
