:root {
  --bvma-plum: #70113f;
  --bvma-purple: #4b1738;
  --bvma-pink: #db2f78;
  --bvma-hot: #f34b91;
  --bvma-blush: #fff2f7;
  --bvma-blush-2: #fde3ec;
  --bvma-ink: #24131d;
  --bvma-muted: #6d5a65;
  --bvma-border: #efd1df;
  --bvma-white: #fff;
}

.bvma-seminar,
.bvma-seminar * { box-sizing: border-box; }
.bvma-seminar {
  width: min(1180px, calc(100% - 24px));
  margin: 24px auto 50px;
  color: var(--bvma-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
.bvma-seminar h1,.bvma-seminar h2,.bvma-seminar h3,.bvma-seminar p { margin-top: 0; }
.bvma-seminar button,.bvma-seminar input,.bvma-seminar select,.bvma-seminar textarea { font: inherit; }

.bvma-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 32px;
  align-items: center;
  padding: clamp(30px, 5vw, 70px);
  border: 1px solid var(--bvma-border);
  border-radius: 30px;
  background:
    radial-gradient(circle at 80% 20%, rgba(243,75,145,.18), transparent 34%),
    linear-gradient(135deg, #fff 0%, #fff5f8 48%, #fbd5e3 100%);
  box-shadow: 0 22px 70px rgba(75,23,56,.12);
}
.bvma-hero::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 150px;
  left: -110px;
  top: 160px;
  background: var(--bvma-hot);
  opacity: .16;
  transform: rotate(-5deg);
  border-radius: 50%;
  filter: blur(1px);
}
.bvma-hero__copy,.bvma-hero__art { position: relative; z-index: 1; }
.bvma-logo { width: 210px; max-width: 48%; height: auto; margin-bottom: 10px; }
.bvma-kicker {
  display: inline-block;
  margin: 2px 0 12px;
  color: var(--bvma-plum);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .16em;
}
.bvma-hero h1 {
  margin-bottom: 14px;
  font-size: clamp(44px, 6vw, 78px);
  line-height: .95;
  letter-spacing: -.045em;
  text-transform: uppercase;
  font-weight: 950;
}
.bvma-hero h1 span {
  display: inline-block;
  color: var(--bvma-pink);
  font-size: .61em;
  letter-spacing: -.02em;
  margin-top: 11px;
}
.bvma-subhead { font-weight: 800; letter-spacing: .07em; text-transform: uppercase; font-size: 13px; }
.bvma-subhead b { color: var(--bvma-pink); padding: 0 5px; }
.bvma-intro { max-width: 650px; font-size: 18px; color: #4f3f48; }
.bvma-event-meta { display: flex; gap: 28px; flex-wrap: wrap; margin: 24px 0; }
.bvma-event-meta div { display: grid; gap: 2px; }
.bvma-event-meta strong { color: var(--bvma-plum); font-size: 17px; }
.bvma-event-meta span { font-size: 14px; color: var(--bvma-muted); }
.bvma-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  padding: 13px 24px;
  border: 0;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.bvma-btn:hover { transform: translateY(-1px); }
.bvma-btn--primary,.bvma-btn--submit {
  color: #fff !important;
  background: linear-gradient(135deg, var(--bvma-pink), var(--bvma-plum));
  box-shadow: 0 12px 30px rgba(166,24,101,.25);
}
.bvma-capacity-note { margin: 12px 0 0; color: var(--bvma-muted); font-size: 14px; }
.bvma-hero__art { min-width: 0; }
.bvma-hero__art img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 30px rgba(62,18,47,.15)); }
.bvma-hero__badge {
  position: absolute;
  right: 18px;
  top: 24px;
  display: grid;
  transform: rotate(-4deg);
  color: var(--bvma-plum);
  text-align: right;
  text-transform: uppercase;
  font-weight: 950;
  line-height: .92;
  font-size: clamp(20px,3vw,34px);
}
.bvma-hero__badge span { color: var(--bvma-pink); }
.bvma-hero__badge em { font-style: normal; }

