/*
Theme Name:  A2A Theme
Description: Child theme for A2A Theme. Requires the dpa-theme parent theme and dpa-webinar plugin.
Version:     1.0.0
Author:      DPA Branding
Author URI:  https://dpabranding.com
Template:    dpa-theme
Text Domain: a2a-theme
*/

/* =============================================================================
   A2A Theme — Child overrides
   All measurements, colours, and typography sourced from /a2a_prototype.
   ============================================================================= */

/* ── 1. Navigation — white bar overrides ─────────────────────────────────────
   color_bg_header is now #FFFFFF (white nav). The parent nav rules inherit
   that correctly for background/mobile-drawer, but several border and icon
   colours need adjusting for visibility on a light surface.
   ============================================================================= */

/* Lighter border + subtle shadow matching prototype (0 2px 12px rgba(0,0,0,.08)) */
.dpa-nav {
  border-bottom-color: #e5e7eb;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Nav height: 88 px logo + 8 px top/bottom padding = 104 px total row */
.dpa-nav__inner {
  height: 104px;
}

/* Desktop nav links: dark on white */
/* Prototype uses gap-2 (8px) on the <ul> — override parent's gap:36px.
   DaisyUI menu link padding is 0.5rem 1rem (8px / 16px). */
.dpa-nav__menu {
  gap: 8px;
}
.dpa-nav__menu li a {
  color: #111610;
  padding: 8px 16px;       /* matches DaisyUI menu-horizontal 0.5rem 1rem */
  border-radius: 0.5rem;   /* pill shape, matching DaisyUI menu-horizontal */
}
/* Active page: red text only — prototype uses text-patriot-500, no underline */
.dpa-nav__menu li.current-menu-item > a {
  border-bottom-color: transparent;
}
/* Hover: brass text + light-grey pill background — mirrors DaisyUI hover:bg-base-200 */
.dpa-nav__menu li a:hover {
  color: #BE9552;
  background-color: #f3f4f6;
  border-bottom-color: transparent;
}

/* Icon buttons (account + cart): dark border/icon on white */
.dpa-nav__icon-btn {
  border-color: #d1d5db;
  color: #111610;
}
.dpa-nav__icon-btn:hover {
  border-color: #C34529;
  color: #C34529;
}

/* Cart count badge: parent theme uses color: var(--dpa-ink) = #111610 (dark) on
   a red badge. Override to white so the number is legible on the red background. */
.dpa-nav__cart-count {
  color: #ffffff !important;
}

/* Hamburger bars: dark for white background */
.dpa-nav__toggle-bar {
  background: #111610;
}

/* Mobile drawer: white background, light borders */
.dpa-nav__mobile {
  border-top-color: #e5e7eb;
}
.dpa-nav__mobile-menu li a {
  color: #111610;
  border-bottom-color: #e5e7eb;
}
/* Cart count badge inside the mobile drawer — reset absolute positioning so it
   sits inline next to the "Cart" label rather than floating over the page. */
.dpa-nav__mobile .dpa-nav__cart-count {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

/* My Account link in the mobile drawer — styled to match menu item rows */
.dpa-nav__mobile-account {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #111610;
  padding: 12px 0;
  border-bottom: 1px solid #e5e7eb;
  text-decoration: none;
}
.dpa-nav__mobile-account:hover {
  color: #BE9552;
}

/* ── Desktop sub-menu dropdowns ─────────────────────────────────────────── */
.dpa-nav__menu li {
  position: relative;
}
/* Chevron on parent items */
.dpa-nav__menu li.menu-item-has-children > a::after {
  content: ' ▾';
  font-size: 0.65em;
  opacity: 0.55;
  letter-spacing: 0;
}
/* Hidden by default */
.dpa-nav__menu .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 200px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10);
  padding: 0.375rem 0;
  list-style: none;
  z-index: 9999;
  flex-direction: column;
  gap: 0;
}
/* Show on hover / keyboard focus */
.dpa-nav__menu li:hover > .sub-menu,
.dpa-nav__menu li:focus-within > .sub-menu {
  display: flex;
}
/* Sub-menu links */
.dpa-nav__menu .sub-menu li a {
  display: block;
  padding: 0.5rem 1.125rem;
  color: #111610;
  border-radius: 0;
  white-space: nowrap;
  background: transparent;
}
.dpa-nav__menu .sub-menu li a:hover {
  color: #BE9552;
  background: #f3f4f6;
}

/* ── Mobile drawer sub-menus ─────────────────────────────────────────────── */
.dpa-nav__mobile-menu .sub-menu {
  display: block;
  list-style: none;
  padding-left: 1rem;
  margin: 0;
}
.dpa-nav__mobile-menu .sub-menu li a {
  font-size: 0.875rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #555;
  border-bottom-color: #f3f4f6;
}

/* ── 2. Buttons — patriot red on white nav, white text label ────────────────── */

/* White text is more legible on patriot red (#C34529) than dark ink */
.dpa-btn--gold {
  color: #ffffff;
}
.dpa-btn--gold:hover {
  background: #111610;
  border-color: #111610;
  color: #C34529;
}

/* ── 3. Dark-background fixes for elements that reference --dpa-bg-header ─────
   --dpa-bg-header is now white. These components must stay dark.
   ============================================================================= */

/* Override the CSS variable used by the reservation bar plugin */
:root {
  --dpa-bar-bg: #111610;
}

/* Seat-map dark strip inside the seat picker card */
.dpa-seat-picker-card__map-wrap {
  background: #111610;
}

/* Sticky "Select Your Seats" CTA bar */
.dpa-sticky-seat-cta {
  background: #111610;
  border-top-color: #303D3C;
}

/* Add-to-cart button inside the seat picker confirmation box */
.dpa-seat-picker-card__add-to-cart {
  background: #111610;
  border-color: #111610;
  color: #C34529;
}
.dpa-seat-picker-card__add-to-cart:hover {
  background: #C34529;
  border-color: #C34529;
  color: #ffffff;
}

/* ── 4. Stat card values — white on very dark background ─────────────────────
   Default: color: var(--dpa-gold) = patriot red. White reads better here.
   ============================================================================= */
.dpa-stat-card__value {
  color: #F0F4F0;
}

/* ── 5. Star ratings — amber, not patriot red ────────────────────────────────── */
.dpa-stars i {
  color: #F59E0B;
}

/* ── 6. A2A Footer ────────────────────────────────────────────────────────────
   Custom footer layout: 4-column grid (brand=2, navigate=1, contact=1).
   All measurements from a2a_prototype/js/layout.js renderFooter().
   Background:   #0C0F0C  (--dpa-bg-footer via brand config)
   Border-top:   #303D3C  (--dpa-border via brand config)
   Text (desc):  #BE9552  (brass)
   Text (muted): #755E3B  (dark brass)
   Col titles:   #ffffff
   Icons:        #C34529  (patriot red)
   ============================================================================= */

.a2a-footer {
  background: #0C0F0C;
  border-top: 1px solid #303D3C;
  color: #BE9552;
  font-family: var(--dpa-font-body);
}

/* Main content grid: 4-col with brand spanning 2 */
.a2a-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  padding-top: 56px;
  padding-bottom: 56px;
}

/* Brand description text */
.a2a-footer__desc {
  font-size: 0.875rem;
  line-height: 1.65;
  color: #BE9552;
  max-width: 420px;
  margin-top: 16px;
}

/* Social icon row */
.a2a-footer__social {
  display: flex;
  gap: 16px;
  margin-top: 24px;
}
.a2a-footer__social-link {
  color: #755E3B;
  font-size: 1.25rem;
  text-decoration: none;
  transition: color 0.2s;
}
.a2a-footer__social-link:hover {
  color: #C34529;
}

/* Column heading */
.a2a-footer__col-title {
  font-family: var(--dpa-font-display);
  font-size: 0.875rem;   /* text-sm — matches prototype */
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #ffffff;
  margin-bottom: 16px;
}

/* Navigate links */
.a2a-footer__menu {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.a2a-footer__menu li a {
  display: block;       /* prevents inherited inline line-height from inflating item height */
  padding: 0;           /* neutralises any parent-theme li a padding */
  line-height: 1.5;     /* matches contact column's implicit line-height */
  font-size: 0.875rem;
  color: #BE9552;
  text-decoration: none;
  transition: color 0.2s;
}
.a2a-footer__menu li a:hover {
  color: #C34529;
}

/* Contact list with Font Awesome icons */
.a2a-footer__contact {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.a2a-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.875rem;
}
.a2a-footer__contact li i {
  color: #C34529;
  width: 16px;
  flex-shrink: 0;
  margin-top: 3px;
}
.a2a-footer__contact li span {
  color: #BE9552;
  line-height: 1.5;
}

/* Bottom bar */
.a2a-footer__bottom {
  border-top: 1px solid #303D3C;
}
.a2a-footer__bottom-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.a2a-footer__copyright,
.a2a-footer__disclaimer {
  font-size: 0.75rem;
  color: #755E3B;
}

/* Responsive: stack footer grid on tablet and below */
@media (max-width: 768px) {
  .a2a-footer__grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .a2a-footer__desc {
    max-width: 100%;
  }
}

/* ── Mobile nav fixes ──────────────────────────────────────────────────────
   Match the parent theme's 900 px breakpoint so the hamburger toggle and
   the reduced nav height kick in at the same time.  Cap the logo height so
   it doesn't overflow the 72 px row, and block horizontal scroll that the
   oversized logo would otherwise cause.
   ──────────────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  /* Reduce nav row to match parent's mobile height */
  .dpa-nav__inner {
    height: 72px;
  }
  /* Allow the logo wrapper to shrink when space is tight */
  .dpa-nav__logo {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
  }
  /* Cap logo height so it sits comfortably inside the 72 px row */
  .dpa-logo {
    max-height: 52px;
    width: auto;
  }
}

/* ── Otter Chat widget — mobile repositioning ──────────────────────────────
   By default the plugin renders the chat toggle fixed to the bottom-right,
   which overlaps the checkout / add-to-cart CTAs on mobile.  Move it to the
   top-right corner (just below the 72 px sticky nav) on narrow screens only.
   !important is required to beat the plugin's own inline / high-specificity
   rule without touching the plugin files.
   ──────────────────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  #chatToggle,
  .chat-button {
    bottom: auto !important;
    top: 45px !important;              /* vertically centered in the 72px nav bar */
    right: auto !important;            /* cancel plugin's right-based positioning */
    left: calc(38.5vw) !important;     /* horizontally centered in the nav per inspector */
    box-shadow: none !important;       /* remove default plugin shadow */
  }
}

/* ── Homepage horizontal-overflow guard ────────────────────────────────────
   The homepage hero has absolutely-positioned decorators (700 px glow, canvas,
   accent stripe) that can extend beyond the viewport on narrow screens.  Even
   though the hero itself has overflow:hidden, some browsers let the document
   width grow to accommodate them, which causes the sticky nav to scroll
   horizontally and hides the hamburger.

   overflow-x: clip  clips the paint without creating a new scroll container,
   so position:sticky on the nav is completely unaffected.  WordPress adds the
   "home" body class on the front-page template.
   ──────────────────────────────────────────────────────────────────────── */
body.home #page {
  overflow-x: clip;
}

@media (min-width: 768px) {
  .a2a-footer__bottom-inner {
    flex-direction: row;
    align-items: center;
  }
}

/* =============================================================================
   A2A Homepage — front-page.php component styles
   All measurements from /a2a_prototype/index.html and home.js.
   ============================================================================= */

/* ── Shared button system ──────────────────────────────────────────────────── */
.btn-armor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  border-radius: 0.375rem;
  font-family: var(--dpa-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  text-decoration: none;
  transition: background 0.2s, box-shadow 0.3s, transform 0.15s, color 0.2s, border-color 0.2s;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
}
.btn-armor-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  transform: scale(0);
  animation: a2a-ripple 0.55s ease-out forwards;
  pointer-events: none;
}
@keyframes a2a-ripple { to { transform: scale(4); opacity: 0; } }

.btn-armor--patriot {
  background: #C34529;
  color: #ffffff;
  border-color: #C34529;
}
.btn-armor--patriot:hover {
  background: #873622;
  border-color: #873622;
  color: #ffffff;
  box-shadow: 0 0 24px 6px rgba(195,69,41,0.5);
}
.btn-armor--dark-outline {
  background: transparent;
  color: #EFD09D;       /* night-300 — matches prototype */
  border-color: #303D3C;
  text-transform: none; /* prototype ghost button is mixed-case, not all-caps */
  letter-spacing: normal;
}
.btn-armor--dark-outline:hover {
  background: #1E2620;
  color: #ffffff;
  border-color: #303D3C;
}
.btn-armor--outline-brass {
  background: transparent;
  color: #BE9552;
  border-color: #C34529;
}
.btn-armor--outline-brass:hover {
  background: #C34529;
  color: #ffffff;
  box-shadow: 0 0 18px 3px rgba(195,69,41,0.35);
}
.btn-armor--brass {
  background: #BE9552;
  color: #111610;
  border-color: #BE9552;
}
.btn-armor--brass:hover {
  background: #a07d3e;
  border-color: #a07d3e;
  color: #111610;
}
.btn-armor--full { width: 100%; }
.btn-armor--sm   { padding: 0.375rem 0.875rem; font-size: 0.8125rem; }
.btn-armor--lg   { padding: 1rem 2rem; font-size: 1.125rem; }
/* Hero CTAs use btn-lg sizing but the prototype keeps their text at text-sm */
.a2a-hp-hero__ctas .btn-armor--lg { font-size: 0.875rem; }

/* ── Shared typography helpers ─────────────────────────────────────────────── */
.a2a-hp-eyebrow {
  color: #BE9552;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 0.75rem;
}
.a2a-hp-heading-lg {
  font-family: var(--dpa-font-display);
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
}
.a2a-hp-heading-md {
  font-family: var(--dpa-font-display);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
  margin-top: 0.5rem;
}
.a2a-hp-section-hdr { text-align: center; margin-bottom: 3rem; }
.a2a-hp-section-lead {
  margin-top: 1rem;
  color: #BE9552;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
}

/* ── Seat progress bar (shared between hero card + grid cards) ─────────────── */
.a2a-hp-seatbar {
  width: 100%;
  background: #303D3C;
  border-radius: 9999px;
  height: 8px;
  margin-bottom: 1.5rem;
}
.a2a-hp-seatbar__fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.9s cubic-bezier(0.22,1,0.36,1);
}

/* ── Pulse dot (Open Now badge) ────────────────────────────────────────────── */
.a2a-hp-pulse {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C34529;
  animation: a2a-pulse 1.5s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes a2a-pulse { 0%,100% { opacity:1; } 50% { opacity:0.4; } }

/* ═══════════════════════════════════════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-hero {
  position: relative;
  background-color: #111610;
  background-image:
    linear-gradient(rgba(195,69,41,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(195,69,41,0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  overflow: hidden;
}
#hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.a2a-hp-hero__bg-img {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.a2a-hp-hero__bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.15;
}
.a2a-hp-hero__bg-grad-lr {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #111610, rgba(17,22,16,0.9) 50%, rgba(17,22,16,0.5));
}
.a2a-hp-hero__bg-grad-tb {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #111610, transparent 60%);
}
.a2a-hp-hero__accent-l {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(to bottom, transparent, #C34529 30%, #BE9552 50%, #C34529 70%, transparent);
  opacity: 0.7;
  z-index: 2;
}
.a2a-hp-hero__glow-br {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 700px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #C34529 0%, transparent 70%);
  opacity: 0.10;
  pointer-events: none;
}
.a2a-hp-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  padding-top: 4rem;
}
.a2a-hp-hero__flex {
  flex: 1;
  display: flex;
  align-items: center;
}
.a2a-hp-hero__container {
  width: 100%;
  padding-top: 4rem;
  padding-bottom: 5rem;
}
.a2a-hp-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .a2a-hp-hero__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
}

/* Hero eyebrow badge row */
.a2a-hp-hero__eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}
.a2a-hp-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 9999px;
  background: rgba(195,69,41,0.12);
  border: 1px solid rgba(190,149,82,0.4);
  color: #EFD09D;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.a2a-hp-loc {
  color: #4a3c2a;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Hero H1 */
