:root{
  --sxp-maroon:#671840;
  --sxp-maroon-dark:#4a1130;
  --sxp-pink:#a83270;
  --sxp-cream:#fdf6ee;
}
html,body{ background:var(--sxp-cream); color:#221; }
body{ min-height:100vh; display:flex; flex-direction:column; }
main{ flex:1; }

.sxp-nav{ background:var(--sxp-maroon); padding:.6rem 0; }
.sxp-nav .navbar-brand{ padding:0; }
.sxp-logo{ height:38px; width:auto; display:block; }
@media (max-width: 576px){ .sxp-logo{ height:32px; } }

.sxp-footer{ background:var(--sxp-maroon-dark); }

.sxp-hero{
  background:linear-gradient(135deg, var(--sxp-maroon) 0%, var(--sxp-pink) 100%);
  color:#fff; border-radius:18px; padding:2rem; margin-bottom:1.5rem;
}
.sxp-hero h1{ font-weight:800; line-height:1.15; }
.sxp-hero .badge-live{
  background:#fff; color:var(--sxp-maroon); font-weight:700; letter-spacing:.05em;
  padding:.4rem .9rem; border-radius:999px; font-size:.8rem;
}
.sxp-poster{ max-width:100%; height:auto; border-radius:16px;
  box-shadow:0 12px 32px rgba(0,0,0,.18); }

.btn-sxp{
  background:#fff; color:var(--sxp-maroon); border:none; font-weight:700;
  padding:.75rem 2rem; border-radius:999px;
}
.btn-sxp:hover{ background:#ffe9d9; color:var(--sxp-maroon); }
.btn-sxp-solid{
  background:var(--sxp-maroon); color:#fff; border:none; font-weight:700;
  padding:.75rem 2rem; border-radius:999px;
}
.btn-sxp-solid:hover{ background:var(--sxp-maroon-dark); color:#fff; }

.sxp-card{
  background:#fff; border-radius:18px; padding:1.5rem;
  box-shadow:0 4px 18px rgba(103,24,64,.08);
}

.sxp-cred{
  background:#fff8ec; border:1px dashed var(--sxp-maroon);
  border-radius:12px; padding:1rem 1.25rem; font-family:ui-monospace,Menlo,monospace;
}

.form-control:focus{
  border-color:var(--sxp-pink);
  box-shadow:0 0 0 .25rem rgba(168,50,112,.18);
}

.event-row{ display:flex; gap:.75rem; padding:.65rem 0;
  border-bottom:1px solid #eee; }
.event-row:last-child{ border-bottom:none; }
.event-row .label{ font-weight:600; color:var(--sxp-maroon); width:130px; }
