/*
Theme Name:  IGY6 Armory
Description: Child theme for IGY6 Armory. 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: igy6-child
*/

/* =============================================================================
   IGY6 ARMORY — CHILD THEME OVERRIDES
   ============================================================================= */

/* ── 1. Navigation — white sticky bar ──────────────────────────────────────── */
.dpa-nav {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 8px rgba(0,0,0,0.08);
}

/* Hamburger bars: navy on white */
.dpa-nav__toggle-bar { background: #1e3a8a; }

/* WooCommerce icon buttons on white nav */
.dpa-nav__icon-btn               { border-color: #e5e7eb; color: #1e3a8a; }
.dpa-nav__icon-btn:hover         { border-color: #dc2626; color: #dc2626; }

/* Cart badge: armor red */
.dpa-nav__cart-count { background: #dc2626; color: #ffffff; }

/* CTA button: armor red (overrides parent dpa-btn--gold gold) */
.dpa-nav__cta.dpa-btn--gold,
.dpa-nav__mobile-cta.dpa-btn--gold        { background: #dc2626; border-color: #dc2626; color: #ffffff; }
.dpa-nav__cta.dpa-btn--gold:hover,
.dpa-nav__mobile-cta.dpa-btn--gold:hover  { background: #b91c1c; border-color: #b91c1c; color: #ffffff; }

/* ── 2. Nav menu links: navy → red on hover / active ───────────────────────── */
/* gap override: parent theme sets 36px; prototype uses gap-4 (1rem) */
.igy6-nav__menu { gap: 0.25rem; }

/* border-radius + padding create the DaisyUI menu pill hover area.
   border-bottom: none overrides parent theme's border-bottom: 2px solid transparent
   which would otherwise render as a line at the bottom of the pill. */
.igy6-nav__menu > li > a {
  display: inline-block;
  color: #1e3a8a;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  border-bottom: none;
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
}
/* Hover: pill background + red text (matches DaisyUI .menu hover) */
.igy6-nav__menu > li > a:hover {
  color: #dc2626;
  background: rgba(0, 0, 0, 0.06);
  border-bottom: none;
}
/* Active: red text only — no underline, no background (matches prototype text-armor-500) */
.igy6-nav__menu > li.current-menu-item > a,
.igy6-nav__menu > li.current-page-item > a,
.igy6-nav__menu > li.current-menu-ancestor > a,
.igy6-nav__menu > li.current-menu-parent > a,
.igy6-nav__menu > li.current-page-ancestor > a {
  color: #dc2626;
  border-bottom: none;
}

/* ── 3. Dropdown submenus (unlimited depth) ────────────────────────────────── */
.igy6-nav__menu li           { position: relative; }

/* First-level dropdown */
.igy6-nav__menu .sub-menu {
  display:    none;
  position:   absolute;
  top:        calc(100% + 1px);
  left:       0;
  min-width:  210px;
  list-style: none;
  background: #ffffff;
  border:     1px solid #e5e7eb;
  border-top: 2px solid #dc2626;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  z-index:    500;
  padding:    6px 0;
  flex-direction: column;
  gap:        0;
  margin:     0;
}

/* Nested fly-out (right side) */
.igy6-nav__menu .sub-menu .sub-menu {
  top:         -7px;
  left:        100%;
  border-top:  1px solid #e5e7eb;
  border-left: 2px solid #dc2626;
  border-radius: 0 6px 6px 0;
}

/* Open on hover + keyboard focus-within */
.igy6-nav__menu li:hover > .sub-menu,
.igy6-nav__menu li:focus-within > .sub-menu { display: flex; }

/* Submenu link */
.igy6-nav__menu .sub-menu li a {
  display:       block;
  padding:       9px 18px;
  font-size:     0.8125rem;
  font-weight:   500;
  color:         #1e3a8a;
  white-space:   nowrap;
  border-bottom: none;
  text-decoration: none;
  transition:    color 0.15s, background 0.15s;
}
.igy6-nav__menu .sub-menu li a:hover { color: #dc2626; background: #fef2f2; }

/* Caret indicators */
.igy6-nav__menu > li.menu-item-has-children > a::after      { content: " \25BE"; font-size: 0.7em; opacity: 0.65; }
.igy6-nav__menu .sub-menu li.menu-item-has-children > a::after { content: " \203A"; float: right; opacity: 0.65; }

/* ── 4. Mobile drawer — submenu support ─────────────────────────────────────── */
.igy6-nav__mobile-menu .sub-menu {
  list-style: none;
  display:    block;
  padding:    0 0 4px 16px;
  margin:     0;
}
.igy6-nav__mobile-menu .sub-menu li a {
  font-size:   0.875rem;
  font-weight: 500;
  color:       #374151;
  text-transform: none;
  padding:     9px 0;
  border-bottom: 1px solid #374151;
  display:     block;
  text-decoration: none;
}
.igy6-nav__mobile-menu .sub-menu li a:hover { color: #dc2626; }

/* ── Mobile nav utility row (My Account + Cart) ── */
.igy6-mobile-nav__utility {
  display: flex;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem 1rem;
  border-top: 1px solid #1f2937;
  margin-top: 0.5rem;
}
.igy6-mobile-nav__util-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  justify-content: center;
  padding: 0.6rem 0.75rem;
  background: #111827;
  border: 1px solid #374151;
  border-radius: 0.375rem;
  color: #9ca3af !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  transition: border-color 0.2s, color 0.2s;
}
.igy6-mobile-nav__util-link:hover {
  border-color: #dc2626;
  color: #ffffff !important;
}
.igy6-mobile-nav__util-link i { font-size: 0.9em; }
.igy6-mobile-nav__cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  background: #dc2626;
  color: #ffffff;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1;
}

/* ── 5. Footer — prototype layout ───────────────────────────────────────────── */
.igy6-footer {
  background: #111827;
  color:      #d1d5db;
  border-top: 1px solid #374151;
  font-family: var(--dpa-font-body, 'Inter', system-ui, sans-serif);
}

.igy6-footer__inner {
  max-width: 1180px;
  margin:    0 auto;
  padding:   40px 32px;
  display:   grid;
  grid-template-columns: 2fr 1fr 1fr;
  column-gap: 40px;
  row-gap:    24px;
}

.igy6-footer__brand > a { display: block; width: max-content; margin-bottom: 16px; }
.igy6-footer__logo  { display: block; height: 40px !important; width: auto; }

.igy6-footer__desc  { font-size: 0.875rem; line-height: 1.625; color: #d1d5db; max-width: 448px; margin: 0; }

.igy6-footer__socials          { display: flex; gap: 16px; margin-top: 24px; }
.igy6-footer__socials a        { color: #9ca3af; font-size: 1.25rem; text-decoration: none; transition: color 0.2s; }
.igy6-footer__socials a:hover  { color: #dc2626; }

.igy6-footer__col-title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 0.875rem; font-weight: 500; line-height: 1.25;
  text-transform: uppercase; letter-spacing: 0.2em;
  color: #ffffff; margin: 0 0 16px;
}

/* Navigate links — text-sm sets font-size + line-height on ul so strut matches prototype (20px not 25.6px) */
.igy6-footer__links                    { list-style: none; padding: 0; margin: 0; font-size: 0.875rem; line-height: 1.25rem; }
.igy6-footer__links li                 { margin-top: 8px; }
.igy6-footer__links li:first-child     { margin-top: 0; }
.igy6-footer__links li a               { color: #d1d5db; text-decoration: none; transition: color 0.2s; }
.igy6-footer__links li a:hover         { color: #ef4444; }

/* Contact list — same text-sm fix applied to ul */
.igy6-footer__contact                  { list-style: none; padding: 0; margin: 0; font-size: 0.875rem; line-height: 1.25rem; }
.igy6-footer__contact li               { display: flex; align-items: flex-start; gap: 10px; color: #d1d5db; margin-top: 8px; }
.igy6-footer__contact li:first-child   { margin-top: 0; }
.igy6-footer__contact li i             { color: #dc2626; width: 16px; flex-shrink: 0; margin-top: 3px; }
.igy6-footer__contact li a             { color: #d1d5db; text-decoration: none; }
.igy6-footer__contact li a:hover       { color: #ef4444; }

/* Copyright bar */
.igy6-footer__bottom          { border-top: 1px solid #1f2937; padding: 20px 0; }
.igy6-footer__bottom-inner    { max-width: 1180px; margin: 0 auto; padding: 0 32px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; }
.igy6-footer__copyright,
.igy6-footer__disclaimer      { font-size: 0.75rem; color: #6b7280; }

/* Responsive footer */
@media (max-width: 900px) {
  .igy6-footer__inner { grid-template-columns: 1fr 1fr; }
  .igy6-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .igy6-footer__inner { grid-template-columns: 1fr; padding: 32px 20px; }
  .igy6-footer__bottom-inner { padding: 0 20px; flex-direction: column; align-items: flex-start; }
}

/* =============================================================================
   FRONT PAGE — HOMEPAGE TEMPLATE STYLES
   ============================================================================= */

/* ── Shared layout helpers ─────────────────────────────────────────────────── */
.igy6-site-container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.igy6-section        { padding: 5rem 0; }
.igy6-section--dark  { background: #111827; }   /* night-900 */
.igy6-section--black { background: #0a0f1a; }   /* night-950 */
.igy6-eyebrow        { color: #ef4444; font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.25em; margin-bottom: 0.5rem; }
.igy6-text-red       { color: #dc2626; }
.igy6-heading-lg     { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: clamp(2rem, 5vw, 3rem); font-weight: 700; color: #ffffff; line-height: 1.1; }
.igy6-heading-md     { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; color: #ffffff; }

.igy6-section-head { text-align: center; margin-bottom: 3.5rem; }
.igy6-section-head__lead { color: #9ca3af; max-width: 42rem; margin: 1rem auto 0; font-size: 0.95rem; line-height: 1.7; }

/* ── Tactical background grid ─────────────────────────────────────────────── */
.igy6-tactical-bg {
  background-image:
    linear-gradient(rgba(220,38,38,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,38,38,0.04) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* ── Three.js canvas ──────────────────────────────────────────────────────── */
#hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }

/* ── Hero section ─────────────────────────────────────────────────────────── */
.igy6-hero { position: relative; background: #0a0f1a; overflow: hidden; min-height: 60vh; }

.igy6-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.igy6-hero__bg-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.5; display: block; }
.igy6-hero__grad-r { position: absolute; inset: 0; background: linear-gradient(to right, rgba(10,15,26,0.85), rgba(10,15,26,0.4) 50%, rgba(10,15,26,0.1)); }
.igy6-hero__grad-t { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,15,26,0.45), transparent 50%); }
.igy6-hero__glow   { position: absolute; bottom: 0; right: 0; width: 600px; height: 400px; border-radius: 50%; opacity: 0.2; background: radial-gradient(ellipse, #dc2626 0%, transparent 70%); }
.igy6-hero__accent-bar { position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, transparent, #dc2626 30%, #dc2626 70%, transparent); opacity: 0.7; }

.igy6-hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; min-height: 60vh; padding-top: 5rem; }
.igy6-hero__inner   { flex: 1; display: flex; align-items: center; padding: 4rem 0 2rem; }
.igy6-hero__grid    { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }

.igy6-hero__badge   { display: inline-block; margin-bottom: 1.75rem; }
.igy6-hero__badge span { color: #6b7280; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; }

.igy6-hero__heading    { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: clamp(3.8rem, 9vw, 7rem); font-weight: 700; color: #ffffff; line-height: 1; margin: 0 0 1.5rem; }
.igy6-hero__heading-em { color: #dc2626; }
.igy6-hero__lead       { color: #9ca3af; font-size: 1.0625rem; line-height: 1.7; max-width: 32rem; margin: 0 0 2rem; }

.igy6-hero__ctas      { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 3rem; }
.igy6-btn-outline     { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.5rem; border: 1px solid #374151; border-radius: 4px; color: #d1d5db; background: transparent; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none; transition: background 0.2s, color 0.2s; cursor: pointer; }
.igy6-btn-outline:hover { background: #1f2937; color: #ffffff; }
.igy6-btn-outline--sm { font-size: 0.8125rem; padding: 0.45rem 1.2rem; }

/* btn-armor-outline — default btn size (matches prototype's btn btn-armor-outline) */
.igy6-btn-armor-outline { display: inline-flex; align-items: center; gap: 0.5rem; height: 3rem; min-height: 3rem; padding: 0 1.5rem; border: 2px solid #dc2626; border-radius: 0.25rem; background: transparent; color: #ef4444 !important; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; text-decoration: none !important; transition: background 0.2s, color 0.2s, box-shadow 0.2s; cursor: pointer; }
.igy6-btn-armor-outline:hover { background: #dc2626; color: #ffffff; box-shadow: 0 0 18px 3px rgba(220,38,38,0.3); }

/* Hero stats row */
.igy6-hero__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; max-width: 26rem; }
.igy6-hero__stat  { padding-left: 1rem; border-left: 1px solid #374151; }
.igy6-hero__stat--primary { border-left-color: #dc2626; border-left-width: 2px; }
.igy6-hero__stat-val   { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: 1.875rem; font-weight: 700; color: #ffffff; line-height: 1; }
.igy6-hero__stat-val--red { color: #ef4444; }
.igy6-hero__stat-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: #6b7280; margin-top: 0.2rem; }

/* Scroll hint */
.igy6-hero__scroll-hint { padding: 1.5rem; text-align: center; }
.igy6-hero__scroll-hint a { color: #374151; text-decoration: none; transition: color 0.2s; }
.igy6-hero__scroll-hint a:hover { color: #6b7280; }
.igy6-hero__scroll-hint i { animation: igy6-bounce 1.5s infinite; }
@keyframes igy6-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

/* ── Featured webinar card (hero right column) ────────────────────────────── */
.igy6-fcard { width: 100%; }
.igy6-fcard__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.igy6-fcard__label  { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15em; color: #6b7280; }
.igy6-fcard__badge  { padding: 0.2rem 0.65rem; border-radius: 999px; background: rgba(220,38,38,0.2); color: #ef4444; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; }

.igy6-fcard__inner  { background: #1f2937; border: 1px solid rgba(220,38,38,0.3); border-radius: 1rem; overflow: hidden; box-shadow: 0 0 40px rgba(220,38,38,0.15); }

.igy6-fcard__img-wrap { position: relative; height: 260px; background: #111827; overflow: hidden; }
.igy6-fcard__img      { width: 100%; height: 100%; object-fit: cover; display: block; }
.igy6-fcard__img-grad { display: none; }
.igy6-fcard__cat      { position: absolute; top: 1rem; right: 1rem; background: rgba(10,15,26,0.7); backdrop-filter: blur(4px); border: 1px solid #374151; border-radius: 999px; padding: 0.2rem 0.75rem; font-size: 0.7rem; color: #9ca3af; }
.igy6-fcard__img-info { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; background: rgba(10,15,26,0.72); backdrop-filter: blur(6px); border: 1px solid rgba(55,65,81,0.5); border-radius: 0.5rem; padding: 0.5rem 0.75rem; }
.igy6-fcard__date     { color: #9ca3af; font-size: 0.75rem; margin-bottom: 0.25rem; }
.igy6-fcard__title    { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: 1.75rem; font-weight: 700; color: #ffffff; line-height: 1.15; }

.igy6-fcard__body       { padding: 1.5rem; }
.igy6-fcard__seat-row   { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.75rem; }
.igy6-fcard__price      { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: 2.25rem; font-weight: 700; color: #ef4444; line-height: 1; }
.igy6-fcard__per        { font-size: 0.85rem; color: #6b7280; margin-left: 0.25rem; }
.igy6-fcard__rem-wrap   { text-align: right; }
.igy6-fcard__urgent     { color: #f87171; font-size: 0.875rem; font-weight: 700; }
.igy6-fcard__seats      { color: #d1d5db; font-weight: 600; font-size: 0.9rem; }
.igy6-fcard__total      { color: #6b7280; font-size: 0.7rem; }
.igy6-fcard__fine       { text-align: center; font-size: 0.7rem; color: #6b7280; margin-top: 0.75rem; }

/* ── Seat progress bar ────────────────────────────────────────────────────── */
.igy6-seat-bar        { width: 100%; background: #374151; border-radius: 999px; height: 8px; margin-bottom: 1.25rem; overflow: hidden; }
.igy6-seat-bar__fill  { height: 100%; border-radius: 999px; transition: width 0.9s cubic-bezier(0.22,1,0.36,1); }

/* ── How It Works ─────────────────────────────────────────────────────────── */
.igy6-hiw-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; }

.igy6-hiw-card { background: #1f2937; border: 1px solid #374151; border-radius: 0.75rem; padding: 1.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; transition: border-color 0.25s; }
.igy6-hiw-card:hover { border-color: rgba(220,38,38,0.4); }

.igy6-hiw-card__icon-wrap   { position: relative; margin-bottom: 1rem; }
.igy6-hiw-card__icon-circle { width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #111827; border: 1px solid rgba(220,38,38,0.2); display: flex; align-items: center; justify-content: center; }
.igy6-hiw-card__icon-circle i { color: #ef4444; font-size: 1.25rem; }
.igy6-hiw-card__num   { position: absolute; top: -0.25rem; right: -0.25rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #dc2626; display: flex; align-items: center; justify-content: center; font-size: 0.625rem; font-weight: 700; color: #ffffff; }
.igy6-hiw-card__title { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: 1rem; font-weight: 700; color: #ffffff; margin-bottom: 0.5rem; }
.igy6-hiw-card__body  { font-size: 0.75rem; color: #6b7280; line-height: 1.6; }

/* ── Cinematic video embed ────────────────────────────────────────────────── */
.igy6-video-wrap { margin-top: 5rem; }
.igy6-video-head { text-align: center; margin-bottom: 2rem; }
.igy6-video-head__sub { color: #6b7280; font-size: 0.875rem; margin-top: 0.5rem; max-width: 36rem; margin-left: auto; margin-right: auto; }

.igy6-video-shell { position: relative; max-width: 860px; margin: 0 auto; }
@keyframes igy6-glow-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.55; } }
.igy6-video-glow  { position: absolute; inset: -3px; border-radius: 14px; background: linear-gradient(135deg, rgba(220,38,38,0.65) 0%, rgba(75,85,99,0.2) 50%, rgba(220,38,38,0.4) 100%); filter: blur(1px); z-index: 0; animation: igy6-glow-pulse 3s ease-in-out infinite; }
.igy6-video-frame { position: relative; z-index: 1; border-radius: 12px; overflow: hidden; background: #0a0f1a; box-shadow: 0 0 60px rgba(220,38,38,0.25), 0 0 120px rgba(220,38,38,0.1), 0 20px 60px rgba(0,0,0,0.7); }

.igy6-video-corner { position: absolute; width: 22px; height: 22px; z-index: 3; }
.igy6-video-corner--tl { top: 0; left: 0; border-top: 2px solid #dc2626; border-left: 2px solid #dc2626; border-radius: 2px 0 0 0; }
.igy6-video-corner--tr { top: 0; right: 0; border-top: 2px solid #dc2626; border-right: 2px solid #dc2626; border-radius: 0 2px 0 0; }
.igy6-video-corner--bl { bottom: 0; left: 0; border-bottom: 2px solid #dc2626; border-left: 2px solid #dc2626; border-radius: 0 0 0 2px; }
.igy6-video-corner--br { bottom: 0; right: 0; border-bottom: 2px solid #dc2626; border-right: 2px solid #dc2626; border-radius: 0 0 2px 0; }

.igy6-video-ratio { position: relative; aspect-ratio: 16 / 9; width: 100%; }
.igy6-video-ratio iframe { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.igy6-video-vignette { position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 58%, rgba(10,15,26,0.5) 100%); pointer-events: none; z-index: 2; }
.igy6-video-caption  { text-align: center; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.2em; color: #374151; margin-top: 1.25rem; }

/* ── Active webinars section ──────────────────────────────────────────────── */
.igy6-webinars-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 2.5rem; }
.igy6-webinar-grid    { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

.igy6-wcard { display: block; background: #1f2937; border: 1px solid #374151; border-radius: 0.75rem; overflow: hidden; text-decoration: none; transition: border-color 0.3s; }
.igy6-wcard:hover { border-color: rgba(220,38,38,0.5); }
.igy6-wcard__img-wrap { position: relative; height: 176px; background: #111827; overflow: hidden; }
.igy6-wcard__img  { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s; }
.igy6-wcard:hover .igy6-wcard__img { transform: scale(1.05); }
.igy6-wcard__badge { position: absolute; top: 0.75rem; left: 0.75rem; padding: 0.2rem 0.65rem; border-radius: 999px; background: rgba(220,38,38,0.2); color: #ef4444; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; }
.igy6-wcard__body  { padding: 1.25rem; }
.igy6-wcard__title { font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif); font-size: 1.125rem; font-weight: 700; color: #ffffff; margin-bottom: 0.25rem; transition: color 0.2s; }
.igy6-wcard:hover .igy6-wcard__title { color: #ef4444; }
.igy6-wcard__date  { font-size: 0.75rem; color: #9ca3af; margin-bottom: 0.75rem; }
.igy6-wcard__seat-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; }
.igy6-wcard__price { color: #ef4444; font-weight: 700; font-size: 0.875rem; }
.igy6-wcard__urgent { color: #f87171; font-size: 0.75rem; font-weight: 700; }
.igy6-wcard__mid    { color: #fbbf24; font-size: 0.75rem; font-weight: 600; }
.igy6-wcard__ok     { color: #9ca3af; font-size: 0.75rem; }
.igy6-wcard__cta    { margin-top: 1rem; font-size: 0.875rem; font-weight: 700; color: #dc2626; text-transform: uppercase; letter-spacing: 0.05em; }
.igy6-no-webinars   { color: #6b7280; font-size: 0.95rem; }
.igy6-view-all-mobile { display: none; text-align: center; margin-top: 2rem; }

/* ── Reviews section ──────────────────────────────────────────────────────── */
.igy6-reviews-head { text-align: center; margin-bottom: 3rem; }
.igy6-reviews-stars { display: flex; justify-content: center; align-items: center; gap: 0.25rem; margin-top: 0.75rem; }
.igy6-reviews-stars i { color: #fbbf24; font-size: 1.25rem; }
.igy6-reviews-rating  { color: #9ca3af; font-size: 0.875rem; margin-left: 0.5rem; }
.igy6-reviews-grid    { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }

.igy6-rcard { background: #1f2937; border: 1px solid #374151; border-radius: 0.75rem; padding: 1.5rem; }
.igy6-rcard__stars  { display: flex; gap: 0.2rem; margin-bottom: 0.75rem; }
.igy6-rcard__stars i { color: #fbbf24; font-size: 0.875rem; }
.igy6-rcard__text   { font-size: 0.875rem; color: #d1d5db; line-height: 1.65; margin-bottom: 1rem; font-style: normal; }
.igy6-rcard__author { display: flex; align-items: center; gap: 0.75rem; }
.igy6-rcard__avatar { width: 2rem; height: 2rem; border-radius: 50%; background: rgba(220,38,38,0.2); color: #ef4444; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; flex-shrink: 0; }
.igy6-rcard__name   { font-size: 0.875rem; font-weight: 600; color: #ffffff; }
.igy6-rcard__source { font-size: 0.75rem; color: #6b7280; }

/* ── CTA Banner ───────────────────────────────────────────────────────────── */
.igy6-cta-banner { position: relative; padding: 6rem 2rem; background: #b91c1c; overflow: hidden; }
.igy6-cta-banner__bg { position: absolute; inset: 0; opacity: 0.1; pointer-events: none; }
.igy6-cta-banner__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.igy6-cta-banner__inner { position: relative; text-align: center; max-width: 48rem; margin: 0 auto; }
.igy6-cta-banner__inner .igy6-heading-lg { color: #ffffff; margin-bottom: 1rem; }
.igy6-cta-banner__lead { color: rgba(255,255,255,0.8); max-width: 36rem; margin: 0 auto 2rem; font-size: 1rem; line-height: 1.65; }

.igy6-btn-white { display: inline-flex; align-items: center; gap: 0.5rem; height: 4rem; min-height: 4rem; padding-left: 1.5rem; padding-right: 1.5rem; background: #ffffff; color: #b91c1c; border: none; border-radius: 0.5rem; font-weight: 700; font-size: 1.125rem; text-transform: uppercase; letter-spacing: 0.1em; text-decoration: none; transition: background 0.2s, transform 0.15s; cursor: pointer; }
.igy6-btn-white:hover { background: #f3f4f6; }

/* ── Button ripple ────────────────────────────────────────────────────────── */
.igy6-btn-ripple { position: absolute; border-radius: 50%; background: rgba(255,255,255,0.25); transform: scale(0); animation: igy6-ripple 0.55s ease-out forwards; pointer-events: none; }
@keyframes igy6-ripple { to { transform: scale(4); opacity: 0; } }

/* ── Responsive — front page ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .igy6-hero__grid  { grid-template-columns: 1fr; }
  .igy6-hero__card  { display: none; }       /* hide webinar card on tablet — shown again on mobile below */
  .igy6-hiw-grid    { grid-template-columns: repeat(3, 1fr); }
  .igy6-reviews-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .igy6-hero__card { display: block; }       /* restore featured webinar card on mobile */
}
/* Mobile section reorder: Active Webinars before How It Works */
@media (max-width: 768px) {
  .igy6-mobile-reorder {
    display: flex;
    flex-direction: column;
  }
  #how-it-works  { order: 2; }
  #home-webinars { order: 1; }
}

@media (max-width: 768px) {
  .igy6-hiw-grid    { grid-template-columns: 1fr 1fr; }
  .igy6-webinar-grid { grid-template-columns: 1fr; }
  .igy6-webinars-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .igy6-webinars-header .igy6-btn-outline--sm,
  .igy6-webinars-header .igy6-btn-armor-outline { display: none; }
  .igy6-view-all-mobile { display: block; }
}
@media (max-width: 480px) {
  .igy6-hero__stats  { grid-template-columns: repeat(3, 1fr); max-width: 100%; }
  .igy6-hiw-grid     { grid-template-columns: 1fr; }
  .igy6-reviews-grid { grid-template-columns: 1fr; }
  .igy6-hero__heading { font-size: clamp(3rem, 15vw, 5rem); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   WEBINAR ARCHIVE PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Page hero ──────────────────────────────────────────────────────────── */
.igy6-archive-hero {
  position: relative;
  padding: 5rem 1rem;
  background: #111827;
  border-bottom: 1px solid #374151;
  overflow: hidden;
}
.igy6-archive-hero__bg { position: absolute; inset: 0; opacity: 0.45; }
.igy6-archive-hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.igy6-archive-hero__bg-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(17,24,39,0.85), rgba(17,24,39,0.4) 50%, rgba(17,24,39,0.1));
}
.igy6-archive-hero__inner { position: relative; }
.igy6-archive-hero__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 500; /* matches prototype: Tailwind preflight resets h1 to inherit→400, nearest loaded weight is 500 */
  color: #ffffff;
  margin: 0.5rem 0 0;
  line-height: 1.1;
}
.igy6-archive-hero__lead {
  margin-top: 1rem;
  color: #9ca3af;
  max-width: 36rem;
  font-size: 1.125rem;
  line-height: 1.6;
}

/* ── Sticky filter bar ──────────────────────────────────────────────────── */
.igy6-archive-filters {
  background: #111827;
  border-bottom: 1px solid #1f2937;
  position: sticky;
  top: 64px;
  z-index: 40;
}

/* Status tabs */
.igy6-archive-tabs {
  display: flex;
  gap: 1.5rem;
  border-bottom: 1px solid #1f2937;
}
.igy6-archive-tabs__tab {
  display: block;
  padding: 1rem 0;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.2s;
  white-space: nowrap;
}
.igy6-archive-tabs__tab:hover { color: #ffffff; text-decoration: none; }
.igy6-archive-tabs__tab--active { border-bottom-color: #dc2626; color: #ffffff; }

/* Category pills */
.igy6-archive-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.75rem 0;
}
.igy6-archive-cats__pill {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  border: 1px solid #374151;
  background: #1f2937;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: #9ca3af;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.igy6-archive-cats__pill:hover { border-color: #dc2626; color: #ffffff; text-decoration: none; }
.igy6-archive-cats__pill--active { background: #dc2626; border-color: #dc2626; color: #ffffff; }

/* ── Grid wrapper ───────────────────────────────────────────────────────── */
/* Plugin's webinar.css sets .dpa-webinar-wrap { max-width: 900px; margin: 0 auto }
   which would cap the grid at 900px. Override with ID+class specificity. */
#dpa-webinar-archive.dpa-webinar-wrap {
  max-width: none;
  margin: 0;
  padding: 3rem 0;
  background: #0a0f1a;
}

/* ── Dark card overrides (scoped to the archive page) ───────────────────── */
#dpa-webinar-archive .dpa-webinar-card {
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 16px rgba(0,0,0,0.4);
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
#dpa-webinar-archive .dpa-webinar-card:hover {
  border-color: rgba(220,38,38,0.4);
  box-shadow: 0 8px 32px rgba(220,38,38,0.15);
  transform: translateY(-3px);
}

/* Image area */
#dpa-webinar-archive .dpa-webinar-card__img-wrap {
  position: relative;
  height: 12rem;
  background: #111827;
  overflow: hidden;
  flex-shrink: 0;
}
#dpa-webinar-archive .dpa-webinar-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1 !important;
  transition: transform 0.5s;
}
#dpa-webinar-archive .dpa-webinar-card__img--ended {
  opacity: 0.4 !important;
  filter: grayscale(1);
}
#dpa-webinar-archive .dpa-webinar-card:hover .dpa-webinar-card__img:not(.dpa-webinar-card__img--ended) {
  transform: scale(1.03);
}
/* Overlay div is no longer needed — hide it entirely */
#dpa-webinar-archive .dpa-webinar-card__img-overlay {
  display: none;
}

/* Badge: top-left */
#dpa-webinar-archive .dpa-webinar-card__badge-tl {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
}
/* Parent theme sets position:absolute; top:12px; right:12px on this class —
   reset to static so our .badge-tl wrapper controls placement instead. */
#dpa-webinar-archive .dpa-webinar-card__status-badge {
  position: static;
  display: inline-block;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
#dpa-webinar-archive .dpa-webinar-card__badge--open   { background: rgba(220,38,38,0.2); color: #ef4444; }
#dpa-webinar-archive .dpa-webinar-card__badge--ended  { background: #374151; color: #9ca3af; }
/* Hide on mobile to prevent overlap with the category pill */
@media (max-width: 640px) {
  #dpa-webinar-archive .dpa-webinar-card__badge-tl { display: none; }
}

/* Category label: top-right */
#dpa-webinar-archive .dpa-webinar-card__cat-label {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: rgba(17,24,39,0.7);
  backdrop-filter: blur(4px);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  color: #d1d5db;
  border: 1px solid #374151;
}

/* Price overlay: bottom-left */
#dpa-webinar-archive .dpa-webinar-card__price-overlay {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  right: 0.75rem;
}
#dpa-webinar-archive .dpa-webinar-card__price-big {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  color: #ef4444;
  line-height: 1;
}
#dpa-webinar-archive .dpa-webinar-card__price-unit {
  font-size: 0.875rem;
  color: #6b7280;
  font-weight: 400;
  font-family: var(--dpa-font-body, sans-serif);
}

/* Card body */
#dpa-webinar-archive .dpa-webinar-card__body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Top section grows to fill space, pushing bottom section down */
#dpa-webinar-archive .dpa-webinar-card__top  { flex: 1; }
/* Bottom section (seats + bar + CTA) always at card base */
#dpa-webinar-archive .dpa-webinar-card__bottom { margin-top: auto; padding-top: 1rem; }

#dpa-webinar-archive .dpa-webinar-card__title   { color: #ffffff; font-size: 1.125rem; line-height: 1.3; margin: 0 0 0.35rem; }
#dpa-webinar-archive .dpa-webinar-card__title a { color: #ffffff; text-decoration: none; }
/* Short excerpt: 2 lines max via line-clamp */
#dpa-webinar-archive .dpa-webinar-card__subtitle {
  color: #6b7280;
  font-size: 0.75rem;
  line-height: 1.5;
  margin: 0 0 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#dpa-webinar-archive .dpa-webinar-card__date    { color: #6b7280; font-size: 0.75rem; display: flex; align-items: center; gap: 0.5rem; margin: 0; }

/* Seat row */
#dpa-webinar-archive .dpa-webinar-card__seat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
#dpa-webinar-archive .dpa-webinar-card__remaining          { color: #9ca3af; font-size: 0.75rem; }
#dpa-webinar-archive .dpa-webinar-card__remaining--urgent  { color: #f87171; font-weight: 700; }
#dpa-webinar-archive .dpa-webinar-card__remaining--mid     { color: #fbbf24; font-weight: 600; }
#dpa-webinar-archive .dpa-webinar-card__seat-count         { color: #6b7280; font-size: 0.75rem; }

/* Seat bar: rounded, 8px */
#dpa-webinar-archive .dpa-seat-bar {
  background: #374151;
  border-radius: 9999px;
  height: 0.5rem;
  overflow: hidden;
  margin-bottom: 1rem;
}
#dpa-webinar-archive .dpa-seat-bar__fill {
  height: 100%;
  border-radius: 9999px;
  transition: width 0.4s;
}
#dpa-webinar-archive .dpa-seat-bar--ok     { background: #22c55e; }
#dpa-webinar-archive .dpa-seat-bar--mid    { background: #f59e0b; }
#dpa-webinar-archive .dpa-seat-bar--urgent { background: #ef4444; }
#dpa-webinar-archive .dpa-seat-bar--ended  { background: #4b5563; }

/* CTA — new scoped button classes (avoids parent theme .dpa-btn sizing conflicts) */
#dpa-webinar-archive .igy6-card-btn {
  display: block;
  width: 100%;
  text-align: center;
  height: 2rem;
  line-height: 2rem;
  padding: 0 0.75rem;
  border: none;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  text-decoration: none;
  cursor: pointer;
  transition: box-shadow 0.3s, transform 0.15s;
}
#dpa-webinar-archive .igy6-card-btn--armor {
  background: #dc2626;
  color: #ffffff;
  box-shadow: 0 0 0 0 rgba(220,38,38,0);
}
#dpa-webinar-archive .igy6-card-btn--armor:hover {
  box-shadow: 0 0 22px 4px rgba(220,38,38,0.45);
  text-decoration: none;
  color: #ffffff;
}
#dpa-webinar-archive .igy6-card-btn--ended {
  background: #1f2937;
  color: #6b7280;
  cursor: not-allowed;
}

/* Empty-state message */
#dpa-webinar-archive .dpa-no-webinars {
  color: #9ca3af;
  text-align: center;
  padding: 3rem 0;
}

/* ── How It Works Mini section ─────────────────────────────────────────── */
.igy6-hiw-mini {
  padding: 4rem 1rem;
  background: #111827;
  border-top: 1px solid #1f2937;
}
/* Prototype uses max-w-4xl (56rem) for this section */
.igy6-hiw-mini__inner { text-align: center; max-width: 56rem; margin: 0 auto; }
.igy6-hiw-mini__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.875rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0.5rem 0 1rem;
  line-height: 1.2;
}
.igy6-hiw-mini__body {
  color: #9ca3af;
  margin-bottom: 2rem;
  line-height: 1.7;
}
.igy6-hiw-mini__link {
  color: #ef4444;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.igy6-hiw-mini__link:hover { color: #f87171; }

/* Category dropdown — mobile-only replacement for pill row */
.igy6-archive-cat-select {
  display: none; /* hidden on desktop */
}

/* ── Archive responsive ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .igy6-archive-hero { padding: 3rem 1rem; }
}
@media (max-width: 640px) {
  /* Switch filter UI from pills to dropdown */
  .igy6-archive-cats { display: none; }
  .igy6-archive-cat-select {
    display: block;
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #374151;
    background: #1f2937 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='%23dc2626' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
    color: #dc2626;
    font-family: var(--dpa-font-body, sans-serif);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
  }
  .igy6-archive-cat-select:focus {
    outline: none;
    border-color: #dc2626;
    color: #ffffff;
  }

  /* 2-up webinar card grid on mobile */
  #dpa-webinar-archive .dpa-webinar-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
  }
  /* Tighten card body padding for narrow columns */
  #dpa-webinar-archive .dpa-webinar-card__body { padding: 0.75rem; }
  #dpa-webinar-archive .dpa-webinar-card__img-wrap { height: 9rem; }
  #dpa-webinar-archive .dpa-webinar-card__title { font-size: 0.875rem; }
  #dpa-webinar-archive .dpa-webinar-card__subtitle { display: none; }
}
@media (max-width: 600px) {
  .igy6-archive-tabs { gap: 1rem; overflow-x: auto; }
  .igy6-archive-tabs__tab { padding: 0.75rem 0; font-size: 0.75rem; }
}

/* ── Webinar archive pagination ─────────────────────────────────────────────
   the_posts_pagination() outputs: nav.navigation.pagination > div.nav-links
   > a.page-numbers / span.page-numbers.current (no ul/li wrapper).
   Override parent theme gold style with IGY6 dark/red look. */

#dpa-webinar-archive .navigation.pagination {
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
  text-align: center;
  max-width: none;
  padding: 0 0 1rem;
}
#dpa-webinar-archive .nav-links {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  justify-content: center;
}
/* Base — all page-numbers links and spans */
#dpa-webinar-archive .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.625rem;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  color: #9ca3af;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1;
  transition: color 0.2s, background 0.2s;
}
/* Hover (links only) */
#dpa-webinar-archive a.page-numbers:hover {
  background: #1f2937;
  border-color: transparent;
  color: #ffffff;
}
/* Active / current */
#dpa-webinar-archive .page-numbers.current {
  background: #dc2626;
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 0 14px 3px rgba(220,38,38,0.35);
}
/* Prev / Next */
#dpa-webinar-archive .page-numbers.prev,
#dpa-webinar-archive .page-numbers.next {
  padding: 0 0.875rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  border: none;
  color: #9ca3af;
}
#dpa-webinar-archive .page-numbers.prev:hover,
#dpa-webinar-archive .page-numbers.next:hover {
  background: #1f2937;
  color: #ffffff;
}
/* Dots */
#dpa-webinar-archive .page-numbers.dots {
  color: #4b5563;
  cursor: default;
  min-width: 1.5rem;
  background: transparent;
  border: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CONTACT PAGE  /contact/
   Matches igy6_prototype/contact.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────────────── */
.igy6-contact-hero           { padding: 5rem 2rem; background: #111827; border-bottom: 1px solid #1f2937; }
.igy6-contact-hero__inner    { max-width: 1200px; margin: 0 auto; }
.igy6-contact-eyebrow {
  color: #ef4444; font-size: 0.8125rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.25em; margin-bottom: 0.5rem;
}
.igy6-contact-hero__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 500;
  color: #ffffff; line-height: 1.1; margin: 0.5rem 0 1rem;
}
.igy6-contact-hero__em   { color: #dc2626; }
.igy6-contact-hero__lead { color: #9ca3af; max-width: 36rem; line-height: 1.65; margin: 0; }

/* ── Body ─────────────────────────────────────────────────────────────── */
.igy6-contact-body         { padding: 4rem 2rem; background: #0a0f1a; }
.igy6-contact-body__inner  {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 3rem;
}

/* ── Contact info column ──────────────────────────────────────────────── */
.igy6-contact-info__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem; font-weight: 500; color: #ffffff; margin: 0 0 1.5rem;
}
.igy6-contact-cards       { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 2.5rem; }
.igy6-contact-card {
  display: flex; align-items: center; gap: 1rem;
  background: #1f2937; border: 1px solid #374151; border-radius: 0.75rem;
  padding: 1rem; transition: border-color 0.25s; text-decoration: none;
}
a.igy6-contact-card--link:hover { border-color: rgba(220,38,38,0.4); }
.igy6-contact-card__icon {
  width: 2.5rem; height: 2.5rem; border-radius: 0.5rem; flex-shrink: 0;
  background: rgba(220,38,38,0.1); border: 1px solid rgba(220,38,38,0.3);
  display: flex; align-items: center; justify-content: center; color: #ef4444;
}
.igy6-contact-card__label { color: #9ca3af; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.125rem; }
.igy6-contact-card__value { color: #ffffff; font-size: 0.875rem; font-weight: 600; line-height: 1.4; }

/* Social icons */
.igy6-contact-social__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.125rem; font-weight: 500; color: #ffffff; margin: 0 0 1rem;
}
.igy6-contact-socials      { display: flex; gap: 1rem; margin-bottom: 2.5rem; }
.igy6-contact-social-btn {
  width: 3rem; height: 3rem; border-radius: 0.75rem;
  background: #1f2937; border: 1px solid #374151;
  display: flex; align-items: center; justify-content: center;
  color: #9ca3af; font-size: 1.125rem; text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
}
.igy6-contact-social-btn:hover { color: #ffffff; border-color: #dc2626; }

/* Quick links card */
.igy6-contact-quicklinks {
  background: #1f2937; border: 1px solid #374151; border-radius: 0.75rem; padding: 1.5rem;
}
.igy6-contact-quicklinks__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.125rem; font-weight: 500; color: #ffffff; margin: 0 0 1rem;
}
.igy6-contact-quicklinks__list     { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.igy6-contact-quicklinks__list a   { color: #ef4444; font-size: 0.875rem; text-decoration: none; transition: color 0.2s; }
.igy6-contact-quicklinks__list a:hover { color: #f87171; }
.igy6-contact-quicklinks__list i   { margin-right: 0.5rem; width: 1em; }

/* ── Form panel (right column) ────────────────────────────────────────── */
.igy6-contact-form-panel {
  background: #1f2937; border: 1px solid #374151; border-radius: 0.75rem; padding: 2rem;
  align-self: start;
}
.igy6-contact-form-panel__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem; font-weight: 500; color: #ffffff; margin: 0 0 1.5rem;
}

/* ── Gravity Forms dark skin ──────────────────────────────────────────── */

/*
 * Override GF 2.5+ CSS custom properties at the wrapper level.
 * --gf-color-in-ctrl-contrast defaults to #112337 (dark navy) — invisible
 * on our dark backgrounds. Setting it to #fff fixes the blank select bug
 * and all other control text colours in one place.
 */
#igy6-contact .gform_wrapper,
#igy6-contact .gform-theme--framework,
#igy6-contact .gform-theme--api {
  /* ── Palette ── */
  --gf-color-primary:               #dc2626;  /* accent / focus ring — armor red    */
  --gf-color-primary-rgb:           220,38,38;
  --gf-color-in-ctrl:               #1f2937;  /* input bg (night-800)               */
  --gf-color-in-ctrl-rgb:           31,41,55;
  --gf-color-in-ctrl-contrast:      #ffffff;  /* text inside controls               */
  --gf-color-in-ctrl-contrast-rgb:  255,255,255; /* KEY: fixes RGB-based opacity chain */
  --gf-color-in-ctrl-dark:          #4b5563;  /* placeholder / sub-label            */
  --gf-color-in-ctrl-dark-rgb:      75,85,99;
  --gf-color-out-ctrl-dark:         #9ca3af;  /* field label colour                 */
  --gf-color-out-ctrl-light:        #374151;  /* control border (night-700)         */
  --gf-color-danger:                #f87171;  /* validation / error messages        */
  /* ── Direct ctrl overrides (GF applies these to the actual elements) ── */
  --gf-ctrl-bg-color:               #1f2937;  /* direct bg override                 */
  --gf-ctrl-color:                  #ffffff;  /* direct text override               */
  --gf-ctrl-border-color:           #4b5563;  /* night-600                          */
  --gf-ctrl-size-md:                2.75rem;  /* taller fields — matches py-3 text-sm */
  --gf-ctrl-size:                   2.75rem;
  /* ── Misc ── */
  --gf-border-color:                #4b5563;
  --gf-padding-x:                   1rem;
  --gf-padding-y:                   0.75rem;
  --gf-font-size-primary:           0.875rem;
  --gf-label-space-primary:         0.375rem;
  /* Replace GF's dark-on-light select arrow with a light grey one */
  --gf-icon-ctrl-select: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%239ca3af' d='M5.5 8l4.5 4.5L14.5 8z'/%3E%3C/svg%3E");
}

/* Reset GF wrapper chrome */
#igy6-contact .gform_wrapper { margin: 0 !important; padding: 0 !important; background: none !important; border: none !important; }
#igy6-contact .gform_heading { display: none; }
#igy6-contact .gform_body,
#igy6-contact .gform-body    { margin: 0; padding: 0; }

/* Field list */
#igy6-contact .gform_fields {
  display: flex !important; flex-direction: column !important; gap: 1.25rem !important;
  margin: 0 !important; padding: 0 !important; list-style: none !important;
  grid-template-columns: none !important;
}
#igy6-contact .gfield        { margin: 0 !important; padding: 0 !important; }

/* Labels */
#igy6-contact .gfield_label {
  display: block !important; color: #9ca3af !important; font-size: 0.75rem !important;
  font-weight: 600 !important; text-transform: uppercase !important;
  letter-spacing: 0.05em !important; margin-bottom: 0.375rem !important; line-height: 1.4;
}
/* Hide "(Required)" text — prototype shows no required indicator */
#igy6-contact .gfield_required { display: none !important; }

/* Name sub-labels ("First Name" / "Last Name") — match main gfield_label exactly */
#igy6-contact .ginput_complex label,
#igy6-contact .ginput_complex .name_first > label,
#igy6-contact .ginput_complex .name_last  > label {
  display: block !important; color: #9ca3af !important; font-size: 0.75rem !important;
  font-weight: 600 !important; text-transform: uppercase !important;
  letter-spacing: 0.05em !important; margin-bottom: 0.375rem !important; line-height: 1.4;
}

/* Name field — two columns */
#igy6-contact .ginput_complex.ginput_container_name {
  display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1rem !important;
}
#igy6-contact .ginput_complex .name_first,
#igy6-contact .ginput_complex .name_last { width: 100% !important; }

/* All text-like inputs */
#igy6-contact .ginput_container input[type="text"],
#igy6-contact .ginput_container input[type="email"],
#igy6-contact .ginput_container input[type="tel"],
#igy6-contact .ginput_container input[type="number"],
#igy6-contact .ginput_container select,
#igy6-contact .ginput_container textarea {
  display: block !important; width: 100% !important; box-sizing: border-box !important;
  background-color: #1f2937 !important; border: 1px solid #4b5563 !important;
  border-radius: 0.5rem !important; color: #ffffff !important;
  padding: 0.75rem 1rem !important; font-size: 0.875rem !important;
  font-family: inherit !important; outline: none !important;
  transition: border-color 0.2s; -webkit-appearance: none !important; appearance: none !important;
  box-shadow: none !important;
}
#igy6-contact .ginput_container input::placeholder,
#igy6-contact .ginput_container textarea::placeholder { color: #4b5563 !important; opacity: 1 !important; }
#igy6-contact .ginput_container input:focus,
#igy6-contact .ginput_container select:focus,
#igy6-contact .ginput_container textarea:focus { border-color: #dc2626 !important; box-shadow: none !important; }
#igy6-contact .ginput_container textarea { resize: vertical !important; min-height: 8rem; }

/* Select — override GF's line-height: ctrl-size which clips text, add caret */
#igy6-contact .ginput_container select {
  height: auto !important; line-height: 1.5 !important; /* prevent text clipping */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%239ca3af' d='M5.5 8l4.5 4.5L14.5 8z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 0.75rem center !important;
  background-size: 1.25rem !important; padding-right: 2.5rem !important; cursor: pointer;
}
#igy6-contact .ginput_container select option { background: #1f2937; color: #ffffff; }
#igy6-contact .ginput_container select option[value=""] { color: #4b5563; }
/* Mute the closed-state text when the placeholder option is selected */
#igy6-contact .ginput_container select:has(option[value=""]:checked) { color: #4b5563 !important; }

/* Submit button — replaced with <button> via gform_submit_button filter */
#igy6-contact .gform_footer,
#igy6-contact .gform_button_row { margin: 1.25rem 0 0 !important; padding: 0 !important; }
#igy6-contact input.gform_button[type="submit"],
#igy6-contact button.gform_button[type="submit"],
#igy6-contact .gform_button {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 0.5rem !important; width: 100% !important;
  height: 3.5rem !important; line-height: 1 !important;
  background: #dc2626 !important; border: none !important; border-radius: 0.375rem !important;
  color: #ffffff !important; font-size: 1rem !important; font-weight: 600 !important;
  font-family: inherit !important; text-transform: uppercase !important;
  letter-spacing: 0.1em !important; cursor: pointer !important;
  text-align: center !important; padding: 0 1.5rem !important; box-shadow: none !important;
  transition: background 0.2s, box-shadow 0.3s;
}
#igy6-contact input.gform_button[type="submit"]:hover,
#igy6-contact button.gform_button[type="submit"]:hover,
#igy6-contact .gform_button:hover { background: #b91c1c !important; box-shadow: 0 0 22px 4px rgba(220,38,38,0.45) !important; }

/* Paper-plane icon via CSS ::before — avoids FA inheritance issues inside <button> */
#igy6-contact button.gform_button[type="submit"]::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f1d8"; /* fa-paper-plane */
}

/* Validation & confirmation */
#igy6-contact .gfield_validation_message,
#igy6-contact .validation_message    { color: #f87171 !important; font-size: 0.75rem; margin-top: 0.25rem; }
#igy6-contact .gform_confirmation_message { color: #9ca3af; padding: 1rem 0; }

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .igy6-contact-body__inner { grid-template-columns: 1fr; gap: 2rem; }
  .igy6-contact-hero        { padding: 3rem 1.25rem; }
  .igy6-contact-body        { padding: 3rem 1.25rem; }
  #igy6-contact .ginput_complex.ginput_container_name { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FAQ PAGE  /faq/
   Matches igy6_prototype/faq.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────────────── */
.igy6-faq-hero {
  padding: 5rem 2rem;
  background: #111827;
  border-bottom: 1px solid #1f2937;
}
.igy6-faq-hero__inner  { max-width: 1200px; margin: 0 auto; }
.igy6-faq-eyebrow {
  color: #ef4444;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 0.5rem;
}
.igy6-faq-hero__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 500;
  color: #ffffff;
  line-height: 1.1;
  margin: 0.5rem 0 1rem;
}
.igy6-faq-hero__em   { color: #dc2626; }
.igy6-faq-hero__lead { color: #9ca3af; max-width: 42rem; line-height: 1.65; }

/* ── Body section ─────────────────────────────────────────────────────── */
.igy6-faq-body         { padding: 4rem 2rem; background: #0a0f1a; }
.igy6-faq-body__inner  { max-width: 1200px; margin: 0 auto; }

/* ── Category group ───────────────────────────────────────────────────── */
.igy6-faq-group        { margin-bottom: 3.5rem; }
.igy6-faq-group__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.igy6-faq-cat-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  background: rgba(220,38,38,0.1);
  border: 1px solid rgba(220,38,38,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ef4444;
  flex-shrink: 0;
}
.igy6-faq-group__title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  font-weight: 500;
  color: #ffffff;
  margin: 0;
}

/* ── Q&A card grid ────────────────────────────────────────────────────── */
.igy6-faq-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
.igy6-faq-card {
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 1.25rem;
  transition: border-color 0.3s;
}
.igy6-faq-card:hover   { border-color: rgba(220,38,38,0.4); }
.igy6-faq-card__q {
  font-weight: 600;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.35;
  margin: 0 0 0.5rem;
}
.igy6-faq-card__a {
  color: #9ca3af;
  font-size: 0.875rem;
  line-height: 1.625;
  margin: 0;
}
.igy6-faq-link { color: #ef4444; text-decoration: underline; }
.igy6-faq-link:hover { color: #f87171; }

/* ── Still Have Questions box ─────────────────────────────────────────── */
.igy6-faq-still {
  margin-top: 1rem;
  background: #1f2937;
  border: 1px solid rgba(220,38,38,0.3);
  border-radius: 0.75rem;
  padding: 2rem;
  text-align: center;
}
.igy6-faq-still__icon    { color: #ef4444; font-size: 2.5rem; display: block; margin-bottom: 1rem; }
.igy6-faq-still__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 0.5rem;
}
.igy6-faq-still__lead    { color: #9ca3af; margin-bottom: 1.5rem; }
.igy6-faq-still__btn {
  display: inline-flex;
  align-items: center;
  height: 3rem;
  padding: 0 1.5rem;
  background: #dc2626;
  border: none;
  border-radius: 0.375rem;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background 0.2s, box-shadow 0.3s;
}
.igy6-faq-still__btn:hover {
  background: #b91c1c;
  box-shadow: 0 0 22px 4px rgba(220,38,38,0.45);
  color: #ffffff;
  text-decoration: none;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .igy6-faq-hero   { padding: 3rem 1.25rem; }
  .igy6-faq-body   { padding: 3rem 1.25rem; }
  .igy6-faq-grid   { grid-template-columns: 1fr; }
  .igy6-faq-still  { padding: 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FFL TRANSFERS PAGE  /transfers/
   Matches igy6_prototype/transfers.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* Shared eyebrow */
#igy6-transfers .igy6-transfers-eyebrow {
  color: #ef4444;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 0.5rem;
}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.igy6-transfers-hero {
  padding: 5rem 2rem;
  background: #111827;
  border-bottom: 1px solid #1f2937;
}
.igy6-transfers-hero__inner { max-width: 1200px; margin: 0 auto; }
.igy6-transfers-hero__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 500;
  color: #ffffff;
  line-height: 1.1;
  margin: 0.5rem 0 1rem;
}
.igy6-transfers-hero__em  { color: #dc2626; }
.igy6-transfers-hero__lead {
  color: #9ca3af;
  max-width: 42rem;
  line-height: 1.65;
}

/* ── Fee Schedule section ─────────────────────────────────────────────── */
.igy6-transfers-fees {
  padding: 4rem 2rem;
  background: #0a0f1a;
}
.igy6-transfers-section__inner { max-width: 1200px; margin: 0 auto; }

.igy6-transfers-section-hd       { text-align: center; margin-bottom: 3rem; }
.igy6-transfers-section-hd__title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 500;
  color: #ffffff;
  margin: 0.5rem 0 0.75rem;
}
.igy6-transfers-section-hd__lead { color: #9ca3af; }

/* Subheading (Policies & Process, What to Bring) */
.igy6-transfers-subheading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 1.25rem;
}

/* ── Fee cards grid ──────────────────────────────────────────────────── */
.igy6-fee-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: 4rem;
}
.igy6-fee-card {
  position: relative;
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 1.5rem;
  text-align: center;
}
.igy6-fee-card--featured { border-color: #dc2626; }

/* "Standard" badge */
.igy6-fee-badge {
  position: absolute;
  top: -0.75rem;
  left: 50%;
  transform: translateX(-50%);
  background: #dc2626;
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.2rem 0.75rem;
  border-radius: 9999px;
  white-space: nowrap;
}
.igy6-fee-card__price {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 2.5rem;
  font-weight: 500;
  color: #ef4444;
  line-height: 1;
  margin-bottom: 0.25rem;
}
.igy6-fee-card__type  { font-weight: 600; color: #ffffff; font-size: 0.9375rem; margin-bottom: 0.75rem; }
.igy6-fee-card__note  { color: #9ca3af; font-size: 0.8125rem; line-height: 1.5; margin: 0; }

/* ── Policy notes grid ───────────────────────────────────────────────── */
.igy6-policy-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .igy6-policy-grid { grid-template-columns: 1fr; }
}
.igy6-policy-card {
  display: flex;
  gap: 1rem;
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 1.25rem;
}
.igy6-policy-card__icon-wrap {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #111827;
  border: 1px solid #374151;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.igy6-policy-card__icon        { font-size: 0.9rem; }
.igy6-policy-card__icon--blue  { color: #60a5fa; }
.igy6-policy-card__icon--amber { color: #fbbf24; }
.igy6-policy-card__icon--red   { color: #ef4444; }
.igy6-policy-card__label { color: #ffffff; font-weight: 600; margin-bottom: 0.25rem; font-size: 0.9375rem; }
.igy6-policy-card__body  { color: #9ca3af; font-size: 0.875rem; line-height: 1.625; margin: 0; }

/* ── What to Bring ───────────────────────────────────────────────────── */
.igy6-what-to-bring {
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 2rem;
}
.igy6-what-to-bring .igy6-transfers-subheading { margin-bottom: 1.5rem; }
.igy6-wtb-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 600px) {
  .igy6-wtb-grid { grid-template-columns: 1fr; }
}
.igy6-wtb-item        { display: flex; align-items: flex-start; gap: 0.75rem; }
.igy6-wtb-item__icon  { color: #ef4444; margin-top: 0.1rem; flex-shrink: 0; }
.igy6-wtb-item__title { color: #ffffff; font-weight: 600; font-size: 0.875rem; margin-bottom: 0.25rem; }
.igy6-wtb-item__body  { color: #9ca3af; font-size: 0.75rem; line-height: 1.5; margin: 0; }

/* ── CTA section ─────────────────────────────────────────────────────── */
.igy6-transfers-cta {
  padding: 4rem 2rem;
  background: #111827;
  border-top: 1px solid #1f2937;
  text-align: center;
}
.igy6-transfers-cta__inner  { max-width: 48rem; margin: 0 auto; }
.igy6-transfers-cta__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(1.75rem, 4vw, 2rem);
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 1rem;
}
.igy6-transfers-cta__lead { color: #9ca3af; margin-bottom: 2rem; }

/* Solid red CTA button — btn btn-armor btn-lg */
.igy6-btn-armor {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 4rem;
  min-height: 4rem;
  padding: 0 2rem;
  background: #dc2626;
  border: none;
  border-radius: 0.375rem;
  color: #ffffff !important;
  font-size: 1.125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  transition: background 0.2s, box-shadow 0.3s;
}
.igy6-btn-armor:hover {
  background: #b91c1c;
  box-shadow: 0 0 22px 4px rgba(220,38,38,0.45);
  color: #ffffff;
  text-decoration: none;
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .igy6-fee-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .igy6-transfers-hero  { padding: 3rem 1.25rem; }
  .igy6-transfers-fees  { padding: 3rem 1.25rem; }
  .igy6-transfers-cta   { padding: 3rem 1.25rem; }
  .igy6-fee-grid        { grid-template-columns: repeat(2, 1fr); }
  .igy6-what-to-bring   { padding: 1.5rem; }
}
@media (max-width: 480px) {
  .igy6-fee-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SHOP ARCHIVE  /shop/  +  /product-category/*/
   Matches igy6_prototype/shop.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* Dark page background for shop & category archive pages */
body.post-type-archive-product,
body.tax-product_cat { background: #0a0f1a; }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.igy6-shop-hero {
  background: #111827;
  border-bottom: 1px solid #1f2937;
  padding: 5rem 2rem;
}
.igy6-shop-hero__inner { max-width: 1200px; margin: 0 auto; }
.igy6-shop-hero__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 500;
  color: #ffffff;
  margin: 0.5rem 0 1rem;
  line-height: 1.1;
}
.igy6-shop-hero__em   { color: #dc2626; }
.igy6-shop-hero__lead { color: #9ca3af; max-width: 42rem; line-height: 1.7; margin: 0; }

/* ── Category filter bar ─────────────────────────────────────────────────── */
.igy6-shop-filters { background: #111827; border-bottom: 1px solid #1f2937; }
.igy6-shop-filters__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.igy6-shop-filter-pill {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  text-decoration: none;
  background: #1f2937;
  color: #9ca3af;
  border: 1px solid #374151;
  transition: border-color 0.2s, color 0.2s;
}
.igy6-shop-filter-pill:hover         { border-color: #dc2626; color: #ffffff; text-decoration: none; }
.igy6-shop-filter-pill--active       { background: #dc2626; color: #ffffff; border-color: #dc2626; }
.igy6-shop-filter-pill--active:hover { color: #ffffff; }

/* Category dropdown — mobile-only replacement for pill row */
.igy6-shop-cat-select { display: none; }

/* ── Shop main section ───────────────────────────────────────────────────── */
#igy6-shop-archive {
  background: #0a0f1a;
  min-height: 60vh;
  padding: 1.5rem 0 3rem;
}
.igy6-shop-main { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }

/* Toolbar */
.igy6-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #1f2937;
}
#igy6-shop-archive .woocommerce-result-count { color: #6b7280; font-size: 0.875rem; margin: 0; }

/* Sort select */
.igy6-shop-orderby { display: flex; align-items: center; gap: 0.5rem; }
.igy6-shop-orderby__label  { color: #6b7280; font-size: 0.875rem; }
.igy6-shop-orderby__select {
  background: #1f2937;
  border: 1px solid #374151;
  color: #d1d5db;
  font-size: 0.875rem;
  border-radius: 0.5rem;
  padding: 0.375rem 0.75rem;
  outline: none;
  cursor: pointer;
}
.igy6-shop-orderby__select:focus { border-color: #dc2626; }

/* Product grid */
#igy6-shop-archive .igy6-shop-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ── Product card ────────────────────────────────────────────────────────── */
#igy6-shop-archive .igy6-shop-card {
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
#igy6-shop-archive .igy6-shop-card:hover {
  border-color: rgba(220,38,38,0.4);
  box-shadow: 0 8px 32px rgba(220,38,38,0.12);
  transform: translateY(-3px);
}

/* Image */
#igy6-shop-archive .igy6-shop-card__img-wrap {
  position: relative;
  display: block;
  height: 13rem;
  background: #111827;
  overflow: hidden;
}
#igy6-shop-archive .igy6-shop-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1 !important;
  transition: transform 0.5s;
}
#igy6-shop-archive .igy6-shop-card:hover .igy6-shop-card__img { transform: scale(1.03); }

/* Badges */
.igy6-shop-card__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.igy6-shop-card__badge--sale { background: #dc2626; color: #ffffff; }
.igy6-shop-card__badge--out  { background: #374151; color: #9ca3af; }
.igy6-shop-card__badge--low  { background: rgba(245,158,11,0.85); color: #ffffff; }

/* Category pill top-right */
#igy6-shop-archive .igy6-shop-card__cat-label {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: rgba(17,24,39,0.8);
  backdrop-filter: blur(4px);
  border: 1px solid #374151;
  border-radius: 0.25rem;
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
  color: #d1d5db;
}

/* Card body */
#igy6-shop-archive .igy6-shop-card__body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
#igy6-shop-archive .igy6-shop-card__top    { flex: 1; }
#igy6-shop-archive .igy6-shop-card__bottom {
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid #374151;
}

/* Title */
#igy6-shop-archive .igy6-shop-card__title-link { text-decoration: none; }
#igy6-shop-archive .igy6-shop-card__title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  margin: 0 0 0.25rem;
  transition: color 0.2s;
}
#igy6-shop-archive .igy6-shop-card__title-link:hover .igy6-shop-card__title { color: #ef4444; }

/* Rating */
#igy6-shop-archive .igy6-shop-card__rating {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0.4rem;
}
#igy6-shop-archive .igy6-shop-card__review-count { color: #6b7280; font-size: 0.75rem; }
#igy6-shop-archive .igy6-shop-card__rating .star-rating { font-size: 0.8rem; color: #f59e0b; }

/* Description */
#igy6-shop-archive .igy6-shop-card__desc {
  color: #9ca3af;
  font-size: 0.75rem;
  line-height: 1.6;
  margin: 0.4rem 0 0.75rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Price row */
#igy6-shop-archive .igy6-shop-card__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
#igy6-shop-archive .igy6-shop-card__price { display: flex; align-items: baseline; gap: 0.5rem; }
#igy6-shop-archive .igy6-shop-card__price-now {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: #ef4444;
  line-height: 1;
}
#igy6-shop-archive .igy6-shop-card__price-now .woocommerce-Price-amount { color: inherit; font-size: inherit; font-family: inherit; }
#igy6-shop-archive .igy6-shop-card__price-was {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1rem;
  color: #4b5563;
  text-decoration: line-through;
}
#igy6-shop-archive .igy6-shop-card__price-was .woocommerce-Price-amount { color: inherit; font-size: inherit; font-family: inherit; }

/* Add to cart button — WooCommerce outputs <a class="button add_to_cart_button ...">
   Prototype: btn btn-armor btn-sm → h-8, px-3, text-sm, font-semibold, cart icon */
#igy6-shop-archive .igy6-shop-card .button,
#igy6-shop-archive .igy6-shop-card a.button {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  height: 2rem;
  padding: 0 0.75rem;
  border: none;
  border-radius: 0.25rem;
  background: #dc2626;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: box-shadow 0.3s, transform 0.15s;
}
/* Cart icon via FA6 pseudo-element (fa-cart-plus U+F217) */
#igy6-shop-archive .igy6-shop-card .button::before,
#igy6-shop-archive .igy6-shop-card a.button::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  content: '\f217';
  font-size: 0.75rem;
}
#igy6-shop-archive .igy6-shop-card .button:hover,
#igy6-shop-archive .igy6-shop-card a.button:hover {
  box-shadow: 0 0 22px 4px rgba(220,38,38,0.45);
  color: #ffffff;
  text-decoration: none;
  background: #dc2626;
}

/* Stock label */
#igy6-shop-archive .igy6-shop-card__stock-label { font-size: 0.75rem; }
#igy6-shop-archive .igy6-shop-card__stock--ok  { color: #4ade80; }
#igy6-shop-archive .igy6-shop-card__stock--low { color: #fbbf24; font-weight: 600; }
#igy6-shop-archive .igy6-shop-card__stock--out { color: #6b7280; }

/* Pagination */
#igy6-shop-archive .woocommerce-pagination {
  margin-top: 2.5rem;
  margin-bottom: 0.5rem;
  text-align: center;
}
/* WooCommerce outputs <ul class="page-numbers"> inside the nav.
   woocommerce.css adds border + border-right on ul/li — reset them here. */
#igy6-shop-archive .woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  list-style: none;
  margin: 0;
  padding: 0;
  border: none;         /* overrides WC's ul border */
}
#igy6-shop-archive .woocommerce-pagination ul.page-numbers li {
  display: flex;
  border: none;         /* overrides WC's li border-right separator */
  border-right: none;
  float: none;
  margin: 0;
  padding: 0;
}
/* Base style for all page-number links and spans — no visible border */
#igy6-shop-archive .woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.625rem;
  background: transparent;
  border: none;
  border-radius: 0.375rem;
  color: #9ca3af;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1;
  transition: color 0.2s, background 0.2s;
}
/* Hover state (links only) */
#igy6-shop-archive .woocommerce-pagination a.page-numbers:hover {
  background: #1f2937;
  color: #ffffff;
}
/* Active/current page */
#igy6-shop-archive .woocommerce-pagination .page-numbers.current {
  background: #dc2626;
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 0 14px 3px rgba(220,38,38,0.35);
}
/* Prev / Next — slightly wider, uppercase to differentiate from page numbers */
#igy6-shop-archive .woocommerce-pagination .page-numbers.prev,
#igy6-shop-archive .woocommerce-pagination .page-numbers.next {
  padding: 0 0.875rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}
/* Dots ellipsis */
#igy6-shop-archive .woocommerce-pagination .page-numbers.dots {
  color: #4b5563;
  cursor: default;
  min-width: 1.5rem;
}

/* ── Info strip ──────────────────────────────────────────────────────────── */
.igy6-shop-infostrip {
  background: #111827;
  border-top: 1px solid #1f2937;
  padding: 3rem 2rem;
}
.igy6-shop-infostrip__inner {
  max-width: 64rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  text-align: center;
}
.igy6-shop-infostrip__icon    { color: #ef4444; font-size: 1.5rem; display: block; margin-bottom: 0.5rem; }
.igy6-shop-infostrip__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.125rem;
  color: #ffffff;
  margin: 0 0 0.25rem;
}
.igy6-shop-infostrip__body { color: #9ca3af; font-size: 0.875rem; margin: 0; line-height: 1.6; }

/* ── Shop responsive ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .igy6-shop-hero { padding: 3rem 1rem; }
  .igy6-shop-filters__inner,
  .igy6-shop-main { padding-left: 1rem; padding-right: 1rem; }
  .igy6-shop-infostrip { padding: 2rem 1rem; }
  .igy6-shop-infostrip__inner { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 640px) {
  /* Swap pills → dropdown */
  .igy6-shop-filters__inner { display: none; }
  .igy6-shop-cat-select {
    display: block;
    width: calc(100% - 2rem);
    margin: 0.75rem 1rem;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid #374151;
    background: #1f2937 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='%23dc2626' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
    -webkit-appearance: none;
    appearance: none;
    color: #d1d5db;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    cursor: pointer;
  }
  .igy6-shop-cat-select:focus {
    outline: none;
    border-color: #dc2626;
    color: #ffffff;
  }
  /* 2-up product grid */
  #igy6-shop-archive .igy6-shop-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  /* Toolbar stacks below ~480px */
  .igy6-shop-toolbar { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SINGLE WEBINAR PAGE  /webinar/{slug}/
   Matches igy6_prototype/webinar.html — dark tactical palette.
   Uses parent theme's .dpa-single-* + .dpa-seat-picker-card CSS class
   structure; overrides the gilded CSS vars to night/red at the wrapper level.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Variable overrides — dark palette inside the single webinar page ─────── */
#dpa-webinar-single {
  /* Card / section backgrounds */
  --dpa-parchment:        #111827;   /* night-900 — card bg */
  --dpa-parchment-border: #374151;   /* night-700 — card border */
  /* Text on cards */
  --dpa-ink:              #d1d5db;   /* night-300 — readable on dark */
  /* Seat map strip */
  --dpa-bg-header:        #0a0f1a;   /* night-950 — darkest strip */
  /* Seat picker card button */
  --dpa-bar-checkout-bg:       #dc2626;
  --dpa-bar-checkout-hover-bg: #b91c1c;
  --dpa-bar-checkout-text:     #ffffff;
}

/* Wrapper bg + minimum height */
#dpa-webinar-single { background: #0a0f1a; min-height: 60vh; }

/* ── Back link (dark page → red hover) ───────────────────────────────────── */
#dpa-webinar-single .dpa-single-back { color: #6b7280; }
#dpa-webinar-single .dpa-single-back:hover { color: #dc2626; }
#dpa-webinar-single .dpa-single-back .fa-arrow-left { color: #dc2626; }

/* ── Hero image column ────────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-single-hero__img-wrap {
  background: #111827;
  border-color: #374151;
}
#dpa-webinar-single .dpa-single-hero__img--placeholder {
  aspect-ratio: 4/3;
  background: #1f2937;
}

/* Clickable main image */
#dpa-hero-img {
  cursor: zoom-in;
  transition: opacity 0.15s;
}
#dpa-hero-img:hover { opacity: 0.85; }

/* ── Image lightbox modal ─────────────────────────────────────────────────── */
.igy6-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.92);
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  cursor: zoom-out;
}
.igy6-lightbox.is-open { display: flex; }
/* Wrapper shrinks to fit the image so the close button anchors to its corner */
.igy6-lightbox__wrap {
  position: relative;
  display: inline-flex;
  line-height: 0; /* collapse whitespace around inline-flex img */
}
.igy6-lightbox__img {
  max-width: min(90vw, 1200px);
  max-height: 90vh;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.8);
  cursor: default;
  animation: igy6-lb-in 0.18s ease;
  display: block;
}
@keyframes igy6-lb-in {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: scale(1); }
}
.igy6-lightbox__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,255,0.25);
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 1;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
  z-index: 100000;
}
.igy6-lightbox__close:hover { background: rgba(220,38,38,0.75); border-color: #dc2626; }

/* ── Gallery strip within image col ─────────────────────────────────────── */
#dpa-webinar-single .dpa-single-hero__img-wrap .dpa-webinar-gallery {
  border-top-color: #374151;
  background: #111827;
}
#dpa-webinar-single .dpa-webinar-gallery__item {
  border-color: transparent;
}
#dpa-webinar-single .dpa-webinar-gallery__item:hover,
#dpa-webinar-single .dpa-webinar-gallery__item--active {
  border-color: #dc2626;
}

/* ── Info column text ────────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-single-hero__title { color: #ffffff; }
#dpa-webinar-single .dpa-single-hero__subtitle { color: #9ca3af; }
#dpa-webinar-single .dpa-single-hero__date { color: #6b7280; }
#dpa-webinar-single .dpa-single-hero__date .fa-calendar { color: #dc2626; }
#dpa-webinar-single .dpa-single-hero__desc { color: #9ca3af; }
#dpa-webinar-single .dpa-single-hero__cat { color: #6b7280; }

/* ── Status badges ───────────────────────────────────────────────────────── */
.igy6-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.igy6-status-badge--open   { background: rgba(220,38,38,0.2); color: #ef4444; }
.igy6-status-badge--ended  { background: #374151; color: #9ca3af; }

/* ── Specs grid ─────────────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-single-spec {
  background: #1f2937;
  border-color: #374151;
}
#dpa-webinar-single .dpa-single-spec__label { color: #6b7280; }
#dpa-webinar-single .dpa-single-spec__value { color: #ffffff; }

/* ── Availability bar ───────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-single-avail .dpa-seat-bar { background: #374151; }
#dpa-webinar-single .dpa-single-avail__text { color: #6b7280; }

/* ── Notice (login / no-product) ────────────────────────────────────────── */
#dpa-webinar-single .dpa-single-notice {
  background: #111827;
  border-color: #374151;
  color: #9ca3af;
}
#dpa-webinar-single .dpa-single-notice a { color: #dc2626; }

/* ── Ended state card ───────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-single-ended {
  background: #111827;
  border-color: #374151;
}
#dpa-webinar-single .dpa-single-ended__icon    { color: #6b7280; }
#dpa-webinar-single .dpa-single-ended__heading { color: #ffffff; }
#dpa-webinar-single .dpa-single-ended__copy    { color: #9ca3af; }

/* ── Seat picker card ───────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-seat-picker-card {
  background: #111827;
  border-color: #374151;
}
#dpa-webinar-single .dpa-seat-picker-card__header {
  border-bottom-color: #374151;
}
#dpa-webinar-single .dpa-seat-picker-card__title { color: #dc2626; }
#dpa-webinar-single .dpa-seat-picker__meta { color: #9ca3af; }
#dpa-webinar-single .dpa-seat-picker__price { color: #ffffff; }
.igy6-remaining--urgent { color: #f87171 !important; font-weight: 700; }

/* (Screen glow removed — no longer rendered in seat-picker.php) */

/* ── Seat picker card map wrap ──────────────────────────────────────────── */
#dpa-webinar-single .dpa-seat-picker-card__map-wrap {
  background: #0a0f1a;
  padding: 1.25rem 1.75rem 1.75rem;
}

/* ── Pick-for-me row ────────────────────────────────────────────────────── */
#dpa-webinar-single .dpa-seat-picker-card__pick-row .dpa-pick-qty {
  background: #1f2937;
  border-color: #374151;
  color: #ffffff;
}
#dpa-webinar-single .dpa-seat-picker-card__pick-row .dpa-pick-btn {
  background: #374151;
  border-color: #374151;
  color: #d1d5db;
}
#dpa-webinar-single .dpa-seat-picker-card__pick-row .dpa-pick-btn:hover {
  background: #4b5563;
  color: #ffffff;
}

/* ── Hidden WC form (#dpa-add-to-cart-form) ─────────────────────────────── */
/* The form holds hidden inputs + the plugin-managed summary. It must exist in
   the DOM for the plugin JS and for the button's form= attribute to work, but
   we don't want it to render as a visible card. Clip it out of flow entirely. */
#dpa-webinar-single #dpa-add-to-cart-form {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ── Claim bar (bottom of picker card) ──────────────────────────────────── */
.igy6-claim-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.75rem;
  border-top: 1px solid #374151;
}
.igy6-claim-bar__left  { display: flex; flex-direction: column; gap: 0.25rem; }
.igy6-claim-bar__hint  { color: #6b7280; font-size: 0.8125rem; margin: 0; }
.igy6-claim-bar__price {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 2.25rem;
  font-weight: 700;
  color: #6b7280;
  margin: 0;
  line-height: 1.1;
  transition: color 0.2s;
}
#dpa-webinar-single .dpa-seat-picker__per-seat { font-size: 0.75rem; font-weight: 400; color: #9ca3af; letter-spacing: 0; text-transform: none; }

/* Right side: notice + button stacked */
.igy6-claim-bar__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}
.igy6-claim-bar__notice { font-size: 0.7rem; color: #4b5563; margin: 0; line-height: 1.5; text-align: right; }

/* Claim Seats button — always visible, disabled until seats are selected */
.igy6-claim-seats-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.75rem;
  background: #dc2626;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s, opacity 0.2s;
  white-space: nowrap;
}
.igy6-claim-seats-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  box-shadow: none;
}
.igy6-claim-seats-btn:not(:disabled):hover {
  background: #b91c1c;
  box-shadow: 0 0 18px 3px rgba(220,38,38,0.4);
}

/* ── How It Works strip (reuse parent .dpa-single-how) ──────────────────── */
.dpa-single-how { background: #111827; border-top-color: #374151; }
.dpa-single-how__heading { color: #ffffff; }
/* 5-column grid for the compact HIW strip on single webinar */
.igy6-hiw-5col { grid-template-columns: repeat(5, 1fr) !important; }
@media (max-width: 900px) { .igy6-hiw-5col { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { .igy6-hiw-5col { grid-template-columns: 1fr !important; } }
.dpa-how-step { background: #1f2937; border-color: #374151; }
.dpa-how-step__icon { font-size: 1.25rem; color: #dc2626; display: block; margin-bottom: 0.5rem; }
.dpa-how-step__title { color: #ffffff; }
.dpa-how-step__body  { color: #6b7280; }

/* ── Mobile sticky seat bar ──────────────────────────────────────────────── */
.igy6-mobile-seat-bar {
  display: none;      /* shown only on small screens below */
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  padding: 1rem;
  background: #111827;
  border-top: 1px solid #374151;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.5);
}
@media (max-width: 1024px) { .igy6-mobile-seat-bar { display: block; } }
.igy6-mobile-seat-bar__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.5rem;
  background: #dc2626;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.2s;
}
.igy6-mobile-seat-bar__btn:hover { background: #b91c1c; }

/* ── Responsive single page overrides ──────────────────────────────────── */
@media (max-width: 768px) {
  #dpa-webinar-single .dpa-single-hero { grid-template-columns: 1fr; gap: 1.75rem; }
  #dpa-webinar-single .dpa-single-specs { grid-template-columns: 1fr 1fr; }
  #dpa-webinar-single .dpa-single-wrap { padding-bottom: 6rem; /* room for sticky bar */ }
}
@media (max-width: 480px) {
  #dpa-webinar-single .dpa-single-specs { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE  (#igy6-product-single)
   Matches igy6_prototype/product.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* Page background — override .dpa-woo-wrap padding/bg for product pages.
   Scope .dpa-container to only the WC content wrapper, NOT the nav
   (the nav also uses .dpa-container for its inner layout). */
body.single-product .dpa-woo-wrap { background: #0a0f1a; padding: 0; }
body.single-product .dpa-woo-wrap .dpa-container { padding: 0; max-width: 100%; }

/* Outer wrapper */
#igy6-product-single { background: #0a0f1a; }

/* ── Breadcrumb ─────────────────────────────────────────────────────────── */
.igy6-prod-breadcrumb {
  background: #111827;
  border-bottom: 1px solid #1f2937;
}
.igy6-prod-breadcrumb__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 1rem 2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.igy6-prod-breadcrumb__link {
  color: #4b5563;
  text-decoration: none;
  transition: color 0.2s;
}
.igy6-prod-breadcrumb__link:hover { color: #9ca3af; }
.igy6-prod-breadcrumb__sep  { color: #374151; font-size: 0.625rem; }
.igy6-prod-breadcrumb__current { color: #ef4444; }

/* ── Main container ─────────────────────────────────────────────────────── */
.igy6-prod-main {
  max-width: 960px;
  margin: 0 auto;
  padding: 2.5rem 2rem 4rem;
}

/* ── 2-column product grid ──────────────────────────────────────────────── */
.igy6-prod-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 4rem;
  align-items: start;
}

/* ── Custom product gallery card ─────────────────────────────────────────── */
/* Replaces WC flexslider — same pattern as the Webinar single page gallery.  */
.igy6-prod-gallery-card {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* Hero image — square via aspect-ratio on the <img> itself (normal flow).
   Avoids the padding-top + position:absolute trick which breaks when the
   parent theme's  img { height: auto }  rule overrides height:100% on the
   absolutely-positioned image and leaves the padded space dark/empty. */
.igy6-prod-gallery-card__hero-wrap {
  width: 100%;
  overflow: hidden;
  background: #0a0f1a;
  flex-shrink: 0;
}
.igy6-prod-gallery-card__hero {
  display: block !important;
  width: 100% !important;
  height: auto !important;      /* let aspect-ratio compute the height */
  aspect-ratio: 1 / 1 !important; /* forces a perfect square */
  object-fit: cover !important;
  opacity: 0.85;
  cursor: zoom-in;
  transition: opacity 0.3s, transform 0.3s;
}
.igy6-prod-gallery-card__hero:hover {
  opacity: 1;
  transform: scale(1.02);
}

/* Thumbnail strip */
.igy6-prod-gallery-card__strip {
  display: flex;
  gap: 4px;
  padding: 0.5rem;
  background: #0a0f1a;
  overflow-x: auto;
  scrollbar-width: none;
}
.igy6-prod-gallery-card__strip::-webkit-scrollbar { display: none; }

/* Individual thumbnail buttons */
.igy6-prod-gallery-card__thumb {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border: 2px solid transparent;
  border-radius: 0.375rem;
  overflow: hidden;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: border-color 0.2s;
}
.igy6-prod-gallery-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
  transition: opacity 0.2s;
  display: block;
}
.igy6-prod-gallery-card__thumb:hover img,
.igy6-prod-gallery-card__thumb--active img { opacity: 1; }
.igy6-prod-gallery-card__thumb:hover,
.igy6-prod-gallery-card__thumb--active { border-color: #dc2626; }

/* ── Summary column (right) ─────────────────────────────────────────────── */
/* Override WooCommerce's float:right / width:48% on div.summary */
#igy6-product-single .entry-summary {
  float: none !important;
  width: 100% !important;
  clear: none !important;
  padding: 0;
}

/* Category label (injected by hook at priority 3) */
.igy6-prod-category {
  color: #dc2626;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 0.5rem;
}

/* Product title */
#igy6-product-single .entry-summary .product_title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.1;
  margin: 0 0 0.5rem;
}

/* Star rating */
#igy6-product-single .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.5rem 0 1rem;
}
#igy6-product-single .star-rating { color: #f59e0b; font-size: 0.875rem; }
#igy6-product-single .woocommerce-review-link { color: #6b7280; font-size: 0.8125rem; }

/* Price */
#igy6-product-single .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0 1.5rem;
}
#igy6-product-single .price .woocommerce-Price-amount {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 2.25rem;
  font-weight: 700;
  color: #ef4444;
  line-height: 1;
}
#igy6-product-single .price ins { text-decoration: none; }
#igy6-product-single .price del .woocommerce-Price-amount {
  font-size: 1.5rem;
  color: #4b5563;
  text-decoration: line-through;
}
/* Sale badge inline */
#igy6-product-single .price .igy6-sale-badge {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  background: rgba(220,38,38,0.2);
  color: #ef4444;
  border-radius: 0.25rem;
  text-transform: uppercase;
  align-self: center;
}

/* Stock status */
#igy6-product-single .stock { font-size: 0.875rem; font-weight: 600; margin: 0.5rem 0 0.25rem; }
#igy6-product-single .stock.in-stock     { color: #4ade80; }
#igy6-product-single .stock.out-of-stock { color: #ef4444; }
#igy6-product-single .stock.available-on-backorder { color: #fbbf24; }

/* Short description */
#igy6-product-single .woocommerce-product-details__short-description {
  color: #9ca3af;
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 1rem 0 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #1f2937;
}
#igy6-product-single .woocommerce-product-details__short-description p { margin: 0; }

/* ── Qty + Add to Cart ──────────────────────────────────────────────────── */
#igy6-product-single .cart { margin-bottom: 1.25rem; }

/* Row wrapper */
.igy6-qty-row {
  display: flex;
  align-items: stretch; /* stepper and button same height */
  gap: 0.75rem;
  width: 100%;
}

/* Qty stepper widget */
.igy6-qty-stepper {
  display: flex;
  align-items: center;
  height: 2.75rem;           /* explicit height so it matches button */
  border: 1px solid #374151;
  border-radius: 0.5rem;
  overflow: hidden;
  background: transparent;
  flex-shrink: 0;
}
.igy6-qty-stepper__btn {
  width: 2.5rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  font-size: 1.125rem;
  line-height: 1;
  transition: color 0.2s, background 0.2s;
  padding: 0;
}
.igy6-qty-stepper__btn:hover { color: #ffffff; background: #374151; }
.igy6-qty-stepper input[type="number"] {
  width: 3rem;
  height: 100%;
  text-align: center;
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 600;
  outline: none;
  -moz-appearance: textfield;
  padding: 0;
  box-sizing: border-box;
}
.igy6-qty-stepper input[type="number"]::-webkit-inner-spin-button,
.igy6-qty-stepper input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Add to Cart button — fills remaining row width */
#igy6-product-single .single_add_to_cart_button.button {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important; /* override any WC width: 100% */
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.75rem;
  background: #dc2626 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem;
  padding: 0 1.5rem;
  font-family: var(--dpa-font-body, 'Inter', sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
  text-decoration: none;
  box-sizing: border-box;
}
#igy6-product-single .single_add_to_cart_button.button::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  content: '\f217'; /* fa-cart-plus */
}
#igy6-product-single .single_add_to_cart_button.button:hover {
  background: #b91c1c !important;
  box-shadow: 0 0 22px 4px rgba(220,38,38,0.45);
  color: #ffffff !important;
}

/* ── Product meta (SKU / Categories / Tags) ─────────────────────────────── */
#igy6-product-single .product_meta {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #1f2937;
}
#igy6-product-single .product_meta .sku_wrapper,
#igy6-product-single .product_meta .posted_in,
#igy6-product-single .product_meta .tagged_as {
  display: block;
  font-size: 0.75rem;
  color: #4b5563;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
#igy6-product-single .product_meta .sku { color: #9ca3af; text-transform: none; letter-spacing: 0; }
#igy6-product-single .product_meta a {
  color: #9ca3af;
  text-decoration: none;
  text-transform: none;
  letter-spacing: 0;
  transition: color 0.2s;
}
#igy6-product-single .product_meta a:hover { color: #ef4444; }

/* ── Product tabs ───────────────────────────────────────────────────────── */
#igy6-product-single .woocommerce-tabs { margin-top: 3rem; border-top: 1px solid #1f2937; }

#igy6-product-single .woocommerce-tabs ul.tabs {
  display: flex;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #1f2937;
  background: transparent !important;
}
#igy6-product-single .woocommerce-tabs ul.tabs::before { display: none; }
#igy6-product-single .woocommerce-tabs ul.tabs li {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#igy6-product-single .woocommerce-tabs ul.tabs li::before,
#igy6-product-single .woocommerce-tabs ul.tabs li::after { display: none !important; }
#igy6-product-single .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.75rem 1.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.2s, border-color 0.2s;
}
#igy6-product-single .woocommerce-tabs ul.tabs li a:hover,
#igy6-product-single .woocommerce-tabs ul.tabs li:hover > a { color: #d1d5db; background: transparent; }
#igy6-product-single .woocommerce-tabs ul.tabs li.active a { color: #ffffff; border-bottom-color: #dc2626; }

/* Tab panel */
#igy6-product-single .woocommerce-Tabs-panel {
  background: transparent !important;
  padding: 1.5rem 0 !important;
  border: none !important;
  color: #9ca3af;
}
#igy6-product-single .woocommerce-Tabs-panel h2 { display: none; }
#igy6-product-single .woocommerce-Tabs-panel p { color: #9ca3af; line-height: 1.7; margin-bottom: 1em; }

/* Additional info table */
#igy6-product-single .woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
#igy6-product-single .woocommerce-product-attributes th,
#igy6-product-single .woocommerce-product-attributes td {
  padding: 0.625rem 1rem 0.625rem 0;
  border-bottom: 1px solid #1f2937;
  font-size: 0.875rem;
  text-align: left;
}
#igy6-product-single .woocommerce-product-attributes th {
  color: #6b7280;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  width: 10rem;
}
#igy6-product-single .woocommerce-product-attributes td { color: #d1d5db; }

/* Reviews */
#igy6-product-single #reviews { color: #9ca3af; }
#igy6-product-single .woocommerce-Reviews-title { color: #ffffff; }
#igy6-product-single #reviews .comment-text {
  border: 1px solid #1f2937;
  border-radius: 0.5rem;
  padding: 1rem;
  background: #111827;
  color: #9ca3af;
}
#igy6-product-single #reviews .comment-author strong { color: #ffffff; }
#igy6-product-single #reviews .star-rating { color: #f59e0b; }
#igy6-product-single #review_form_wrapper { margin-top: 2rem; }
#igy6-product-single #review_form_wrapper label { color: #9ca3af; font-size: 0.875rem; }
#igy6-product-single #review_form_wrapper input,
#igy6-product-single #review_form_wrapper textarea {
  background: #111827;
  border: 1px solid #374151;
  color: #d1d5db;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  width: 100%;
}
#igy6-product-single #review_form_wrapper input:focus,
#igy6-product-single #review_form_wrapper textarea:focus {
  border-color: #dc2626;
  outline: none;
}
#igy6-product-single #review_form_wrapper .submit {
  background: #dc2626;
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  padding: 0.625rem 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.2s;
}
#igy6-product-single #review_form_wrapper .submit:hover { background: #b91c1c; }

/* (old .related selectors replaced by .igy6-related — see below) */

/* ── Related products ────────────────────────────────────────────────────────
   Uses a custom template (related.php) with .igy6-related/.igy6-related__grid
   instead of WC's ul.products.columns-3, avoiding all woocommerce-layout.css
   float/width/clear rules entirely. */
.igy6-related { margin-top: 3rem; }
.igy6-related__heading {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 1.5rem;
}
.igy6-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

/* Hide ATC button + stock label in the related strip */
.igy6-related .igy6-shop-card__bottom { display: none; }
.igy6-related .igy6-shop-card {
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.igy6-related .igy6-shop-card:hover {
  border-color: rgba(220,38,38,0.4);
  box-shadow: 0 8px 32px rgba(220,38,38,0.12);
  transform: translateY(-3px);
}
.igy6-related .igy6-shop-card__img-wrap {
  position: relative;
  display: block;
  height: 10rem;
  overflow: hidden;
  background: #111827;
}
.igy6-related .igy6-shop-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.igy6-related .igy6-shop-card:hover .igy6-shop-card__img { opacity: 0.9; }
.igy6-related .igy6-shop-card__body { padding: 1rem; display: flex; flex-direction: column; flex: 1; }
.igy6-related .igy6-shop-card__title-link { text-decoration: none; }
.igy6-related .igy6-shop-card__title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
  transition: color 0.2s;
}
.igy6-related .igy6-shop-card__title-link:hover .igy6-shop-card__title { color: #ef4444; }
.igy6-related .igy6-shop-card__price-now .woocommerce-Price-amount {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.25rem;
  color: #ef4444;
}
.igy6-related .igy6-shop-card__price-was .woocommerce-Price-amount {
  font-size: 0.875rem;
  color: #4b5563;
  text-decoration: line-through;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .igy6-prod-grid { grid-template-columns: 1fr; gap: 2rem; }
  .igy6-prod-main { padding: 1.5rem 1rem 3rem; }
  .igy6-prod-breadcrumb__inner { padding: 0.75rem 1rem; }
  .igy6-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}
@media (max-width: 480px) {
  .igy6-related__grid { grid-template-columns: 1fr; }
  .igy6-qty-row { flex-wrap: wrap; }
  #igy6-product-single .single_add_to_cart_button.button { flex: 1 1 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MY ACCOUNT — Login / Register  (not logged in)
   Styled to match igy6_prototype/login.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* Remove parent page-header title and reset container on the auth page */
body.woocommerce-account:not(.logged-in) .dpa-page-header { display: none !important; }
body.woocommerce-account:not(.logged-in) .dpa-section { padding: 0 !important; }
/* Scope to content container only — nav also uses .dpa-container, must not be affected */
body.woocommerce-account:not(.logged-in) .dpa-section .dpa-container { max-width: none !important; padding: 0 !important; }

/* ── Outer page wrapper ──────────────────────────────────────────────────── */
.igy6-auth-page {
  min-height: 100vh;
  background: #0a0f1a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
}

/* ── Brand mark ─────────────────────────────────────────────────────────── */
.igy6-auth-brand {
  text-align: center;
  margin-bottom: 2rem;
}
.igy6-auth-logo {
  height: 3rem;
  width: auto;
  display: block;
  margin: 0 auto;
}
.igy6-auth-tagline {
  color: #6b7280;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-top: 0.75rem;
}

/* ── Card ───────────────────────────────────────────────────────────────── */
.igy6-auth-card {
  width: 100%;
  max-width: 28rem;
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
}

/* WooCommerce notices inside the card */
.igy6-auth-card .woocommerce-error,
.igy6-auth-card .woocommerce-message,
.igy6-auth-card .woocommerce-info {
  margin: 1.25rem 2rem 0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  list-style: none;
}
.igy6-auth-card .woocommerce-error { background: rgba(220,38,38,0.15); color: #f87171; border: 1px solid rgba(220,38,38,0.3); }
.igy6-auth-card .woocommerce-message { background: rgba(34,197,94,0.1); color: #86efac; border: 1px solid rgba(34,197,94,0.25); }

/* ── Tab switcher ───────────────────────────────────────────────────────── */
.igy6-auth-tabs {
  display: flex;
  border-bottom: 1px solid #1f2937;
}
.igy6-auth-tab {
  flex: 1;
  padding: 0.875rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6b7280;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}
.igy6-auth-tab:hover { color: #d1d5db; }
.igy6-auth-tab--active { color: #ffffff; border-bottom-color: #dc2626; }

/* ── Panels ─────────────────────────────────────────────────────────────── */
.igy6-auth-panel { padding: 2rem; }
.igy6-auth-panel--hidden { display: none !important; }

/* ── Form layout ────────────────────────────────────────────────────────── */
.igy6-auth-form { display: flex; flex-direction: column; gap: 1.25rem; }

.igy6-auth-field { display: flex; flex-direction: column; gap: 0.375rem; }

/* First / Last name 2-column row */
.igy6-auth-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.igy6-auth-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
}
.igy6-auth-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.igy6-auth-forgot {
  font-size: 0.75rem;
  font-weight: 600;
  color: #ef4444;
  text-decoration: none;
  transition: color 0.2s;
}
.igy6-auth-forgot:hover { color: #f87171; }

/* ── Inputs ─────────────────────────────────────────────────────────────── */
.igy6-auth-input,
.igy6-auth-form input[type="text"],
.igy6-auth-form input[type="email"],
.igy6-auth-form input[type="password"],
.igy6-auth-form input[type="tel"] {
  width: 100%;
  background: #0a0f1a;
  border: 1px solid #374151;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: #ffffff;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.igy6-auth-input:focus,
.igy6-auth-form input[type="text"]:focus,
.igy6-auth-form input[type="email"]:focus,
.igy6-auth-form input[type="password"]:focus,
.igy6-auth-form input[type="tel"]:focus {
  border-color: #dc2626;
}
.igy6-auth-input::placeholder { color: #374151; }

/* ── Checkbox ───────────────────────────────────────────────────────────── */
.igy6-auth-check-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #9ca3af;
  cursor: pointer;
}
.igy6-auth-check { width: 1rem; height: 1rem; accent-color: #dc2626; cursor: pointer; }

/* ── Submit button ──────────────────────────────────────────────────────── */
.igy6-auth-btn {
  width: 100%;
  background: #dc2626;
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  padding: 0.875rem 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s;
}
.igy6-auth-btn:hover { background: #b91c1c; box-shadow: 0 0 22px 4px rgba(220,38,38,0.35); }

/* ── Switch panel link ──────────────────────────────────────────────────── */
.igy6-auth-switch {
  text-align: center;
  font-size: 0.75rem;
  color: #4b5563;
  margin: 0;
}
.igy6-auth-switch-btn {
  background: none;
  border: none;
  color: #ef4444;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  transition: color 0.2s;
}
.igy6-auth-switch-btn:hover { color: #f87171; }

/* ── Misc text ───────────────────────────────────────────────────────────── */
.igy6-auth-note { font-size: 0.8rem; color: #6b7280; margin: 0; }

/* ── Back to home ───────────────────────────────────────────────────────── */
.igy6-auth-back {
  margin-top: 1.5rem;
  text-align: center;
}
.igy6-auth-back a {
  font-size: 0.75rem;
  color: #4b5563;
  text-decoration: none;
  transition: color 0.2s;
}
.igy6-auth-back a:hover { color: #ef4444; }

/* ── OtterText SMS block ─────────────────────────────────────────────────
   The parent theme's dpa_ot_register_fields output is replaced in the
   child theme with a restructured version using these classes. */
.igy6-sms-block {
  border-top: 1px solid #1f2937;
  padding-top: 1.25rem;
  margin-top: -0.25rem;
}
.igy6-sms-check-label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}
.igy6-sms-check-label input[type="checkbox"] {
  margin-top: 0.2rem;
  width: 1rem;
  height: 1rem;
  accent-color: #dc2626;
  flex-shrink: 0;
  cursor: pointer;
}
.igy6-sms-check-label .igy6-sms-check-label__heading {
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  display: block;
}
.igy6-sms-check-label .igy6-sms-check-label__sub {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 0.2rem;
  line-height: 1.5;
  display: block;
}

/* Phone wrap: animated slide-in when checkbox is checked */
.igy6-phone-wrap {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.35s ease, opacity 0.25s ease, margin 0.25s ease;
  margin-top: 0;
}
.igy6-phone-wrap.open {
  max-height: 140px;
  opacity: 1;
  margin-top: 0.75rem;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
  .igy6-auth-panel { padding: 1.5rem 1.25rem; }
  .igy6-auth-card { border-radius: 0.75rem; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MY ACCOUNT — Logged-in  (sidebar layout)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Remove section padding so our dark panel fills edge-to-edge */
body.woocommerce-account.logged-in .dpa-section { padding: 0 !important; }

/* Remove max-width only on the CONTENT container, not the nav container */
body.woocommerce-account.logged-in .dpa-section .dpa-container { max-width: none !important; padding: 0 !important; }

/* ── Page wrapper ────────────────────────────────────────────────────────── */
#igy6-account {
  min-height: 100vh;
  background: #0a0f1a;
  padding: 2.5rem 1.5rem 5rem;
  overflow-x: clip; /* prevent any child table from scrolling the whole page */
}
.igy6-account-inner {
  max-width: 72rem;
  margin: 0 auto;
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

/* ── Sidebar ─────────────────────────────────────────────────────────────── */
.igy6-account-sidebar {
  width: 14rem;
  flex-shrink: 0;
}

/* User card */
.igy6-acct-user-card {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 1.25rem;
  text-align: center;
  margin-bottom: 1rem;
}
.igy6-acct-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(220,38,38,0.15);
  border: 1px solid rgba(220,38,38,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
  font-size: 1.5rem;
  color: #ef4444;
}
.igy6-acct-display-name {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.1rem;
  font-weight: 600;
  color: #ffffff;
}
.igy6-acct-email {
  font-size: 0.7rem;
  color: #6b7280;
  margin-top: 0.2rem;
  word-break: break-all;
}

/* Sidebar nav */
.igy6-acct-nav {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.igy6-acct-nav__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #d1d5db;
  text-decoration: none;
  border-bottom: 1px solid #1f2937;
  transition: background 0.15s, color 0.15s;
}
.igy6-acct-nav__item:last-child { border-bottom: none; }
.igy6-acct-nav__item i { color: #6b7280; font-size: 0.875rem; width: 1rem; text-align: center; flex-shrink: 0; }
.igy6-acct-nav__item:hover { background: #1f2937; color: #ffffff; }
.igy6-acct-nav__item--active { background: #1f2937; color: #ffffff; }
.igy6-acct-nav__item--active i { color: #dc2626; }
.igy6-acct-nav__item--logout { color: #ef4444; }
.igy6-acct-nav__item--logout i { color: #ef4444; }
.igy6-acct-nav__item--logout:hover { background: rgba(220,38,38,0.1); color: #ffffff; }

/* ── Main content ────────────────────────────────────────────────────────── */
.igy6-account-main { flex: 1; min-width: 0; }

/* WooCommerce notices — all account views */
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info {
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.85rem;
  padding: 0.75rem 1rem 0.75rem 1rem;
  list-style: none;
  /* kill WooCommerce's default top/left border overrides */
  border-top: none !important;
  border-left: none !important;
  box-shadow: none !important;
}
/* Hide the broken WooCommerce icon-font character */
body.woocommerce-account .woocommerce-error::before,
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-error li::before,
body.woocommerce-account .woocommerce-message li::before,
body.woocommerce-account .woocommerce-info li::before {
  display: none !important;
  content: none !important;
}
body.woocommerce-account .woocommerce-error   { background: rgba(220,38,38,0.12);  color: #f87171; border: 1px solid rgba(220,38,38,0.3) !important; }
body.woocommerce-account .woocommerce-message { background: rgba(34,197,94,0.1);   color: #86efac; border: 1px solid rgba(34,197,94,0.25) !important; }
body.woocommerce-account .woocommerce-info    { background: rgba(59,130,246,0.1);  color: #93c5fd; border: 1px solid rgba(59,130,246,0.25) !important; }
/* Plain links inside notices */
body.woocommerce-account .woocommerce-error a:not(.button),
body.woocommerce-account .woocommerce-message a:not(.button),
body.woocommerce-account .woocommerce-info a:not(.button) { color: inherit; text-decoration: underline; }
/* Button links inside notices (e.g. "Browse products" on Downloads) */
body.woocommerce-account .woocommerce-error .button,
body.woocommerce-account .woocommerce-message .button,
body.woocommerce-account .woocommerce-info .button {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  padding: 0.5rem 1.1rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block;
  transition: background 0.2s !important;
  float: right;
}
body.woocommerce-account .woocommerce-error .button:hover,
body.woocommerce-account .woocommerce-message .button:hover,
body.woocommerce-account .woocommerce-info .button:hover { background: #b91c1c !important; color: #ffffff !important; }
@media (max-width: 640px) {
  /* Drop the float so the button stacks below the notice text on mobile */
  body.woocommerce-account .woocommerce-error .button,
  body.woocommerce-account .woocommerce-message .button,
  body.woocommerce-account .woocommerce-info .button {
    float: none !important;
    display: block !important;
    width: fit-content;
    margin-top: 0.75rem;
  }
}

/* ── Panel ───────────────────────────────────────────────────────────────── */
.igy6-acct-panel {}
.igy6-acct-panel-title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1.5rem;
  line-height: 1;
}
.igy6-acct-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.igy6-acct-section-title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
}
.igy6-acct-greeting { font-size: 0.9rem; color: #9ca3af; margin-bottom: 2rem; }
.igy6-acct-greeting strong { color: #ffffff; }
.igy6-acct-not-you { margin-left: 0.5rem; font-size: 0.8rem; }
.igy6-acct-not-you a { color: #ef4444; text-decoration: none; }
.igy6-acct-not-you a:hover { text-decoration: underline; }
.igy6-acct-all-link { font-size: 0.8rem; color: #ef4444; text-decoration: none; }
.igy6-acct-all-link:hover { text-decoration: underline; }
.igy6-acct-empty { font-size: 0.875rem; color: #6b7280; }
.igy6-acct-empty a { color: #ef4444; text-decoration: none; }
.igy6-acct-empty a:hover { text-decoration: underline; }

/* ── OtterText SMS banner (dashboard) ────────────────────────────────────── */
.dpa-sms-banner {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
}
.dpa-sms-banner__inner { display: flex; flex-direction: column; gap: 1rem; }
.dpa-sms-banner__text strong {
  display: block;
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.35rem;
}
.dpa-sms-banner__text p {
  font-size: 0.8rem;
  color: #9ca3af;
  margin: 0;
  line-height: 1.5;
}
.dpa-sms-banner__hint {
  font-size: 0.78rem;
  color: #9ca3af;
  margin: 0 0 0.5rem;
}
.dpa-sms-banner__hint strong { color: #d1d5db; font-weight: 600; }
.dpa-sms-banner__phone-row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.dpa-sms-banner__input {
  flex: 1;
  min-width: 0;
  background: #0a0f1a !important;
  border: 1px solid #374151 !important;
  border-radius: 0.5rem !important;
  padding: 0.6rem 0.875rem !important;
  font-size: 0.875rem !important;
  color: #ffffff !important;
  transition: border-color 0.2s;
}
.dpa-sms-banner__input:focus { border-color: #dc2626 !important; outline: none; }
.dpa-sms-banner__btn {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  padding: 0.6rem 1.25rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap;
  transition: background 0.2s !important;
}
.dpa-sms-banner__btn:hover { background: #b91c1c !important; }

/* ── Stat cards (Orders page) ────────────────────────────────────────────── */
.igy6-acct-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}
.igy6-acct-stat {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 1rem;
  text-align: center;
}
.igy6-acct-stat__value {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.25rem;
}
.igy6-acct-stat__value--red   { color: #ef4444; }
.igy6-acct-stat__value--green { color: #4ade80; }
.igy6-acct-stat__value--blue  { color: #60a5fa; }
.igy6-acct-stat__value--white { color: #ffffff; font-size: 1.5rem; }
.igy6-acct-stat__label { font-size: 0.65rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.08em; }

/* ── Orders table ────────────────────────────────────────────────────────── */
.igy6-acct-table-wrap {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
  overflow-x: auto;
  margin-bottom: 1.5rem;
}
.igy6-acct-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.igy6-acct-table thead tr { border-bottom: 1px solid #374151; }
.igy6-acct-table th {
  padding: 0.75rem 1rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7280;
  text-align: left;
}
.igy6-acct-table td { padding: 0.875rem 1rem; border-bottom: 1px solid #1f2937; color: #d1d5db; }
.igy6-acct-table tbody tr:last-child td { border-bottom: none; }
.igy6-acct-table tbody tr:hover td { background: rgba(255,255,255,0.03); }
.igy6-acct-table__order-num a { color: #ef4444; text-decoration: none; font-family: monospace; font-size: 0.875rem; }
.igy6-acct-table__order-num a:hover { text-decoration: underline; }
.igy6-acct-table__right { text-align: right !important; }
.igy6-acct-view-link { color: #ef4444; text-decoration: none; font-size: 0.8rem; white-space: nowrap; }
.igy6-acct-view-link:hover { text-decoration: underline; }

/* ── Status badges ───────────────────────────────────────────────────────── */
.igy6-order-badge {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.igy6-badge--completed  { background: rgba(74,222,128,0.15);  color: #4ade80; }
.igy6-badge--processing { background: rgba(96,165,250,0.15);  color: #60a5fa; }
.igy6-badge--on-hold    { background: rgba(251,191,36,0.15);  color: #fbbf24; }
.igy6-badge--pending    { background: rgba(156,163,175,0.15); color: #9ca3af; }
.igy6-badge--cancelled  { background: rgba(107,114,128,0.12); color: #6b7280; }
.igy6-badge--refunded   { background: rgba(167,139,250,0.15); color: #a78bfa; }
.igy6-badge--failed     { background: rgba(220,38,38,0.15);   color: #f87171; }
.igy6-badge--default    { background: rgba(107,114,128,0.12); color: #9ca3af; }

/* ── Pagination ──────────────────────────────────────────────────────────── */
.igy6-acct-pagination { display: flex; gap: 0.75rem; }
.igy6-acct-page-btn {
  padding: 0.5rem 1rem;
  background: #1f2937;
  border: 1px solid #374151;
  border-radius: 0.375rem;
  color: #d1d5db;
  font-size: 0.8rem;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.igy6-acct-page-btn:hover { background: #374151; color: #ffffff; }

/* ── Addresses view ──────────────────────────────────────────────────────── */
.igy6-acct-address-desc {
  font-size: 0.85rem;
  color: #9ca3af;
  margin-bottom: 1.5rem;
}
.igy6-acct-address-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
.igy6-acct-address-card {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
}
.igy6-acct-address-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #1f2937;
}
.igy6-acct-address-card__title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}
.igy6-acct-address-card__edit {
  font-size: 0.75rem;
  font-weight: 600;
  color: #ef4444;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.igy6-acct-address-card__edit:hover { text-decoration: underline; }
.igy6-acct-address-card__body {
  font-style: normal;
  font-size: 0.875rem;
  color: #d1d5db;
  line-height: 1.6;
}
.igy6-acct-address-card__empty {
  font-size: 0.875rem;
  color: #6b7280;
  font-style: italic;
}
@media (max-width: 640px) {
  .igy6-acct-address-grid { grid-template-columns: 1fr; }
}

/* ── Account details form layout ─────────────────────────────────────────── */
.igy6-edit-account-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1rem;
}
.igy6-edit-account-form .form-row-wide,
.igy6-edit-account-form .igy6-acct-fieldset,
.igy6-edit-account-form .igy6-acct-form__actions,
.igy6-edit-account-form .clear { grid-column: 1 / -1; }
.igy6-edit-account-form .form-row-first,
.igy6-edit-account-form .form-row-last { margin-bottom: 1rem; }

/* Description hint below Display name */
.igy6-edit-account-form .description { display: block; margin-top: 0.35rem; }

/* Password fieldset */
.igy6-acct-fieldset {
  background: #0a0f1a;
  border: 1px solid #374151 !important;
  border-radius: 0.75rem;
  padding: 1.25rem 1.5rem;
  margin: 0.5rem 0 1rem;
}
.igy6-acct-fieldset__legend {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
  padding: 0 0.5rem;
}
.igy6-acct-fieldset .form-row { margin-bottom: 0.875rem; }
.igy6-acct-fieldset .form-row:last-child { margin-bottom: 0; }

/* ── Payment method form ─────────────────────────────────────────────────── */
.igy6-payment-form .woocommerce-PaymentMethods {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.igy6-payment-method__label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  padding: 0.875rem 1.25rem;
  background: #0a0f1a;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  transition: border-color 0.2s;
  text-transform: none !important;
  font-size: 0.9rem !important;
  color: #d1d5db !important;
  letter-spacing: 0 !important;
}
.igy6-payment-method__label:has(input:checked),
.igy6-payment-method__label:hover { border-color: #dc2626; }
.igy6-payment-method__label input[type="radio"] { accent-color: #dc2626; flex-shrink: 0; }
.igy6-payment-method__name { flex: 1; font-weight: 600; color: #ffffff; }
.igy6-payment-method__icons { display: flex; align-items: center; gap: 0.25rem; flex-wrap: wrap; }
.igy6-payment-method__icons img { height: 1.5rem; width: auto; border-radius: 3px; }

/* Payment box — the gateway's rendered fields (card number, expiry, CVC) */
.igy6-payment-form .woocommerce-PaymentBox {
  background: #0a0f1a !important;
  border: 1px solid #374151 !important;
  border-top: none !important;
  border-radius: 0 0 0.75rem 0.75rem !important;
  padding: 1.25rem !important;
  margin-top: 0.5rem;
}
/* Override the light-background injected by gateway CSS */
.igy6-payment-form .woocommerce-PaymentBox,
.igy6-payment-form .woocommerce-PaymentBox * { color: #d1d5db; }
/* Remove the border the gateway draws around its inner field container */
.igy6-payment-form .woocommerce-PaymentBox * { border: none !important; }
/* Re-apply border only to individual input fields inside the box */
.igy6-payment-form .woocommerce-PaymentBox input:not([type="hidden"]),
.igy6-payment-form .woocommerce-PaymentBox select { border: 1px solid #374151 !important; }
.igy6-payment-form .woocommerce-PaymentBox p { font-size: 0.8rem; color: #9ca3af; margin-bottom: 1rem; }
/* Gateway-rendered inputs (Stripe / WC Payments iframes have their own theming,
   but any plain inputs inside the payment box get the dark treatment) */
.igy6-payment-form .woocommerce-PaymentBox input:not([type="hidden"]),
.igy6-payment-form .woocommerce-PaymentBox select {
  background: #111827 !important;
  border: 1px solid #374151 !important;
  border-radius: 0.5rem !important;
  color: #ffffff !important;
  padding: 0.65rem 0.875rem !important;
}
.igy6-payment-form .woocommerce-PaymentBox input:focus { border-color: #dc2626 !important; outline: none; }

/* ── WC account forms (edit-address, edit-account, etc.) ─────────────────── */
/* Form card */
body.woocommerce-account .igy6-acct-form {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 1.75rem;
  max-width: 42rem;
}

/* Labels */
body.woocommerce-account .igy6-acct-form label,
body.woocommerce-account .igy6-acct-form .form-row > label {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 0.375rem;
}
body.woocommerce-account .igy6-acct-form .required { color: #ef4444; }

/* Text inputs */
body.woocommerce-account .igy6-acct-form .input-text,
body.woocommerce-account .igy6-acct-form input[type="text"],
body.woocommerce-account .igy6-acct-form input[type="email"],
body.woocommerce-account .igy6-acct-form input[type="tel"],
body.woocommerce-account .igy6-acct-form input[type="password"] {
  width: 100%;
  background: #0a0f1a !important;
  border: 1px solid #374151 !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: #ffffff !important;
  box-sizing: border-box;
  transition: border-color 0.2s;
}
body.woocommerce-account .igy6-acct-form .input-text:focus,
body.woocommerce-account .igy6-acct-form input:focus { border-color: #dc2626 !important; outline: none; }

/* Native selects */
body.woocommerce-account .igy6-acct-form select {
  width: 100%;
  background: #0a0f1a !important;
  border: 1px solid #374151 !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  color: #ffffff !important;
  box-sizing: border-box;
  appearance: auto;
}

/* Select2 (country/state dropdowns) */
body.woocommerce-account .igy6-acct-form .select2-container .select2-selection--single {
  background: #0a0f1a !important;
  border: 1px solid #374151 !important;
  border-radius: 0.5rem !important;
  height: auto !important;
  padding: 0.75rem 1rem !important;
}
body.woocommerce-account .igy6-acct-form .select2-container .select2-selection__rendered {
  color: #ffffff !important;
  line-height: 1.4 !important;
  padding: 0 !important;
}
body.woocommerce-account .igy6-acct-form .select2-container .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
  right: 0.75rem !important;
}
body.woocommerce-account .igy6-acct-form .select2-container--open .select2-selection--single {
  border-color: #dc2626 !important;
}

/* Form row spacing — WC uses .form-row, address forms use .form-row-first/.last */
body.woocommerce-account .igy6-acct-form .form-row,
body.woocommerce-account .igy6-acct-form .woocommerce-form-row { margin-bottom: 1rem; }
body.woocommerce-account .igy6-acct-form .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1rem;
}
body.woocommerce-account .igy6-acct-form .form-row-wide { grid-column: 1 / -1; }
body.woocommerce-account .igy6-acct-form .form-row-first,
body.woocommerce-account .igy6-acct-form .form-row-last  { float: none !important; width: 100% !important; }

/* Save / submit button — scoped to form, and standalone (.igy6-acct-btn anywhere) */
body.woocommerce-account .igy6-acct-btn,
body.woocommerce-account .igy6-acct-form .igy6-acct-btn,
body.woocommerce-account .igy6-acct-form .button {
  background: #dc2626 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.375rem !important;
  padding: 0.75rem 1.75rem !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  display: inline-block;
}
body.woocommerce-account .igy6-acct-btn:hover,
body.woocommerce-account .igy6-acct-form .igy6-acct-btn:hover,
body.woocommerce-account .igy6-acct-form .button:hover { background: #b91c1c !important; color: #ffffff !important; }
.igy6-acct-form__actions { margin-top: 1.5rem; margin-bottom: 0; }

/* Misc */
body.woocommerce-account .igy6-acct-form em,
body.woocommerce-account .igy6-acct-form .description { font-size: 0.75rem; color: #6b7280; }
body.woocommerce-account .igy6-acct-form h3 {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.1rem; color: #ffffff; margin-bottom: 1.25rem;
}
body.woocommerce-account .igy6-acct-form .clear { clear: both; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .igy6-account-inner { flex-direction: column; }
  .igy6-account-sidebar { width: 100%; }
  .igy6-account-main { width: 100%; }
  .igy6-acct-nav { flex-direction: row; flex-wrap: wrap; border-radius: 0.75rem; }
  .igy6-acct-nav__item { flex: 1 1 auto; border-bottom: none; border-right: 1px solid #1f2937; padding: 0.75rem 0.875rem; font-size: 0.75rem; }
  .igy6-acct-nav__item:last-child { border-right: none; }
  .igy6-acct-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .igy6-acct-stats { grid-template-columns: repeat(2, 1fr); }
  .igy6-acct-nav { flex-direction: column; }
  .igy6-acct-nav__item { border-right: none; border-bottom: 1px solid #1f2937; }
  .igy6-acct-nav__item:last-child { border-bottom: none; }
}

/* ── Mobile table stacking (all account table views) ─────────────────────── */
@media (max-width: 640px) {

  /* Orders / Dashboard table — hide header, stack rows */
  .igy6-acct-table-wrap { overflow-x: visible; }
  .igy6-acct-table { display: block; width: 100%; }
  .igy6-acct-table thead { display: none; }
  .igy6-acct-table tbody { display: block; width: 100%; }
  .igy6-acct-table tbody tr {
    display: block;
    border-bottom: 1px solid #374151;
    padding: 0.5rem 0;
  }
  .igy6-acct-table tbody tr:last-child { border-bottom: none; }
  .igy6-acct-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.35rem 1rem;
    border-bottom: none;
    text-align: left !important;
    font-size: 0.8rem;
  }
  .igy6-acct-table tbody td[data-title]::before {
    content: attr(data-title);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
    flex-shrink: 0;
    margin-right: 0.75rem;
  }
  /* Action cell (View link) — no label, just right-align */
  .igy6-acct-table tbody td:not([data-title]) {
    justify-content: flex-end;
    padding-top: 0.25rem;
  }

  /* View-order details table — allow horizontal scroll inside its card */
  .igy6-account-main .woocommerce-order-details {
    overflow-x: auto;
  }

  /* Webinar Recordings table — wrap in scroll container */
  .igy6-account-main .woocommerce-orders-table {
    display: block;
    overflow-x: auto;
    border-radius: 1rem;
  }
  /* Push Watch Recording button away from the floated "Recording:" label */
  .igy6-account-main .woocommerce-orders-table__cell:last-child .woocommerce-button.button,
  .igy6-account-main .woocommerce-orders-table__cell:last-child a.button {
    margin-left: 1rem;
  }
}

/* ── View Order (single order detail page) ───────────────────────────────── */

/* Status sentence — remove browser's yellow <mark> highlight */
.igy6-account-main mark {
  background: none;
  font-style: normal;
  font-weight: 700;
}
.igy6-account-main mark.order-number { color: #ef4444; font-family: monospace; }
.igy6-account-main mark.order-date   { color: #d1d5db; }
.igy6-account-main mark.order-status {
  display: inline-block;
  padding: 0.15rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: rgba(96,165,250,0.15);
  color: #60a5fa;
}

/* Status sentence paragraph */
.igy6-account-main .woocommerce-order-overview,
.igy6-account-main > p:first-of-type {
  font-size: 0.875rem;
  color: #9ca3af;
  margin-bottom: 1.5rem;
}

/* "Order details" section heading */
.igy6-account-main .woocommerce-order-details__title,
.igy6-account-main .woocommerce-column__title {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.875rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #374151;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Order details table */
.igy6-account-main .woocommerce-order-details {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 2rem;
}
.igy6-account-main .woocommerce-order-details__title {
  padding: 1rem 1.25rem 0.875rem;
  border-bottom: 1px solid #374151;
  margin: 0;
}
.igy6-account-main .woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.igy6-account-main .woocommerce-table--order-details thead th {
  padding: 0.75rem 1.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
  text-align: left;
  border-bottom: 1px solid #374151;
  background: #111827;
}
.igy6-account-main .woocommerce-table--order-details thead th:last-child { text-align: right; }
.igy6-account-main .woocommerce-table--order-details tbody td {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid #1f2937;
  color: #d1d5db;
  vertical-align: top;
}
.igy6-account-main .woocommerce-table--order-details tbody tr:last-child td { border-bottom: none; }
.igy6-account-main .woocommerce-table--order-details .product-name { color: #ffffff; }
.igy6-account-main .woocommerce-table--order-details .product-name a { color: #ef4444; text-decoration: none; font-weight: 700; }
.igy6-account-main .woocommerce-table--order-details .product-name a:hover { text-decoration: underline; }
.igy6-account-main .woocommerce-table--order-details .product-total { text-align: right; font-weight: 600; color: #ffffff; }

/* Meta (Webinar label, seat numbers, etc.) under the product name */
.igy6-account-main .woocommerce-table--order-details .woocommerce-table__product-name .variation,
.igy6-account-main .woocommerce-table--order-details dl.variation {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: #6b7280;
}
.igy6-account-main .woocommerce-table--order-details dl.variation dt { font-weight: 600; color: #9ca3af; }
.igy6-account-main .woocommerce-table--order-details dl.variation dd { margin: 0 0 0.25rem 0; }

/* Totals rows (Subtotal / Shipping / Total / Payment method) */
.igy6-account-main .woocommerce-table--order-details tfoot tr th,
.igy6-account-main .woocommerce-table--order-details tfoot tr td {
  padding: 0.75rem 1.25rem;
  border-top: 1px solid #1f2937;
  font-size: 0.875rem;
  color: #9ca3af;
}
.igy6-account-main .woocommerce-table--order-details tfoot tr th { font-weight: 600; }
.igy6-account-main .woocommerce-table--order-details tfoot tr td { text-align: right; color: #d1d5db; }
/* Grand total row */
.igy6-account-main .woocommerce-table--order-details tfoot .order-total th,
.igy6-account-main .woocommerce-table--order-details tfoot .order-total td {
  border-top: 1px solid #374151;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
}
.igy6-account-main .woocommerce-table--order-details tfoot .order-total td strong { color: #ef4444; }

/* Order updates / notes */
.igy6-account-main .woocommerce-OrderUpdates {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.igy6-account-main .woocommerce-OrderUpdate {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 0.875rem 1.25rem;
  font-size: 0.875rem;
}
.igy6-account-main .woocommerce-OrderUpdate-meta { font-size: 0.75rem; color: #6b7280; margin-bottom: 0.35rem; }
.igy6-account-main .woocommerce-OrderUpdate-description p { margin: 0; color: #d1d5db; }

/* Billing / Shipping address columns */
/* The outer <section class="woocommerce-customer-details"> wraps an inner
   <section class="woocommerce-columns col2-set"> which is the real 2-col grid. */
.igy6-account-main .woocommerce-customer-details { margin-top: 0.5rem; }

.igy6-account-main .woocommerce-columns.col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.25rem;
  overflow: visible !important;
}
/* Kill clearfix pseudo-elements — they become ghost grid items and break placement */
.igy6-account-main .woocommerce-columns.col2-set::before,
.igy6-account-main .woocommerce-columns.col2-set::after {
  display: none !important;
  content: none !important;
}
/* Cancel WooCommerce/parent float layout on the columns */
.igy6-account-main .woocommerce-column {
  float: none !important;
  width: auto !important;
  min-width: 0;
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
}
.igy6-account-main .woocommerce-column .woocommerce-column__title {
  font-size: 1.1rem;
  padding: 0 0 0.75rem;
  border-bottom: 1px solid #1f2937;
  margin-bottom: 1rem !important;
}
.igy6-account-main address {
  font-style: normal;
  font-size: 0.875rem;
  color: #d1d5db;
  line-height: 1.7;
}
.igy6-account-main address p { margin: 0; }
.igy6-account-main address a { color: #d1d5db; text-decoration: none; }
.igy6-account-main address a:hover { color: #ef4444; }

@media (max-width: 640px) {
  .igy6-account-main .woocommerce-columns.col2-set { grid-template-columns: 1fr; }
}

/* ── Webinar Recordings page ─────────────────────────────────────────────── */

/* Page heading */
.igy6-account-main h3 {
  font-family: var(--dpa-font-display, 'Barlow Condensed', sans-serif);
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.5rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #374151;
}

/* Intro / description copy */
.igy6-account-main .woocommerce-MyAccount-content-intro {
  font-size: 0.875rem;
  color: #9ca3af;
  margin: 0 0 1.5rem;
}

/* Table card wrapper */
.igy6-account-main .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
  font-size: 0.875rem;
}

/* Column headers */
.igy6-account-main .woocommerce-orders-table thead th,
.igy6-account-main .woocommerce-orders-table__header {
  padding: 0.75rem 1.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
  text-align: left;
  background: #111827;
  border-bottom: 1px solid #374151;
}

/* Body rows */
.igy6-account-main .woocommerce-orders-table__cell {
  padding: 0.875rem 1.25rem;
  color: #d1d5db;
  border-bottom: 1px solid #1f2937;
  vertical-align: middle;
}
.igy6-account-main .woocommerce-orders-table tbody tr:last-child .woocommerce-orders-table__cell {
  border-bottom: none;
}

/* Webinar title cell */
.igy6-account-main .woocommerce-orders-table__cell:first-child {
  color: #ffffff;
  font-weight: 600;
}

/* Watch Recording button */
.igy6-account-main .woocommerce-orders-table .woocommerce-button.button,
.igy6-account-main .woocommerce-orders-table a.button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1rem;
  background: transparent;
  border: 1px solid #dc2626;
  border-radius: 9999px;
  color: #ef4444;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.03em;
  transition: background 0.15s, color 0.15s;
}
.igy6-account-main .woocommerce-orders-table .woocommerce-button.button:hover,
.igy6-account-main .woocommerce-orders-table a.button:hover {
  background: #dc2626;
  color: #ffffff;
}

/* Empty state */
.igy6-account-main .woocommerce-message--info {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
  color: #9ca3af;
}
.igy6-account-main .woocommerce-message--info p { margin: 0; }

/* ── Payment Methods page ────────────────────────────────────────────────── */

/* Table card */
.igy6-account-main .woocommerce-MyAccount-paymentMethods {
  width: 100%;
  border-collapse: collapse;
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

/* Headers */
.igy6-account-main .woocommerce-MyAccount-paymentMethods thead th {
  padding: 0.75rem 1.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
  text-align: left;
  background: #111827;
  border-bottom: 1px solid #374151;
}

/* Body cells */
.igy6-account-main .woocommerce-MyAccount-paymentMethods tbody td {
  padding: 0.875rem 1.25rem;
  color: #d1d5db;
  border-bottom: 1px solid #1f2937;
  vertical-align: middle;
}
.igy6-account-main .woocommerce-MyAccount-paymentMethods tbody tr:last-child td {
  border-bottom: none;
}

/* Highlight the default row very subtly */
.igy6-account-main .woocommerce-MyAccount-paymentMethods .default-payment-method td {
  background: rgba(220, 38, 38, 0.04);
}

/* "Default" badge — was invisible dark-on-dark <mark> */
.igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-default mark.default {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.4);
  border-radius: 9999px;
  color: #4ade80;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-style: normal;
}

/* Method name */
.igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-method {
  color: #ffffff;
  font-weight: 600;
}

/* Details column — img + "• • • 1111" wrapped in .igy6-pm-details-inner span */
.igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-details {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.igy6-pm-details-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.igy6-pm-details-inner img {
  display: block;
  flex-shrink: 0;
  border-radius: 3px;
}

/* Expires column — muted */
.igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-expires {
  color: #9ca3af;
}

/* Actions column — pill buttons, clearly separated */
.igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-actions {
  white-space: nowrap;
  text-align: right;
}
.igy6-pm-action {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  margin: 0 0.15rem;
  background: transparent;
  border: 1px solid #374151;
  border-radius: 9999px;
  color: #9ca3af;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.igy6-pm-action:hover {
  border-color: #6b7280;
  color: #ffffff;
  background: #1f2937;
  text-decoration: none;
}
/* Delete — red-bordered to signal danger */
.igy6-pm-action--delete {
  border-color: rgba(220, 38, 38, 0.5);
  color: #ef4444;
}
.igy6-pm-action--delete:hover {
  background: rgba(220, 38, 38, 0.1);
  border-color: #dc2626;
  color: #fca5a5;
}

/* "Add payment method" CTA button */
.igy6-account-main > a.button[href*="add-payment-method"],
.igy6-account-main .woocommerce-MyAccount-addPaymentMethod a.button {
  display: inline-block;
  padding: 0.6rem 1.5rem;
  background: #dc2626;
  border: none;
  border-radius: 9999px;
  color: #ffffff !important;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: background 0.15s;
}
.igy6-account-main > a.button[href*="add-payment-method"]:hover,
.igy6-account-main .woocommerce-MyAccount-addPaymentMethod a.button:hover {
  background: #b91c1c;
}

/* Responsive: stack cells on small screens */
@media (max-width: 640px) {
  .igy6-account-main .woocommerce-MyAccount-paymentMethods thead { display: none; }

  /* Each payment method = its own stacked card */
  .igy6-account-main .woocommerce-MyAccount-paymentMethods tbody tr {
    display: block;
    border-bottom: 1px solid #374151;
    padding: 0.625rem 0 0.75rem;
  }
  .igy6-account-main .woocommerce-MyAccount-paymentMethods tbody tr:last-child {
    border-bottom: none;
  }

  /* Standard data rows: label left, value right */
  .igy6-account-main .woocommerce-MyAccount-paymentMethods tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 1rem;
    border-bottom: none;
    font-size: 0.85rem;
  }
  .igy6-account-main .woocommerce-MyAccount-paymentMethods tbody td::before {
    content: attr(data-title);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7280;
    flex-shrink: 0;
    margin-right: 0.75rem;
  }

  /* Hide the DEFAULT? row entirely when there's no badge (non-default cards) */
  .igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-default:not(:has(mark)) {
    display: none;
  }

  /* Actions row: no label, buttons wrap left-aligned */
  .igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-start;
    padding: 0.5rem 1rem 0.25rem;
  }
  .igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-actions::before {
    display: none; /* no label for the actions row */
  }
  .igy6-account-main .woocommerce-MyAccount-paymentMethods .payment-method-actions .igy6-pm-action {
    margin: 0; /* gap handles spacing */
  }
}

/* ==========================================================================
   WooCommerce Cart Page
   ========================================================================== */

/* Suppress parent theme's large cart banner */
body.woocommerce-cart .dpa-page-header { display: none !important; }

/* Keep .dpa-container at nav width (1200px) on cart & checkout — just restore standard padding */
body.woocommerce-cart .dpa-section .dpa-container,
body.woocommerce-checkout .dpa-section .dpa-container {
  max-width: 1200px !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* Reduce the 96px section padding to match site spacing */
body.woocommerce-cart .dpa-section,
body.woocommerce-checkout .dpa-section {
  padding-top: 2rem !important;
  padding-bottom: 4rem !important;
}

/* ── Two-column grid on the WC wrapper div ── */
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 .igy6-cart__page-hero        { grid-column: 1 / -1; padding-bottom: 0.5rem; }
body.woocommerce-cart #igy6-cart                   { grid-column: 1 / -1; }
body.woocommerce-cart .igy6-cart__items-card       { grid-column: 1; }
body.woocommerce-cart .cart-collaterals            { grid-column: 2; position: sticky; top: 6rem; }

/* WC layout.css floats .cart_totals — override so it fills our sidebar */
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) {
  body.woocommerce-cart .woocommerce { grid-template-columns: 1fr !important; gap: 1.25rem; }
  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-cart .igy6-cart__page-hero { grid-column: 1; }
  body.woocommerce-cart .igy6-cart__items-card { grid-column: 1; order: 2; }
  body.woocommerce-cart .cart-collaterals { grid-column: 1; position: static; order: 3; }
}

/* ── Page hero (heading + count) ── */
.igy6-cart__page-hero { margin-bottom: 1.5rem; }
.igy6-cart-heading {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(1.875rem, 4vw, 2.25rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  margin-bottom: 0.25rem !important;
  line-height: 1.1;
}
.igy6-cart-heading__accent { color: #dc2626; }
.igy6-cart-count {
  color: #6b7280;
  font-size: 0.875rem;
  margin-bottom: 0;
}

/* ── Items card ── */
.igy6-cart__items-card {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
}

/* Card header row */
.igy6-cart__items-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid #1f2937;
}
.igy6-cart__items-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af !important;
  margin: 0 !important;
}
.igy6-cart__item-count { color: #6b7280; font-weight: 400; }
.igy6-cart__continue {
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280 !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: color 0.2s;
}
.igy6-cart__continue:hover { color: #dc2626 !important; }

/* Form — strip default margins */
.woocommerce-cart-form { margin: 0 !important; }

/* ── Item rows ── */
.woocommerce-cart-form__cart-item {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #1f2937;
  transition: background 0.15s;
}
.woocommerce-cart-form__cart-item:last-child { border-bottom: none; }
.woocommerce-cart-form__cart-item:hover { background: rgba(31,41,55,0.35); }

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

/* Info column */
.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;
  margin-bottom: 0.25rem;
}
.woocommerce-cart-form__cart-item .product-name a {
  color: #ffffff !important;
  text-decoration: none !important;
}
.woocommerce-cart-form__cart-item .product-name a:hover { color: #dc2626 !important; }

.woocommerce-cart-form__cart-item .product-price {
  font-size: 0.8125rem;
  color: #6b7280;
  margin-bottom: 0.625rem;
}
.woocommerce-cart-form__cart-item .product-price .woocommerce-Price-amount { color: #6b7280; }
.woocommerce-cart-form__cart-item .product-price .each-label {
  font-size: 0.75rem;
  color: #4b5563;
  margin-left: 0.2em;
}

/* Actions row inside info column */
.woocommerce-cart-form__cart-item .product-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Qty stepper */
.woocommerce-cart-form__cart-item .product-quantity .quantity {
  display: flex;
  align-items: center;
  gap: 0;
}
.woocommerce-cart-form__cart-item .product-quantity .quantity input.qty {
  width: 2.25rem !important;
  height: 2rem;
  text-align: center;
  background: #0f172a !important;
  border: 1px solid #374151 !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 .product-quantity .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form__cart-item .product-quantity .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.woocommerce-cart-form__cart-item .product-quantity .quantity input.qty:focus {
  outline: none;
  border-color: #dc2626 !important;
}

/* Injected +/− stepper buttons */
.igy6-qty-btn {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #1f2937;
  border: 1px solid #374151;
  color: #d1d5db;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
  flex-shrink: 0;
}
.igy6-qty-btn:first-child { border-radius: 0.375rem 0 0 0.375rem; }
.igy6-qty-btn:last-child  { border-radius: 0 0.375rem 0.375rem 0; }
.igy6-qty-btn:hover { border-color: #dc2626; color: #ffffff; }

/* Remove link — fully override WooCommerce's red circle badge defaults */
.woocommerce-cart-form__cart-item .product-remove a.remove {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #4b5563 !important;
  text-decoration: none !important;
  /* Kill WC's circular badge geometry */
  width: auto !important;
  height: auto !important;
  line-height: inherit !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: color 0.2s;
}
.woocommerce-cart-form__cart-item .product-remove a.remove:hover {
  color: #dc2626 !important;
  background: transparent !important;
}

/* Line subtotal */
.woocommerce-cart-form__cart-item .product-subtotal {
  flex-shrink: 0;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.2rem;
  font-weight: 700;
  color: #dc2626 !important;
  align-self: center;
  min-width: 4.5rem;
  text-align: right;
}
.woocommerce-cart-form__cart-item .product-subtotal .woocommerce-Price-amount { color: #dc2626 !important; }

@media (max-width: 600px) {
  .woocommerce-cart-form__cart-item { flex-wrap: wrap; gap: 0.75rem; }
  .woocommerce-cart-form__cart-item .product-subtotal { width: 100%; text-align: right; border-top: 1px solid #1f2937; padding-top: 0.5rem; }
}

/* ── Form footer (coupon + update) ── */
.igy6-cart__form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1.1rem 1.5rem;
  border-top: 1px solid #1f2937;
}
.igy6-cart__form-footer .coupon {
  display: flex;
  align-items: center;
  flex-wrap: wrap; /* lets the error drop to its own row */
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}
/* Inline coupon validation error — full-width row below the input */
.igy6-cart__form-footer .coupon .woocommerce-error,
.igy6-cart__form-footer .coupon #coupon-error-notice {
  flex: 0 0 100%;
  margin: 0.25rem 0 0 !important;
  padding: 0.5rem 0.875rem !important;
  border-radius: 0.375rem !important;
  border: 1px solid rgba(220,38,38,0.35) !important;
  background: rgba(220,38,38,0.12) !important;
  color: #f87171 !important;
  font-size: 0.8rem !important;
  list-style: none !important;
}
.igy6-cart__form-footer .coupon .woocommerce-error::before,
.igy6-cart__form-footer .coupon #coupon-error-notice::before { display: none !important; content: none !important; }
/* Red border on the input when it's invalid */
.igy6-cart__form-footer .coupon input.input-text[aria-invalid="true"] {
  border-color: #dc2626 !important;
}
.igy6-cart__form-footer .coupon input.input-text {
  background: #0f172a !important;
  border: 1px solid #374151 !important;
  color: #ffffff !important;
  border-radius: 0.375rem;
  padding: 0.5rem 0.875rem;
  font-size: 0.875rem;
  min-width: 0;
  flex: 1;
  max-width: 14rem;
}
.igy6-cart__form-footer .coupon input.input-text::placeholder { color: #6b7280; }
.igy6-cart__form-footer .coupon input.input-text:focus {
  outline: none;
  border-color: #dc2626 !important;
}
.igy6-cart__coupon-btn {
  background: transparent !important;
  border: 1px solid #dc2626 !important;
  color: #dc2626 !important;
  border-radius: 0.375rem !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s !important;
}
.igy6-cart__coupon-btn:hover { background: #dc2626 !important; color: #ffffff !important; }

.igy6-cart__update-btn {
  background: transparent !important;
  border: 1px solid #374151 !important;
  color: #6b7280 !important;
  border-radius: 0.375rem !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.15s, color 0.15s !important;
}
.igy6-cart__update-btn:hover { border-color: #9ca3af !important; color: #d1d5db !important; }

/* ── Order Summary sidebar ── */
.igy6-cart__totals {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  overflow: hidden;
}
.igy6-cart__totals-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af !important;
  margin: 0 !important;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid #1f2937;
}
.igy6-cart__totals-table {
  width: 100%;
  border-collapse: collapse;
  border: none !important;
}
.igy6-cart__totals-table tr { border-bottom: 1px solid #1f2937; }
.igy6-cart__totals-table tr:last-child { border-bottom: none; }
.igy6-cart__totals-table th,
.igy6-cart__totals-table td {
  padding: 0.75rem 1.5rem !important;
  font-size: 0.875rem;
  vertical-align: middle !important;
  border: none !important;
  border-top: none !important;
}
.igy6-cart__totals-table th { color: #9ca3af; font-weight: 400; text-align: left; }
.igy6-cart__totals-table td { color: #d1d5db; text-align: right; }
.igy6-cart__totals-table td .woocommerce-Price-amount { color: #d1d5db; }
.igy6-cart__totals-table tr.order-total th,
.igy6-cart__totals-table tr.order-total td { color: #ffffff; font-weight: 700; border-top: 1px solid #374151 !important; }
.igy6-cart__totals-table tr.order-total td .woocommerce-Price-amount {
  color: #dc2626 !important;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.35rem;
}
.igy6-cart__totals-table tr.cart-discount td { color: #4ade80 !important; }
.igy6-cart__totals-table tr.cart-discount td .woocommerce-Price-amount { color: #4ade80 !important; }

/* ── Shipping options ── */

/* Shipping row: no top-border, stack vertically */
.igy6-cart__totals-table tr.shipping th,
.igy6-cart__totals-table tr.shipping td {
  vertical-align: top !important;
  padding-bottom: 0.5rem !important;
}
.igy6-cart__totals-table tr.shipping td { text-align: left !important; }

/* Strip list defaults */
.igy6-cart__totals-table tr.shipping #shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

/* Each option row */
.igy6-cart__totals-table tr.shipping #shipping_method li {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none !important;
}

/* Hide native radio */
.igy6-cart__totals-table tr.shipping #shipping_method li input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* Label = the full clickable row */
.igy6-cart__totals-table tr.shipping #shipping_method li label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.45rem 0.6rem;
  border-radius: 0.375rem;
  border: 1px solid #1f2937;
  background: #0f172a;
  font-size: 0.78rem;
  color: #9ca3af;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
  line-height: 1.35;
}
.igy6-cart__totals-table tr.shipping #shipping_method li label:hover {
  border-color: #374151;
  color: #d1d5db;
}

/* Custom radio dot via ::before on the label */
.igy6-cart__totals-table tr.shipping #shipping_method li label::before {
  content: '';
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  border: 2px solid #374151;
  background: transparent;
  transition: border-color 0.2s, background 0.2s;
}

/* Checked state — driven by adjacent-sibling from hidden input */
.igy6-cart__totals-table tr.shipping #shipping_method li input[type="radio"]:checked + label {
  border-color: #dc2626;
  background: rgba(220,38,38,0.08);
  color: #ffffff;
}
.igy6-cart__totals-table tr.shipping #shipping_method li input[type="radio"]:checked + label::before {
  border-color: #dc2626;
  background: #dc2626;
  box-shadow: 0 0 0 2px rgba(220,38,38,0.25);
}

/* "Shipping to TX." destination line */
.igy6-cart__totals-table tr.shipping .woocommerce-shipping-destination {
  font-size: 0.72rem;
  color: #4b5563;
  margin: 0.4rem 0 0;
}
.igy6-cart__totals-table tr.shipping .woocommerce-shipping-destination strong { color: #6b7280; }

/* Shipping calc link */
body.woocommerce-cart .cart_totals .shipping-calculator-button { color: #6b7280 !important; font-size: 0.8rem; }
body.woocommerce-cart .cart_totals .shipping-calculator-button:hover { color: #9ca3af !important; }

/* Proceed to Checkout */
body.woocommerce-cart .wc-proceed-to-checkout { padding: 1.25rem 1.5rem !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  border: 2px solid #dc2626 !important;
  border-radius: 0.375rem !important;
  padding: 0.875rem 1.5rem !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
  transition: background 0.2s, box-shadow 0.3s !important;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button::before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  content: '\f023';
  font-size: 0.85em;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: #b91c1c !important;
  border-color: #b91c1c !important;
  box-shadow: 0 0 20px 3px rgba(220,38,38,0.4) !important;
  color: #ffffff !important;
}

/* ── After-checkout strip (Continue Shopping · Secure SSL) ── */
.igy6-cart__after-checkout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0 1.5rem 1rem;
  flex-wrap: wrap;
}
.igy6-cart__after-continue {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280 !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.igy6-cart__after-continue:hover { color: #dc2626 !important; }
.igy6-cart__after-divider { color: #374151; font-size: 0.6rem; line-height: 1; }
.igy6-cart__after-secure {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  color: #4b5563;
}
.igy6-cart__after-secure i { color: #374151; font-size: 0.8rem; }

/* ── Cart notice zone (AJAX coupon errors relayed here by cart.js) ── */
.igy6-cart-notice-zone { margin: 0; }
.igy6-cart-notice-zone:empty { display: none; }
.igy6-cart-notice-zone .woocommerce-error,
.igy6-cart-notice-zone .woocommerce-message,
.igy6-cart-notice-zone .woocommerce-info {
  margin: 0 !important;
  padding: 0.875rem 1.5rem !important;
  border-radius: 0 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  list-style: none !important;
  font-size: 0.875rem !important;
}
.igy6-cart-notice-zone .woocommerce-error   { background: rgba(220,38,38,0.12) !important;  border-top: 3px solid #dc2626 !important; color: #f87171 !important; }
.igy6-cart-notice-zone .woocommerce-message { background: rgba(34,197,94,0.08) !important;  border-top: 3px solid #22c55e !important; color: #86efac !important; }
.igy6-cart-notice-zone .woocommerce-info    { background: rgba(59,130,246,0.08) !important; border-top: 3px solid #3b82f6 !important; color: #93c5fd !important; }
.igy6-cart-notice-zone .woocommerce-error li,
.igy6-cart-notice-zone .woocommerce-message li,
.igy6-cart-notice-zone .woocommerce-info li { list-style: none !important; padding: 0 !important; margin: 0 !important; }
/* Kill WC icon-font ::before */
.igy6-cart-notice-zone .woocommerce-error::before,
.igy6-cart-notice-zone .woocommerce-message::before,
.igy6-cart-notice-zone .woocommerce-info::before,
.igy6-cart-notice-zone .woocommerce-error li::before,
.igy6-cart-notice-zone .woocommerce-message li::before,
.igy6-cart-notice-zone .woocommerce-info li::before { display: none !important; content: none !important; }

/* ── WooCommerce notices — dark theme ── */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info {
  background: #1f2937 !important;
  border-top: 3px solid #dc2626 !important;
  color: #d1d5db !important;
  border-radius: 0 0 0.5rem 0.5rem;
  list-style: none !important;
}
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message li,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info li {
  list-style: none !important;
}
/* Plain text links inside notices */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a:not(.button),
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info a:not(.button) {
  color: #ef4444 !important;
}
/* "Continue shopping" CTA button — outlined red to match site */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a.button,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info a.button {
  background: transparent !important;
  border: 1px solid #dc2626 !important;
  color: #dc2626 !important;
  border-radius: 0.375rem !important;
  padding: 0.4rem 1rem !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
  float: right;
  transition: background 0.2s, color 0.2s !important;
}
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a.button:hover,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info a.button:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
}
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info::before {
  color: #dc2626 !important;
}

/* Kill WooCommerce's global a.remove::before/::after bullet/× on the cart page */
body.woocommerce-cart a.remove::before,
body.woocommerce-cart a.remove::after {
  content: '' !important;
  display: none !important;
  font-family: inherit !important;
  font-size: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* ── Button ripple animation ── */
.igy6-btn-armor,
.igy6-btn-armor-outline {
  position: relative;
  overflow: hidden;
}
.igy6-btn-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  transform: scale(0);
  animation: igy6-ripple-expand 0.55s ease-out forwards;
  pointer-events: none;
}
@keyframes igy6-ripple-expand {
  to { transform: scale(4); opacity: 0; }
}

/* ── Empty cart — matches prototype dark card ── */
.igy6-cart-empty {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 2.5rem 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.igy6-cart-empty__icon {
  font-size: 3rem;
  line-height: 1;
  color: #374151;
  display: block;
  margin-bottom: 0.5rem;
}
.igy6-cart-empty__heading {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  margin-bottom: 0.5rem !important;
}
.igy6-cart-empty__sub {
  color: #9ca3af;
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 2rem;
}
.igy6-cart-empty__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
/* Match button heights within the empty-cart action row */
.igy6-cart-empty__actions .igy6-btn-armor {
  height: 3rem !important;
  min-height: 3rem !important;
  font-size: 0.875rem !important;
  padding: 0 1.5rem !important;
}

/* ── Cross-sells ── */
body.woocommerce-cart .cross-sells {
  grid-column: 1 / -1;
  border-top: 1px solid #1f2937;
  padding-top: 2rem;
  margin-top: 1rem;
}
body.woocommerce-cart .cross-sells h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1.25rem !important;
}

/* ==========================================================================
   WooCommerce Checkout Page
   ========================================================================== */

/* Hide the parent theme's page-title banner on checkout */
body.woocommerce-checkout .dpa-page-header { display: none !important; }

/* ── Hero ── */
.igy6-checkout__hero { margin-bottom: 2rem; }
.igy6-checkout__eyebrow {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #6b7280 !important;
  display: flex; align-items: center; gap: 0.4rem;
  margin-bottom: 0.375rem !important;
}
.igy6-checkout__eyebrow i { color: #374151; font-size: 0.7rem; }
.igy6-checkout__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #ffffff !important;
  margin: 0 !important;
}
.igy6-checkout__title-accent { color: #dc2626; }

/* ── 2-column grid ── */
.igy6-checkout__grid {
  display: grid !important;
  grid-template-columns: 1fr 340px;
  gap: 2rem;
  align-items: start;
}
body.woocommerce-checkout .igy6-checkout__grid > .woocommerce-notices-wrapper,
body.woocommerce-checkout .igy6-checkout__grid > .woocommerce-NoticeGroup,
body.woocommerce-checkout .igy6-checkout__grid > .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout .igy6-checkout__grid > .woocommerce-error,
body.woocommerce-checkout .igy6-checkout__grid > .woocommerce-message,
body.woocommerce-checkout .igy6-checkout__grid > .woocommerce-info {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
@media (max-width: 900px) {
  .igy6-checkout__grid { grid-template-columns: 1fr !important; }
  .igy6-checkout__sidebar { position: static !important; }
}

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

/* Reset WC col2-set floats */
.igy6-checkout__address-set { display: flex; flex-direction: column; gap: 1.5rem; }
.igy6-checkout__address-set .col-1,
.igy6-checkout__address-set .col-2 { float: none !important; width: 100% !important; margin: 0 !important; }
.igy6-checkout__address-set::before,
.igy6-checkout__address-set::after { content: none !important; display: none !important; }

/* ── Address cards (billing + shipping) ── */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields:has(h3) {
  background: #111827;
  border: 1px solid #374151;
  border-radius: 1rem;
  padding: 1.5rem;
}
body.woocommerce-checkout .woocommerce-shipping-fields:not(:has(h3)) { display: none !important; }
body.woocommerce-checkout .woocommerce-shipping-fields > .shipping_address {
  background: none; border: none; border-radius: 0; padding: 1rem 0 0; margin-top: 0.5rem;
}
body.woocommerce-checkout .woocommerce-additional-fields {
  background: #111827; border: 1px solid #374151; border-radius: 1rem; padding: 1.5rem;
}

/* Card section headings */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important; font-weight: 700 !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 #1f2937 !important;
}

/* ── Field grid ── */
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;
}
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: flex; flex-direction: column; gap: 1rem;
}
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; }
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: 6rem; resize: vertical;
}

/* ── Labels ── */
body.woocommerce-checkout .form-row label:not(.woocommerce-form__label-for-checkbox) {
  display: block; color: #9ca3af; 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: #dc2626; }

/* ── Text inputs + selects + textarea ── */
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: #0f172a !important; border: 1px solid #374151 !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;
}
body.woocommerce-checkout .form-row .input-text:focus,
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row textarea:focus {
  border-color: #dc2626 !important; outline: none !important; box-shadow: none !important;
}
body.woocommerce-checkout .form-row .input-text::placeholder,
body.woocommerce-checkout .form-row input::placeholder { color: #374151 !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: #d1d5db; font-size: 0.875rem; font-weight: 400; text-transform: none;
}
body.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  accent-color: #dc2626; width: 16px; height: 16px; flex-shrink: 0;
}

/* ── Select2 dropdowns ── */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  background: #0f172a !important; border: 1px solid #374151 !important;
  border-radius: 0.5rem !important; height: auto !important;
  padding: 0.75rem 2.5rem 0.75rem 1rem !important; transition: border-color 0.2s;
}
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: #dc2626 !important; outline: none !important;
}
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: #374151 !important; }
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: #6b7280 transparent transparent !important; }
body.woocommerce-checkout .select2-container--open .select2-selection__arrow b { border-color: transparent transparent #6b7280 !important; }
body.woocommerce-checkout .select2-dropdown {
  background: #111827 !important; border: 1px solid #dc2626 !important;
  border-radius: 0 0 0.5rem 0.5rem !important; overflow: hidden;
}
body.woocommerce-checkout .select2-dropdown--above { border-radius: 0.5rem 0.5rem 0 0 !important; }
body.woocommerce-checkout .select2-dropdown--below { border-top: none !important; }
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;
}
body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  background: #0f172a !important; border: 1px solid #374151 !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: #dc2626 !important; }
body.woocommerce-checkout .select2-results__option { background: #111827 !important; color: #d1d5db !important; font-size: 0.875rem !important; padding: 0.5rem 0.75rem !important; }
body.woocommerce-checkout .select2-results__option--highlighted { background: #1f2937 !important; color: #ffffff !important; }

/* ── Payment section card ── */
body.woocommerce-checkout #payment {
  background: #111827 !important; border: 1px solid #374151 !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;
}
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
  padding: 1.25rem 1.5rem !important; border-bottom: 1px solid #1f2937 !important; background: none !important;
}
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method:last-child { border-bottom: none !important; }
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method > label {
  color: #ffffff !important; font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important; font-weight: 700 !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;
}
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: #dc2626; width: 16px; height: 16px; flex-shrink: 0;
}
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;
}
body.woocommerce-checkout #payment .payment_box::before,
body.woocommerce-checkout #payment .payment_box::after { content: none !important; display: none !important; }
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; }
body.woocommerce-checkout #payment .payment_box label {
  color: #9ca3af !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;
}
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: #0f172a !important; border: 1px solid #374151 !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: #dc2626 !important; outline: none !important; }
body.woocommerce-checkout #payment .payment_box input::placeholder { color: #374151 !important; }
body.woocommerce-checkout #payment .payment_box p { color: #6b7280 !important; font-size: 0.8125rem !important; margin: 0 0 0.75rem !important; }

/* Saved payment method rows */
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;
}
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;
}

/* ── Place Order ── */
body.woocommerce-checkout #payment .place-order { padding: 1.25rem 1.5rem !important; margin: 0 !important; background: none !important; }
body.woocommerce-checkout #payment #place_order {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: 0.5rem !important; width: 100% !important;
  background: #dc2626 !important; color: #ffffff !important;
  border: 2px solid #dc2626 !important; border-radius: 0.375rem !important;
  padding: 0.875rem 1.5rem !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  cursor: pointer; transition: background 0.2s, box-shadow 0.3s !important;
}
body.woocommerce-checkout #payment #place_order::before {
  font-family: 'Font Awesome 6 Free'; font-weight: 900;
  content: '\f023'; font-size: 0.85em;
}
body.woocommerce-checkout #payment #place_order:hover {
  background: #b91c1c !important; border-color: #b91c1c !important;
  box-shadow: 0 0 20px 3px rgba(220,38,38,0.4) !important;
}

/* ── Security notice (injected before place order) ── */
.igy6-checkout__security-notice {
  display: flex; gap: 0.625rem; align-items: flex-start;
  padding: 0.875rem 1.5rem 0; margin: 0;
}
.igy6-checkout__security-notice i { color: #374151; margin-top: 0.125rem; flex-shrink: 0; font-size: 0.75rem; }
.igy6-checkout__security-notice p { color: #4b5563; font-size: 0.72rem; line-height: 1.5; margin: 0; }

/* ── WooCommerce checkout notices — full coverage ── */
/* Targets notices in the wrapper, prepended into the form, and inside NoticeGroup */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-message,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-info,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info {
  background: #111827 !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 0.5rem !important;
  padding: 0.875rem 1.25rem !important;
  margin: 0 0 1.25rem !important;
  font-size: 0.875rem !important;
  list-style: none !important;
  box-shadow: none !important;
}
/* Colour-code the top border per notice type */
body.woocommerce-checkout .woocommerce-error {
  border-top: 3px solid #dc2626 !important;
  color: #f87171 !important;
}
body.woocommerce-checkout .woocommerce-message {
  border-top: 3px solid #22c55e !important;
  color: #86efac !important;
}
body.woocommerce-checkout .woocommerce-info {
  border-top: 3px solid #3b82f6 !important;
  color: #93c5fd !important;
}
/* Kill the WooCommerce red-circle / icon ::before on notice and its list items */
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-error::after,
body.woocommerce-checkout .woocommerce-error li::before,
body.woocommerce-checkout .woocommerce-error li::after,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::after,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::after {
  display: none !important;
  content: none !important;
}
/* List items inside the notice */
body.woocommerce-checkout .woocommerce-error li,
body.woocommerce-checkout .woocommerce-message li,
body.woocommerce-checkout .woocommerce-info li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Links inside notices */
body.woocommerce-checkout .woocommerce-error a,
body.woocommerce-checkout .woocommerce-message a,
body.woocommerce-checkout .woocommerce-info a { color: inherit !important; text-decoration: underline; }

/* ── Right sidebar: Order Summary card ── */
.igy6-checkout__sidebar { position: sticky; top: 6rem; }
.igy6-checkout__order-card {
  background: #111827; border: 1px solid #374151; border-radius: 1rem; overflow: hidden;
}
.igy6-checkout__summary-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.9rem !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: #9ca3af !important; margin: 0 !important;
  padding: 1.1rem 1.5rem; border-bottom: 1px solid #1f2937;
}

/* Line items */
.igy6-checkout__items { padding: 0.25rem 0; border-bottom: 1px solid #1f2937; }
.igy6-checkout__item {
  display: flex; align-items: flex-start; gap: 0.75rem;
  padding: 0.875rem 1.5rem; border-bottom: 1px solid #0f172a;
}
.igy6-checkout__item:last-child { border-bottom: none; }
.igy6-checkout__item-thumb {
  width: 48px; height: 48px; object-fit: cover;
  border-radius: 0.375rem; background: #0f172a; flex-shrink: 0; opacity: 0.9;
  margin-top: 0.1rem;
}
.igy6-checkout__item-info { flex: 1; min-width: 0; }
.igy6-checkout__item-name { color: #ffffff; font-size: 0.8125rem; line-height: 1.3; margin: 0 0 0.375rem; }
.igy6-checkout__item-qty { color: #6b7280; font-size: 0.75rem; }
.igy6-checkout__item-total { color: #dc2626; font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; font-weight: 700; flex-shrink: 0; margin-top: 0.1rem; }

/* Seat chips */
.igy6-checkout__item-seats { display: flex; flex-direction: column; gap: 0.35rem; }
.igy6-checkout__item-seats-label {
  font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: #4b5563;
}
.igy6-checkout__item-seat-chips {
  display: flex; flex-wrap: wrap; gap: 0.25rem;
}
.igy6-checkout__item-seat-chip {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.5rem; height: 1.5rem; padding: 0 0.3rem;
  background: #1f2937; border: 1px solid #374151;
  border-radius: 0.25rem;
  color: #9ca3af; font-size: 0.7rem; font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* Inline coupon */
.igy6-checkout__coupon-wrap { padding: 0.875rem 1.5rem; border-bottom: 1px solid #1f2937; }
.igy6-checkout__coupon-form { display: flex; gap: 0.5rem; }
.igy6-checkout__coupon-input {
  flex: 1; background: #0f172a !important; border: 1px solid #374151 !important;
  border-radius: 0.375rem !important; color: #ffffff !important;
  padding: 0.5rem 0.75rem !important; font-size: 0.8rem !important;
}
.igy6-checkout__coupon-input::placeholder { color: #374151 !important; }
.igy6-checkout__coupon-input:focus { border-color: #dc2626 !important; outline: none !important; }
.igy6-checkout__coupon-btn {
  background: transparent !important; border: 1px solid #dc2626 !important;
  color: #dc2626 !important; border-radius: 0.375rem !important;
  padding: 0.5rem 0.875rem !important; font-size: 0.75rem !important;
  font-weight: 700 !important; text-transform: uppercase !important;
  letter-spacing: 0.06em !important; cursor: pointer; white-space: nowrap;
  transition: background 0.15s, color 0.15s !important;
}
.igy6-checkout__coupon-btn:hover { background: #dc2626 !important; color: #ffffff !important; }

/* Totals table */
.igy6-checkout__totals-table { width: 100%; border-collapse: collapse; border: none !important; }
.igy6-checkout__totals-table tr { border-bottom: 1px solid #1f2937; }
.igy6-checkout__totals-table tr:last-child { border-bottom: none; }
.igy6-checkout__totals-table th,
.igy6-checkout__totals-table td { padding: 0.75rem 1.5rem !important; font-size: 0.875rem; border: none !important; vertical-align: middle !important; }
.igy6-checkout__totals-table th { color: #9ca3af; font-weight: 400; text-align: left; }
.igy6-checkout__totals-table td { color: #d1d5db; text-align: right; }
.igy6-checkout__totals-table td .woocommerce-Price-amount { color: #d1d5db; }
.igy6-checkout__totals-table .cart-discount th,
.igy6-checkout__totals-table .cart-discount td { color: #4ade80 !important; }
.igy6-checkout__totals-table .order-total th,
.igy6-checkout__totals-table .order-total td { color: #ffffff; font-weight: 700; border-top: 1px solid #374151 !important; }
.igy6-checkout__totals-table .order-total td .woocommerce-Price-amount {
  color: #dc2626 !important; font-family: 'Barlow Condensed', sans-serif; font-size: 1.35rem;
}

/* ── Checkout shipping options — radio pills (mirrors cart) ── */
.igy6-checkout__totals-table tr.shipping th,
.igy6-checkout__totals-table tr.shipping td {
  vertical-align: top !important;
  padding-bottom: 0.5rem !important;
}
.igy6-checkout__totals-table tr.shipping td { text-align: left !important; }

.igy6-checkout__totals-table tr.shipping #shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.igy6-checkout__totals-table tr.shipping #shipping_method li {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none !important;
}

/* Hide native radio */
.igy6-checkout__totals-table tr.shipping #shipping_method li input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* Label = full clickable pill row */
.igy6-checkout__totals-table tr.shipping #shipping_method li label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.45rem 0.6rem;
  background: #0f172a;
  border: 1px solid #1f2937;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  color: #9ca3af;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
  line-height: 1.35;
}
.igy6-checkout__totals-table tr.shipping #shipping_method li label:hover {
  border-color: #374151;
  color: #d1d5db;
}

/* Custom radio dot via ::before */
.igy6-checkout__totals-table tr.shipping #shipping_method li label::before {
  content: '';
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  border: 2px solid #374151;
  background: transparent;
  transition: border-color 0.2s, background 0.2s;
}

/* Checked state */
.igy6-checkout__totals-table tr.shipping #shipping_method li input[type="radio"]:checked + label {
  border-color: #dc2626;
  background: rgba(220,38,38,0.08);
  color: #ffffff;
}
.igy6-checkout__totals-table tr.shipping #shipping_method li input[type="radio"]:checked + label::before {
  border-color: #dc2626;
  background: #dc2626;
  box-shadow: 0 0 0 2px rgba(220,38,38,0.25);
}

/* "Shipping to TX." destination line */
.igy6-checkout__totals-table tr.shipping .woocommerce-shipping-destination {
  font-size: 0.72rem;
  color: #4b5563;
  margin: 0.4rem 0 0;
}
.igy6-checkout__totals-table tr.shipping .woocommerce-shipping-destination strong { color: #6b7280; }

/* ==========================================================================
   WooCommerce Order Confirmation / Thank You Page  (.igy6-thankyou)
   ========================================================================== */

/* Hide parent theme page-title banner on order-received page */
body.woocommerce-order-received .dpa-page-header { display: none !important; }

.igy6-thankyou {
  max-width: 48rem;
  margin: 0 auto;
  padding: 4rem 0;
}

/* ── 1. Hero ── */
.igy6-thankyou__hero { text-align: center; margin-bottom: 3rem; }
.igy6-thankyou__check-ring {
  width: 6rem; height: 6rem; border-radius: 50%;
  background: rgba(34,197,94,0.08); border: 1px solid rgba(34,197,94,0.25);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.25rem;
}
.igy6-thankyou__check-ring--fail {
  background: rgba(220,38,38,0.1); border-color: rgba(220,38,38,0.3);
}
.igy6-thankyou__check-icon { font-size: 2.5rem; color: #22c55e; }
.igy6-thankyou__check-icon--fail { color: #dc2626; }
.igy6-thankyou__eyebrow {
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.12em; color: #22c55e; margin: 0 0 0.375rem;
}
.igy6-thankyou__eyebrow--fail { color: #dc2626; }
.igy6-thankyou__heading {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2rem, 5vw, 3rem); font-weight: 700;
  color: #ffffff; margin: 0 0 0.75rem; letter-spacing: -0.02em;
}
.igy6-thankyou__sub { color: #6b7280; font-size: 0.9375rem; max-width: 30rem; margin: 0 auto; }
.igy6-thankyou__sub strong { color: #d1d5db; }

/* ── 2. Meta bar ── */
.igy6-thankyou__meta-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin-bottom: 2rem;
}
.igy6-thankyou__meta-card {
  background: #111827; border: 1px solid #374151;
  border-radius: 0.75rem; padding: 1rem; text-align: center;
}
.igy6-thankyou__meta-label {
  font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; color: #4b5563; margin-bottom: 0.375rem;
}
.igy6-thankyou__meta-value {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.25rem; font-weight: 700; color: #ffffff;
}
.igy6-thankyou__meta-value--red { color: #dc2626 !important; }
.igy6-thankyou__meta-value--red .woocommerce-Price-amount { color: #dc2626; }

/* ── 3. Order Summary card ── */
.igy6-thankyou__summary-card {
  background: #111827; border: 1px solid #374151;
  border-radius: 1rem; padding: 1.5rem; margin-bottom: 1.5rem;
}
.igy6-thankyou__summary-heading {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.8rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; color: #6b7280; margin: 0 0 1.25rem;
}
.igy6-thankyou__items { border-bottom: 1px solid #1f2937; margin-bottom: 1rem; }
.igy6-thankyou__item {
  display: flex; align-items: flex-start; gap: 0.875rem;
  padding: 0.75rem 0; border-top: 1px solid #1f2937;
}
.igy6-thankyou__item:first-child { border-top: none; }
.igy6-thankyou__item-img {
  width: 48px; height: 48px; object-fit: cover;
  border-radius: 0.375rem; background: #0f172a; flex-shrink: 0;
}
.igy6-thankyou__item-info { flex: 1; min-width: 0; }
.igy6-thankyou__item-name { font-size: 0.875rem; font-weight: 600; color: #ffffff; margin-bottom: 0.25rem; }
.igy6-thankyou__item-qty { font-size: 0.75rem; color: #4b5563; }
.igy6-thankyou__item-price { font-size: 0.875rem; font-weight: 700; color: #dc2626; flex-shrink: 0; }
.igy6-thankyou__item-price .woocommerce-Price-amount { color: #dc2626; }

/* Totals */
.igy6-thankyou__totals { display: flex; flex-direction: column; gap: 0.5rem; }
.igy6-thankyou__total-row {
  display: flex; justify-content: space-between;
  font-size: 0.875rem; color: #6b7280;
}
.igy6-thankyou__total-row span:last-child { color: #d1d5db; }
.igy6-thankyou__free { color: #4ade80 !important; }
.igy6-thankyou__total-row--grand {
  border-top: 1px solid #374151; padding-top: 0.75rem; margin-top: 0.25rem;
  font-weight: 700; color: #ffffff;
}
.igy6-thankyou__grand-total {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.25rem; color: #dc2626 !important;
}
.igy6-thankyou__grand-total .woocommerce-Price-amount { color: #dc2626; }

/* ── 4. Address / Next Steps ── */
.igy6-thankyou__address-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1.5rem; margin-bottom: 2rem;
}
.igy6-thankyou__address-card {
  background: #111827; border: 1px solid #374151;
  border-radius: 0.75rem; padding: 1.25rem;
}
.igy6-thankyou__address-label {
  font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; color: #dc2626; margin: 0 0 0.75rem;
  padding-bottom: 0.625rem; border-bottom: 1px solid #1f2937;
}
.igy6-thankyou__address-body {
  color: #9ca3af; font-size: 0.875rem; line-height: 1.9; font-style: normal;
}
.igy6-thankyou__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.igy6-thankyou__steps li { display: flex; gap: 0.6rem; font-size: 0.875rem; color: #9ca3af; line-height: 1.5; }
.igy6-thankyou__step-num { font-weight: 700; color: #dc2626; flex-shrink: 0; }

/* ── 5. CTAs ── */
/* ── 5. CTAs ── */
.igy6-thankyou__ctas { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
/* Normalize both buttons to the same 3rem height as the outline variant */
.igy6-thankyou__ctas .igy6-btn-armor,
.igy6-thankyou__ctas .igy6-btn-armor-outline {
  height: 3rem !important;
  min-height: 3rem !important;
  font-size: 0.875rem !important;
  padding: 0 1.5rem !important;
}

/* ── Seat chips inside the order summary ── */
.igy6-thankyou__item-seats { margin-top: 0.375rem; display: flex; flex-direction: column; gap: 0.3rem; }
.igy6-thankyou__seats-label {
  font-size: 0.65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: #4b5563;
}
.igy6-thankyou__seat-chips { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.igy6-thankyou__seat-chip {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.5rem; height: 1.5rem; padding: 0 0.3rem;
  background: #1f2937; border: 1px solid #374151; border-radius: 0.25rem;
  color: #9ca3af; font-size: 0.7rem; font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* ── Failed / No-order states ── */
.igy6-thankyou__failed,
.igy6-thankyou__no-order { text-align: center; padding: 3rem 0; }
.igy6-thankyou__no-order-icon { display: block; font-size: 3.5rem; color: #374151; margin: 0 auto 1.25rem; }
.igy6-thankyou__no-order-heading {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem; font-weight: 700; color: #ffffff; margin: 0 0 0.75rem;
}
.igy6-thankyou__no-order-sub { color: #6b7280; margin: 0 0 2rem; }

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

/* ==========================================================================
   DPA Webinar — Reservation Bar brand overrides
   All values in reservation-bar.css are CSS custom properties; we only need
   to declare the ones that differ from the plugin defaults.
   ========================================================================== */
:root {
  /* Shell — align to site's darkest panel colour */
  --dpa-bar-bg:                #111827;
  --dpa-bar-panel-bg:          #0a0f1a;
  --dpa-bar-panel-border:      #1f2937;

  /* Seat pills */
  --dpa-bar-pill-bg:           #1f2937;
  --dpa-bar-item-bg:           #1f2937;
  /* First/most-urgent row: site red tint instead of blue */
  --dpa-bar-item-first-bg:     #3b0f0f;

  /* "Go to Checkout" — red CTA to match site */
  --dpa-bar-checkout-bg:       #dc2626;
  --dpa-bar-checkout-hover-bg: #b91c1c;

  /* Back-link: use a warm red-adjacent tint instead of blue */
  --dpa-bar-back-link-text:    #f87171;
}

/* Match site font family */
.dpa-res-bar {
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Checkout button: match site's .igy6-btn-armor CTA style */
.dpa-res-bar__checkout-btn {
  font-family: 'Barlow Condensed', 'Barlow', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-radius: 0.375rem !important;
  padding: 7px 18px !important;
  color: #ffffff !important;
  transition: background 0.2s, box-shadow 0.3s !important;
}
.dpa-res-bar__checkout-btn:hover {
  box-shadow: 0 0 16px 3px rgba(220, 38, 38, 0.45) !important;
}

/* ── Webinar legal notice (footer) ──────────────────────────────────────────── */
.igy6-footer__webinar-legal {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 1.25rem 2rem;
  text-align: center;
}
.igy6-footer__webinar-legal-text {
  font-size: 0.7rem;
  line-height: 1.6;
  color: #6b7280;
  max-width: 72ch;
  margin: 0 auto;
  letter-spacing: 0.01em;
}

/* ── Infinite Scroll Sentinel ───────────────────────────────────────────────── */
.igy6-infinite-sentinel {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4rem;
  margin-top: 2rem;
}
/* Spinner — shown while loading */
.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: #dc2626;
  border-radius: 50%;
  animation: igy6-spin 0.7s linear infinite;
}
@keyframes igy6-spin {
  to { transform: rotate(360deg); }
}
/* No more pages — hide completely */
.igy6-infinite-sentinel.is-done {
  display: none;
}