.a2a-hp-hero__h1 {
  font-family: var(--dpa-font-display);
  font-size: clamp(3.2rem, 8vw, 6.5rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 0;
}

/* Hero lead */
.a2a-hp-hero__lead {
  margin-top: 1.5rem;
  color: #BE9552;
  font-size: 1.0625rem;
  line-height: 1.7;
  max-width: 32rem;
}

/* Hero CTAs */
.a2a-hp-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

/* Hero stats */
.a2a-hp-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 3rem;
  max-width: 28rem;
}
.a2a-hp-stat { padding-left: 1rem; border-left: 1px solid #303D3C; }
.a2a-hp-stat--primary { border-left-width: 2px; border-left-color: #C34529; }
.a2a-hp-stat__val {
  font-family: var(--dpa-font-display);
  font-size: 1.875rem;
  color: #ffffff;
  line-height: 1;
}
.a2a-hp-stat__lbl {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #4a3c2a;
  margin-top: 2px;
}

/* Hero card column */
.a2a-hp-hero__card-col { display: flex; align-items: center; justify-content: center; }
@media (min-width: 1024px) { .a2a-hp-hero__card-col { display: flex; align-items: center; justify-content: center; } }

/* Featured webinar card */
.a2a-hp-feat { width: 100%; }
.a2a-hp-feat__hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.a2a-hp-feat__label {
  color: #4a3c2a;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
.a2a-hp-badge-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  background: rgba(195,69,41,0.2);
  color: #EFD09D;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}
.a2a-hp-feat__card {
  background: #1E2620;
  border: 1px solid rgba(190,149,82,0.3);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0 40px rgba(195,69,41,0.1);
}
.a2a-hp-feat__img-wrap { position: relative; height: 260px; background: #161A16; overflow: hidden; }
.a2a-hp-feat__img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; }
.a2a-hp-feat__img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #1E2620 0%, rgba(30,38,32,0.3) 60%, transparent 100%);
}
.a2a-hp-feat__cat {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(22,26,22,0.7);
  backdrop-filter: blur(4px);
  padding: 4px 12px;
  border-radius: 9999px;
  font-size: 0.75rem;
  color: #BE9552;
  border: 1px solid #303D3C;
}
.a2a-hp-feat__img-foot { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; }
.a2a-hp-feat__date { color: #BE9552; font-size: 0.75rem; margin-bottom: 4px; }
.a2a-hp-feat__title {
  font-family: var(--dpa-font-display);
  font-size: 1.75rem;
  color: #ffffff;
  line-height: 1.2;
}
.a2a-hp-feat__subtitle { color: #BE9552; font-size: 0.875rem; margin-top: 2px; }

.a2a-hp-feat__body { padding: 1.5rem; }
.a2a-hp-feat__price-row { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.5rem; }
.a2a-hp-feat__price { font-family: var(--dpa-font-display); font-size: 2.25rem; color: #C34529; line-height: 1; }
.a2a-hp-feat__per-seat { font-size: 0.875rem; color: #4a3c2a; margin-left: 4px; }
.a2a-hp-feat__seats-right { text-align: right; }
.a2a-hp-feat__seats-urgent { color: #C34529; font-size: 0.875rem; font-weight: 700; animation: a2a-pulse 1.2s ease-in-out infinite; }
.a2a-hp-feat__seats-count { color: #F0F4F0; font-weight: 600; font-size: 0.875rem; }
.a2a-hp-feat__seats-of { color: #4a3c2a; font-size: 0.75rem; }
.a2a-hp-feat__fine { text-align: center; font-size: 0.6875rem; color: #4a3c2a; margin-top: 0.75rem; }

/* Chevron scroll cue */
.a2a-hp-hero__chevron { text-align: center; padding-bottom: 2rem; }
.a2a-hp-hero__chevron a { color: #303D3C; text-decoration: none; transition: color 0.2s; }
.a2a-hp-hero__chevron a:hover { color: #755E3B; }
.a2a-hp-hero__chevron i { font-size: 1.25rem; animation: a2a-bounce 1s ease-in-out infinite alternate; }
@keyframes a2a-bounce { from { transform: translateY(0); } to { transform: translateY(6px); } }

/* ── Section order swap: webinars before process on mobile ─────────────────── */
.a2a-hp-sections-wrap {
  display: flex;
  flex-direction: column;
}
.a2a-hp-webinars { order: -1; }
.a2a-hp-hiw      { order:  0; }
@media (min-width: 1024px) {
  .a2a-hp-sections-wrap { display: block; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   HOW IT WORKS
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-hiw {
  background: #161A16;
  border-top: 1px solid #1E2620;
  padding: 6rem 1.5rem;
}
.a2a-hp-hiw__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 0;
}
@media (min-width: 640px)  { .a2a-hp-hiw__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .a2a-hp-hiw__grid { grid-template-columns: repeat(5, 1fr); } }

.a2a-hp-hiw__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1.5rem 1rem;
  transition: border-color 0.2s;
}
.a2a-hp-hiw__step:hover { border-color: rgba(195,69,41,0.4); }

.a2a-hp-hiw__icon-wrap { position: relative; margin-bottom: 1rem; }
.a2a-hp-hiw__icon-circle {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #111610;
  border: 1px solid rgba(190,149,82,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.a2a-hp-hiw__icon-circle i { color: #BE9552; font-size: 1.25rem; }
.a2a-hp-hiw__step-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #C34529;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 700;
  color: #ffffff;
}
.a2a-hp-hiw__step-title {
  font-family: var(--dpa-font-display);
  font-size: 0.9375rem;
  color: #ffffff;
  margin-bottom: 0.375rem;
}
.a2a-hp-hiw__step-body { font-size: 0.75rem; color: #755E3B; line-height: 1.6; }

/* ═══════════════════════════════════════════════════════════════════════════
   ACTIVE WEBINARS
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-webinars {
  background: #111610;
  padding: 5rem 1.5rem;
}
.a2a-hp-webinars__hdr {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}
.a2a-hp-webinars__view-all { display: none; }
@media (min-width: 768px) { .a2a-hp-webinars__view-all { display: inline-flex; } }
.a2a-hp-webinars__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) { .a2a-hp-webinars__grid { grid-template-columns: repeat(3, 1fr); } }
.a2a-hp-webinars__mobile-cta { text-align: center; margin-top: 2rem; }
@media (min-width: 768px) { .a2a-hp-webinars__mobile-cta { display: none; } }

/* Webinar grid card */
.a2a-hp-wcard {
  display: block;
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  overflow: hidden;
  text-decoration: none;
  transition: border-color 0.3s;
}
.a2a-hp-wcard:hover { border-color: rgba(195,69,41,0.5); }
.a2a-hp-wcard__img-wrap { position: relative; height: 11rem; background: #111610; overflow: hidden; }
.a2a-hp-wcard__img { width: 100%; height: 100%; object-fit: cover; opacity: 0.5; transition: opacity 0.5s, transform 0.5s; }
.a2a-hp-wcard:hover .a2a-hp-wcard__img { opacity: 0.7; transform: scale(1.05); }

.a2a-hp-wcard__status-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}
.a2a-hp-wcard__status-badge--live     { background: rgba(195,69,41,0.2); color: #EFD09D; }
.a2a-hp-wcard__status-badge--upcoming { background: rgba(190,149,82,0.15); color: #F8D7A3; }

.a2a-hp-wcard__body { padding: 1.25rem; }
.a2a-hp-wcard__title {
  font-family: var(--dpa-font-display);
  font-size: 1.125rem;
  color: #ffffff;
  transition: color 0.2s;
  margin-bottom: 0.25rem;
}
.a2a-hp-wcard:hover .a2a-hp-wcard__title { color: #C34529; }
.a2a-hp-wcard__date { color: #BE9552; font-size: 0.75rem; margin-bottom: 0.75rem; }
.a2a-hp-wcard__seat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.a2a-hp-wcard__price { font-weight: 700; font-size: 0.875rem; color: #C34529; }
.a2a-hp-urgent-crit { font-size: 0.75rem; font-weight: 700; color: #C34529; animation: a2a-pulse 1.2s infinite; }
.a2a-hp-urgent-mid  { font-size: 0.75rem; font-weight: 600; color: #BE9552; }
.a2a-hp-seats-normal{ font-size: 0.75rem; color: #BE9552; }
.a2a-hp-wcard__cta {
  margin-top: 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #BE9552;
}
.a2a-hp-no-webinars { color: #755E3B; }

/* ═══════════════════════════════════════════════════════════════════════════
   TRUST STRIP
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-trust {
  background: #111610;
  border-top: 1px solid #1E2620;
  padding: 4rem 1.5rem;
}
.a2a-hp-trust__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  text-align: center;
}
@media (min-width: 768px) { .a2a-hp-trust__grid { grid-template-columns: repeat(4, 1fr); } }

.a2a-hp-trust__item i {
  font-size: 1.875rem;
  color: #BE9552;
  display: block;
  margin-bottom: 0.75rem;
}
.a2a-hp-trust__item h4 {
  font-family: var(--dpa-font-display);
  font-size: 0.9375rem;
  color: #ffffff;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.a2a-hp-trust__item p { font-size: 0.75rem; color: #4a3c2a; line-height: 1.6; }

/* ═══════════════════════════════════════════════════════════════════════════
   REVIEWS
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-reviews {
  background: #161A16;
  padding: 5rem 1.5rem;
}
.a2a-hp-stars-row {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 4px;
  margin-top: 0.75rem;
}
.a2a-hp-stars-row i { color: #F59E0B; font-size: 1.25rem; }
.a2a-hp-stars-label { font-size: 0.875rem; color: #BE9552; margin-left: 8px; }
.a2a-hp-reviews__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 0;
}
@media (min-width: 640px)  { .a2a-hp-reviews__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .a2a-hp-reviews__grid { grid-template-columns: repeat(4, 1fr); } }

.a2a-hp-rcard {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1.5rem;
}
.a2a-hp-rcard__stars { display: flex; gap: 4px; margin-bottom: 0.75rem; }
.a2a-hp-rcard__stars i { color: #F59E0B; font-size: 0.875rem; }
.a2a-hp-rcard__text { font-size: 0.875rem; color: #BE9552; line-height: 1.6; margin-bottom: 1rem; }
.a2a-hp-rcard__footer { display: flex; align-items: center; gap: 0.5rem; }
.a2a-hp-rcard__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(190,149,82,0.15);
  color: #EFD09D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.875rem;
  flex-shrink: 0;
}
.a2a-hp-rcard__name { font-size: 0.875rem; font-weight: 600; color: #ffffff; }
.a2a-hp-rcard__location { font-size: 0.75rem; color: #4a3c2a; }
.a2a-hp-rcard__source { font-size: 0.75rem; color: #755E3B; margin-left: auto; }

/* ═══════════════════════════════════════════════════════════════════════════
   SELECTED PARTICIPANT
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-participant {
  background: #1E2620;
  border-top: 1px solid #303D3C;
  padding: 4rem 1.5rem;
}
.a2a-hp-participant__inner {
  max-width: 48rem;
  margin: 0 auto;
  text-align: center;
}
.a2a-hp-participant__card {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: #111610;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem 2rem;
  margin-top: 0;
}
.a2a-hp-participant__avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(190,149,82,0.15);
  color: #EFD09D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  flex-shrink: 0;
}
.a2a-hp-participant__info { text-align: left; }
.a2a-hp-participant__name {
  font-family: var(--dpa-font-display);
  font-size: 1.25rem;
  color: #ffffff;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.a2a-hp-participant__from {
  font-family: var(--dpa-font-display);
  font-size: 1.25rem;
  font-weight: 400;
  color: #ffffff;
}
.a2a-hp-participant__subtitle {
  font-size: 0.875rem;
  color: #4a3c2a;
  margin-top: 4px;
}
.a2a-hp-participant__webinar {
  font-weight: 600;
  color: #BE9552;
}
.a2a-hp-participant__award {
  font-size: 1.875rem;
  color: #BE9552;
  margin-left: 0.5rem;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CTA BANNER
   ═══════════════════════════════════════════════════════════════════════════ */
.a2a-hp-cta-banner {
  position: relative;
  background: #2a1209;
  padding: 6rem 1.5rem;
  overflow: hidden;
}
/* Background image at 10% opacity (matches prototype) */
.a2a-hp-cta-banner__bg-img {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.a2a-hp-cta-banner__bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.10;
}
.a2a-hp-cta-banner__stripe {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    90deg,
    rgba(195,69,41,0.12) 0px, rgba(195,69,41,0.12) 40px,
    transparent 40px, transparent 80px
  );
}
.a2a-hp-cta-banner__inner { position: relative; text-align: center; max-width: 48rem; }
.a2a-hp-cta-banner__lead {
  margin-top: 1rem;
  color: rgba(255,255,255,0.8);
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
}
.a2a-hp-cta-banner__inner .btn-armor { margin-top: 2rem; }

/* =============================================================================
   WEBINAR ARCHIVE — a2a-theme/dpa-webinar/archive-webinar.php
   ============================================================================= */

/* ── Page Hero ─────────────────────────────────────────────────────────────── */
.a2a-arch-hero {
  position: relative;
  background: linear-gradient(135deg, #111610 0%, #1a0a06 100%);
  padding: 5rem 1.5rem;
  overflow: hidden;
}
.a2a-arch-hero__bg-img {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.a2a-arch-hero__bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.10;
}
.a2a-arch-hero__bg-fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #111610 30%, transparent);
}
/* Left accent stripe */
.a2a-arch-hero__stripe {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, transparent, #C34529 30%, #BE9552 50%, #C34529 70%, transparent);
  pointer-events: none;
}
.a2a-arch-hero__inner { position: relative; }
.a2a-arch-hero__h1 {
  font-family: var(--dpa-font-display);
  font-size: clamp(1.875rem, 5vw, 3rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin-top: 0.75rem;
}
.a2a-arch-hero__h1-em { color: #C34529; }
.a2a-arch-hero__lead {
  margin-top: 1rem;
  color: #BE9552;
  max-width: 40rem;
  line-height: 1.65;
}

/* ── Filters + Grid section ────────────────────────────────────────────────── */
.a2a-arch-grid-wrap {
  background: #111610;
  padding: 3rem 1.5rem 5rem;
}

/* Status tabs */
.a2a-arch-tabs {
  display: flex;
  gap: 1.5rem;
  border-bottom: 1px solid #303D3C;
  margin-bottom: 2rem;
}
.a2a-arch-tab {
  padding-bottom: 0.75rem;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-family: var(--dpa-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #BE9552;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  margin-bottom: -1px;
}
.a2a-arch-tab--active {
  color: #ffffff;
  border-bottom-color: #C34529;
}
.a2a-arch-tab:hover { color: #ffffff; }

/* Category pills */
.a2a-arch-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.a2a-arch-pill {
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  border: 1px solid #303D3C;
  background: #1E2620;
  color: #BE9552;
  font-family: var(--dpa-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.a2a-arch-pill:hover { border-color: #C34529; color: #ffffff; }
.a2a-arch-pill--active { background: #C34529; border-color: #C34529; color: #ffffff; }

/* Category dropdown — mobile-only replacement for the pill row */
.a2a-cat-select {
  display: none; /* hidden on desktop; shown via media query below */
}
@media (max-width: 640px) {
  .a2a-arch-pills { display: none; }
  .a2a-cat-select {
    display: block;
    width: 100%;
    margin-bottom: 2rem;
    padding: 0.625rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #303D3C;
    background: #1E2620;
    color: #BE9552;
    font-family: var(--dpa-font-body);
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BE9552' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
  }
  .a2a-cat-select:focus {
    outline: none;
    border-color: #C34529;
    color: #ffffff;
  }
}

/* Card grid */
.a2a-arch-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2-up from mobile up */
  gap: 1.5rem;
}
@media (min-width: 1024px) { .a2a-arch-grid { grid-template-columns: repeat(3, 1fr); } }

/* Mobile: tighten outer padding 80% + smaller gap for narrow columns */
@media (max-width: 639px) {
  .a2a-arch-grid-wrap {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
  .a2a-arch-grid-wrap .dpa-container {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }
  .a2a-arch-grid {
    gap: 0.5rem;
  }

  /* Inset the card image so it doesn't bleed to the card edges */
  .a2a-arch-card__img-wrap {
    margin: 0.5rem 0.5rem 0;
    border-radius: 0.375rem;
  }
}

.a2a-arch-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 4rem 0;
  color: #755E3B;
}
.a2a-arch-empty i { font-size: 2.5rem; display: block; margin-bottom: 1rem; }

/* Individual card */
.a2a-arch-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s;
}
.a2a-arch-card:hover { border-color: rgba(195,69,41,0.4); }

/* Card image */
.a2a-arch-card__img-wrap {
  position: relative;
  height: 12rem;
  background: #161A16;
  overflow: hidden;
  flex-shrink: 0;
}
.a2a-arch-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
  transition: opacity 0.5s, transform 0.5s;
}
.a2a-arch-card:hover .a2a-arch-card__img { opacity: 0.7; transform: scale(1.04); }
.a2a-arch-card__img--ended { opacity: 0.25; filter: grayscale(1); }
.a2a-arch-card:hover .a2a-arch-card__img--ended { opacity: 0.25; transform: none; }
.a2a-arch-card__img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(17,22,16,0.85), transparent);
}
.a2a-arch-card__badge-wrap { position: absolute; top: 0.75rem; left: 0.75rem; }
.a2a-arch-card__cat {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: rgba(17,22,16,0.75);
  backdrop-filter: blur(4px);
  border: 1px solid #303D3C;
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  color: #EFD09D;
}
.a2a-arch-card__price-tag {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
}
.a2a-arch-card__price-val {
  font-family: var(--dpa-font-display);
  font-size: 1.5rem;
  color: #EFD09D;
}
.a2a-arch-card__price-label { font-size: 0.875rem; color: #BE9552; }

/* Status badges */
.a2a-arch-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}
.a2a-arch-badge--live     { background: rgba(195,69,41,0.2); color: #EFD09D; }
.a2a-arch-badge--upcoming { background: rgba(190,149,82,0.15); color: #F8D7A3; }
.a2a-arch-badge--ended    { background: #1E2620; color: #755E3B; }
.a2a-arch-badge__dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #C34529;
  animation: a2a-pulse 1.5s ease-in-out infinite;
}
@keyframes a2a-pulse { 0%,100% { opacity:1; } 50% { opacity:0.3; } }

/* Card body */
.a2a-arch-card__body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.a2a-arch-card__title {
  font-family: var(--dpa-font-display);
  font-size: 1.125rem;
  color: #ffffff;
  line-height: 1.3;
}
.a2a-arch-card__subtitle { font-size: 0.75rem; color: #BE9552; margin-top: 0.25rem; }
.a2a-arch-card__date {
  font-size: 0.75rem;
  color: #755E3B;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.a2a-arch-card__seats-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.a2a-arch-card__urgency        { font-size: 0.75rem; }
.a2a-arch-card__urgency--muted { color: #755E3B; }
.a2a-arch-card__urgency--hot   { color: #f87171; font-weight: 700; }
.a2a-arch-card__urgency--warm  { color: #fbbf24; font-weight: 600; }
.a2a-arch-card__urgency--ok    { color: #BE9552; }
.a2a-arch-card__urgency--blink { animation: a2a-urgency-blink 1s ease-in-out infinite; }
@keyframes a2a-urgency-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.35; }
}
.a2a-arch-card__seat-count    { font-size: 0.75rem; color: #755E3B; }
.a2a-arch-card__bar-track {
  width: 100%;
  height: 0.5rem;
  background: #303D3C;
  border-radius: 9999px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.a2a-arch-card__bar-fill { height: 100%; border-radius: 9999px; transition: width 0.4s; }
.a2a-arch-card__footer { margin-top: auto; }
.a2a-arch-card__cta-wrap { margin-top: 0; }
.a2a-arch-card .btn-armor { width: 100%; justify-content: center; text-align: center; }
.a2a-arch-card__btn-closed {
  width: 100%;
  padding: 0.375rem 0.875rem;
  border: none;
  border-radius: 0.375rem;
  background: #303D3C;
  color: #755E3B;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: not-allowed;
}

/* ── Pagination ─────────────────────────────────────────────────────────────── */
.a2a-arch-pagination {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
.a2a-arch-pagination__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
/* Shared button look — page numbers, Prev, Next */
.a2a-arch-pagination .page-numbers {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.a2a-arch-pagination .page-numbers li { margin: 0; list-style: none; }
.a2a-arch-pagination .page-numbers a,
.a2a-arch-pagination .page-numbers span,
.a2a-arch-pagination__prev,
.a2a-arch-pagination__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid #303D3C;
  background: #1E2620;
  color: #BE9552;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s, opacity 0.2s;
}
.a2a-arch-pagination .page-numbers a:hover,
.a2a-arch-pagination__prev:not(.a2a-arch-pagination__edge--disabled):hover,
.a2a-arch-pagination__next:not(.a2a-arch-pagination__edge--disabled):hover {
  border-color: #BE9552;
  color: #ffffff;
}
.a2a-arch-pagination .page-numbers span.current {
  background: #BE9552;
  border-color: #BE9552;
  color: #111610;
  font-weight: 700;
}
.a2a-arch-pagination .page-numbers .dots { border-color: transparent; background: transparent; color: #755E3B; }
/* Disabled Prev / Next */
.a2a-arch-pagination__edge--disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.a2a-arch-pagination__count {
  font-size: 0.75rem;
  color: #4a3c2a;
  margin: 0;
}

/* ── FAQ Accordion ─────────────────────────────────────────────────────────── */
.a2a-arch-faq {
  background: #161A16;
  border-top: 1px solid #1E2620;
  padding: 5rem 1.5rem;
}
.a2a-arch-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 48rem;
  margin: 0 auto;
}
.a2a-arch-faq__item {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  overflow: hidden;
}
.a2a-arch-faq__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
  background: none;
  border: none;
  text-align: left;
  color: #ffffff;
  font-family: var(--dpa-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: color 0.2s;
}
.a2a-arch-faq__btn:hover { color: #BE9552; }
.a2a-arch-faq__chevron {
  color: #4a3c2a;
  font-size: 0.75rem;
  flex-shrink: 0;
  transition: transform 0.25s;
}
.a2a-arch-faq__btn--open .a2a-arch-faq__chevron { transform: rotate(180deg); }
.a2a-arch-faq__answer {
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid #303D3C;
  color: #BE9552;
  font-size: 0.875rem;
  line-height: 1.65;
}
.a2a-arch-faq__answer p { padding-top: 1rem; }

/* =============================================================================
   ── A2A Shop (WooCommerce archive override) ───────────────────────────────────
   Matches prototype: shop.html / js/pages/shop.js
   Background:  #111610 (night-950)
   Card bg:     #1E2620 (night-800)
   Card border: #303D3C (night-700)
   Price text:  #EFD09D (brass-500)
   ============================================================================= */

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.a2a-shop-hero {
  position: relative;
  overflow: hidden;
  padding: 5rem 1rem;
  background: linear-gradient(135deg, #111610 0%, #1a0a06 100%);
}
.a2a-shop-hero__stripe {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, transparent, #C34529 30%, #BE9552 50%, #C34529 70%, transparent);
}
.a2a-shop-hero__inner { position: relative; z-index: 1; }
.a2a-shop-hero__h1 {
  font-family: var(--dpa-font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.1;
  margin: 0 0 1rem;
}
.a2a-shop-hero__h1-em  { color: #C34529; }
.a2a-shop-hero__lead {
  color: #BE9552;
  font-size: 1rem;
  max-width: 38rem;
  line-height: 1.65;
}

/* ── Grid section ──────────────────────────────────────────────────────────── */
.a2a-shop-grid-wrap {
  background: #111610;
  padding: 3rem 1rem 4rem;
}

/* ── Category pills (same pattern as webinar archive) ──────────────────────── */
.a2a-shop-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.a2a-shop-pill {
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  border: 1px solid #303D3C;
  background: #1E2620;
  color: #BE9552;
  transition: border-color 0.2s, color 0.2s;
}
.a2a-shop-pill:hover {
  border-color: #C34529;
  color: #ffffff;
}
.a2a-shop-pill--active {
  background: #C34529;
  border-color: #C34529;
  color: #ffffff;
}

/* Category dropdown — mobile-only replacement for shop pills */
.a2a-shop-cat-select { display: none; }
@media (max-width: 639px) {
  .a2a-shop-pills { display: none; }
  .a2a-shop-cat-select {
    display: block;
    width: 100%;
    margin-bottom: 1.5rem;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #303D3C;
    background-color: #1E2620;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BE9552' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    color: #BE9552;
    font-family: var(--dpa-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
  }
  .a2a-shop-cat-select:focus {
    outline: none;
    border-color: #C34529;
    color: #ffffff;
  }
}

/* ── Product grid ──────────────────────────────────────────────────────────── */
.a2a-shop-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr); /* 2-up from mobile up */
}
@media (min-width: 1024px) { .a2a-shop-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .a2a-shop-grid { grid-template-columns: repeat(4, 1fr); } }

/* Mobile: tighter outer margin (80% less than default) + smaller gap for narrow columns */
@media (max-width: 639px) {
  .a2a-shop-grid-wrap {
    padding-left: 0.2rem;  /* 1rem → 0.2rem (80% less) */
    padding-right: 0.2rem;
  }
  .a2a-shop-grid-wrap .dpa-container {
    padding-left: 0.4rem;  /* 32px (2rem) → 0.4rem (80% less) */
    padding-right: 0.4rem;
  }
  .a2a-shop-grid {
    gap: 0.5rem;
  }
  /* Details button not needed on mobile — the card itself links to the product */
  .a2a-shop-card__btn-details { display: none !important; }
}

/* ── Product card ──────────────────────────────────────────────────────────── */
.a2a-shop-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s;
}
.a2a-shop-card:hover { border-color: rgba(195,69,41,0.4); }

/* Image area */
.a2a-shop-card__img-wrap {
  display: block;
  position: relative;
  height: 220px;
  background: #161A16;
  overflow: hidden;
}
.a2a-shop-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
  transition: transform 0.5s, opacity 0.5s;
}
.a2a-shop-card:hover .a2a-shop-card__img {
  transform: scale(1.05);
  opacity: 0.9;
}

/* Body */
.a2a-shop-card__body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.a2a-shop-card__cat {
  font-size: 0.75rem;
  color: #755E3B;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.25rem;
}
.a2a-shop-card__title-link {
  text-decoration: none;
  transition: color 0.2s;
}
.a2a-shop-card__title-link:hover .a2a-shop-card__title { color: #BE9552; }
.a2a-shop-card__title {
  font-family: var(--dpa-font-display);
  font-size: 1rem;
  color: #ffffff;
  line-height: 1.25;
  margin: 0 0 0.25rem;
  transition: color 0.2s;
}
.a2a-shop-card__desc {
  color: #BE9552;
  font-size: 0.75rem;
  line-height: 1.6;
  flex: 1;
  margin: 0 0 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Card footer: price + buttons */
.a2a-shop-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto;
}
.a2a-shop-card__price {
  font-family: var(--dpa-font-display);
  font-size: 1.25rem;
  color: #EFD09D;
  white-space: nowrap;
}
.a2a-shop-card__btns {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* "Details" — outline style */
.a2a-shop-card__btn-details {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.375rem 0.75rem;
  border: 2px solid #C34529;
  border-radius: 0.375rem;
  color: #BE9552 !important;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.a2a-shop-card__btn-details:hover {
  background: #C34529;
  color: #ffffff !important;
}

/* "Add" — filled red; prototype: .btn-patriot:hover = darker bg + red glow */
.a2a-shop-card__btn-atc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.35rem;
  padding: 0.375rem 0.75rem;
  background: #C34529;
  border: 2px solid #C34529;
  border-radius: 0.375rem;
  color: #ffffff !important;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.a2a-shop-card__btn-atc:hover {
  background: #873622;
  border-color: #873622;
  color: #ffffff !important;
  box-shadow: 0 0 24px 6px rgba(195, 69, 41, 0.5);
}

/* Empty state */
.a2a-shop-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 4rem 1rem;
  color: #755E3B;
}
.a2a-shop-empty i { font-size: 2.5rem; display: block; margin-bottom: 1rem; }

/* WooCommerce notices on shop page */
.woocommerce-notices-wrapper { max-width: 72rem; margin: 0 auto; padding: 0 1rem; }

/* Shop pagination — <button> elements need the same visual treatment as <a>/<span>
   (the webinar archive uses <a> tags; the shop uses <button> tags) */
.a2a-shop-pagination .page-numbers button,
.a2a-shop-pagination .a2a-arch-pagination__prev,
.a2a-shop-pagination .a2a-arch-pagination__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  border: 1px solid #303D3C;
  background: #1E2620;
  color: #BE9552;
  font-size: 0.8125rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.a2a-shop-pagination .page-numbers button:hover,
.a2a-shop-pagination .a2a-arch-pagination__prev:not(.a2a-arch-pagination__edge--disabled):hover,
.a2a-shop-pagination .a2a-arch-pagination__next:not(.a2a-arch-pagination__edge--disabled):hover {
  border-color: #BE9552;
  color: #ffffff;
}

/* =============================================================================
   ── Infinite Scroll Sentinel (shared — webinar + shop archives)
   ============================================================================= */

/* ── Infinite Scroll Sentinel ─────────────────────────────────────────────── */
.igy6-infinite-sentinel {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4rem;
  margin-top: 2rem;
}
.igy6-infinite-sentinel.is-loading::after {
  content: '';
  display: block;
  width: 2rem;
  height: 2rem;
  border: 3px solid rgba(255, 255, 255, 0.15);
  border-top-color: #C34529; /* brand red */
  border-radius: 50%;
  animation: igy6-spin 0.7s linear infinite;
}
@keyframes igy6-spin {
  to { transform: rotate(360deg); }
}
.igy6-infinite-sentinel.is-done {
  display: none;
}

/* =============================================================================
   ── A2A Transfers page ────────────────────────────────────────────────────────
   Matches prototype: transfers.html
   Hero bg:      #161A16  (night-900)
   Card bg:      #161A16  (night-900)
   Card border:  #303D3C  (night-700)
   Note bg:      #1E2620  (night-800)
   Brass:        #BE9552
   Red:          #C34529
   Muted text:   #755E3B  (night-500)
   ============================================================================= */

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.a2a-tfr-hero {
  background: #161A16;
  border-bottom: 1px solid #1E2620;
  padding: 5rem 1rem;
  text-align: center;
}
.a2a-tfr-hero__inner {
  max-width: 56rem;
  margin: 0 auto;
}
.a2a-tfr-eyebrow {
  color: #BE9552;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 0.75rem;
}
.a2a-tfr-h1 {
  font-family: var(--dpa-font-display);
  font-size: clamp(2.5rem, 6vw, 3.75rem);
  font-weight: 400;           /* prototype: no font-bold class → Oswald 400 via Tailwind Preflight reset */
  letter-spacing: -0.025em;  /* prototype: tracking-tight */
  color: #ffffff;
  line-height: 1.05;
  margin: 0 0 1rem;
}
.a2a-tfr-lead {
  color: #BE9552;
  font-size: 1.125rem;
  max-width: 40rem;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Content section ───────────────────────────────────────────────────────── */
.a2a-tfr-content {
  background: #111610;
  padding: 5rem 1rem;
}
.a2a-tfr-container {
  max-width: 56rem;
  margin: 0 auto;
}

/* ── Two-column info cards ─────────────────────────────────────────────────── */
.a2a-tfr-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .a2a-tfr-grid { grid-template-columns: repeat(2, 1fr); }
}
.a2a-tfr-card {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 2rem;
}
.a2a-tfr-card__icon {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 1rem;
}
.a2a-tfr-card__icon--brass { color: #BE9552; }
.a2a-tfr-card__icon--red   { color: #C34529; }
.a2a-tfr-card__heading {
  font-family: var(--dpa-font-display);
  font-size: 1.25rem;
  color: #ffffff;
  margin: 0 0 0.75rem;
}
.a2a-tfr-card__body {
  color: #BE9552;
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.a2a-tfr-card__name {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.a2a-tfr-card__detail {
  color: #BE9552;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
.a2a-tfr-card__storage {
  color: #4a3c2a;
  font-size: 0.75rem;
  margin-top: 1rem;
  margin-bottom: 0;
}

/* Warning note box */
.a2a-tfr-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.5rem;
  padding: 1rem;
  font-size: 0.875rem;
  color: #EFD09D;
}
.a2a-tfr-note__icon { color: #C34529; flex-shrink: 0; margin-top: 2px; }

/* Get Directions button */
.a2a-tfr-btn {
  display: inline-flex;
  align-items: center;
  margin-top: 1rem;
  padding: 0.5rem 1.25rem;
  background: #C34529;
  color: #ffffff;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.2s;
}
.a2a-tfr-btn:hover { background: #A83820; color: #ffffff; }

/* ── Fee schedule table ────────────────────────────────────────────────────── */
.a2a-tfr-fees {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}
.a2a-tfr-fees__header {
  padding: 1.25rem 2rem;
  border-bottom: 1px solid #1E2620;
}
.a2a-tfr-fees__heading {
  font-family: var(--dpa-font-display);
  font-size: 1.25rem;
  color: #ffffff;
  margin: 0;
}
.a2a-tfr-fee-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 2rem;
  border-bottom: 1px solid #1E2620;
}
.a2a-tfr-fee-row:last-child { border-bottom: none; }
.a2a-tfr-fee-row__type {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 0.125rem;
}
.a2a-tfr-fee-row__note {
  color: #755E3B;
  font-size: 0.875rem;
}
.a2a-tfr-fee-row__price {
  font-family: var(--dpa-font-display);
  font-size: 1.5rem;
  color: #BE9552;
  flex-shrink: 0;
  white-space: nowrap;
}

/* =============================================================================
   ── A2A FAQ page ──────────────────────────────────────────────────────────────
   Matches prototype: faq.html
   Hero bg:       #161A16  (night-900)
   Content bg:    #111610  (night-950)
   Item bg:       #1E2620  (night-800)
   Item border:   #303D3C  (night-700)
   Answer bg:     #161A16  (night-900)
   Brass:         #BE9552
   Red:           #C34529
   ============================================================================= */

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.a2a-faq-hero {
  background: #161A16;
  border-bottom: 1px solid #1E2620;
  padding: 5rem 1rem;
  text-align: center;
}
.a2a-faq-hero__inner {
  max-width: 56rem;
  margin: 0 auto;
}
.a2a-faq-eyebrow {
  color: #BE9552;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 0.75rem;
}
.a2a-faq-h1 {
  font-family: var(--dpa-font-display);
  font-size: clamp(2.5rem, 6vw, 3.75rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  line-height: 1.05;
  margin: 0 0 1rem;
}
.a2a-faq-lead {
  color: #BE9552;
  font-size: 1.125rem;
  max-width: 40rem;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Content section ───────────────────────────────────────────────────────── */
.a2a-faq-content {
  background: #111610;
  padding: 5rem 1rem;
}
.a2a-faq-container {
  max-width: 56rem;
  margin: 0 auto;
}

/* ── Category group ────────────────────────────────────────────────────────── */
.a2a-faq-group {
  margin-bottom: 2.5rem;
}
.a2a-faq-group__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.a2a-faq-group__icon-wrap {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(190, 149, 82, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #BE9552;
}
.a2a-faq-group__heading {
  font-family: var(--dpa-font-display);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0;
}

/* ── Accordion item ────────────────────────────────────────────────────────── */
.a2a-faq-item {
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 0.75rem;
}
.a2a-faq-item__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: #1E2620;
  border: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s;
}
.a2a-faq-item__btn:hover {
  background: #253029;
}
.a2a-faq-item__q {
  font-weight: 600;
  color: #ffffff;
  font-size: 0.9375rem;
  line-height: 1.4;
}
.a2a-faq-icon {
  color: #BE9552;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  font-size: 0.875rem;
}
.a2a-faq-item__panel {
  /* max-height and opacity controlled inline by onclick */
}
.a2a-faq-item__answer {
  padding: 1.25rem 1.5rem;
  background: #161A16;
  color: #BE9552;
  font-size: 0.875rem;
  line-height: 1.65;
}

/* ── CTA section ───────────────────────────────────────────────────────────── */
.a2a-faq-cta {
  background: #161A16;
  border-top: 1px solid #1E2620;
  padding: 4rem 1rem;
  text-align: center;
}
.a2a-faq-cta__inner {
  max-width: 42rem;
  margin: 0 auto;
}
.a2a-faq-cta__heading {
  font-family: var(--dpa-font-display);
  font-size: 1.875rem;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0 0 0.75rem;
}
.a2a-faq-cta__lead {
  color: #BE9552;
  margin-bottom: 1.5rem;
}
.a2a-faq-cta__btn {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 2rem;
  background: #C34529;
  color: #ffffff;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.2s;
}
.a2a-faq-cta__btn:hover { background: #A83820; color: #ffffff; }

/* =============================================================================
   ── A2A Privacy Policy page ───────────────────────────────────────────────────
   Hero reuses .a2a-tfr-hero / .a2a-tfr-eyebrow / .a2a-tfr-h1 (already defined).
   Only the prose content area needs new rules.
   ============================================================================= */
.a2a-pp-content {
  background: #111610;
  padding: 5rem 1rem;
}
.a2a-pp-container {
  max-width: 56rem;
  margin: 0 auto;
}

/* Prose styles for WordPress the_content() output */
.a2a-pp-body {
  color: #BE9552;
  font-size: 0.9375rem;
  line-height: 1.75;
}
.a2a-pp-body h2,
.a2a-pp-body h3,
.a2a-pp-body h4 {
  font-family: var(--dpa-font-display);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 2rem 0 0.75rem;
}
.a2a-pp-body h2 { font-size: 1.5rem; }
.a2a-pp-body h3 { font-size: 1.25rem; }
.a2a-pp-body h4 { font-size: 1.0625rem; }
.a2a-pp-body p  { margin: 0 0 1rem; }
.a2a-pp-body ul,
.a2a-pp-body ol {
  margin: 0 0 1rem 1.5rem;
  padding: 0;
}
.a2a-pp-body li { margin-bottom: 0.375rem; }
.a2a-pp-body a {
  color: #BE9552;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.a2a-pp-body a:hover { color: #EFD09D; }
.a2a-pp-body strong { color: #EFD09D; font-weight: 600; }
.a2a-pp-body hr {
  border: none;
  border-top: 1px solid #1E2620;
  margin: 2rem 0;
}

/* =============================================================================
   ── A2A Contact page ──────────────────────────────────────────────────────────
   Matches prototype: contact.html
   Hero bg:      #161A16  (night-900)
   Content bg:   #111610  (night-950)
   Card bg:      #161A16  (night-900)
   Card border:  #303D3C  (night-700)
   Input bg:     #1E2620  (night-800)
   Input border: #303D3C  (night-700)
   Brass text:   #BE9552
   Parchment:    #EFD09D  (night-300)
   Red:          #C34529
   ============================================================================= */

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.a2a-contact-hero {
  background: #161A16;
  border-bottom: 1px solid #1E2620;
  padding: 5rem 1rem;
  text-align: center;
}
.a2a-contact-hero__inner { max-width: 56rem; margin: 0 auto; }
.a2a-contact-eyebrow {
  color: #BE9552;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 0.75rem;
}
.a2a-contact-h1 {
  font-family: var(--dpa-font-display);
  font-size: clamp(2.5rem, 6vw, 3.75rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  line-height: 1.05;
  margin: 0 0 1rem;
}
.a2a-contact-lead {
  color: #BE9552;
  font-size: 1.125rem;
  margin: 0 auto;
  line-height: 1.65;
}

/* ── Content section ───────────────────────────────────────────────────────── */
.a2a-contact-content {
  background: #111610;
  padding: 5rem 1rem;
}
.a2a-contact-container {
  max-width: 64rem;   /* max-w-5xl */
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .a2a-contact-container { grid-template-columns: 1fr 2fr; }
}

/* ── Info cards column ─────────────────────────────────────────────────────── */
.a2a-contact-info {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.a2a-contact-info-card {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1.5rem;
}
.a2a-contact-info-card__icon {
  color: #C34529;
  font-size: 1.25rem;
  display: block;
  margin-bottom: 0.75rem;
}
.a2a-contact-info-card__label {
  color: #ffffff;
  font-weight: 600;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
.a2a-contact-info-card__value {
  color: #BE9552;
  font-size: 0.875rem;
}
.a2a-contact-info-card__value a {
  color: #BE9552;
  text-decoration: none;
}
.a2a-contact-info-card__value a:hover { color: #EFD09D; }
.a2a-contact-info-card__hours {
  color: #755E3B;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* ── Form card ─────────────────────────────────────────────────────────────── */
.a2a-contact-form-wrap {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 2rem;
}
.a2a-contact-form-heading {
  font-family: var(--dpa-font-display);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0 0 1.5rem;
}

/* ── Gravity Forms dark-theme overrides ────────────────────────────────────── */

/* Reset GF wrapper margin/padding */
.a2a-contact-form-wrap .gform_wrapper,
.a2a-contact-form-wrap .gform_wrapper.gravity-theme {
  margin: 0;
  padding: 0;
}

/* Field list: GF foundation CSS uses repeat(12,1fr) and loads after theme CSS,
   so we work within GF's own 12-column grid rather than overriding it. */
.a2a-contact-form-wrap .gform_fields {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a2a-contact-form-wrap .gfield {
  margin: 0;
}

/* Name (type-text) + Email = each span 6/12 = 50% width, side by side */
.a2a-contact-form-wrap .gfield--type-text,
.a2a-contact-form-wrap .gfield--type-email {
  grid-column: span 6 !important;
}

/* On small screens stack them back to full width */
@media (max-width: 639px) {
  .a2a-contact-form-wrap .gfield--type-text,
  .a2a-contact-form-wrap .gfield--type-email {
    grid-column: span 12 !important;
  }
}

/* Labels */
.a2a-contact-form-wrap .gfield_label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #EFD09D;
  margin-bottom: 0.375rem;
}

/* Required indicator — subtle, not default GF orange */
.a2a-contact-form-wrap .gfield_required { color: #755E3B; font-weight: 400; }

/* All input / select / textarea */
.a2a-contact-form-wrap input[type="text"],
.a2a-contact-form-wrap input[type="email"],
.a2a-contact-form-wrap input[type="tel"],
.a2a-contact-form-wrap input[type="number"],
.a2a-contact-form-wrap input[type="url"],
.a2a-contact-form-wrap select,
.a2a-contact-form-wrap textarea {
  width: 100%;
  box-sizing: border-box;
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-family: inherit;
  font-size: 0.875rem;
  color: #EFD09D;
  transition: border-color 0.2s;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.a2a-contact-form-wrap input[type="text"]:focus,
.a2a-contact-form-wrap input[type="email"]:focus,
.a2a-contact-form-wrap input[type="tel"]:focus,
.a2a-contact-form-wrap input[type="number"]:focus,
.a2a-contact-form-wrap input[type="url"]:focus,
.a2a-contact-form-wrap select:focus,
.a2a-contact-form-wrap textarea:focus {
  border-color: #BE9552;
}
.a2a-contact-form-wrap input::placeholder,
.a2a-contact-form-wrap textarea::placeholder { color: #4a3c2a; }

/* Select arrow */
.a2a-contact-form-wrap select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BE9552' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}
.a2a-contact-form-wrap select option { background: #1E2620; color: #EFD09D; }

/* Textarea */
.a2a-contact-form-wrap textarea { resize: vertical; min-height: 7rem; }

/* Validation errors */
.a2a-contact-form-wrap .gfield_error input,
.a2a-contact-form-wrap .gfield_error select,
.a2a-contact-form-wrap .gfield_error textarea { border-color: #C34529; }
.a2a-contact-form-wrap .gfield_description.validation_message {
  color: #C34529;
  font-size: 0.75rem;
  margin-top: 0.375rem;
}
.a2a-contact-form-wrap .validation_error {
  background: rgba(195, 69, 41, 0.1);
  border: 1px solid #C34529;
  border-radius: 0.5rem;
  color: #EFD09D;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* Submit button */
.a2a-contact-form-wrap .gform_footer,
.a2a-contact-form-wrap .gform_page_footer {
  margin-top: 0.25rem;
  padding: 0;
}
.a2a-contact-form-wrap .gform_button {
  display: block;
  width: 100%;
  padding: 0.875rem 2rem;
  background: #C34529;
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: background 0.2s;
}
.a2a-contact-form-wrap .gform_button:hover { background: #A83820; }

/* Confirmation message (after successful submit) */
.a2a-contact-form-wrap .gform_confirmation_wrapper {
  text-align: center;
  padding: 2.5rem 1rem;
  color: #BE9552;
}

/* =============================================================================
   ── A2A Single Product page ───────────────────────────────────────────────────
   Matches prototype: product.html / js/pages/product.js
   bg:           #111610  (night-950)
   image col bg: #161A16  (night-900)
   price:        #EFD09D  (night-300 / brass-500)
   brass:        #BE9552
   red:          #C34529
   border:       #303D3C  (night-700)
   ============================================================================= */

/* ── Page wrapper ──────────────────────────────────────────────────────────── */
.a2a-product {
  background: #111610;
  max-width: 72rem;   /* max-w-6xl */
  margin: 0 auto;
  padding: 3rem 1rem 5rem;
}
@media (min-width: 768px) { .a2a-product { padding: 3rem 2rem 5rem; } }

/* ── Breadcrumb ────────────────────────────────────────────────────────────── */
.a2a-product__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #4a3c2a;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.a2a-product__breadcrumb a { color: #4a3c2a; text-decoration: none; transition: color 0.2s; }
.a2a-product__breadcrumb a:hover { color: #BE9552; }
.a2a-product__breadcrumb span { color: #BE9552; }
.a2a-product__breadcrumb .fa-chevron-right { font-size: 0.625rem; }

/* ── Two-column product grid ───────────────────────────────────────────────── */
.a2a-product__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .a2a-product__grid { grid-template-columns: 1fr 1fr; }
}

/* ── Image column ──────────────────────────────────────────────────────────── */
.a2a-product__image-col {
  background: #161A16;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
}
.a2a-product__img-placeholder {
  font-size: 3rem;
  color: #303D3C;
}

/* WooCommerce gallery inside the image column */
.a2a-product__image-col .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0;
}
.a2a-product__image-col .woocommerce-product-gallery__wrapper {
  border-radius: 0.75rem;
  overflow: hidden;
}
.a2a-product__image-col .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  display: block;
}
/* Thumbnails strip */
.a2a-product__image-col .flex-control-thumbs {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0;
  list-style: none;
}
.a2a-product__image-col .flex-control-thumbs li { margin: 0; }
.a2a-product__image-col .flex-control-thumbs img {
  border-radius: 0.375rem;
  border: 2px solid #303D3C;
  opacity: 0.65;
  cursor: pointer;
  transition: opacity 0.2s, border-color 0.2s;
  object-fit: cover;
  height: 64px;
  width: 64px;
}
.a2a-product__image-col .flex-control-thumbs img:hover,
.a2a-product__image-col .flex-control-thumbs .flex-active {
  opacity: 1;
  border-color: #BE9552;
}

/* ── Details column ────────────────────────────────────────────────────────── */
.a2a-product__details-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.a2a-product__category {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: #BE9552;
  margin-bottom: 0.5rem;
}
.a2a-product__title {
  font-family: var(--dpa-font-display);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  line-height: 1.15;
  margin: 0 0 1rem;
}
.a2a-product__desc {
  color: #BE9552;
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 0.625rem;
  /* Clamp to 4 lines — keeps Add to Cart above the fold */
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.a2a-product__read-more {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #BE9552;
  text-decoration: none;
  margin-bottom: 1.5rem;
  opacity: 0.75;
  transition: opacity 0.2s;
}
.a2a-product__read-more:hover { opacity: 1; color: #EFD09D; }

/* ── Full description section (below the 2-col grid) ──────────────────────── */
.a2a-product__full-desc {
  border-top: 1px solid #1E2620;
  padding: 3rem 0 3rem;
  margin-bottom: 3rem;
}
.a2a-product__full-desc-heading {
  font-family: var(--dpa-font-display);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0 0 1.5rem;
}
/* Prose styles — mirrors .a2a-pp-body */
.a2a-product__full-desc-body {
  color: #BE9552;
  font-size: 0.9375rem;
  line-height: 1.75;
  max-width: 52rem;
}
.a2a-product__full-desc-body h2,
.a2a-product__full-desc-body h3,
.a2a-product__full-desc-body h4 {
  font-family: var(--dpa-font-display);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 1.75rem 0 0.625rem;
}
.a2a-product__full-desc-body h2 { font-size: 1.375rem; }
.a2a-product__full-desc-body h3 { font-size: 1.125rem; }
.a2a-product__full-desc-body p  { margin: 0 0 1rem; }
.a2a-product__full-desc-body ul,
.a2a-product__full-desc-body ol { margin: 0 0 1rem 1.5rem; padding: 0; }
.a2a-product__full-desc-body li { margin-bottom: 0.375rem; }
.a2a-product__full-desc-body strong { color: #EFD09D; font-weight: 600; }
.a2a-product__full-desc-body a { color: #BE9552; text-decoration: underline; text-underline-offset: 2px; }
.a2a-product__full-desc-body a:hover { color: #EFD09D; }
.a2a-product__price {
  font-family: var(--dpa-font-display);
  font-size: 2.25rem;
  color: #EFD09D;
  margin-bottom: 1.5rem;
  line-height: 1;
}
/* WooCommerce price HTML uses <span class="woocommerce-Price-amount"> */
.a2a-product__price .woocommerce-Price-amount { color: #EFD09D; }
.a2a-product__price del { opacity: 0.5; font-size: 1.25rem; margin-right: 0.5rem; }
.a2a-product__price ins { text-decoration: none; }

/* ── Cart form ─────────────────────────────────────────────────────────────── */
.a2a-product__cart-form { margin-bottom: 1.25rem; }
.a2a-product__cart-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.a2a-product__qty-wrap {
  display: flex;
  align-items: center;
  border: 1px solid #303D3C;
  border-radius: 0.5rem;
  overflow: hidden;
  flex-shrink: 0;
}
.a2a-product__qty-btn {
  background: #1E2620;
  border: none;
  color: #BE9552;
  padding: 0.625rem 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s, background 0.2s;
}
.a2a-product__qty-btn:hover { background: #253029; color: #ffffff; }
.a2a-product__qty-input {
  width: 3.25rem;
  text-align: center;
  background: #161A16;
  border: none;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  font-family: inherit;
  padding: 0.625rem 0;
  outline: none;
  -moz-appearance: textfield;
}
.a2a-product__qty-input::-webkit-inner-spin-button,
.a2a-product__qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.a2a-product__add-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: #C34529;
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}
.a2a-product__add-btn:hover {
  background: #A83820;
  box-shadow: 0 0 24px 6px rgba(195, 69, 41, 0.4);
}

/* ── Trust badges ──────────────────────────────────────────────────────────── */
.a2a-product__trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #755E3B;
  margin-bottom: 1.5rem;
}
.a2a-product__trust i { color: #BE9552; }
.a2a-product__trust-sep { color: #1E2620; }

/* ── Specs table ───────────────────────────────────────────────────────────── */
.a2a-product__specs {
  border-top: 1px solid #1E2620;
  padding-top: 1.25rem;
}
.a2a-product__specs-heading {
  font-family: var(--dpa-font-display);
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 0.75rem;
}
.a2a-product__specs-table { width: 100%; font-size: 0.875rem; border-collapse: collapse; }
.a2a-product__specs-table tr { border-bottom: 1px solid #161A16; }
.a2a-product__spec-label { color: #755E3B; padding: 0.5rem 1rem 0.5rem 0; width: 8rem; vertical-align: top; }
.a2a-product__spec-value { color: #EFD09D; padding: 0.5rem 0; font-weight: 500; }

/* ── Related products ──────────────────────────────────────────────────────── */
.a2a-product__related {
  border-top: 1px solid #1E2620;
  padding-top: 3rem;
}
.a2a-product__related-heading {
  font-family: var(--dpa-font-display);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  margin: 0 0 1.5rem;
}
.a2a-product__related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 640px) { .a2a-product__related-grid { grid-template-columns: repeat(3, 1fr); } }
.a2a-product__related-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: border-color 0.2s;
}
.a2a-product__related-card:hover { border-color: rgba(195, 69, 41, 0.4); }
.a2a-product__related-img-wrap {
  height: 180px;
  background: #161A16;
  overflow: hidden;
}
.a2a-product__related-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
  transition: transform 0.5s, opacity 0.5s;
}
.a2a-product__related-card:hover .a2a-product__related-img-wrap img {
  transform: scale(1.05);
  opacity: 0.9;
}
.a2a-product__related-body { padding: 1rem; display: flex; flex-direction: column; flex: 1; }
.a2a-product__related-cat { font-size: 0.75rem; color: #755E3B; text-transform: uppercase; margin-bottom: 0.25rem; }
.a2a-product__related-title {
  font-family: var(--dpa-font-display);
  font-size: 0.875rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.3;
  margin: 0 0 0.75rem;
  flex: 1;
}
.a2a-product__related-footer { display: flex; align-items: center; justify-content: space-between; }
.a2a-product__related-price { font-family: var(--dpa-font-display); font-size: 1.125rem; color: #EFD09D; }
.a2a-product__related-price .woocommerce-Price-amount { color: #EFD09D; }
.a2a-product__related-cta { font-size: 0.75rem; color: #BE9552; font-weight: 600; text-transform: uppercase; }

/* =============================================================================
   ── A2A Single Webinar page ───────────────────────────────────────────────────
   Matches prototype: webinar.html?id=cz-p09-nocturne
   bg:          #111610  (night-950)
   panel bg:    #161A16  (night-900)
   dark panel:  #1E2620  (night-800)
   brass:       #BE9552
   parchment:   #EFD09D
   red:         #C34529
   border:      #303D3C  (night-700)
   ============================================================================= */

/* ── CSS custom-property overrides for the plugin's seat states ─────────── */
.a2a-wbn {
  --dpa-color-available-bg:     #0D2016;
  --dpa-color-available-border: #1A7A3C;
  --dpa-color-available-text:   #4ade80;
  --dpa-color-selected-bg:      #BE9552;
  --dpa-color-selected-border:  #EFD09D;
  --dpa-color-selected-text:    #111610;
  --dpa-color-held-bg:          #1C1C1E;
  --dpa-color-held-border:      #3D3D3D;
  --dpa-color-held-text:        #555;
  --dpa-color-booked-bg:        #161616;
  --dpa-color-booked-border:    #222;
  --dpa-color-booked-text:      #2A2A2A;
  --dpa-seat-radius:            6px;
  --dpa-seat-height:            38px;
  --dpa-seat-font-size:         11px;
  --dpa-seat-map-bg:            #111610;
  --dpa-seat-map-border:        transparent;
  --dpa-seat-map-radius:        0;
}

/* ── Page wrapper ──────────────────────────────────────────────────────────── */
.a2a-wbn {
  background: #111610;
  min-height: 100vh;
}
.a2a-wbn__inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 2.5rem 1rem 5rem;
}
@media (min-width: 768px) { .a2a-wbn__inner { padding: 2.5rem 2rem 5rem; } }

/* ── Back link ─────────────────────────────────────────────────────────────── */
.a2a-wbn__back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #4a3c2a;
  text-decoration: none;
  margin-bottom: 2rem;
  transition: color 0.2s;
}
.a2a-wbn__back:hover { color: #ffffff; }

/* ── 2-col header grid ─────────────────────────────────────────────────────── */
.a2a-wbn__header-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) { .a2a-wbn__header-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }

/* ── Image column ──────────────────────────────────────────────────────────── */
.a2a-wbn__img-col {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.a2a-wbn__img-col--ended { opacity: 0.45; filter: grayscale(1); }
.a2a-wbn__thumb { width: 100%; height: 18rem; object-fit: contain; padding: 1.5rem; display: block; }
.a2a-wbn__img-placeholder { font-size: 3rem; color: #303D3C; }

/* ── Details column ────────────────────────────────────────────────────────── */
.a2a-wbn__details-col { display: flex; flex-direction: column; justify-content: center; }

/* Badge row */
.a2a-wbn__badge-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.a2a-wbn__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.a2a-wbn__badge--live { background: rgba(195,69,41,0.2); color: #EFD09D; }
.a2a-wbn__badge-dot {
  width: 0.5rem; height: 0.5rem; border-radius: 50%;
  background: #C34529;
  animation: a2a-pulse 1.5s infinite;
  display: inline-block;
}
@keyframes a2a-pulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.a2a-wbn__badge--upcoming { background: rgba(190,149,82,0.15); color: #F8D7A3; }
.a2a-wbn__badge--ended { background: #1E2620; color: #755E3B; }

/* Title / subtitle / date */
.a2a-wbn__title {
  font-family: var(--dpa-font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #ffffff;
  line-height: 1.1;
  margin: 0 0 0.5rem;
}
.a2a-wbn__subtitle { color: #BE9552; font-size: 0.9375rem; line-height: 1.55; margin: 0 0 0.75rem; }
.a2a-wbn__date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #755E3B;
  margin-bottom: 1.25rem;
}
.a2a-wbn__date .fa-calendar { color: #BE9552; }

/* Specs grid (2-up pill cards) */
.a2a-wbn__specs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
.a2a-wbn__spec-cell {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.5rem;
  padding: 0.625rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.a2a-wbn__spec-label { font-size: 0.6875rem; color: #755E3B; text-transform: uppercase; letter-spacing: 0.05em; }
.a2a-wbn__spec-value { font-size: 0.875rem; color: #ffffff; font-weight: 600; }

/* ── Notices (login / no product) ──────────────────────────────────────────── */
.a2a-wbn__notice {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 2rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.9375rem;
  color: #BE9552;
}
.a2a-wbn__notice i { color: #BE9552; flex-shrink: 0; margin-top: 0.125rem; }
.a2a-wbn__notice a { color: #EFD09D; text-decoration: underline; }

/* ── Ended block ───────────────────────────────────────────────────────────── */
.a2a-wbn__ended-block {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 4rem 2rem;
  text-align: center;
}
.a2a-wbn__ended-icon { font-size: 3rem; color: #303D3C; display: block; margin-bottom: 1rem; }
.a2a-wbn__ended-heading { font-family: var(--dpa-font-display); font-size: 1.5rem; font-weight: 400; color: #ffffff; margin: 0 0 0.5rem; }
.a2a-wbn__ended-sub { color: #755E3B; margin: 0 0 1.5rem; font-size: 0.9375rem; }
.a2a-wbn__ended-link {
  display: inline-block;
  padding: 0.625rem 1.5rem;
  border: 2px solid #C34529;
  border-radius: 0.375rem;
  color: #BE9552;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.a2a-wbn__ended-link:hover { background: #C34529; color: #ffffff; }

/* ── Image column: stack main image above thumbnail strip ───────────────────── */
.a2a-wbn__img-col {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}

/* ── Thumbnail strip ────────────────────────────────────────────────────────── */
.a2a-wbn__thumb-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid #303D3C;
  background: #111610;
}
.a2a-wbn__thumb-nail {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 2px solid #303D3C;
  border-radius: 0.375rem;
  overflow: hidden;
  background: #161A16;
  cursor: pointer;
  transition: border-color 0.2s;
}
.a2a-wbn__thumb-nail:hover {
  border-color: #755E3B;
}
.a2a-wbn__thumb-nail.is-active {
  border-color: #BE9552;
}
.a2a-wbn__thumb-nail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── "Read More" inline button ──────────────────────────────────────────────── */
.a2a-wbn__read-more {
  display: inline;
  background: none;
  border: none;
  padding: 0;
  margin-left: 0.35em;
  font-size: inherit;
  font-weight: 600;
  color: #BE9552;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s;
}
.a2a-wbn__read-more:hover { color: #EFD09D; }

/* ── Description modal ──────────────────────────────────────────────────────── */
.a2a-wbn__desc-modal-content {
  position: relative;
  z-index: 1;
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  width: min(680px, 92vw);
  max-height: 82vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.7);
}
.a2a-wbn__desc-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 1.5rem 1rem;
  border-bottom: 1px solid #303D3C;
  flex-shrink: 0;
}
.a2a-wbn__desc-modal-title {
  font-family: var(--dpa-font-display);
  font-size: 1.375rem;
  font-weight: 400;
  color: #ffffff;
  margin: 0;
  line-height: 1.25;
}
.a2a-wbn__desc-modal-header .a2a-wbn__modal-close {
  /* override the image-modal positioning for use inside a flex header */
  position: static;
  flex-shrink: 0;
  opacity: 0.6;
}
.a2a-wbn__desc-modal-body {
  overflow-y: auto;
  padding: 1.5rem;
  color: #D4C9B8;
  font-size: 0.9375rem;
  line-height: 1.7;
}
.a2a-wbn__desc-modal-body p  { margin: 0 0 1em; }
.a2a-wbn__desc-modal-body ul,
.a2a-wbn__desc-modal-body ol { padding-left: 1.5rem; margin: 0 0 1em; }
.a2a-wbn__desc-modal-body a  { color: #BE9552; text-decoration: underline; }
.a2a-wbn__desc-modal-body a:hover { color: #EFD09D; }

/* ── Image modal ────────────────────────────────────────────────────────────── */
.a2a-wbn__modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: a2a-modal-in 0.2s ease;
}
.a2a-wbn__modal[hidden] { display: none; }
@keyframes a2a-modal-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.a2a-wbn__modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  cursor: zoom-out;
}
.a2a-wbn__modal-content {
  position: relative;
  z-index: 1;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.a2a-wbn__modal-img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  border-radius: 0.5rem;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.7);
  display: block;
}
.a2a-wbn__modal-close {
  position: absolute;
  top: -2.5rem;
  right: 0;
  background: none;
  border: none;
  color: #ffffff;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  line-height: 1;
  opacity: 0.75;
  transition: opacity 0.2s;
}
.a2a-wbn__modal-close:hover { opacity: 1; }
/* Prevent page scroll while modal is open */
body.a2a-modal-open { overflow: hidden; }

/* =============================================================================
   ── Theater block (seat picker) ───────────────────────────────────────────────
   ============================================================================= */
.a2a-wbn__theater {
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}

/* TOP PANEL */
.a2a-wbn__theater-top {
  background: #1E2620;
  padding: 1.5rem;
  border-bottom: 1px solid #111610;
}
.a2a-wbn__theater-heading {
  font-family: var(--dpa-font-display);
  font-size: 1.5rem;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 0.25rem;
}
.a2a-wbn__theater-meta {
  font-size: 0.875rem;
  color: #755E3B;
  margin: 0 0 1.25rem;
}
.a2a-wbn__theater-meta .woocommerce-Price-amount { color: #755E3B; }
.a2a-wbn__remaining { color: #BE9552; }
.a2a-wbn__remaining--low { color: #C34529; font-weight: 600; }

/* Pick For Me row */
.a2a-wbn__pick-row {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.a2a-wbn__pick-input {
  flex: 1;
  min-height: 3rem !important;   /* matches DaisyUI .btn height used in prototype */
  background: #111610 !important;
  border: 1.5px solid #303D3C !important;
  border-radius: 0.5rem !important;
  color: #EFD09D !important;
  padding: 0.625rem 1rem !important;
  font-size: 0.875rem !important; /* 14px — prototype: font-size:14px */
  outline: none !important;
  box-shadow: none !important;
}
.a2a-wbn__pick-input:focus { border-color: #BE9552 !important; }
.a2a-wbn__pick-btn {
  min-height: 3rem !important;   /* DaisyUI .btn default */
  background: #111610 !important;
  border: 1.5px solid #BE9552 !important;
  color: #BE9552 !important;
  border-radius: 0.5rem !important;
  padding: 0 1.5rem !important;  /* prototype: px-6 = 1.5rem horizontal */
  font-size: 0.875rem !important; /* prototype: text-sm = 14px */
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.a2a-wbn__pick-btn:hover { background: #BE9552 !important; color: #111610 !important; }

/* Legend pills */
.a2a-wbn__legend { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.a2a-wbn__legend .dpa-seat {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  /* states applied by plugin's CSS vars below */
}

/* SEAT MAP panel */
.a2a-wbn__theater-map {
  background: #111610;
  padding: 1.5rem;
  overflow-x: auto;
}
.a2a-wbn__seat-map {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
/* Individual seat buttons rendered by plugin JS */
.a2a-wbn #dpa-seat-map .dpa-seat {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  font-size: 11px;
  font-family: monospace;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.1s;
  border-width: 1.5px;
  border-style: solid;
  cursor: pointer;
}

/* ── Seat state colours (explicit — plugin webinar.css is suppressed) ────── */
/* These apply to both the seat map buttons AND the legend pill spans        */
.a2a-wbn .dpa-seat--available {
  background: #0D2016;
  border-color: #1A7A3C;
  color: #4ade80;
  cursor: pointer;
}
.a2a-wbn .dpa-seat--available:hover {
  background: #143B1E;
  border-color: #22c55e;
  color: #86efac;
}
.a2a-wbn .dpa-seat--held {
  background: #1C1C1E;
  border-color: #3D3D3D;
  color: #555555;
  cursor: not-allowed;
}
.a2a-wbn .dpa-seat--booked {
  background: #161616;
  border-color: #222222;
  color: #2A2A2A;
  cursor: not-allowed;
  opacity: 0.55;
}
.a2a-wbn .dpa-seat--selected {
  background: #BE9552;
  border-color: #EFD09D;
  color: #111610;
  font-weight: 700;
  cursor: pointer;
}

/* Legend pills share the same state classes — shape them as pills.
   The prototype uses lighter text colors in the legend than in the seat grid,
   so we override the text colors specifically for the legend context.        */
.a2a-wbn__legend .dpa-seat {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  border-style: solid;
  border-width: 1.5px;
  cursor: default !important;
}
.a2a-wbn__legend .dpa-seat--held   { color: #888888; } /* prototype: #888 */
.a2a-wbn__legend .dpa-seat--booked { color: #555555; opacity: 1; } /* prototype: #555 */

/* FOOTER */
.a2a-wbn__theater-footer {
  background: #1E2620;
  border-top: 1px solid #111610;
  padding: 1.25rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.a2a-wbn__footer-summary { flex: 1; min-width: 0; }
.a2a-wbn__summary-label {
  font-size: 0.875rem;
  color: #755E3B;
  margin: 0 0 0.125rem;
}
.a2a-wbn__summary-price {
  font-family: var(--dpa-font-display);
  font-size: 1.875rem;
  color: #755E3B;
  margin: 0;
  line-height: 1;
  transition: color 0.2s;
}
.a2a-wbn__summary-price--active { color: #C34529; }
.a2a-wbn__footer-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.a2a-wbn__footer-disclaimer {
  font-size: 0.6875rem;
  color: #303D3C;
  text-align: right;
  margin: 0;
  line-height: 1.5;
}
/* Claim Seats button — prototype: btn-lg (min-height:4rem, font-size:1.125rem) + px-10 (2.5rem) */
.a2a-wbn__claim-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  min-height: 4rem !important;   /* DaisyUI btn-lg */
  padding: 0 2.5rem !important;  /* px-10 = 2.5rem */
  background: #C34529 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  font-size: 1.125rem !important; /* btn-lg */
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s, opacity 0.2s;
}
.a2a-wbn__claim-btn:hover:not(:disabled) {
  background: #A83820 !important;
  box-shadow: 0 0 24px 6px rgba(195,69,41,0.4) !important;
}
.a2a-wbn__claim-btn:disabled { opacity: 0.45; cursor: not-allowed; }

/* ============================================================
   MY ACCOUNT — Login / Register page
   Targets: body.woocommerce-account:not(.logged-in)
   ============================================================ */

/* Page-level: dark background + center the card */
body.woocommerce-account:not(.logged-in) {
  background: #111610;
}
/* hide the generic page-title banner on all account pages (logged-in and out) */
body.woocommerce-account .dpa-page-header {
  display: none;
}
body.woocommerce-account:not(.logged-in) .dpa-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
body.woocommerce-account:not(.logged-in) .dpa-prose {
  max-width: 1200px !important;
}

/* ── Card ─────────────────────────────────────────────────── */
.a2a-login {
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* Strip WooCommerce's default form border/padding */
.a2a-login .woocommerce-form {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ── Icon + heading ───────────────────────────────────────── */
.a2a-login__header {
  text-align: center;
  margin-bottom: 2rem;
}
.a2a-login__icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 2px solid #BE9552;
  margin-bottom: 1rem;
  color: #EFD09D;
  font-size: 1.5rem;
}
.a2a-login__title {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.875rem;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 0.25rem;
  letter-spacing: -0.01em;
}
.a2a-login__sub {
  color: #755E3B;
  font-size: 0.875rem;
  margin: 0;
}

/* ── Tabs ─────────────────────────────────────────────────── */
.a2a-login__tabs {
  display: flex;
  border-bottom: 1px solid #303D3C;
  margin-bottom: 1.5rem;
}
.a2a-login__tab {
  padding: 0.625rem 1.5rem;
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  color: #755E3B;
  transition: color 0.2s, border-color 0.2s;
}
.a2a-login__tab--active {
  color: #BE9552;
  border-bottom-color: #BE9552;
}
.a2a-login__tab:hover:not(.a2a-login__tab--active) {
  color: #BE9552;
}

/* ── Panels ───────────────────────────────────────────────── */
.a2a-login__panel--hidden {
  display: none !important;
}

/* ── Form fields ──────────────────────────────────────────── */
.a2a-login__panel .form-row,
.a2a-login__panel p.woocommerce-form-row {
  margin-bottom: 1rem !important;
}
.a2a-login__label,
.a2a-login__panel label:not([for="sms_optin"]):not([for="rememberme"]) {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #EFD09D;
  margin-bottom: 0.375rem;
}
.a2a-login__panel label .required { color: #C34529; }

/* All text / email / password / tel inputs */
.a2a-login__input,
.a2a-login__panel input.input-text,
.a2a-login__panel input[type="text"],
.a2a-login__panel input[type="email"],
.a2a-login__panel input[type="password"],
.a2a-login__panel input[type="tel"] {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: #EFD09D !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  box-shadow: none !important;
}
.a2a-login__panel input.input-text:focus,
.a2a-login__panel input[type="text"]:focus,
.a2a-login__panel input[type="email"]:focus,
.a2a-login__panel input[type="password"]:focus,
.a2a-login__panel input[type="tel"]:focus {
  border-color: #BE9552 !important;
}
.a2a-login__panel input::placeholder { color: #755E3B !important; opacity: 1 !important; }

/* ── OtterText SMS opt-in block ───────────────────────────── */
/* Phone field row — same style as other inputs, handled above via input[type="tel"] */
.a2a-login__panel p.form-row:has(#sms_optin) {
  background: #1C1A0E;
  border: 1px solid #755E3B;
  border-radius: 0.5rem;
  padding: 1rem;
  margin-bottom: 1rem !important;
}
.a2a-login__panel label[for="sms_optin"] {
  display: flex !important;
  align-items: flex-start;
  gap: 0.75rem;
  font-weight: normal;
  cursor: pointer;
  color: #EFD09D;
  font-size: 0.875rem;
}
.a2a-login__panel label[for="sms_optin"] input[type="checkbox"] {
  accent-color: #BE9552;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-top: 0.2rem;
}
.a2a-login__panel label[for="sms_optin"] span {
  color: #EFD09D;
  font-size: 0.875rem;
  line-height: 1.4;
}

/* ── Forgot password ──────────────────────────────────────── */
.a2a-login__forgot {
  text-align: right;
  margin-bottom: 0.25rem !important;
}
.a2a-login__forgot-link {
  font-size: 0.75rem;
  color: #BE9552;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
}
.a2a-login__forgot-link:hover { color: #EFD09D; }

/* ── Submit button ────────────────────────────────────────── */
.a2a-login__submit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  min-height: 3.5rem !important;
  padding: 0 1.5rem !important;
  background: #C34529 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  margin-top: 0.5rem !important;
}
.a2a-login__submit:hover {
  background: #A83820 !important;
  color: #ffffff !important;
}

/* ── Remember me checkbox (sign-in form) ──────────────────── */
.a2a-login__panel .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #755E3B;
}
.a2a-login__panel .woocommerce-form-login__rememberme input { accent-color: #BE9552; }

/* ── Switch account link ──────────────────────────────────── */
.a2a-login__switch {
  font-size: 0.75rem;
  color: #755E3B;
  text-align: center;
  margin-top: 1rem !important;
}
.a2a-login__switch-btn {
  background: none;
  border: none;
  padding: 0;
  color: #BE9552;
  cursor: pointer;
  font-size: 0.75rem;
}
.a2a-login__switch-btn:hover { color: #EFD09D; }

/* ── "A link to set password" hint ───────────────────────── */
.a2a-login__hint {
  font-size: 0.8rem;
  color: #755E3B;
  margin-bottom: 0.5rem;
}

/* ── WooCommerce notices inside login card ────────────────── */
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper,
body.woocommerce-account:not(.logged-in) .woocommerce-error,
body.woocommerce-account:not(.logged-in) .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-info {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================================
   MY ACCOUNT — Logged-in dashboard
   ============================================================ */

/* Page-level overrides for logged-in account pages */
body.woocommerce-account.logged-in {
  background: #111610;
}
body.woocommerce-account.logged-in .dpa-section {
  padding-top: 3rem;
  padding-bottom: 4rem;
}
/* Expand .dpa-prose past its 780px cap; keep .dpa-container's margin:0 auto centering intact */
body.woocommerce-account.logged-in .dpa-prose {
  max-width: 1200px !important;
}
/* The parent theme's woocommerce_before_main_content hook wraps shortcode output in a
   second .dpa-container (nested inside page.php's own .dpa-container). Strip all width
   constraints from every inner wrapper so the outer container does all the constraining. */
body.woocommerce-account .dpa-woo-wrap,
body.woocommerce-account .dpa-woo-wrap > .dpa-container,
body.woocommerce-account .woocommerce {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}
.a2a-acct { width: 100%; }

/* ── Page header (eyebrow + h1) ───────────────────────────── */
.a2a-acct__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #BE9552;
  margin-bottom: 0.375rem;
}
.a2a-acct__heading {
  font-family: 'Oswald', Impact, system-ui;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 2rem;
}

/* ── 4-column grid ────────────────────────────────────────── */
.a2a-acct__grid {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 768px) {
  .a2a-acct__grid { grid-template-columns: 1fr; }
}

/* ── Sidebar nav ──────────────────────────────────────────── */
.a2a-acct__nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.a2a-acct__nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #BE9552;
  border: 1px solid #1E2620;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.a2a-acct__nav-item:hover {
  color: #ffffff;
  border-color: #303D3C;
  text-decoration: none;
}
.a2a-acct__nav-item--active {
  background: #C34529;
  color: #ffffff !important;
  border-color: #C34529 !important;
}
.a2a-acct__nav-item--logout {
  margin-top: 1rem;
  color: #755E3B;
}
.a2a-acct__nav-item i {
  width: 1rem;
  text-align: center;
  flex-shrink: 0;
}

/* ── Content panel ────────────────────────────────────────── */
.a2a-acct__content {
  min-height: 500px;
  /* WooCommerce default CSS applies float:right + width:68% to
     .woocommerce-MyAccount-content — override so the grid column fills. */
  float: none !important;
  width: 100% !important;
}
/* Reset WC default content styles */
.a2a-acct__content > * { margin-top: 0; }

/* ── Dashboard welcome card ───────────────────────────────── */
.a2a-dash__welcome {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.a2a-dash__hello {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.5rem;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 0.5rem;
}
.a2a-dash__desc {
  font-size: 0.875rem;
  color: #BE9552;
  line-height: 1.6;
  margin: 0;
}
.a2a-dash__desc a {
  color: #C34529;
  text-decoration: underline;
}

/* ── OtterText SMS banner (dashboard) ────────────────────── */
.dpa-sms-banner {
  background: #1C1A0E;
  border: 1px solid #755E3B;
  border-radius: 1rem;
  padding: 1.5rem;
  margin-top: 1.5rem;
}
.dpa-sms-banner__inner { display: flex; flex-direction: column; gap: 1rem; }
.dpa-sms-banner__text strong {
  display: block;
  font-size: 0.9375rem;
  color: #EFD09D;
  margin-bottom: 0.375rem;
}
.dpa-sms-banner__text p {
  font-size: 0.8125rem;
  color: #755E3B;
  line-height: 1.5;
  margin: 0;
}
.dpa-sms-banner__hint {
  font-size: 0.8125rem;
  color: #BE9552;
  margin-bottom: 0.5rem;
}
.dpa-sms-banner__phone-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.dpa-sms-banner__input {
  flex: 1;
  min-width: 180px;
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.5rem;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  color: #EFD09D;
  outline: none;
}
.dpa-sms-banner__input:focus { border-color: #BE9552; }
.dpa-sms-banner__btn {
  padding: 0.625rem 1.5rem;
  background: #C34529;
  color: #ffffff;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
}
.dpa-sms-banner__btn:hover { background: #A83820; }

/* ── Order History: stat boxes ────────────────────────────── */
.a2a-orders__heading {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.5rem;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 1.25rem;
}
.a2a-orders__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 480px) {
  .a2a-orders__stats { grid-template-columns: 1fr; }
}
.a2a-orders__stat {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1.25rem;
  text-align: center;
}
.a2a-orders__stat-val {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 2.5rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 0.375rem;
}
.a2a-orders__stat--gold .a2a-orders__stat-val { color: #BE9552; }
.a2a-orders__stat--red  .a2a-orders__stat-val { color: #C34529; }
.a2a-orders__stat-lbl {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #755E3B;
}

/* ── Orders table ─────────────────────────────────────────── */
/* WooCommerce's .woocommerce table.shop_table (specificity 0,2,1) beats our
   class-only selectors (0,1,x). Use !important to guarantee our values win. */
.a2a-orders__table-wrap {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}
.a2a-orders__table {
  width: 100% !important;
  border-collapse: collapse !important; /* WC sets separate; collapse lets tr borders work */
  border-spacing: 0 !important;
  font-size: 0.875rem;
  border: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.a2a-orders__table thead tr {
  border-bottom: 1px solid #303D3C !important;
}
.a2a-orders__table thead th {
  padding: 0.75rem 1.25rem !important;
  text-align: left !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #755E3B !important;
  background: transparent !important;
  border: none !important;
  line-height: 1.5 !important;
}
.a2a-orders__table tbody tr {
  border-bottom: 1px solid #161A16 !important;
  transition: background 0.15s;
}
.a2a-orders__table tbody tr:last-child { border-bottom: none !important; }
.a2a-orders__table tbody tr:hover { background: rgba(17,22,16,0.5); }
.a2a-orders__table td,
.a2a-orders__table th[scope="row"] {
  padding: 1rem 1.25rem !important;
  color: #EFD09D !important;
  background: transparent !important;
  border: none !important;          /* kill WC's border-top on every td */
  border-top: none !important;
  vertical-align: middle !important;
  line-height: 1.5 !important;
}
.a2a-orders__table .woocommerce-orders-table__cell-order-number a {
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
}
.a2a-orders__table .woocommerce-orders-table__cell-order-number a:hover { color: #BE9552; }
.a2a-orders__table .woocommerce-orders-table__cell-order-date time { color: #BE9552; }

/* Order status pills */
.a2a-orders__status {
  display: inline-block;
  padding: 0.15rem 0.65rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 1px solid;
}
.a2a-orders__status--completed  { background: rgba(26,122,60,0.15);  color: #1A7A3C; border-color: #1A7A3C; }
.a2a-orders__status--processing { background: rgba(190,149,82,0.15); color: #BE9552; border-color: #BE9552; }
.a2a-orders__status--on-hold    { background: rgba(59,130,246,0.15); color: #60a5fa; border-color: #3b82f6; }
.a2a-orders__status--cancelled,
.a2a-orders__status--refunded   { background: rgba(195,69,41,0.15);  color: #C34529; border-color: #C34529; }
.a2a-orders__status--pending    { background: rgba(48,61,60,0.3);    color: #BE9552; border-color: #303D3C; }

/* Action button (View) */
.a2a-orders__action-btn {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #C34529;
  text-decoration: none;
  letter-spacing: 0.05em;
}
.a2a-orders__action-btn:hover { color: #EFD09D; text-decoration: underline; }

/* Empty state & pagination */
.a2a-orders__empty {
  color: #755E3B;
  font-size: 0.875rem;
}
.a2a-orders__shop-link { color: #C34529; margin-left: 0.5rem; }
.a2a-orders__pagination { display: flex; gap: 0.75rem; margin-top: 1rem; }
.a2a-orders__page-btn {
  padding: 0.5rem 1.25rem;
  border: 1px solid #303D3C;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #BE9552;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.a2a-orders__page-btn:hover { border-color: #BE9552; color: #EFD09D; }

/* ============================================================
   MY ACCOUNT — Addresses tab
   ============================================================ */
.a2a-addr__intro {
  font-size: 0.875rem;
  color: #8A9E9C;
  margin-bottom: 1.5rem;
}

.a2a-addr__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (max-width: 640px) {
  .a2a-addr__grid { grid-template-columns: 1fr; }
}

.a2a-addr__card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
}

.a2a-addr__card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #303D3C;
}

.a2a-addr__card-title {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
}
.a2a-addr__card-title i { color: #BE9552; font-size: 0.9em; }

.a2a-addr__edit-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 0.375rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.a2a-addr__edit-link--edit {
  color: #BE9552;
  border-color: #4A3A20;
}
.a2a-addr__edit-link--edit:hover {
  background: #4A3A20;
  color: #EFD09D;
  text-decoration: none;
}
.a2a-addr__edit-link--add {
  color: #ffffff;
  background: #C34529;
  border-color: #C34529;
}
.a2a-addr__edit-link--add:hover {
  background: #A3361D;
  border-color: #A3361D;
  color: #ffffff;
  text-decoration: none;
}

.a2a-addr__body {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #C8D5D3;
  font-style: normal;
}

.a2a-addr__empty {
  font-style: italic;
  color: #5A6E6C;
  font-size: 0.875rem;
}

/* ============================================================
   MY ACCOUNT — Edit Address form
   ============================================================ */

/* Wrap the whole form in a dark card */
.woocommerce-address-fields {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 2rem;
}

/* Form title */
.woocommerce-address-fields h2,
.a2a-acct__content > form > h2 {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.25rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
  margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #303D3C;
}

/* Turn the field-wrapper into a 2-col grid; WC uses float-based halves by default */
.woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
}
@media (max-width: 640px) {
  .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* Full-width fields (form-row-wide) span both columns */
.woocommerce-address-fields__field-wrapper .form-row-wide {
  grid-column: 1 / -1;
}

/* Clear floats WooCommerce sets on form-row-first / form-row-last */
.woocommerce-address-fields__field-wrapper .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  clear: none !important;
}

/* Labels */
.woocommerce-address-fields .form-row label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #BE9552;
  margin-bottom: 0.375rem;
}
.woocommerce-address-fields .form-row label .required { color: #C34529; }

/* Inputs + selects */
.woocommerce-address-fields .form-row input.input-text,
.woocommerce-address-fields .form-row input[type="text"],
.woocommerce-address-fields .form-row input[type="email"],
.woocommerce-address-fields .form-row input[type="tel"],
.woocommerce-address-fields .form-row select {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: #EFD09D !important;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}
.woocommerce-address-fields .form-row input.input-text:focus,
.woocommerce-address-fields .form-row input[type="text"]:focus,
.woocommerce-address-fields .form-row input[type="email"]:focus,
.woocommerce-address-fields .form-row input[type="tel"]:focus,
.woocommerce-address-fields .form-row select:focus {
  border-color: #BE9552 !important;
}
.woocommerce-address-fields .form-row input::placeholder { color: #4A3C2A !important; opacity: 1 !important; }

/* Custom select arrow */
.woocommerce-address-fields .form-row select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23BE9552' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
  cursor: pointer;
}

/* Submit button — red CTA */
.woocommerce-address-fields p > button[name="save_address"],
.woocommerce-address-fields .button[name="save_address"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #C34529 !important;
  color: #ffffff !important;
  border: 2px solid #C34529 !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 2rem !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
  margin-top: 0.5rem;
}
.woocommerce-address-fields p > button[name="save_address"]:hover,
.woocommerce-address-fields .button[name="save_address"]:hover {
  background: #A3361D !important;
  border-color: #A3361D !important;
}

/* ── Select2 dropdowns (Country / State) ─────────────────────────────────── */
/* Selection box */
.woocommerce-address-fields .select2-container--default .select2-selection--single {
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  height: auto !important;
  padding: 0.75rem 2.5rem 0.75rem 1rem !important;
}
.woocommerce-address-fields .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-address-fields .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #BE9552 !important;
}

/* Displayed text */
.woocommerce-address-fields .select2-selection__rendered {
  color: #EFD09D !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  padding: 0 !important;
}
.woocommerce-address-fields .select2-selection__placeholder {
  color: #4A3C2A !important;
}

/* Arrow */
.woocommerce-address-fields .select2-selection__arrow {
  top: 50% !important;
  right: 0.75rem !important;
  transform: translateY(-50%);
  height: auto !important;
}
.woocommerce-address-fields .select2-selection__arrow b {
  border-color: #BE9552 transparent transparent !important;
}
.woocommerce-address-fields .select2-container--open .select2-selection__arrow b {
  border-color: transparent transparent #BE9552 !important;
}

/* Dropdown panel */
.woocommerce-address-fields + .select2-container .select2-dropdown,
.select2-dropdown {
  background: #1E2620;
  border: 1px solid #BE9552;
  border-radius: 0.5rem;
  overflow: hidden;
}

/* Search box inside dropdown */
.select2-search--dropdown .select2-search__field {
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.375rem !important;
  color: #EFD09D !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.875rem !important;
}
.select2-search--dropdown .select2-search__field:focus {
  border-color: #BE9552 !important;
  outline: none !important;
}

/* Options */
.select2-results__option {
  font-size: 0.875rem !important;
  color: #C8D5D3 !important;
  padding: 0.5rem 1rem !important;
}
.select2-results__option--highlighted,
.select2-results__option--highlighted.select2-results__option--selectable {
  background: #C34529 !important;
  color: #ffffff !important;
}
.select2-results__option[aria-selected="true"] {
  background: #2A3830 !important;
  color: #BE9552 !important;
}

/* ============================================================
   MY ACCOUNT — WooCommerce notices (info / message / error)
   ============================================================ */
.a2a-acct__content .woocommerce-info,
.a2a-acct__content .woocommerce-message {
  background: #1E2620 !important;
  border-top-color: #BE9552 !important;
  color: #C8D5D3 !important;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem 1rem 3.5rem !important;
  margin-bottom: 1.5rem !important;
}
.a2a-acct__content .woocommerce-info::before,
.a2a-acct__content .woocommerce-message::before {
  color: #BE9552 !important;
}

/* ============================================================
   MY ACCOUNT — Payment methods list (generic .button in content)
   ============================================================ */
.a2a-acct__content > .button,
.a2a-acct__content .woocommerce-MyAccount-paymentMethods + .button {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  background: #C34529 !important;
  color: #ffffff !important;
  border: 2px solid #C34529 !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 2rem !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
  margin-top: 1rem;
}
.a2a-acct__content > .button:hover {
  background: #A3361D !important;
  border-color: #A3361D !important;
  color: #ffffff !important;
}

/* ============================================================
   MY ACCOUNT — Saved payment methods TABLE
   (.woocommerce-MyAccount-paymentMethods)
   Same specificity fixes as the orders table — WC's
   .woocommerce table.shop_table (0,2,1) beats plain class
   selectors, so !important is required throughout.
   ============================================================ */

/* Wrap the table in a dark card */
.woocommerce-MyAccount-paymentMethods {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: none !important;
  margin: 0 0 1.5rem !important;
  border-radius: 0 !important;
  font-size: 0.875rem;
  background: #1E2620;
  box-shadow: 0 0 0 1px #303D3C;
  border-radius: 1rem !important;
  overflow: hidden;
}

/* Header row */
.woocommerce-MyAccount-paymentMethods thead tr {
  border-bottom: 1px solid #303D3C !important;
}
.woocommerce-MyAccount-paymentMethods thead th {
  padding: 0.75rem 1.25rem !important;
  text-align: left !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #755E3B !important;
  background: transparent !important;
  border: none !important;
  line-height: 1.5 !important;
}

/* Body rows */
.woocommerce-MyAccount-paymentMethods tbody tr {
  border-bottom: 1px solid #161A16 !important;
  transition: background 0.15s;
}
.woocommerce-MyAccount-paymentMethods tbody tr:last-child {
  border-bottom: none !important;
}
.woocommerce-MyAccount-paymentMethods tbody tr:hover {
  background: rgba(17,22,16,0.5);
}

/* Body cells */
.woocommerce-MyAccount-paymentMethods td {
  padding: 1rem 1.25rem !important;
  color: #EFD09D !important;
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  vertical-align: middle !important;
  line-height: 1.5 !important;
}

/* Card brand image in method cell */
.woocommerce-MyAccount-paymentMethods .payment-method-method img {
  height: 22px !important;
  width: auto !important;
  vertical-align: middle !important;
  border-radius: 3px !important;
  margin: 0 0.375rem !important;
}

/* Expires cell — muted brass */
.woocommerce-MyAccount-paymentMethods .payment-method-expires {
  color: #BE9552 !important;
}

/* ── Action buttons inside the table ─────────────────────── */
/* "DEFAULT" badge — WooCommerce renders a <mark> inside td.payment-method-default */
.woocommerce-MyAccount-paymentMethods td.payment-method-default mark,
.woocommerce-MyAccount-paymentMethods .woocommerce-PaymentMethod--default mark {
  display: inline-block !important;
  padding: 0.15rem 0.65rem !important;
  border-radius: 999px !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: rgba(190,149,82,0.15) !important;
  color: #BE9552 !important;
  border: 1px solid #BE9552 !important;
}

/* "Edit" / "delete" action links */
.woocommerce-MyAccount-paymentMethods .button.delete,
.woocommerce-MyAccount-paymentMethods a.button.delete {
  display: inline-block !important;
  padding: 0.3rem 0.75rem !important;
  border-radius: 0.375rem !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: transparent !important;
  color: #C34529 !important;
  border: 1px solid #C34529 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s;
}
.woocommerce-MyAccount-paymentMethods .button.delete:hover,
.woocommerce-MyAccount-paymentMethods a.button.delete:hover {
  background: #C34529 !important;
  color: #ffffff !important;
}

/* "Edit" — any other non-delete, non-default action button */
.woocommerce-MyAccount-paymentMethods .woocommerce-PaymentMethod--actions .button:not(.delete):not(.default):not([class*="set_default"]),
.woocommerce-MyAccount-paymentMethods td.payment-method-actions .button:not(.delete):not(.default) {
  display: inline-block !important;
  padding: 0.3rem 0.75rem !important;
  border-radius: 0.375rem !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: transparent !important;
  color: #BE9552 !important;
  border: 1px solid #BE9552 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s;
}
.woocommerce-MyAccount-paymentMethods td.payment-method-actions .button:not(.delete):not(.default):hover {
  background: rgba(190,149,82,0.12) !important;
  color: #EFD09D !important;
}

/* ============================================================
   MY ACCOUNT — Add payment method form
   ============================================================ */

/* Outer payment wrapper */
.woocommerce-Payment {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}

/* Gateway list — remove default bullets/padding */
.woocommerce-PaymentMethods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Each gateway row */
.woocommerce-PaymentMethod {
  border-bottom: 1px solid #303D3C;
  padding: 1rem 1.5rem !important;
}
.woocommerce-PaymentMethod:last-child { border-bottom: none; }

/* Radio + label row */
.woocommerce-PaymentMethod input[type="radio"] {
  accent-color: #C34529;
  width: 1rem;
  height: 1rem;
  vertical-align: middle;
  margin-right: 0.625rem;
  flex-shrink: 0;
}
.woocommerce-PaymentMethod > label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Oswald', Impact, system-ui;
  font-size: 0.9375rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
  cursor: pointer;
}

/* Card-logo images in the label */
.woocommerce-PaymentMethod > label img {
  height: 1.5rem;
  width: auto;
  border-radius: 3px;
  margin-left: 0.25rem;
}

/* Payment box (gateway's card form area) */
.woocommerce-PaymentBox {
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.75rem !important;
  padding: 1.25rem !important;
  margin-top: 1rem !important;
  color: #C8D5D3 !important;
}
.woocommerce-PaymentBox p {
  color: #8A9E9C !important;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
/* Labels inside the gateway form */
.woocommerce-PaymentBox label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #BE9552 !important;
  display: block;
  margin-bottom: 0.375rem;
}
/* Inputs the gateway renders natively (non-iframe) */
.woocommerce-PaymentBox input[type="text"],
.woocommerce-PaymentBox input[type="tel"],
.woocommerce-PaymentBox input.input-text {
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  color: #EFD09D !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce-PaymentBox input[type="text"]:focus,
.woocommerce-PaymentBox input[type="tel"]:focus,
.woocommerce-PaymentBox input.input-text:focus {
  border-color: #BE9552 !important;
  outline: none !important;
}

/* Submit row */
.woocommerce-Payment .form-row {
  padding: 1.25rem 1.5rem !important;
  border-top: 1px solid #303D3C;
  margin: 0 !important;
}

/* "Add payment method" submit button */
#place_order,
.woocommerce-Button--alt {
  background: #C34529 !important;
  color: #ffffff !important;
  border: 2px solid #C34529 !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 2rem !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
#place_order:hover,
.woocommerce-Button--alt:hover {
  background: #A3361D !important;
  border-color: #A3361D !important;
}

/* ============================================================
   MY ACCOUNT — Edit Account (Account details) form
   ============================================================ */

/* Card wrapper */
.woocommerce-EditAccountForm {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
}

/* Half-width rows side by side — override WC floats */
.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
  float: none !important;
  width: 100% !important;
  clear: none !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
}

/* Full-width rows, fieldset, clear divs, and submit row span both columns */
.woocommerce-EditAccountForm .form-row-wide,
.woocommerce-EditAccountForm fieldset,
.woocommerce-EditAccountForm .clear,
.woocommerce-EditAccountForm > p {
  grid-column: 1 / -1;
}
.woocommerce-EditAccountForm .form-row-wide {
  margin: 0 0 1rem !important;
  padding: 0 !important;
}
.woocommerce-EditAccountForm .clear { display: none; }

/* Labels */
.woocommerce-EditAccountForm label {
  display: block !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #BE9552 !important;
  margin-bottom: 0.375rem !important;
}
.woocommerce-EditAccountForm label .required { color: #C34529 !important; }

/* All inputs */
.woocommerce-EditAccountForm .woocommerce-Input,
.woocommerce-EditAccountForm input.input-text {
  width: 100% !important;
  box-sizing: border-box !important;
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: #EFD09D !important;
  outline: none;
}
.woocommerce-EditAccountForm .woocommerce-Input:focus,
.woocommerce-EditAccountForm input.input-text:focus {
  border-color: #BE9552 !important;
}
.woocommerce-EditAccountForm input::placeholder { color: #4A3C2A !important; opacity: 1 !important; }

/* Display name helper text */
.woocommerce-EditAccountForm #account_display_name_description {
  display: block;
  font-size: 0.8rem;
  font-style: italic;
  color: #5A6E6C;
  margin-top: 0.375rem;
}

/* Password fieldset */
.woocommerce-EditAccountForm fieldset {
  border: 1px solid #303D3C !important;
  border-radius: 0.75rem !important;
  padding: 1.25rem 1.5rem !important;
  margin: 0 0 1.5rem !important;
}
.woocommerce-EditAccountForm fieldset legend {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #BE9552;
  padding: 0 0.5rem;
}

/* Password visibility toggle (WooCommerce eye icon button) */
.woocommerce-EditAccountForm .woocommerce-Input-wrapper {
  position: relative;
}
.woocommerce-EditAccountForm .woocommerce-Input__show-password {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: none !important;
  border: none !important;
  color: #BE9552 !important;
  cursor: pointer;
  padding: 0;
  font-size: 1rem;
}

/* Submit button */
.woocommerce-EditAccountForm button[name="save_account_details"] {
  background: #C34529 !important;
  color: #ffffff !important;
  border: 2px solid #C34529 !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 2rem !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.woocommerce-EditAccountForm button[name="save_account_details"]:hover {
  background: #A3361D !important;
  border-color: #A3361D !important;
}

/* ============================================================
   CART PAGE
   ============================================================ */

/* Cart page section spacing */
body.woocommerce-cart .dpa-section { padding-top: 3rem; padding-bottom: 4rem; }

/* Cart page hero — eyebrow + title (rendered in cart.php) */
.a2a-cart__page-hero {
  grid-column: 1 / -1;
  padding-bottom: 1.5rem;
}
.a2a-cart__eyebrow {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.25em !important;
  color: #BE9552 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  margin: 0 0 0.4rem !important;
  line-height: 1;
}
.a2a-cart__page-title {
  font-family: 'Oswald', Impact, system-ui;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  color: #ffffff;
  margin: 0;
  line-height: 1.1;
}

/* Two-column layout: items take remaining space, summary fixed ~340px (matches prototype ~309px) */
body.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 2rem;
  align-items: start;
}
body.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.woocommerce-cart .a2a-cart__page-hero         { grid-column: 1 / -1; }
body.woocommerce-cart .a2a-cart__items-card        { grid-column: 1; }
body.woocommerce-cart .cart-collaterals            { grid-column: 2; position: sticky; top: 6rem; }

/* WooCommerce layout.css floats .cart_totals to 48% and .cross-sells to 48%
   inside .cart-collaterals. Override so the totals fill our full sidebar column. */
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart-collaterals .cross-sells {
  float: none !important;
  width: 100% !important;
  clear: both;
}

@media (max-width: 900px) {
  /* Force single-column stack; !important overrides any parent-theme grid rules */
  body.woocommerce-cart .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 1.25rem;
  }
  body.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1; }
  body.woocommerce-cart .a2a-cart__page-hero  { grid-column: 1; }
  body.woocommerce-cart .a2a-cart__items-card { grid-column: 1; order: 2; }
  body.woocommerce-cart .cart-collaterals {
    grid-column: 1;
    position: static;
    order: 3;
  }
}

@media (max-width: 600px) {
  /* Cart item row: stack thumbnail above info on narrow screens */
  .woocommerce-cart-form__cart-item {
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  .woocommerce-cart-form__cart-item .product-thumbnail {
    flex-shrink: 0;
  }
  .woocommerce-cart-form__cart-item .product-info {
    flex: 1 1 0;
    min-width: 0;
  }
  .woocommerce-cart-form__cart-item .product-subtotal {
    width: 100%;
    text-align: right;
    border-top: 1px solid #2a3a2e;
    padding-top: 0.5rem;
    margin-top: 0.25rem;
  }

  /* Coupon + Update row: stack vertically */
  .a2a-cart__form-footer {
    flex-direction: column;
    gap: 0.625rem;
  }
  .a2a-cart__form-footer .coupon,
  .a2a-cart__update-btn { width: 100%; }
}

/* ── Notices (cart page) ──────────────────────────────────── */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  background: #1E2620 !important;
  color: #C8D5D3 !important;
  border-top-color: #BE9552 !important;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem 1rem 3.5rem !important;
  margin-bottom: 0 !important;
}
body.woocommerce-cart .woocommerce-error { border-top-color: #C34529 !important; }
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before { color: #BE9552 !important; }
body.woocommerce-cart .woocommerce-message a.button,
body.woocommerce-cart .woocommerce-info a.button {
  background: #C34529 !important; color: #fff !important;
  border-radius: 0.375rem !important; font-family: 'Oswald', Impact, system-ui !important;
  font-size: 0.875rem !important; text-transform: uppercase !important;
  letter-spacing: 0.08em !important; padding: 0.4rem 1rem !important;
  float: right; margin-top: -0.2rem;
}

/* ── Empty cart state ─────────────────────────────────────── */
.a2a-cart__empty-wrap {
  /* Spans both grid columns so nothing sits beside it */
  grid-column: 1 / -1;
}
.a2a-cart__empty-state {
  text-align: center;
  padding: 5rem 1rem;
}
.a2a-cart__empty-icon {
  display: block;
  font-size: 4rem;
  color: #303D3C;
  margin-bottom: 1.5rem;
}
.a2a-cart__empty-heading {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.75rem;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 0.75rem;
}
.a2a-cart__empty-sub {
  color: #755E3B;
  font-size: 1rem;
  margin: 0 0 2rem;
}
.a2a-cart__empty-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}
/* Shared button base */
.a2a-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Oswald', Impact, system-ui;
  font-size: 0.9375rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.75rem 1.5rem;
  border-radius: 0.375rem;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s, color 0.2s;
  text-decoration: none;
}
/* Solid red — "Visit Shop" */
.a2a-btn--solid {
  background: #C34529;
  color: #ffffff;
  border: 2px solid #C34529;
}
.a2a-btn--solid:hover {
  background: #873622;
  border-color: #873622;
  box-shadow: 0 0 20px 4px rgba(195,69,41,0.45);
  color: #ffffff;
}
/* Outline — "Browse Webinars" */
.a2a-btn--outline {
  background: transparent;
  color: #BE9552;
  border: 2px solid #C34529;
}
.a2a-btn--outline:hover {
  background: #C34529;
  color: #ffffff;
}

/* ── Items card ───────────────────────────────────────────── */
.a2a-cart__items-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}

.a2a-cart__items-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #303D3C;
}
.a2a-cart__items-title {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.125rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffffff;
  margin: 0;
}
.a2a-cart__item-count { color: #BE9552; font-size: 0.9em; }

.a2a-cart__continue {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #BE9552;
  text-decoration: none;
  transition: color 0.2s;
}
.a2a-cart__continue:hover { color: #EFD09D; text-decoration: none; }

/* ── Item rows ────────────────────────────────────────────── */
.woocommerce-cart-form__contents { padding: 0 1.5rem; }

.woocommerce-cart-form__cart-item {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid #1A1F1E;
}
.woocommerce-cart-form__cart-item:last-child { border-bottom: none; }

/* Thumbnail */
.woocommerce-cart-form__cart-item .product-thumbnail {
  flex-shrink: 0;
  width: 80px; height: 80px;
  border-radius: 0.5rem;
  background: #111610;
  overflow: hidden;
}
.woocommerce-cart-form__cart-item .product-thumbnail img,
.woocommerce-cart-form__cart-item .product-thumbnail a { display: block; width: 100%; height: 100%; }
.woocommerce-cart-form__cart-item .product-thumbnail img { object-fit: cover; opacity: 0.85; }

/* Info column (name + price + actions) */
.woocommerce-cart-form__cart-item .product-info { flex: 1; min-width: 0; }

.woocommerce-cart-form__cart-item .product-name { font-size: 0.9375rem; font-weight: 600; color: #ffffff; line-height: 1.35; }
.woocommerce-cart-form__cart-item .product-name a { color: #ffffff; text-decoration: none; }
.woocommerce-cart-form__cart-item .product-name a:hover { color: #BE9552; }

.woocommerce-cart-form__cart-item .product-price {
  font-size: 0.8125rem; color: #8A9E9C; margin-top: 0.25rem;
}
.woocommerce-cart-form__cart-item .product-price .woocommerce-Price-amount { color: #8A9E9C; }

.woocommerce-cart-form__cart-item .product-actions {
  display: flex; align-items: center; gap: 1rem; margin-top: 0.75rem;
}

/* Qty stepper */
.woocommerce-cart-form__cart-item .quantity { display: flex; align-items: center; gap: 0; }
.woocommerce-cart-form__cart-item .quantity input.qty {
  width: 2.25rem !important; height: 2rem;
  text-align: center;
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-left: none !important; border-right: none !important;
  color: #ffffff !important; font-size: 0.875rem !important;
  border-radius: 0 !important;
  -moz-appearance: textfield; appearance: textfield;
}
.woocommerce-cart-form__cart-item .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form__cart-item .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Remove button */
.woocommerce-cart-form__cart-item .product-remove a.remove {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;
  color: #5A6E6C; text-decoration: none; transition: color 0.2s;
}
.woocommerce-cart-form__cart-item .product-remove a.remove:hover { color: #C34529; }

/* Line subtotal */
.woocommerce-cart-form__cart-item .product-subtotal {
  flex-shrink: 0;
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.125rem;
  color: #ffffff;
  align-self: center;
  min-width: 4rem;
  text-align: right;
}
.woocommerce-cart-form__cart-item .product-subtotal .woocommerce-Price-amount { color: #ffffff; }

/* ── Form footer (coupon + update) ───────────────────────── */
.a2a-cart__form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  border-top: 1px solid #303D3C;
  background: #161A16;
}
.a2a-cart__form-footer .coupon { display: flex; gap: 0.5rem; flex: 1; min-width: 0; }
.a2a-cart__form-footer .coupon input.input-text {
  flex: 1; min-width: 0;
  background: #1E2620 !important; border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important; padding: 0.6rem 1rem !important;
  color: #EFD09D !important; font-size: 0.875rem !important;
}
.a2a-cart__form-footer .coupon input.input-text:focus { border-color: #BE9552 !important; outline: none; }
.a2a-cart__form-footer .coupon input::placeholder { color: #4A3C2A !important; }
.a2a-cart__form-footer .coupon .button {
  background: transparent !important; border: 1px solid #BE9552 !important;
  color: #BE9552 !important; border-radius: 0.5rem !important;
  padding: 0.6rem 1.1rem !important; font-size: 0.8125rem !important;
  font-family: 'Oswald', Impact, system-ui !important; text-transform: uppercase !important;
  letter-spacing: 0.08em !important; cursor: pointer; white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}
.a2a-cart__form-footer .coupon .button:hover { background: #BE9552 !important; color: #111610 !important; }
.a2a-cart__update-btn {
  background: transparent !important; border: 1px solid #303D3C !important;
  color: #8A9E9C !important; border-radius: 0.5rem !important;
  padding: 0.6rem 1.1rem !important; font-size: 0.8125rem !important;
  font-family: 'Oswald', Impact, system-ui !important; text-transform: uppercase !important;
  letter-spacing: 0.08em !important; cursor: pointer; white-space: nowrap;
  transition: border-color 0.2s, color 0.2s;
}
.a2a-cart__update-btn:hover { border-color: #BE9552 !important; color: #BE9552 !important; }

/* ── Order Summary sidebar ────────────────────────────────── */
.a2a-cart__totals {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}
.a2a-cart__totals-title {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.125rem; font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em;
  color: #ffffff; margin: 0;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #303D3C;
}
.a2a-cart__totals-table {
  width: 100%;
  border-collapse: collapse;
  /* Kill WooCommerce shop_table outer border */
  border: none !important;
}
.a2a-cart__totals-table tr { border-bottom: 1px solid #303D3C; }
.a2a-cart__totals-table tr:last-child { border-bottom: none; }
.a2a-cart__totals-table th,
.a2a-cart__totals-table td {
  padding: 0.875rem 1.5rem !important;
  font-size: 0.9rem;
  vertical-align: middle !important;
  /* Kill WooCommerce shop_table cell borders */
  border: none !important;
  border-top: none !important;
}
.a2a-cart__totals-table th { color: #8A9E9C; font-weight: 400; text-align: left; }
.a2a-cart__totals-table td { color: #ffffff; text-align: right; }
.a2a-cart__totals-table td .woocommerce-Price-amount { color: #ffffff; }
.a2a-cart__totals-table tr.order-total th,
.a2a-cart__totals-table tr.order-total td { color: #EFD09D; font-size: 1.05rem; }
.a2a-cart__totals-table tr.order-total td .woocommerce-Price-amount { color: #EFD09D; font-size: 1.2rem; font-family: 'Oswald', Impact, system-ui; }
.a2a-cart__totals-table tr.cart-discount td { color: #4ade80; }

/* Checkout button
   WooCommerce layout.css: .woocommerce-cart .wc-proceed-to-checkout { padding: 1em 0 }
   that rule wins on specificity — use !important to restore horizontal padding. */
.wc-proceed-to-checkout { padding: 1.25rem 1.5rem !important; }
.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center; justify-content: center; gap: 0.625rem;
  width: 100% !important;
  background: #C34529 !important; color: #ffffff !important;
  border: 2px solid #C34529 !important; border-radius: 0.5rem !important;
  padding: 0.875rem 1.5rem !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1rem !important; font-weight: 400 !important;
  text-transform: uppercase !important; letter-spacing: 0.12em !important;
  text-decoration: none !important; cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.wc-proceed-to-checkout a.checkout-button::before {
  font-family: 'Font Awesome 6 Free'; font-weight: 900;
  content: '\f023'; font-size: 0.875em;
}
.wc-proceed-to-checkout a.checkout-button:hover {
  background: #A3361D !important; border-color: #A3361D !important;
}

/* ============================================================
   CHECKOUT PAGE
   ============================================================ */

/* Section spacing (page.php wraps checkout in dpa-section) */
body.woocommerce-checkout .dpa-section { padding-top: 3rem; padding-bottom: 4rem; }

/* ── Hero: eyebrow + title ────────────────────────────────── */
.a2a-checkout__hero { margin-bottom: 2.5rem; }
.a2a-checkout__eyebrow {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.25em !important;
  color: #BE9552 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  margin: 0 0 0.5rem !important;
  line-height: 1;
}
.a2a-checkout__title {
  font-family: 'Oswald', Impact, system-ui;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  color: #ffffff;
  margin: 0;
  line-height: 1.1;
}

/* ── 2-column grid ────────────────────────────────────────── */
.a2a-checkout__grid {
  display: grid !important;
  grid-template-columns: 1fr 340px;
  gap: 2rem;
  align-items: start;
}
/* ── Checkout notices — always span the full grid width ─────
   WooCommerce's submit_error() PREPENDS a .woocommerce-NoticeGroup-checkout
   div directly onto the form (not into .woocommerce-notices-wrapper).
   Both that class AND the standard notices-wrapper must span all columns.  */
body.woocommerce-checkout .a2a-checkout__grid > .woocommerce-notices-wrapper,
body.woocommerce-checkout .a2a-checkout__grid > .woocommerce-NoticeGroup,
body.woocommerce-checkout .a2a-checkout__grid > .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout .a2a-checkout__grid > .woocommerce-error,
body.woocommerce-checkout .a2a-checkout__grid > .woocommerce-message,
body.woocommerce-checkout .a2a-checkout__grid > .woocommerce-info {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
/* Style the error/info/success notices to match the dark theme */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
  background: #1E2620 !important;
  border-top-color: #C34529 !important;
  color: #C8D5D3 !important;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem 1rem 3.5rem !important;
  margin: 0 0 1.5rem !important;
  width: 100% !important;
  box-sizing: border-box;
}
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info {
  border-top-color: #BE9552 !important;
}
body.woocommerce-checkout .woocommerce-error::before  { color: #C34529 !important; }
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-info::before   { color: #BE9552 !important; }

/* ── Left column: stacked cards ──────────────────────────── */
.a2a-checkout__main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Reset WooCommerce col2-set floats — we stack vertically */
.a2a-checkout__address-set { display: flex; flex-direction: column; gap: 1.5rem; }
.a2a-checkout__address-set .col-1,
.a2a-checkout__address-set .col-2 { float: none !important; width: 100% !important; margin: 0 !important; }
/* WooCommerce adds a clearfix ::before { content:" "; display:table } to .col2-set.
   In our flex container that becomes a flex item with line-height height (~24px), pushing
   the billing card below the Order Summary top. Neutralise it. */
.a2a-checkout__address-set::before,
.a2a-checkout__address-set::after { content: none !important; display: none !important; }

/* ── Address cards (billing + shipping wrappers) ─────────── */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields > .shipping_address {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
}
/* "Ship to a different address?" toggle lives in h3 – card-ify the whole shipping section.
   WooCommerce always renders the wrapper div even when shipping isn't needed; hide it when
   it has no child h3 (i.e. needs_shipping_address() returned false). */
body.woocommerce-checkout .woocommerce-shipping-fields:has(h3) {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
}
body.woocommerce-checkout .woocommerce-shipping-fields:not(:has(h3)) {
  display: none !important;
}
/* Suppress double-border on nested .shipping_address block */
body.woocommerce-checkout .woocommerce-shipping-fields > .shipping_address {
  background: none;
  border: none;
  border-radius: 0;
  padding: 1rem 0 0;
  margin-top: 0.5rem;
}

/* Card headings */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #ffffff !important;
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.875rem !important;
  border-bottom: 1px solid #303D3C !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Additional info (order notes) */
body.woocommerce-checkout .woocommerce-additional-fields {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
}
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1.125rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #ffffff !important;
  margin: 0 0 1.25rem !important;
  padding-bottom: 0.875rem !important;
  border-bottom: 1px solid #303D3C !important;
}

/* ── Field grid: 2-column pairs ──────────────────────────── */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
/* Order notes only has one field — no point running a 2-col grid */
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Force the notes textarea itself to fill the full card width */
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper textarea {
  width: 100% !important;
  min-height: 7rem;
  resize: vertical;
}
body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout .form-row.address-field.form-row-wide { grid-column: 1 / -1 !important; }
body.woocommerce-checkout .form-row-first { grid-column: 1; float: none !important; width: 100% !important; }
body.woocommerce-checkout .form-row-last  { grid-column: 2; float: none !important; width: 100% !important; margin: 0 !important; }

/* ── Labels ──────────────────────────────────────────────── */
/* Prototype: .form-label → text-night-400 (#BE9552), text-xs (0.75rem),
   font-semibold (600), uppercase, tracking-wide (0.025em), mb-1.5 (0.375rem) */
body.woocommerce-checkout .form-row label:not(.woocommerce-form__label-for-checkbox) {
  display: block;
  color: #BE9552;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  margin-bottom: 0.375rem;
}
body.woocommerce-checkout .form-row .required { color: #C34529; }

/* ── Text inputs + selects ───────────────────────────────── */
/* Prototype: .form-input → bg-night-800 (#1E2620), border-night-700 (#303D3C),
   rounded-lg (0.5rem), px-4 py-3, text-white (#fff), placeholder-night-600 (#4a3c2a),
   focus:border-patriot-600 (#C34529 RED), text-sm (0.875rem), transition-colors */
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row input[type="password"],
body.woocommerce-checkout .form-row textarea {
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  color: #ffffff !important;
  font-size: 0.875rem !important;
  width: 100% !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
body.woocommerce-checkout .form-row .input-text:focus,
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row textarea:focus {
  border-color: #C34529 !important;
  outline: none !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .form-row .input-text::placeholder,
body.woocommerce-checkout .form-row input::placeholder { color: #4a3c2a !important; }

/* ── Ship-to-different-address checkbox ──────────────────── */
body.woocommerce-checkout #ship-to-different-address .woocommerce-form__label-for-checkbox {
  display: flex; align-items: center; gap: 0.625rem; cursor: pointer;
  color: #C8D5D3; font-size: 0.875rem; font-weight: 400; text-transform: none;
}
body.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  accent-color: #BE9552; width: 16px; height: 16px; flex-shrink: 0;
}

/* ── Select2 dropdowns on checkout (Country / State) ─────── */
/* Selection box — same as .form-input: bg night-800, border night-700 */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  height: auto !important;
  padding: 0.75rem 2.5rem 0.75rem 1rem !important;
  transition: border-color 0.2s;
}
/* Focus / open — red border matching form inputs */
body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #C34529 !important;
  outline: none !important;
}
/* Displayed value — white like text inputs */
body.woocommerce-checkout .select2-selection__rendered {
  color: #ffffff !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .select2-selection__placeholder { color: #4a3c2a !important; }
/* Chevron arrow */
body.woocommerce-checkout .select2-selection__arrow {
  top: 50% !important; right: 0.75rem !important;
  transform: translateY(-50%); height: auto !important;
}
body.woocommerce-checkout .select2-selection__arrow b {
  border-color: #BE9552 transparent transparent !important;
}
body.woocommerce-checkout .select2-container--open .select2-selection__arrow b {
  border-color: transparent transparent #BE9552 !important;
}

/* Dropdown panel — .select2-dropdown is appended to <body> outside the form,
   so scope with body.woocommerce-checkout. Border must match the red open-state
   border on the selection box, and connect flush (no double border). */
body.woocommerce-checkout .select2-dropdown {
  background: #1E2620 !important;
  border: 1px solid #C34529 !important;
  border-radius: 0 0 0.5rem 0.5rem !important;
  overflow: hidden;
}
/* When dropdown opens above the field, flip the radius */
body.woocommerce-checkout .select2-dropdown--above {
  border-radius: 0.5rem 0.5rem 0 0 !important;
}
/* Remove the redundant top border on the dropdown below (shared edge with selection box) */
body.woocommerce-checkout .select2-dropdown--below {
  border-top: none !important;
}
/* Remove the redundant bottom border on the selection box when dropdown is open below */
body.woocommerce-checkout .select2-container--open.select2-container--below .select2-selection--single {
  border-bottom-color: transparent !important;
  border-radius: 0.5rem 0.5rem 0 0 !important;
}
/* Search box inside the dropdown */
body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.375rem !important;
  color: #ffffff !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.875rem !important;
  outline: none !important;
}
body.woocommerce-checkout .select2-search--dropdown .select2-search__field:focus {
  border-color: #C34529 !important;
}

/* ── Payment section card ─────────────────────────────────── */
/* WC template: <ul class="wc_payment_methods"> > <li class="wc_payment_method payment_method_[id]"> */
body.woocommerce-checkout #payment {
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 1rem !important;
  overflow: hidden;
  margin: 0;
}
body.woocommerce-checkout #payment .wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
/* li class is "wc_payment_method", not "payment_method" */
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
  padding: 1.5rem !important;
  border-bottom: 1px solid #303D3C !important;
  background: none !important;
}
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method:last-child {
  border-bottom: none !important;
}
/* Method header row: radio sibling + label side-by-side, icons pushed right */
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method > label {
  color: #ffffff !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 0.75rem;
}
/* Card brand images — right-aligned, fixed height */
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method > label img {
  height: 22px !important;
  width: auto !important;
  margin-left: auto;
  flex-shrink: 0;
}
body.woocommerce-checkout #payment .wc_payment_methods li input[type="radio"] {
  accent-color: #C34529; width: 16px; height: 16px; flex-shrink: 0;
}
/* Payment box — no extra border or background, just spacing inside the li padding */
body.woocommerce-checkout #payment .payment_box {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 1rem 0 0 !important;
  margin: 0 !important;
}
/* Remove WooCommerce's speech-bubble triangle */
body.woocommerce-checkout #payment .payment_box::before,
body.woocommerce-checkout #payment .payment_box::after {
  content: none !important;
  display: none !important;
}
/* Browser user-agent stylesheet gives <fieldset> a 2px inset border — strip it */
body.woocommerce-checkout #payment .payment_box fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-inline-size: 0 !important;
}
body.woocommerce-checkout #payment .payment_box fieldset legend {
  display: none !important;
}
/* Labels inside the card fields form */
body.woocommerce-checkout #payment .payment_box label {
  color: #BE9552 !important;
  font-family: 'Inter', system-ui !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.025em !important;
}
/* Inputs match rest of page: night-800 bg, white text, red focus */
body.woocommerce-checkout #payment .payment_box input[type="text"],
body.woocommerce-checkout #payment .payment_box input[type="tel"],
body.woocommerce-checkout #payment .payment_box input[type="number"],
body.woocommerce-checkout #payment .payment_box select {
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  color: #ffffff !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  width: 100% !important;
  transition: border-color 0.2s;
}
body.woocommerce-checkout #payment .payment_box input:focus,
body.woocommerce-checkout #payment .payment_box select:focus {
  border-color: #C34529 !important; outline: none !important;
}
body.woocommerce-checkout #payment .payment_box input::placeholder {
  color: #4a3c2a !important;
}
/* "TEST MODE ENABLED" description text */
body.woocommerce-checkout #payment .payment_box p {
  color: #755E3B !important;
  font-size: 0.8125rem !important;
  margin: 0 0 0.75rem !important;
}

/* ── Saved payment methods (returning customers) ─────────── */
/* Wrapper <p class="form-row form-row-wide"> — let inline flow handle the
   radio+label pairs; plugin already injects <br> between each pair. */
body.woocommerce-checkout #payment .payment_box .form-row.form-row-wide {
  display: block !important;
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  line-height: 2.25 !important; /* vertical breathing room between rows */
}
/* Radio inputs sit inline, vertically centred with the label text */
body.woocommerce-checkout #payment .payment_box .form-row.form-row-wide input[type="radio"] {
  display: inline-block !important;
  vertical-align: middle !important;
  width: auto !important;
  margin-right: 0.5em !important;
  flex-shrink: 0;
}

/* "Manage Payment Methods" button */
body.woocommerce-checkout #payment .payment_box a.button.sv-wc-payment-gateway-payment-form-manage-payment-methods {
  display: block !important;
  width: 100% !important;
  background: #111610 !important;
  color: #BE9552 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.625rem 1rem !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  margin-bottom: 0.25rem !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
body.woocommerce-checkout #payment .payment_box a.button.sv-wc-payment-gateway-payment-form-manage-payment-methods:hover {
  background: #1A2120 !important;
  color: #EFD09D !important;
  border-color: #BE9552 !important;
}

/* Each saved card row — radio + label inline, both on the same text line */
body.woocommerce-checkout #payment .payment_box label.sv-wc-payment-gateway-payment-form-saved-payment-method {
  display: inline !important;
  vertical-align: middle !important;
  color: #EFD09D !important;
  font-family: 'Inter', system-ui !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  cursor: pointer;
}
/* card brand image inside saved method label */
body.woocommerce-checkout #payment .payment_box label.sv-wc-payment-gateway-payment-form-saved-payment-method img {
  height: 20px !important;
  width: auto !important;
  vertical-align: middle;
  border-radius: 3px;
}

/* "Use a new card" label */
body.woocommerce-checkout #payment .payment_box label[for$="-use-new-payment-method"] {
  display: inline !important;
  color: #BE9552 !important;
  font-family: 'Inter', system-ui !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer;
}

/* ── Place Order area (.form-row.place-order) ────────────── */
body.woocommerce-checkout #payment .place-order {
  padding: 1.25rem 1.5rem !important;
  margin: 0 !important;
  background: none !important;
}

/* Security notice (injected via woocommerce_review_order_before_submit hook) */
.a2a-checkout__security-notice {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  background: #111610;
  border: 1px solid #1A1F1E;
  border-radius: 0.625rem;
  padding: 0.875rem;
  margin-bottom: 1rem;
}
.a2a-checkout__security-notice i { color: #BE9552; margin-top: 0.125rem; flex-shrink: 0; }
.a2a-checkout__security-notice p {
  color: #755E3B; font-size: 0.75rem; line-height: 1.5; margin: 0;
}

/* Place order button */
body.woocommerce-checkout #place_order {
  display: flex !important;
  align-items: center; justify-content: center; gap: 0.5rem;
  width: 100% !important;
  background: #C34529 !important;
  color: #ffffff !important;
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 1rem 1.5rem !important;
  border: none !important;
  border-radius: 0.5rem !important;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}
body.woocommerce-checkout #place_order::before {
  font-family: 'Font Awesome 6 Free'; font-weight: 900;
  content: '\f023'; font-size: 0.875em;
}
body.woocommerce-checkout #place_order:hover {
  background: #A3361D !important;
  box-shadow: 0 0 24px 6px rgba(195, 69, 41, 0.4);
}

/* ── Right sidebar: Order Summary card ───────────────────── */
.a2a-checkout__sidebar { position: sticky; top: 6rem; }
.a2a-checkout__order-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  overflow: hidden;
}

/* "Order Summary" heading */
.a2a-checkout__summary-title {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.125rem; font-weight: 400; text-transform: uppercase; letter-spacing: 0.08em;
  color: #ffffff; margin: 0;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #303D3C;
}

/* Line item rows */
.a2a-checkout__items { padding: 0.5rem 0; border-bottom: 1px solid #303D3C; }
.a2a-checkout__item {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid #111610;
}
.a2a-checkout__item:last-child { border-bottom: none; }
.a2a-checkout__item-thumb {
  width: 48px; height: 48px; object-fit: cover;
  border-radius: 0.375rem; background: #111610; flex-shrink: 0; opacity: 0.9;
}
.a2a-checkout__item-info { flex: 1; min-width: 0; }
.a2a-checkout__item-name { color: #ffffff; font-size: 0.8125rem; line-height: 1.3; margin: 0; }
.a2a-checkout__item-qty-inline { color: #8A9E9C; font-size: 0.75rem; }
.a2a-checkout__item-total {
  color: #ffffff; font-size: 0.875rem; font-weight: 600; flex-shrink: 0;
}

/* Coupon form */
.a2a-checkout__coupon-wrap {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #303D3C;
}
.a2a-checkout__coupon-form { display: flex; gap: 0.5rem; }
.a2a-checkout__coupon-input {
  flex: 1;
  background: #111610 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.625rem 0.875rem !important;
  color: #EFD09D !important;
  font-size: 0.8125rem !important;
}
.a2a-checkout__coupon-input::placeholder { color: #4a3c2a !important; }
.a2a-checkout__coupon-btn {
  background: transparent !important;
  border: 1px solid #BE9552 !important;
  color: #BE9552 !important;
  border-radius: 0.5rem !important;
  padding: 0.625rem 1rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.a2a-checkout__coupon-btn:hover {
  background: #BE9552 !important; color: #111610 !important;
}

/* Totals table */
.a2a-checkout__totals-table {
  width: 100%;
  border-collapse: collapse;
  border: none !important;
}
.a2a-checkout__totals-table tr { border-bottom: 1px solid #303D3C; }
.a2a-checkout__totals-table tr:last-child { border-bottom: none; }
.a2a-checkout__totals-table th,
.a2a-checkout__totals-table td {
  padding: 0.875rem 1.5rem !important;
  font-size: 0.9rem;
  border: none !important;
  border-top: none !important;
  vertical-align: middle !important;
}
.a2a-checkout__totals-table th { color: #8A9E9C; font-weight: 400; text-align: left; }
.a2a-checkout__totals-table td { color: #ffffff; text-align: right; }
.a2a-checkout__totals-table td .woocommerce-Price-amount { color: #ffffff; }
/* Coupon/discount row */
.a2a-checkout__totals-table .cart-discount th,
.a2a-checkout__totals-table .cart-discount td { color: #4ade80; }
/* Grand total row */
.a2a-checkout__totals-table .order-total th,
.a2a-checkout__totals-table .order-total td { color: #EFD09D; font-size: 1rem; }
.a2a-checkout__totals-table .order-total td .woocommerce-Price-amount {
  color: #EFD09D; font-size: 1.2rem; font-family: 'Oswald', Impact, system-ui;
}

/* Checkout login notice (guest reminder) */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  margin-bottom: 1.5rem;
}

/* ── Responsive: stack below 900px ───────────────────────── */
@media (max-width: 900px) {
  .a2a-checkout__grid { grid-template-columns: 1fr !important; }
  .a2a-checkout__sidebar { position: static; }
}

/* ============================================================
   ORDER CONFIRMATION / THANK YOU PAGE  (.a2a-thankyou)
   Matches prototype: order-confirmation.html / order-confirmation.js
   Max-width 768px centred, with dpa-container outer wrapper.
   ============================================================ */
.a2a-thankyou {
  max-width: 48rem;   /* ~768px — prototype's max-w-3xl */
  margin: 0 auto;
  padding: 4rem 0;
}

/* ── 1. Hero checkmark ─────────────────────────────────────── */
.a2a-thankyou__hero {
  text-align: center;
  margin-bottom: 3rem;
}
.a2a-thankyou__check-ring {
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: rgba(190,149,82,0.12);
  border: 2px solid #BE9552;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.a2a-thankyou__check-ring--fail {
  background: rgba(195,69,41,0.12);
  border-color: #C34529;
}
.a2a-thankyou__check-icon {
  font-size: 2.5rem;
  color: #BE9552;
}
.a2a-thankyou__check-icon--fail { color: #C34529; }
.a2a-thankyou__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: #BE9552;
  margin: 0 0 0.5rem;
}
.a2a-thankyou__eyebrow--fail { color: #C34529; }
.a2a-thankyou__heading {
  font-family: 'Oswald', Impact, system-ui;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 0.75rem;
  line-height: 1.1;
}
.a2a-thankyou__sub {
  color: #BE9552;
  max-width: 30rem;
  margin: 0 auto;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.a2a-thankyou__sub strong { color: #EFD09D; }

/* ── 2. Meta bar ───────────────────────────────────────────── */
.a2a-thankyou__meta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}
.a2a-thankyou__meta-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1rem;
  text-align: center;
}
.a2a-thankyou__meta-label {
  font-size: 0.6875rem;
  color: #755E3B;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.375rem;
}
.a2a-thankyou__meta-value {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.25rem;
  color: #ffffff;
}
.a2a-thankyou__meta-value--brass { color: #EFD09D !important; }
/* WooCommerce price HTML uses spans */
.a2a-thankyou__meta-value--brass .woocommerce-Price-amount { color: #EFD09D; }

/* ── 3. Order Summary card ─────────────────────────────────── */
.a2a-thankyou__summary-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}
.a2a-thankyou__summary-heading {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.25rem;
  font-weight: 400;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 1.25rem;
}
.a2a-thankyou__items { border-bottom: 1px solid #303D3C; margin-bottom: 1rem; }
.a2a-thankyou__item {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.875rem 0;
  border-top: 1px solid #1a2420;
}
.a2a-thankyou__item:first-child { border-top: none; }
.a2a-thankyou__item-img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 0.375rem;
  flex-shrink: 0;
  background: #111610;
}
.a2a-thankyou__item-info { flex: 1; min-width: 0; }
.a2a-thankyou__item-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #EFD09D;
  line-height: 1.35;
}
.a2a-thankyou__item-qty { font-size: 0.75rem; color: #755E3B; margin-top: 0.25rem; }
.a2a-thankyou__item-price {
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}
.a2a-thankyou__item-price .woocommerce-Price-amount { color: #ffffff; }

/* Totals */
.a2a-thankyou__totals { display: flex; flex-direction: column; gap: 0.5rem; }
.a2a-thankyou__total-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  color: #755E3B;
}
.a2a-thankyou__total-row span:last-child { color: #ffffff; }
.a2a-thankyou__free-ship { color: #4ade80 !important; } /* green — FREE / discount */
.a2a-thankyou__total-row--grand {
  border-top: 1px solid #303D3C;
  padding-top: 0.75rem;
  margin-top: 0.25rem;
  font-weight: 700;
  color: #ffffff !important;
}
.a2a-thankyou__grand-total {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.15rem;
  color: #EFD09D !important;
}
.a2a-thankyou__grand-total .woocommerce-Price-amount { color: #EFD09D; }

/* ── 4. Address / Next Steps grid ─────────────────────────── */
.a2a-thankyou__address-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.a2a-thankyou__address-card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1.25rem;
}
.a2a-thankyou__address-label {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #755E3B;
  margin: 0 0 0.75rem;
}
.a2a-thankyou__address-body {
  color: #EFD09D;
  font-size: 0.875rem;
  line-height: 1.9;
  font-style: normal;
}
.a2a-thankyou__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.a2a-thankyou__steps li {
  display: flex;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: #EFD09D;
  line-height: 1.5;
}
.a2a-thankyou__step-num {
  font-weight: 700;
  color: #BE9552;
  flex-shrink: 0;
}

/* ── 5. CTAs ───────────────────────────────────────────────── */
.a2a-thankyou__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

/* ── Failed / No-order states ──────────────────────────────── */
.a2a-thankyou__failed,
.a2a-thankyou__no-order {
  text-align: center;
  padding: 3rem 0;
}
.a2a-thankyou__no-order-icon {
  display: block;
  font-size: 3.5rem;
  color: #BE9552;
  margin-bottom: 1.5rem;
}
.a2a-thankyou__no-order-heading {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 2rem;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 0.75rem;
}
.a2a-thankyou__no-order-sub {
  color: #755E3B;
  margin: 0 0 2rem;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 640px) {
  .a2a-thankyou__meta-grid   { grid-template-columns: 1fr; }
  .a2a-thankyou__address-grid { grid-template-columns: 1fr; }
  .a2a-thankyou { padding: 2.5rem 0; }
}

/* ============================================================
   WHAT IS A WEBINAR — page-what-is-a-webinar.php
   ============================================================ */

/* ── Hero ────────────────────────────────────────────────── */
.a2a-wiaw__hero {
  background: #161A16;
  border-bottom: 1px solid #1E2620;
  padding: 5rem 1rem;
  text-align: center;
}
.a2a-wiaw__hero-inner {
  max-width: 56rem;
  margin: 0 auto;
}
.a2a-wiaw__eyebrow {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: #BE9552;
  margin: 0 0 0.75rem;
}
.a2a-wiaw__h1 {
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: clamp(2.5rem, 6vw, 3.75rem) !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 1rem !important;
  line-height: 1.1 !important;
}
.a2a-wiaw__sub {
  font-size: 1.125rem;
  color: #BE9552;
  max-width: 42rem;
  margin: 0 auto;
  line-height: 1.6;
}

/* ── Mid section (tiles + form) ─────────────────────────── */
.a2a-wiaw__mid {
  padding: 5rem 1rem;
}
.a2a-wiaw__mid-inner {
  max-width: 62rem;
  margin: 0 auto;
}

/* ── Feature tiles ───────────────────────────────────────── */
.a2a-wiaw__tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-bottom: 3rem;
}
@media (min-width: 640px) {
  .a2a-wiaw__tiles { grid-template-columns: repeat(4, 1fr); }
}
.a2a-wiaw__tile {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 0.75rem;
  padding: 1.25rem;
  text-align: center;
}
.a2a-wiaw__tile-icon {
  font-size: 1.5rem;
  color: #BE9552;
  display: block;
  margin-bottom: 0.5rem;
}
.a2a-wiaw__tile-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.25rem;
}
.a2a-wiaw__tile-body {
  font-size: 0.75rem;
  color: #755E3B;
  line-height: 1.4;
}

/* ── Registration card ───────────────────────────────────── */
.a2a-wiaw__reg-card {
  background: #161A16;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 2rem;
}
.a2a-wiaw__reg-heading {
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.375rem !important;
}
.a2a-wiaw__reg-sub {
  font-size: 0.875rem;
  color: #755E3B;
  margin: 0 0 1.5rem;
}
.a2a-wiaw__form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}
.a2a-wiaw__row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 480px) {
  .a2a-wiaw__row-2 { grid-template-columns: 1fr; }
}
.a2a-wiaw__field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.a2a-wiaw__label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #EFD09D;
}
.a2a-wiaw__input {
  width: 100%;
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: #EFD09D !important;
  transition: border-color 0.2s;
  box-shadow: none !important;
}
.a2a-wiaw__input:focus {
  border-color: #BE9552 !important;
  outline: none !important;
}
.a2a-wiaw__input::placeholder { color: #303D3C; }
.a2a-wiaw__submit {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.5rem !important;
  background: #C34529 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  cursor: pointer;
  transition: background 0.2s;
}
.a2a-wiaw__submit:hover { background: #873622 !important; }
.a2a-wiaw__signin-note {
  margin-top: 1rem;
  font-size: 0.8125rem;
  color: #755E3B;
  text-align: center;
}
.a2a-wiaw__optin-hint {
  font-size: 0.8125rem;
  color: #755E3B;
  margin: 0 0 0.5rem;
}
.a2a-wiaw__optin-hint strong { color: #BE9552; }
.a2a-wiaw__sms-disclaimer {
  font-size: 0.75rem;
  color: #303D3C;
  margin: -0.25rem 0 0;
}
.a2a-wiaw__link {
  color: #BE9552 !important;
  text-decoration: none !important;
  font-weight: 600;
}
.a2a-wiaw__link:hover { color: #EFD09D !important; }

/* OtterText SMS opt-in fields injected into the form via hook */
.a2a-wiaw__form .woocommerce-form-row,
.a2a-wiaw__form p.form-row {
  margin: 0 !important;
  padding: 0 !important;
}
.a2a-wiaw__form label { color: #EFD09D !important; font-size: 0.875rem !important; }
.a2a-wiaw__form input[type="text"],
.a2a-wiaw__form input[type="tel"],
.a2a-wiaw__form input[type="email"],
.a2a-wiaw__form input[type="password"],
.a2a-wiaw__form input[type="number"] {
  background: #1E2620 !important;
  border: 1px solid #303D3C !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  color: #EFD09D !important;
  box-shadow: none !important;
}
.a2a-wiaw__form input[type="text"]:focus,
.a2a-wiaw__form input[type="tel"]:focus,
.a2a-wiaw__form input[type="email"]:focus,
.a2a-wiaw__form input[type="password"]:focus { border-color: #BE9552 !important; }
.a2a-wiaw__form input[type="checkbox"] { accent-color: #BE9552; }

/* ── How It Works section ────────────────────────────────── */
.a2a-wiaw__steps-section {
  background: #161A16;
  border-top: 1px solid #1E2620;
  padding: 4rem 1rem 5rem;
}
.a2a-wiaw__steps-hdr {
  text-align: center;
  margin-bottom: 3rem;
}
.a2a-wiaw__steps-h2 {
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 2.5rem !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 !important;
}
.a2a-wiaw__steps-grid {
  max-width: 62rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: center;
}
@media (min-width: 768px) {
  /* 5 steps + 4 chevron dividers = 9 cols */
  .a2a-wiaw__steps-grid { grid-template-columns: repeat(5, 1fr) repeat(4, auto); }
  /* re-order so steps and chevrons interleave: step chevron step chevron … step */
  .a2a-wiaw__steps-grid { grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; }
}
.a2a-wiaw__step {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
  text-align: center;
}
.a2a-wiaw__step-num {
  font-family: 'Oswald', Impact, system-ui;
  font-size: 2.5rem;
  font-weight: 400;
  color: #C34529;
  line-height: 1;
  margin-bottom: 0.75rem;
}
.a2a-wiaw__step-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.5rem;
}
.a2a-wiaw__step-body {
  font-size: 0.8125rem;
  color: #755E3B;
  line-height: 1.5;
}
.a2a-wiaw__step-chevron {
  display: none;
  color: #303D3C;
  font-size: 1.25rem;
  text-align: center;
  padding: 0 0.25rem;
}
@media (min-width: 768px) {
  .a2a-wiaw__step-chevron { display: flex; align-items: center; justify-content: center; }
}
.a2a-wiaw__steps-cta {
  text-align: center;
  margin-top: 2.5rem;
}

/* ============================================================
   MY ACCOUNT — View Order detail page
   ============================================================ */

/* ── Wrapper ─────────────────────────────────────────────── */
.a2a-view-order {
  font-family: 'Inter', sans-serif;
}

/* ── Back link ───────────────────────────────────────────── */
.a2a-view-order__back {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #BE9552 !important;
  text-decoration: none !important;
  margin-bottom: 1.25rem;
  transition: color 0.15s;
}
.a2a-view-order__back:hover {
  color: #EFD09D !important;
}

/* ── Card ────────────────────────────────────────────────── */
.a2a-view-order__card {
  background: #1E2620;
  border: 1px solid #303D3C;
  border-radius: 1rem;
  padding: 1.5rem;
}

/* ── Card header (order num + date + status badge) ────────── */
.a2a-view-order__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.a2a-view-order__order-num {
  font-family: 'Oswald', Impact, system-ui !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.25rem !important;
  padding: 0 !important;
  border: none !important;
}
.a2a-view-order__date {
  font-size: 0.75rem;
  color: #755E3B;
  margin: 0;
}

/* ── Order details section (items table) ──────────────────── */

/* Hide WooCommerce's "Order details" h2 — we have our own header */
.a2a-view-order__card .woocommerce-order-details__title {
  display: none !important;
}

/* Reset the section wrapper */
.a2a-view-order__card .woocommerce-order-details {
  margin: 0 0 1.5rem !important;
}

/* Items table */
.a2a-view-order__card table.woocommerce-table--order-details {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  font-size: 0.875rem;
}

/* Hide the Product / Total header row — prototype uses no column headers */
.a2a-view-order__card table.woocommerce-table--order-details thead {
  display: none !important;
}

/* Item rows — flex-style with bottom divider */
.a2a-view-order__card table.woocommerce-table--order-details tbody tr {
  border-bottom: 1px solid #161A16 !important;
  border-top: none !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tbody tr:last-child {
  border-bottom: none !important;
}

/* Item cells */
.a2a-view-order__card table.woocommerce-table--order-details td {
  padding: 0.75rem 0 !important;
  border: none !important;
  border-top: none !important;
  background: transparent !important;
  vertical-align: middle !important;
  line-height: 1.5 !important;
}

/* Product name + qty cell */
.a2a-view-order__card table.woocommerce-table--order-details td.product-name {
  color: #C5B49A !important;
}
.a2a-view-order__card table.woocommerce-table--order-details td.product-name a {
  color: #EFD09D !important;
  text-decoration: none !important;
}
.a2a-view-order__card table.woocommerce-table--order-details td.product-name a:hover {
  text-decoration: underline !important;
}
.a2a-view-order__card table.woocommerce-table--order-details td.product-name .product-quantity {
  color: #755E3B;
  font-weight: 400;
}

/* Line-item price cell */
.a2a-view-order__card table.woocommerce-table--order-details td.product-total {
  text-align: right !important;
  color: #ffffff !important;
  font-weight: 600;
}

/* ── Totals rows (tfoot) ──────────────────────────────────── */
.a2a-view-order__card table.woocommerce-table--order-details tfoot {
  border-top: 1px solid #303D3C !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot tr {
  border-bottom: none !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot th,
.a2a-view-order__card table.woocommerce-table--order-details tfoot td {
  padding: 0.5rem 0 !important;
  border: none !important;
  background: transparent !important;
  font-size: 0.875rem;
  line-height: 1.5 !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot th {
  color: #755E3B !important;
  font-weight: 500 !important;
  text-align: left !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot td {
  text-align: right !important;
  color: #ffffff !important;
}
/* Grand total row — brass Oswald, larger */
.a2a-view-order__card table.woocommerce-table--order-details tfoot tr.order-total th,
.a2a-view-order__card table.woocommerce-table--order-details tfoot tr.order-total td {
  padding-top: 0.875rem !important;
  border-top: 1px solid #303D3C !important;
  font-weight: 700 !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot tr.order-total th {
  color: #ffffff !important;
  font-family: 'Oswald', Impact, system-ui;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot tr.order-total td {
  color: #EFD09D !important;
  font-family: 'Oswald', Impact, system-ui;
  font-size: 1.1rem !important;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot tr.order-total td .woocommerce-Price-amount {
  color: #EFD09D !important;
}

/* ── Actions row in tfoot (Cancel / Pay etc.) ─────────────── */
.a2a-view-order__card table.woocommerce-table--order-details tfoot .order-actions--heading {
  display: none;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot .order-actions-button {
  display: inline-block !important;
  margin: 0.75rem 0.375rem 0 0 !important;
  padding: 0.4rem 1rem !important;
  border-radius: 0.375rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  background: transparent !important;
  color: #BE9552 !important;
  border: 1px solid #BE9552 !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s;
}
.a2a-view-order__card table.woocommerce-table--order-details tfoot .order-actions-button:hover {
  background: rgba(190,149,82,0.12) !important;
  color: #EFD09D !important;
}

/* ── Customer details (billing + shipping addresses) ─────── */
.a2a-view-order__card .woocommerce-customer-details {
  border-top: 1px solid #303D3C;
  padding-top: 1.25rem;
  margin-top: 0.25rem;
}

/* Two-column grid for billing + shipping */
.a2a-view-order__card .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Single-address (billing only) */
.a2a-view-order__card .woocommerce-customer-details .woocommerce-column {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

/* Address heading */
.a2a-view-order__card .woocommerce-customer-details .woocommerce-column__title {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #755E3B !important;
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
  border: none !important;
}

/* Address text */
.a2a-view-order__card .woocommerce-customer-details address {
  font-style: normal;
  color: #C5B49A;
  font-size: 0.875rem;
  line-height: 1.6;
}
.a2a-view-order__card .woocommerce-customer-details address p {
  margin: 0;
}
.a2a-view-order__card .woocommerce-customer-details .woocommerce-customer-details--phone,
.a2a-view-order__card .woocommerce-customer-details .woocommerce-customer-details--email {
  color: #BE9552;
  margin-top: 0.25rem;
}

/* ── Order notes ─────────────────────────────────────────── */
.a2a-view-order__notes {
  border-top: 1px solid #303D3C;
  padding-top: 1.25rem;
  margin-top: 0.5rem;
}
.a2a-view-order__notes-heading {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #755E3B !important;
  margin: 0 0 0.75rem !important;
}
.a2a-view-order__notes .woocommerce-OrderUpdates {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a2a-view-order__notes .woocommerce-OrderUpdate {
  padding: 0.625rem 0;
  border-bottom: 1px solid #161A16;
}
.a2a-view-order__notes .woocommerce-OrderUpdate:last-child { border-bottom: none; }
.a2a-view-order__notes .woocommerce-OrderUpdate-meta {
  font-size: 0.7rem;
  color: #755E3B;
  margin: 0 0 0.2rem;
}
.a2a-view-order__notes .woocommerce-OrderUpdate-description p {
  font-size: 0.875rem;
  color: #C5B49A;
  margin: 0;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 640px) {
  .a2a-view-order__card .woocommerce-columns--addresses {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   Password-protected Webinar page
   ========================================================================== */
.a2a-wbn-password {
  max-width: 420px;
  margin: 3rem auto 0;
  background: #1a1f1b;
  border: 1px solid #2a3a2e;
  border-radius: 8px;
  padding: 2rem;
  text-align: center;
}
.a2a-wbn-password__intro {
  margin: 0 0 1.25rem;
  color: #9ca89e;
  font-size: .95rem;
  line-height: 1.5;
}
.a2a-wbn-password .post-password-form,
.a2a-wbn-password form {
  margin: 0;
}
/* Hide WP's built-in description paragraph — our intro text covers it */
.a2a-wbn-password .post-password-form > p:first-child {
  display: none;
}
/* WP wraps the password input inside <label>. Setting font-size:0 hides
   the "Password:" label text without hiding the input element inside it. */
.a2a-wbn-password .post-password-form label,
.a2a-wbn-password form label {
  display: block;
  font-size: 0;
  margin-bottom: .75rem;
}
.a2a-wbn-password .post-password-form input[type="password"],
.a2a-wbn-password form input[type="password"] {
  width: 100%;
  padding: .55rem .75rem;
  background: #0d1210;
  border: 1px solid #2a3a2e;
  border-radius: 4px;
  color: #e8e0d0;
  font-size: 1rem;
  box-sizing: border-box;
}
.a2a-wbn-password .post-password-form input[type="submit"],
.a2a-wbn-password form input[type="submit"] {
  width: 100%;
  padding: .6rem 1.25rem;
  background: #BE9552;
  color: #111610;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s ease;
}
.a2a-wbn-password .post-password-form input[type="submit"]:hover,
.a2a-wbn-password form input[type="submit"]:hover {
  background: #EFD09D;
}
