/*
 * BCKSTGE Monochrome System
 * Editorial structure inspired by modern culture platforms: oversized type,
 * generous negative space, flat surfaces, photography, and decisive actions.
 */

:root {
  color-scheme: dark;
  --rb-black: #000000;
  --rb-ink: #050505;
  --rb-panel: #0a0a0a;
  --rb-panel-2: #111111;
  --rb-white: #ffffff;
  --rb-muted: #a3a3a3;
  --rb-dim: #6f6f6f;
  --rb-line: #292929;
  --rb-line-strong: #454545;
  --rb-display: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
  scroll-behavior: smooth;
}

body {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
  font-family: var(--rb-display) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body::selection,
body *::selection {
  background: var(--rb-white);
  color: var(--rb-black);
}

:where(h1, h2, h3, h4, h5, h6, p, li, label, legend, dt, dd, strong, small, span) {
  color: inherit;
}

:where(h1, h2, h3) {
  font-family: var(--rb-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.055em !important;
}

:where(p, li, label, input, textarea, select, button, a) {
  font-family: var(--rb-display) !important;
}

a {
  color: var(--rb-white) !important;
  text-underline-offset: 0.22em;
}

hr {
  border: 0 !important;
  border-top: 1px solid var(--rb-line) !important;
}

/* Shared navigation */
:where(.nav, .topbar, .decca-header, .dashboard-header, .top) {
  background: rgba(0, 0, 0, 0.92) !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.nav {
  min-height: 72px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
}

.nav-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  padding-inline: clamp(20px, 4vw, 64px) !important;
}

:where(.brand, .header-title, .decca-header-title) {
  color: var(--rb-white) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
}

.nav-links {
  gap: clamp(2px, 1vw, 18px) !important;
}

.nav-links a {
  color: #c6c6c6 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 10px 12px !important;
  border-radius: 999px !important;
}

.nav-links a:hover,
.nav-links a.active {
  color: var(--rb-white) !important;
  background: #171717 !important;
}

.nav-cta {
  color: var(--rb-black) !important;
  background: var(--rb-white) !important;
  border: 1px solid var(--rb-white) !important;
  padding: 11px 18px !important;
}

.nav-cta:hover {
  color: var(--rb-white) !important;
  background: var(--rb-black) !important;
}

.nav-toggle span { background: var(--rb-white) !important; }

.nav-toggle,
.nav-toggle:hover {
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--rb-white) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Shared surfaces */
:where(
  .card, .panel, .section, .events-card, .event-card, .detail-card,
  .state-card, .host-profile-card, .event-map-card, .app-promo-card,
  .promoter-code-card, .checkout-card, .summary-card, .access-card,
  .toolbar, .check, .listItem, .tableCard, .statCard, .metric-card,
  .order-card, .menu-card, .review, .success-card, .content-card
) {
  background: var(--rb-panel) !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-line) !important;
  box-shadow: none !important;
}

:where(.card, .panel, .event-card, .detail-card, .state-card, .host-profile-card, .event-map-card, .promoter-code-card, .checkout-card, .access-card) {
  border: 1px solid var(--rb-line) !important;
  border-radius: 0 !important;
}

:where(.muted, .secondary, .tertiary, .sub, .lede, .supporting, .step-copy,
  .section-caption, .event-location, .event-description, .price-caption,
  .login-subtitle, .hero-sub, .sec-sub, .fine-print, .footer-copy,
  .footer-links, .setupText, .message, .event-date-line) {
  color: var(--rb-muted) !important;
}

:where(.eyebrow, .sec-eyebrow, .events-eyebrow, .event-kicker, .section-kicker,
  .section-eyebrow, .decca-section-label, .step-count, .pill) {
  color: var(--rb-white) !important;
  background: transparent !important;
  border-color: var(--rb-line-strong) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body:not(.rebrand-home) :where(.wrap, .hero, .contact-page, .events-hero)::before,
body:not(.rebrand-home) :where(.wrap, .hero, .contact-page, .events-hero)::after {
  background: none !important;
  box-shadow: none !important;
}

.phone-screen { background: var(--rb-black) !important; }

/* Inputs */
:where(input, textarea, select) {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
  border: 1px solid var(--rb-line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

:where(input, textarea, select):focus {
  border-color: var(--rb-white) !important;
  box-shadow: 0 0 0 1px var(--rb-white) !important;
}

:where(input, textarea)::placeholder { color: #6f6f6f !important; }

/* Primary and secondary actions */
:where(
  button, .button, .btn, .btn-primary, .mainBtn, .primary, .checkout-button,
  .ticket-button, .price-btn, .secure-ticket-button, .app-download-button,
  .uploadPhotoBtn, .success-btn, .promoter-code-apply
) {
  background: var(--rb-white) !important;
  color: var(--rb-black) !important;
  border: 1px solid var(--rb-white) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

a:is(.button, .btn, .btn-primary, .mainBtn, .primary, .checkout-button,
  .ticket-button, .price-btn, .secure-ticket-button, .app-download-button,
  .uploadPhotoBtn, .success-btn, .promoter-code-apply) {
  color: var(--rb-black) !important;
}

:where(
  button, .button, .btn, .btn-primary, .mainBtn, .primary, .checkout-button,
  .ticket-button, .price-btn, .secure-ticket-button, .app-download-button,
  .uploadPhotoBtn, .success-btn, .promoter-code-apply
):hover:not(:disabled) {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-white) !important;
  transform: translateY(-1px);
}

:where(button:disabled, .disabled) {
  background: #242424 !important;
  color: #777 !important;
  border-color: #242424 !important;
  opacity: 1 !important;
}

:where(.ghost, .secondary-button, .secondary, .quietBtn, .textBtn, .btn-text,
  .back, .decca-back, .scroll-arrow, .password-toggle, .tab) {
  background: transparent !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-line-strong) !important;
  box-shadow: none !important;
}

:where(.ghost, .secondary-button, .secondary, .quietBtn, .btn-text, .tab):hover {
  background: var(--rb-white) !important;
  color: var(--rb-black) !important;
  border-color: var(--rb-white) !important;
}

/* Remove legacy colored treatments. */
:where(.gradient-title, .accent, .zero-number, .price-value, .event-date,
  .detail-price) {
  color: var(--rb-white) !important;
  background: none !important;
  -webkit-text-fill-color: var(--rb-white) !important;
}

:where(.progress-fill, .type-caret) {
  color: var(--rb-white) !important;
  background: var(--rb-white) !important;
}

:where(.ordersBadge, .live) {
  color: var(--rb-black) !important;
  background: var(--rb-white) !important;
}

:where(.error, .success, .warning, .danger, .pill.off, .pill.on, .status) {
  color: var(--rb-white) !important;
  background: transparent !important;
  border-color: var(--rb-line-strong) !important;
}

/* Homepage: inverted editorial landing page. */
body.rebrand-home .nav {
  position: absolute !important;
  inset: 0 0 auto !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.86), transparent) !important;
  border-bottom: 0 !important;
}

body.rebrand-home .brand-logo {
  width: 220px !important;
  height: 50px !important;
  object-fit: cover !important;
  object-position: center !important;
  mix-blend-mode: hard-light;
  filter: grayscale(1) contrast(1.1) !important;
}

body.rebrand-home .hero {
  min-height: calc(100svh - 88px) !important;
  height: auto !important;
  padding: 132px 5vw 80px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--rb-black) !important;
  isolation: isolate;
}

body.rebrand-home .hero::before {
  display: none !important;
}

body.rebrand-home .hero-copy {
  max-width: 1120px !important;
}

body.rebrand-home .hero h1 {
  max-width: 1180px !important;
  font-size: clamp(82px, 13vw, 190px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.075em !important;
  line-height: 0.84 !important;
  text-shadow: none !important;
}

body.rebrand-home .hero-sub {
  max-width: 560px !important;
  margin-top: 32px !important;
  font-size: clamp(16px, 1.5vw, 21px) !important;
  color: #dedede !important;
  text-shadow: none !important;
}

body.rebrand-home .hero-actions { margin-top: 48px !important; }

body.rebrand-home .hero .btn-primary {
  min-width: 168px !important;
  height: 52px !important;
}

body.rebrand-home .home-events-shell {
  width: 100vw;
  margin-top: clamp(34px, 5vh, 62px);
  overflow: hidden;
}

body.rebrand-home .home-events-rail {
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.2vw, 18px);
  width: 100%;
  padding: 10px clamp(20px, 4vw, 64px) 18px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

body.rebrand-home .home-events-rail::-webkit-scrollbar { display: none; }

body.rebrand-home .home-events-rail.is-centered {
  justify-content: center;
}

body.rebrand-home .home-event-flyer {
  position: relative;
  flex: 0 0 clamp(126px, 11.5vw, 174px);
  height: clamp(178px, 16.25vw, 246px);
  overflow: hidden;
  scroll-snap-align: center;
  background: #080808 !important;
  color: var(--rb-white) !important;
  border: 0 !important;
  outline: 0 !important;
  transition: transform 180ms ease, filter 180ms ease, opacity 180ms ease !important;
}

body.rebrand-home .home-event-flyer:hover,
body.rebrand-home .home-event-flyer:focus-visible,
body.rebrand-home .home-event-flyer.is-active {
  transform: translateY(-4px) scale(1.025);
  filter: brightness(1.08);
}

body.rebrand-home .home-event-flyer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

body.rebrand-home .home-event-flyer.no-image {
  background: #111 !important;
}

body.rebrand-home .home-event-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #777;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-align: center;
}

body.rebrand-home .home-event-details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  width: 100%;
  min-height: 146px;
  padding: 14px clamp(20px, 4vw, 64px) 0;
  color: var(--rb-white);
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  pointer-events: none;
}

