/* One blue accent, neutral paper and clear ink across the Brisbane page.
   These overrides only change colour; all existing controls keep their behaviour. */
:root {
  --offer-blue: #0a49ba;
  --offer-blue-bright: #246ef5;
  --offer-blue-hover: #083c9b;
  --ticket-white: #fff;
  --paper: #f5f5f5;
  --ink: #111;
  --dark: #111;
  --red: var(--offer-blue);
  --line: #dedede;
  --muted-ink: #575757;
  --pixel-red: var(--offer-blue);
}

::selection { background: #cbdcff; color: var(--ink); }
:focus-visible { outline-color: var(--offer-blue); }
.pixel-control { --pixel-contrast: var(--ink); }

/* The two white shells share the same colour, including the mobile menu. */
.site-header,
.site-header .main-nav,
.site-header .main-nav a,
.site-header .menu-toggle { color: var(--ink); }
.site-header .main-nav a:hover { color: var(--offer-blue); }
.site-header .nav-ticket,
.pill-button,
.signup-field button,
.quantity-stepper button {
  background: var(--offer-blue);
  color: #fff;
  --pixel-red: #fff;
  --pixel-contrast: #ffd166;
}
.site-header .nav-ticket { border-color: var(--offer-blue); }
.site-header .nav-ticket span { color: inherit; }
.pill-button span { color: #fff; }
.hero .hero-ticket { background: var(--ticket-white); color: var(--ink); }
.hero .hero-ticket small { color: var(--muted-ink); }
.hero .hero-ticket:hover { background: var(--ticket-white); }

.section-heading > p,
.section-note,
.speaker-bio > p,
.speaker-back > p,
.ticket-tabs button small,
.ticket-offer .offer-detail,
.countdown small,
.quantity-selector > p,
.booking-note,
.faq-answer,
.signup-copy > p,
.signup-form > p { color: var(--muted-ink); }
.speaker-card > img { background: #e7e7e7; }
.speaker-toggle { color: var(--ink); }
.speaker-toggle:hover { color: var(--offer-blue); }

.partner-card { border-color: #d7d7d7; }
.partner-card h3,
.faq h2 > span,
.ticket-tabs button[aria-selected=true],
.ticket-benefits li::before { color: var(--offer-blue); }
a.partner-card:hover { background: #edf2fc; border-color: var(--offer-blue); }
.partner-grid .partner-additional > a.partner-card:hover { background: #edf2fc; }

.ticket-tabs { border-color: #d7d7d7; }
.quantity-stepper { border-color: #c9c9c9; }
.ticket-panel { background: #ebebeb; }
.ticket-price { background: var(--offer-blue); color: #fff; }
.ticket-kicker,
.regular-price,
.included-guest,
.ticket-price small,
.ticket-price .quantity-breakdown,
.checkout-trust { color: #e7efff; }

/* The outline remains visible when the fill recedes into the blue panel. */
.ticket-price .buy-ticket {
  --pixel-red: #ffd166;
  --pixel-teal: #00b89f;
  --pixel-contrast: #fff;
  background: #fff;
  color: var(--offer-blue);
  box-shadow: inset 0 0 0 2px #fff;
}
.ticket-price .buy-ticket .pixel-cell { fill: #ffd166; stroke: var(--offer-blue); }
.ticket-price .buy-ticket .pixel-cell:nth-child(2) { fill: #00b89f; }
.ticket-price .buy-ticket .pixel-cell:nth-child(3) { fill: var(--offer-blue); }
.ticket-price .buy-ticket:is(:focus-visible, :active):not([aria-disabled="true"]):not([aria-busy="true"]) {
  background: var(--offer-blue);
  color: #fff;
  outline-color: #fff;
}
.ticket-price .buy-ticket:is(:focus-visible, :active):not([aria-disabled="true"]):not([aria-busy="true"]) .pixel-cell:nth-child(3) { fill: #fff; }
.ticket-price .buy-ticket:is([aria-disabled="true"], [aria-busy="true"]):hover { background: #fff; color: var(--offer-blue); }

.faq-item summary:hover,
.faq-item[open] summary { background: #e7eefb; color: var(--ink); }
.checkout-status { background: #e7eefb; border-color: var(--offer-blue); }
.signup { border-color: #d7d7d7; }
.signup-field { border-color: #a7a7a7; }
.signup-form a,
.faq-answer a { color: var(--offer-blue); }
.signup-field button:is(:disabled, [aria-busy="true"]):hover { background: var(--offer-blue); }

/* Reuse the existing pixel silhouettes without their old burgundy fill. */
.agenda-motif {
  background: var(--offer-blue);
  -webkit-mask: url('./assets/motifs/agenda-pixel-strip.svg') left top / 100% auto repeat-y;
  mask: url('./assets/motifs/agenda-pixel-strip.svg') left top / 100% auto repeat-y;
  opacity: .6;
}
.faq-motif { filter: grayscale(1); opacity: .45; }
.signup-copy > .pixel-expand {
  background: var(--offer-blue);
  -webkit-mask: url('./assets/motifs/read-bio-expand.svg') center / contain no-repeat;
  mask: url('./assets/motifs/read-bio-expand.svg') center / contain no-repeat;
}

@media (hover: hover) and (pointer: fine) {
  .site-header .nav-ticket:hover,
  .pill-button:hover,
  .signup-field button:hover:not(:disabled),
  .quantity-stepper button:hover:not(:disabled) { background: var(--offer-blue-hover); }
  .ticket-price .buy-ticket:hover:not([aria-disabled="true"]):not([aria-busy="true"]) { background: var(--offer-blue); color: #fff; }
  .ticket-price .buy-ticket:hover:not([aria-disabled="true"]):not([aria-busy="true"]) .pixel-cell:nth-child(3) { fill: #fff; }
}

@media (max-width: 600px) {
  .ticket-tabs { background: #eee; border-color: #d7d7d7; }
  .ticket-tabs button[aria-selected=true] { background: var(--offer-blue); color: #fff; }
  .ticket-tabs button[aria-selected=true] small { color: #e7efff; }
}
