/* =========================================================
   BeatBooker — Igor & Fernanda skin
   Overrides the plugin's default look from the outside.
   The plugin itself stays untouched, so it can be updated.
   Applies to shortcodes rendered with theme="dark".
   ========================================================= */
.bb-wrapper.bb-dark{color:var(--igf-body);font-family:var(--igf-body-font)}
.bb-wrapper.bb-dark .bb-request-form,
.bb-wrapper.bb-dark .bb-booking-view{color:var(--igf-body);max-width:820px}

/* headings */
.bb-wrapper.bb-dark h2,.bb-wrapper.bb-dark h3,.bb-wrapper.bb-dark h4,
.bb-wrapper.bb-dark .bb-event-title{font-family:var(--igf-head);font-weight:700;color:var(--igf-ink)}
.bb-wrapper.bb-dark .bb-event-dates{color:var(--igf-faint)}
.bb-wrapper.bb-dark .bb-section-title,
.bb-wrapper.bb-dark .bb-step-title{border-bottom:1px solid var(--igf-line);color:var(--igf-gold);
  font-family:var(--igf-head);font-weight:600;font-size:15px;letter-spacing:.14em;
  text-transform:uppercase;padding-bottom:.6em}

/* labels & fields */
.bb-wrapper.bb-dark .bb-label{color:var(--igf-muted);font-family:var(--igf-body-font);font-weight:500;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.bb-wrapper.bb-dark .bb-req{color:var(--igf-gold)}
.bb-wrapper.bb-dark .bb-input,
.bb-wrapper.bb-dark .bb-select,
.bb-wrapper.bb-dark .bb-textarea{background:var(--igf-surface);border:1px solid var(--igf-line);
  border-radius:2px;color:var(--igf-ink);font-family:var(--igf-body-font);font-weight:300;
  padding:.85em 1em}
.bb-wrapper.bb-dark .bb-input:focus,
.bb-wrapper.bb-dark .bb-select:focus,
.bb-wrapper.bb-dark .bb-textarea:focus{border-color:var(--igf-gold);
  box-shadow:0 0 0 2px rgba(238,198,67,.22);outline:none}
.bb-wrapper.bb-dark .bb-input::placeholder,
.bb-wrapper.bb-dark .bb-textarea::placeholder{color:var(--igf-faint)}
.bb-wrapper.bb-dark .bb-select option{background:var(--igf-surface);color:var(--igf-ink)}

/* buttons */
.bb-wrapper.bb-dark .bb-btn{border-radius:999px;font-family:var(--igf-body-font);font-weight:500;
  font-size:14px;letter-spacing:.12em;text-transform:uppercase;padding:.95em 2.2em}
.bb-wrapper.bb-dark .bb-btn-primary,
.bb-wrapper.bb-dark .bb-btn-accent{background:var(--igf-green);color:var(--igf-ink)}
.bb-wrapper.bb-dark .bb-btn-primary:hover:not(:disabled),
.bb-wrapper.bb-dark .bb-btn-accent:hover:not(:disabled){background:var(--igf-green-hi);color:var(--igf-ink)}
.bb-wrapper.bb-dark .bb-btn-secondary{background:transparent;color:var(--igf-ink);
  border:1px solid rgba(243,241,228,.4)}
.bb-wrapper.bb-dark .bb-btn-secondary:hover{background:transparent;border-color:var(--igf-gold);color:var(--igf-gold)}

/* instructor cards */
.bb-wrapper.bb-dark .bb-card{background:var(--igf-base);border:1px solid rgba(238,198,67,.2);
  border-radius:2px;color:var(--igf-body);font-family:var(--igf-head);font-weight:600;
  padding:1.4em 1em;transition:border-color .2s,background .2s,color .2s}
.bb-wrapper.bb-dark .bb-card:hover{border-color:var(--igf-gold);color:var(--igf-ink)}
.bb-wrapper.bb-dark .bb-card.active{border-color:var(--igf-gold);background:rgba(238,198,67,.10);
  color:var(--igf-ink);box-shadow:none}

/* time slots */
.bb-wrapper.bb-dark .bb-date-heading{color:var(--igf-gold);font-family:var(--igf-head);font-weight:600;
  font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.bb-wrapper.bb-dark .bb-slot{background:var(--igf-base);border:1px solid var(--igf-line);border-radius:2px;
  color:var(--igf-body);font-family:var(--igf-body-font);padding:.75em 1.3em;transition:all .2s}
.bb-wrapper.bb-dark .bb-slot:hover:not(:disabled){border-color:var(--igf-gold);color:var(--igf-ink)}
.bb-wrapper.bb-dark .bb-slot.selected{border-color:var(--igf-gold);background:var(--igf-gold);
  color:var(--igf-base);font-weight:600}
.bb-wrapper.bb-dark .bb-slot.booked{background:transparent;border-color:rgba(243,241,228,.10);
  color:var(--igf-faint);opacity:.5}

/* summary, messages */
.bb-wrapper.bb-dark .bb-selected-summary{background:var(--igf-surface);border:1px solid var(--igf-line-soft);
  border-radius:2px;padding:1.2em 1.4em}
.bb-wrapper.bb-dark .bb-success{background:rgba(46,125,70,.12);border:1px solid var(--igf-green);
  border-radius:2px;color:var(--igf-body)}
.bb-wrapper.bb-dark .bb-success h3{color:var(--igf-gold);font-family:var(--igf-head)}
.bb-wrapper.bb-dark .bb-error{background:rgba(143,45,31,.15);border:1px solid var(--igf-red);
  border-radius:2px;color:#f0b8ae}
.bb-wrapper.bb-dark .bb-no-slots{background:var(--igf-surface);border:1px solid var(--igf-line-soft);
  border-radius:2px;color:var(--igf-faint)}
.bb-wrapper.bb-dark .bb-loading{color:var(--igf-faint)}
.bb-wrapper.bb-dark .bb-divider{border-top:1px solid var(--igf-line-soft)}
.bb-wrapper.bb-dark .bb-or-text,
.bb-wrapper.bb-dark .bb-direct-hint{color:var(--igf-muted)}
.bb-wrapper.bb-dark .bb-radio,
.bb-wrapper.bb-dark .bb-checkbox{color:var(--igf-body)}
.bb-wrapper.bb-dark a{color:var(--igf-gold)}
.bb-wrapper.bb-dark a:hover{color:var(--igf-gold-hi)}

/* native controls */
.bb-wrapper.bb-dark input[type=radio],
.bb-wrapper.bb-dark input[type=checkbox]{accent-color:var(--igf-gold);width:16px;height:16px}
.bb-wrapper.bb-dark .bb-request-form,
.bb-wrapper.bb-dark .bb-booking-view{max-width:820px;margin-inline:auto;width:100%}

/* Pill buttons here too, so the booking flow matches the rest of the site.
   Slots, instructor cards and inputs stay square: they are form controls,
   not calls to action. */
.bb-wrapper.bb-dark .bb-btn-primary,
.bb-wrapper.bb-dark .bb-btn-accent{box-shadow:0 6px 22px rgba(46,125,70,.35)}
.bb-wrapper.bb-dark .bb-btn-primary:hover:not(:disabled),
.bb-wrapper.bb-dark .bb-btn-accent:hover:not(:disabled){box-shadow:0 8px 26px rgba(46,125,70,.45)}
.bb-wrapper.bb-dark .bb-btn-secondary{box-shadow:none}
.bb-wrapper.bb-dark .bb-btn-sm{padding:.5em 1.4em}
.bb-wrapper.bb-dark .bb-card,
.bb-wrapper.bb-dark .bb-slot,
.bb-wrapper.bb-dark .bb-selected-summary{border-radius:10px}