body.rebrand-home .home-event-details.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

body.rebrand-home .home-event-detail-name {
  color: #fff;
  font-size: clamp(17px, 1.35vw, 21px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

body.rebrand-home :where(.home-event-detail-address, .home-event-detail-going) {
  color: rgba(255, 255, 255, .74);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 400;
  line-height: 1.25;
}

body.rebrand-home .home-event-detail-going {
  color: #fff;
  font-weight: 500;
}

body.rebrand-home .home-event-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  height: 40px;
  margin-top: 9px;
  padding: 0 20px;
  color: #000 !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  transition: transform 160ms ease, background 160ms ease !important;
}

body.rebrand-home .home-event-detail-link:hover,
body.rebrand-home .home-event-detail-link:focus-visible {
  color: #000 !important;
  background: #dedede !important;
  transform: translateY(-1px);
}

body.rebrand-home .home-events-loading {
  margin: 44px auto;
  color: var(--rb-muted);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.rebrand-home .home-events-rail.is-empty {
  justify-content: center;
}

body.rebrand-home .home-events-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 168px;
  height: 52px;
  padding: 0 24px;
  color: var(--rb-black) !important;
  background: var(--rb-white) !important;
  border: 1px solid var(--rb-white) !important;
  border-radius: 999px;
  font-weight: 600;
}

body.rebrand-home .hero-devices {
  display: none !important;
}

body.rebrand-home .phone-scroll-section {
  position: relative;
  height: 500svh;
  min-height: 3400px;
  background: var(--rb-black);
}

body.rebrand-home .phone-scroll-sticky {
  position: sticky;
  top: 0;
  display: grid;
  width: 100%;
  height: 100svh;
  place-items: center;
  overflow: hidden;
  background: var(--rb-black);
}

body.rebrand-home .phone-scroll-stage {
  position: relative;
  width: min(72vw, 370px, 40svh);
  aspect-ratio: 9 / 18.5;
  overflow: hidden;
  color: #fff;
  background: #080808;
  border-radius: clamp(26px, 3vw, 38px);
  opacity: 0;
  transform: translate3d(0, 18vh, 0) scale(.88);
  transform-origin: center center;
  will-change: opacity, transform;
  box-shadow: 0 34px 90px rgba(255, 255, 255, .12);
}

body.rebrand-home .phone-scroll-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}