.bvma-availability,.bvma-learn,.bvma-register { padding: 70px 0 10px; }
.bvma-section-heading { max-width: 760px; margin: 0 auto 30px; text-align: center; }
.bvma-section-heading--left { margin-left: 0; text-align: left; }
.bvma-section-heading > span,.bvma-register__intro > span { color: var(--bvma-pink); font-weight: 900; font-size: 13px; letter-spacing: .16em; }
.bvma-section-heading h2,.bvma-register__intro h2 { margin: 4px 0 8px; font-size: clamp(34px, 5vw, 52px); line-height: 1; letter-spacing: -.035em; }
.bvma-section-heading p,.bvma-register__intro p { color: var(--bvma-muted); }

.bvma-session-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.bvma-session-card {
  position: relative;
  overflow: hidden;
  min-height: 390px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--bvma-border);
  border-radius: 24px;
  background: linear-gradient(180deg,#fff 0%,#fff8fb 100%);
  box-shadow: 0 14px 36px rgba(56,18,42,.08);
}
.bvma-session-card::before { content:""; position:absolute; inset:0 0 auto 0; height:8px; background:linear-gradient(90deg,var(--bvma-hot),var(--bvma-plum)); }
.bvma-session-card.is-low::after { content:"Almost full"; position:absolute; right:18px; top:18px; background:#ffeff5; color:#a20e56; padding:6px 9px; border-radius:999px; font-weight:900; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.bvma-session-card.is-full::after { content:"Session full"; position:absolute; right:18px; top:18px; background:#321526; color:#fff; padding:6px 9px; border-radius:999px; font-weight:900; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.bvma-session-number { color: var(--bvma-pink); text-transform: uppercase; font-weight: 900; letter-spacing: .12em; font-size: 12px; margin-top: 7px; }
.bvma-session-card h3 { margin: 8px 0 2px; font-size: 31px; letter-spacing: -.025em; }
.bvma-session-time { color: var(--bvma-plum); font-weight: 900; font-size: 18px; }
.bvma-session-card p { color: var(--bvma-muted); margin: 18px 0 22px; }
.bvma-spots { margin-top: auto; display: flex; align-items: baseline; gap: 7px; padding-top: 16px; border-top: 1px solid var(--bvma-border); color: var(--bvma-plum); font-weight: 800; }
.bvma-spots__number { font-size: 38px; line-height: 1; font-weight: 950; }
.bvma-session-select { margin-top: 14px; padding: 12px 16px; border: 0; border-radius: 12px; color: #fff; background: var(--bvma-purple); font-weight: 850; cursor: pointer; }
.bvma-session-card.is-full .bvma-session-select { background: var(--bvma-pink); }

.bvma-learn { padding-bottom: 55px; }
.bvma-learn-grid { display:grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.bvma-learn-grid > div { padding: 22px; border-radius: 20px; background: var(--bvma-blush); border:1px solid #f4d8e5; }
.bvma-learn-grid span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#fff; color:var(--bvma-pink); font-weight:950; font-size:20px; }
.bvma-learn-grid h3 { margin: 14px 0 6px; font-size:18px; }
.bvma-learn-grid p { margin:0; color:var(--bvma-muted); font-size:14px; }

.bvma-register {
  display:grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 38px;
  padding: clamp(28px,5vw,60px);
  border-radius: 30px;
  background: linear-gradient(135deg,#381629 0%,#5c173e 52%,#8d1d58 100%);
  color:#fff;
  box-shadow:0 24px 65px rgba(64,18,45,.18);
}
.bvma-register__intro h2 { color:#fff; }
.bvma-register__intro p { color:#f7dce8; }
.bvma-mini-summary { display:grid; gap:10px; margin-top:28px; }
.bvma-mini-summary div { display:flex; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.07); }
.bvma-mini-summary span { color:#ffd4e6; font-weight:800; }

.bvma-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:24px;
  background:#fff;
  color:var(--bvma-ink);
  border-radius:24px;
}
.bvma-field { display:flex; flex-direction:column; gap:7px; }
.bvma-field--full,.bvma-session-picker,.bvma-check,.bvma-form-message { grid-column:1 / -1; }
.bvma-field label,.bvma-session-picker legend { font-weight:850; font-size:14px; }
.bvma-field label small { color:var(--bvma-muted); font-weight:600; }
.bvma-field input,.bvma-field select,.bvma-field textarea {
  width:100%;
  border:1px solid #d9cbd2;
  border-radius:12px;
  padding:12px 13px;
  color:var(--bvma-ink);
  background:#fff;
  outline:none;
}
.bvma-field input:focus,.bvma-field select:focus,.bvma-field textarea:focus { border-color:var(--bvma-pink); box-shadow:0 0 0 3px rgba(219,47,120,.12); }
.bvma-field small { color:var(--bvma-muted); font-size:12px; }
.bvma-session-picker { border:0; padding:0; margin:6px 0 0; }
.bvma-session-picker legend { margin-bottom:8px; }
.bvma-radio-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:13px; border:1px solid var(--bvma-border); border-radius:14px; margin:8px 0; cursor:pointer; transition:.15s ease; }
.bvma-radio-card:hover,.bvma-radio-card.is-selected { border-color:var(--bvma-pink); background:#fff5f9; box-shadow:0 0 0 3px rgba(219,47,120,.08); }
.bvma-radio-card input { accent-color:var(--bvma-pink); width:18px; height:18px; }
.bvma-radio-card__main { display:grid; gap:1px; }
.bvma-radio-card__main em { font-style:normal; color:var(--bvma-muted); font-size:13px; }
.bvma-radio-card__spots { color:var(--bvma-plum); font-weight:900; font-size:13px; }
.bvma-check label { display:flex; align-items:flex-start; gap:9px; color:#4d3f47; font-size:13px; }
.bvma-check input { margin-top:3px; accent-color:var(--bvma-pink); }
.bvma-honeypot { position:absolute !important; left:-9999px !important; width:1px;height:1px;overflow:hidden; }
.bvma-btn--submit { width:100%; border-radius:14px; min-height:54px; }
.bvma-btn--submit:disabled { opacity:.62; cursor:wait; transform:none; }
.bvma-form-footnote { margin:8px 0 0; text-align:center; color:var(--bvma-muted); font-size:12px; }
.bvma-form-message { display:none; padding:13px 14px; border-radius:12px; font-weight:800; }
.bvma-form-message.is-error,.bvma-form-message.is-success { display:block; }
.bvma-form-message.is-error { background:#fff0f3; color:#9a183d; border:1px solid #f2bdcb; }
.bvma-form-message.is-success { background:#eefaf3; color:#146b3a; border:1px solid #b9e4ca; }

.bvma-details { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:28px; border:1px solid var(--bvma-border); border-radius:20px; overflow:hidden; background:var(--bvma-border); }
.bvma-details div { display:grid; gap:6px; padding:22px; background:#fff7fa; }
.bvma-details strong { color:var(--bvma-pink); font-size:12px; letter-spacing:.12em; }
.bvma-details span { font-weight:750; }
.bvma-footer-line { text-align:center; padding:28px 0 6px; color:var(--bvma-plum); text-transform:uppercase; letter-spacing:.18em; font-weight:850; font-size:13px; }
.bvma-footer-line b { color:var(--bvma-pink); padding:0 8px; }

@media (max-width: 980px) {
  .bvma-hero { grid-template-columns:1fr; }
  .bvma-hero__art { order:-1; }
  .bvma-hero__art img { max-height:420px; object-fit:cover; object-position:center; }
  .bvma-logo { width:180px; }
  .bvma-session-grid { grid-template-columns:1fr; }
  .bvma-session-card { min-height:0; }
  .bvma-learn-grid { grid-template-columns:repeat(2,1fr); }
  .bvma-register { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .bvma-seminar { width:min(100% - 14px,1180px); margin-top:8px; }
  .bvma-hero { padding:24px 18px 30px; border-radius:20px; }
  .bvma-hero h1 { font-size:43px; }
  .bvma-hero h1 span { font-size:.56em; }
  .bvma-hero__badge { font-size:22px; top:12px; right:10px; }
  .bvma-event-meta { gap:12px; }
  .bvma-event-meta div { width:100%; }
  .bvma-availability,.bvma-learn,.bvma-register { padding-top:48px; }
  .bvma-learn-grid { grid-template-columns:1fr; }
  .bvma-register { padding:24px 14px; border-radius:20px; }
  .bvma-form { grid-template-columns:1fr; padding:16px; border-radius:17px; }
  .bvma-field,.bvma-field--full,.bvma-session-picker,.bvma-check,.bvma-form-message { grid-column:1; }
  .bvma-radio-card { grid-template-columns:auto 1fr; }
  .bvma-radio-card__spots { grid-column:2; }
  .bvma-details { grid-template-columns:1fr; }
  .bvma-footer-line { font-size:11px; letter-spacing:.1em; }
}