body.rebrand-home .phone-scroll-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 132%;
  background: #080808;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

body.rebrand-home .phone-preview-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #111;
}

body.rebrand-home .phone-preview-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.rebrand-home .phone-preview-media img[hidden] { display: none; }

body.rebrand-home .phone-preview-fallback {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #565656;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: .12em;
}

body.rebrand-home .phone-preview-fallback[hidden] { display: none; }

body.rebrand-home .phone-preview-body {
  padding: 20px 20px 34px;
  text-align: left;
}

body.rebrand-home .phone-preview-date {
  margin: 0 0 8px;
  color: #8b8b8b;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.rebrand-home .phone-preview-body h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(25px, 3vw, 32px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.055em;
}

body.rebrand-home .phone-preview-address,
body.rebrand-home .phone-preview-going {
  margin: 10px 0 0;
  color: #9b9b9b;
  font-size: 13px;
  line-height: 1.35;
}

body.rebrand-home .phone-preview-going {
  margin-top: 4px;
  color: #fff;
  font-weight: 550;
}

body.rebrand-home .phone-preview-cta {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 1;
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  padding: 0 17px 0 19px;
  color: #000 !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  opacity: 0;
  transform: translate3d(-28px, 0, 0);
  will-change: opacity, transform;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .42);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -.01em;
  pointer-events: none;
}

body.rebrand-home .phone-preview-cta-arrow {
  display: inline-block;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  will-change: transform;
}

body.rebrand-home .phone-preview-divider {
  height: 1px;
  margin: 24px 0 20px;
  background: #242424;
}

body.rebrand-home .phone-preview-body h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 550;
}

body.rebrand-home .phone-preview-description {
  margin: 0;
  color: #a1a1a1;
  font-size: 14px;
  line-height: 1.5;
}

body.rebrand-home .phone-preview-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 18px;
}

body.rebrand-home .phone-preview-tags span {
  padding: 7px 10px;
  color: #bdbdbd;
  background: #161616;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
}

body.rebrand-home .phone-ticket-screen {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  color: #fff;
  background: #000;
  transform: translate3d(100%, 0, 0);
  will-change: transform;
  pointer-events: none;
  font-family: "Arial Narrow", "Roboto Condensed", "Inter", sans-serif;
}

body.rebrand-home .phone-checkout-header {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  min-height: 60px;
  padding: 0 17px;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid rgba(255, 255, 255, .24);
  color: rgba(255, 255, 255, .62);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.35px;
}

body.rebrand-home .phone-checkout-header strong {
  color: #fff;
  font-size: 11px;
  letter-spacing: 1.55px;
}

body.rebrand-home .phone-checkout-close {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 18px;
  line-height: 1;
}

body.rebrand-home .phone-checkout-body {
  padding: 0 17px 82px;
}

body.rebrand-home .phone-checkout-event {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  min-height: 108px;
  padding: 18px 0;
  align-items: center;
  gap: 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .24);
}

body.rebrand-home .phone-checkout-event img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  filter: grayscale(1);
}

body.rebrand-home .phone-checkout-event h2 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  line-height: .92;
  letter-spacing: -1px;
}

body.rebrand-home .phone-checkout-event p {
  margin: 6px 0 0;
  color: rgba(255, 255, 255, .62);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .9px;
}

body.rebrand-home .phone-checkout-label {
  margin: 0;
  padding: 22px 0 10px;
  color: rgba(255, 255, 255, .62);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.65px;
}

body.rebrand-home .phone-ticket-option {
  display: flex;
  min-height: 70px;
  padding: 14px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #fff;
  color: #fff;
  background: #000;
  transition: color .24s ease, background .24s ease, transform .24s ease;
}

body.rebrand-home .phone-ticket-option-copy,
body.rebrand-home .phone-ticket-option-price,
body.rebrand-home .phone-ticket-quantity-row > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

body.rebrand-home .phone-ticket-option strong,
body.rebrand-home .phone-ticket-quantity-row strong {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
}

body.rebrand-home .phone-ticket-option small,
body.rebrand-home .phone-ticket-quantity-row small {
  color: currentColor;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .9px;
  opacity: .62;
}

body.rebrand-home .phone-ticket-option-price {
  align-items: flex-end;
  text-align: right;
}

body.rebrand-home .phone-ticket-selection-dot {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1;
}

body.rebrand-home .phone-quantity-label {
  padding-top: 18px;
}

body.rebrand-home .phone-ticket-quantity-row {
  display: flex;
  min-height: 74px;
  padding: 14px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(255, 255, 255, .24);
}

body.rebrand-home .phone-ticket-quantity-controls {
  display: grid;
  grid-template-columns: repeat(3, 34px);
  flex: 0 0 auto;
}

body.rebrand-home .phone-ticket-quantity-controls > * {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .24);
  font-family: "Inter", sans-serif;
  font-size: 14px;
}

body.rebrand-home .phone-ticket-minus {
  opacity: .4;
  transition: opacity .22s ease;
}

body.rebrand-home .phone-ticket-quantity-value {
  transition: transform .22s ease;
}

body.rebrand-home .phone-ticket-selected-status {
  display: flex;
  margin-top: 14px;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, .68);
  font-size: 9px;
  letter-spacing: 1.2px;
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  transition: opacity .24s ease, transform .24s ease;
}

body.rebrand-home .phone-ticket-selected-status > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .4);
}

body.rebrand-home .phone-ticket-continue {
  position: absolute;
  right: 17px;
  bottom: 17px;
  left: 17px;
  display: flex;
  min-height: 48px;
  padding: 0 16px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, .24);
  color: rgba(255, 255, 255, .4);
  background: #000;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.25px;
  transition: color .24s ease, background .24s ease, border-color .24s ease;
}

body.rebrand-home .phone-ticket-screen.is-selected .phone-ticket-option {
  color: #000;
  background: #fff;
  transform: scale(1.012);
}

body.rebrand-home .phone-ticket-screen.is-selected .phone-ticket-minus {
  opacity: 1;
}

body.rebrand-home .phone-ticket-screen.is-selected .phone-ticket-quantity-value {
  transform: scale(1.18);
}

body.rebrand-home .phone-ticket-screen.is-selected .phone-ticket-selected-status {
  opacity: 1;
  transform: none;
}

body.rebrand-home .phone-ticket-screen.is-selected .phone-ticket-continue {
  border-color: #fff;
  color: #000;
  background: #fff;
}

body.rebrand-home .phone-confirmation-screen {
  position: absolute;
  inset: 0;
  z-index: 3;
  overflow: hidden;
  color: #fff;
  background: #000;
  transform: translate3d(100%, 0, 0);
  will-change: transform;
  pointer-events: none;
}

body.rebrand-home .phone-confirmation-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 170%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .09) 0%, rgba(255, 255, 255, 0) 62%);
  opacity: 0;
  transform: translate(-50%, -50%);
  will-change: opacity;
}

body.rebrand-home .phone-confirmation-screen h2 {
  position: absolute;
  top: 38px;
  right: 16px;
  left: 16px;
  z-index: 2;
  margin: 0;
  color: #fff;
  font-size: clamp(25px, 3vw, 28px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.04em;
  text-align: center;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  will-change: opacity, transform;
}

body.rebrand-home .phone-confirmation-tickets {
  position: absolute;
  inset: 0;
}

body.rebrand-home .phone-confirmation-ticket {
  position: absolute;
  top: 53%;
  left: 50%;
  width: min(78%, 290px);
  height: auto;
  aspect-ratio: 2 / 1;
  max-width: none;
  object-fit: contain;
  opacity: 0;
  transform-origin: center;
  will-change: opacity, transform;
  filter: drop-shadow(0 18px 24px rgba(255, 255, 255, .08));
}

body.rebrand-home .hero-device {
  display: none !important;
}

body.rebrand-home footer {
  min-height: 88px !important;
  padding-inline: clamp(20px, 4vw, 64px) !important;
  border-top: 1px solid var(--rb-line) !important;
}

body.rebrand-home :where(.zero-section, .section, .cta-section) {
  background: var(--rb-black) !important;
  border-color: var(--rb-line) !important;
}

body.rebrand-home .zero-section {
  padding-block: clamp(100px, 16vw, 210px) !important;
}

body.rebrand-home .zero-number {
  background: transparent !important;
  font-size: clamp(120px, 23vw, 330px) !important;
  font-weight: 400 !important;
  line-height: .75 !important;
}

body.rebrand-home .section-heading,
body.rebrand-home .cta-section h2 {
  font-size: clamp(56px, 8vw, 118px) !important;
  line-height: .92 !important;
}

body.rebrand-home :where(.feature-card, .step-card, .stat-card, .fastlane-card, .song-card) {
  background: transparent !important;
  border: 1px solid var(--rb-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Events: POSH-like oversized title and flat poster rail. */
.events-hero {
  padding: clamp(120px, 17vw, 230px) clamp(20px, 6vw, 90px) 70px !important;
  text-align: left !important;
  background: var(--rb-black) !important;
}

.events-hero::before { display: none !important; }

.events-hero h1 {
  max-width: 1100px !important;
  margin: 0 !important;
  font-size: clamp(72px, 13vw, 190px) !important;
  font-weight: 500 !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
}

.events-hero p {
  max-width: 520px !important;
  margin: 36px 0 0 !important;
  color: var(--rb-muted) !important;
}

.events-eyebrow { display: none !important; }

.page-container { max-width: none !important; padding-bottom: 120px !important; }
.events-card { border: 0 !important; }
#events-container { gap: 16px !important; padding: 0 clamp(20px, 6vw, 90px) 34px !important; }

.event-card {
  flex: 0 0 clamp(260px, 25vw, 390px) !important;
  background: transparent !important;
  border: 0 !important;
}

.event-card .event-image,
.event-card img {
  border-radius: 0 !important;
  filter: saturate(.9) contrast(1.04);
}

.event-card .event-content { padding: 18px 0 !important; }
.event-card h2 { font-size: clamp(23px, 2.2vw, 34px) !important; }
.event-card button { width: auto !important; padding-inline: 22px !important; }

/* Event detail */
.detail-shell,
.detail-main { background: var(--rb-black) !important; color: var(--rb-white) !important; }
.event-backdrop { filter: grayscale(.25) brightness(.45) !important; }
.event-title { color: var(--rb-white) !important; font-size: clamp(46px, 8vw, 112px) !important; line-height: .9 !important; }
.section-title { color: var(--rb-white) !important; }
.bottom-ticket-bar { background: rgba(0,0,0,.94) !important; border-color: var(--rb-line) !important; }

/* Marketing/product pages */
:where(.section, .alt) { background: var(--rb-black) !important; }
:where(.sec-heading, .section-heading) {
  color: var(--rb-white) !important;
  font-size: clamp(44px, 6vw, 90px) !important;
  line-height: .94 !important;
}

.phone { border-color: var(--rb-line-strong) !important; box-shadow: none !important; }
.phone-video { filter: grayscale(1); }

/* Authentication and forms */
:where(.wrap, .shell, .form-panel) { background: var(--rb-black) !important; color: var(--rb-white) !important; }
.login-shell { background: var(--rb-black) !important; }
.media-panel::after { background: linear-gradient(90deg, transparent, #000) !important; }
.media-panel video { filter: grayscale(1) contrast(1.1) brightness(.68); }
.form-panel h1,
.wrap > h1 { font-size: clamp(48px, 7vw, 92px) !important; line-height: .92 !important; }
.progress { background: var(--rb-line) !important; }
.progress-fill { background: var(--rb-white) !important; }

/* Checkout flow */
.checkout-shell,
.checkout-main,
.decca-event-summary,
.event-summary,
.checkout-bottom-bar {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-line) !important;
}

.checkout-image { filter: grayscale(.35) contrast(1.08); }
.ticket-row,
.ticket-option { background: var(--rb-panel) !important; border-color: var(--rb-line) !important; }

/* Dashboard/admin: dense, monochrome work surface. */
:where(.page, .container, .dashboard, .view) {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
}

.tabs {
  border-color: var(--rb-line) !important;
  background: var(--rb-black) !important;
}

.tab {
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
}

.tab.active {
  color: var(--rb-white) !important;
  border-bottom-color: var(--rb-white) !important;
}

.themeToggleTrack,
.themeToggleThumb { background: var(--rb-white) !important; }
.themeIcon { color: var(--rb-white) !important; }

table, thead, tbody, tr, th, td {
  background: transparent !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-line) !important;
}

/* Legal/footer */
footer,
.footer,
.site-footer {
  background: var(--rb-black) !important;
  color: var(--rb-white) !important;
  border-color: var(--rb-line) !important;
}

footer a,
.footer a { color: var(--rb-white) !important; }

@media (max-width: 980px) {
  .nav-links {
    background: #050505 !important;
    border: 1px solid var(--rb-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.rebrand-home .brand-logo { width: 176px !important; height: 42px !important; }
}

@media (max-width: 620px) {
  .nav, .nav-inner { min-height: 64px !important; }

  body.rebrand-home .hero {
    min-height: calc(100svh - 104px) !important;
    padding: 112px 20px 64px !important;
  }

  body.rebrand-home .home-events-shell {
    margin-top: 40px;
  }

  body.rebrand-home .home-events-rail {
    gap: 10px;
    padding-inline: 20px;
  }

  body.rebrand-home .home-event-flyer {
    flex-basis: 132px;
    height: 188px;
  }

  body.rebrand-home .hero h1 {
    font-size: clamp(62px, 20vw, 86px) !important;
    line-height: .85 !important;
  }

  body.rebrand-home .hero-sub { font-size: 16px !important; }
  body.rebrand-home .hero-device { width: 310px !important; }

  body.rebrand-home .phone-scroll-section {
    height: 450svh;
    min-height: 3000px;
  }

  body.rebrand-home .phone-scroll-stage {
    width: min(80vw, 330px, 40svh);
  }

  .events-hero { padding: 118px 20px 56px !important; }
  .events-hero h1 { font-size: clamp(68px, 24vw, 104px) !important; }
  #events-container { padding-inline: 20px !important; }

  :where(.card, .panel, .detail-card, .access-card) { padding: 20px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  body.rebrand-home .phone-scroll-section {
    height: 100svh;
    min-height: 0;
  }

  body.rebrand-home .phone-scroll-stage {
    opacity: 1 !important;
    transform: none !important;
  }

  body.rebrand-home .phone-scroll-content {
    transform: none !important;
  }

  body.rebrand-home .phone-preview-cta {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto;
  }
}
