/* =========================================================
   Champions Academy - Mobile responsive overlay
   Header layout stays IDENTICAL on desktop/tablet.
   Only content sections stack on smaller screens.
   Only true phones (<=720px) use hamburger nav.
   ========================================================= */

/* ==============================================
   HEADER: ALWAYS one horizontal bar, all screens
   Brand left | Nav center | CART + ENROLL right
   ============================================== */
body.champions-theme .site-header.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  min-height: 88px !important;
}

body.champions-theme .header-inner.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

body.champions-theme .header-inner > .e-con-inner,
body.champions-theme .site-header > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  gap: 24px;
}

body.champions-theme .header-cta.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

/* Nav menu widget stays inline, in the middle */
body.champions-theme .elementor-widget-ekit-nav-menu {
  flex: 1 1 auto;
}

/* ==============================================
   TABLET & DOWN (<=1024px) - content only
   ============================================== */
@media (max-width: 1024px) {

  /* Section paddings */
  body.champions-theme .section,
  body.champions-theme .elementor-element.e-con.section,
  body.champions-theme .elementor-element.e-con.section-alt {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }

  /* Hero scale */
  body.champions-theme .hero-title,
  body.champions-theme .champions-hero .elementor-heading-title {
    font-size: clamp(2.6rem, 7vw, 4.5rem) !important;
  }

  body.champions-theme .display-md,
  body.champions-theme .display-lg {
    font-size: clamp(2rem, 5vw, 2.75rem) !important;
  }

  /* Section-head stacks on tablet */
  body.champions-theme .section-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }

  /* Multi-column grids -> 2 columns on tablet */
  body.champions-theme .courses-grid,
  body.champions-theme .steps,
  body.champions-theme .pricing-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }

  /* Diet split becomes 1-col */
  body.champions-theme .split {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  body.champions-theme .split > .e-con {
    width: 100% !important;
  }

  /* FAQ split stacks */
  body.champions-theme .container.faq-layout {
    flex-direction: column !important;
  }

  body.champions-theme .container.faq-layout > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* CTA band single column */
  body.champions-theme .cta-band {
    grid-template-columns: 1fr !important;
    padding: 2rem !important;
    gap: 1.25rem !important;
  }

  /* Featured pricing card no scale */
  body.champions-theme .price-card.featured {
    transform: none !important;
  }

  /* Footer grid -> 2 columns */
  body.champions-theme .footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.75rem !important;
  }

  body.champions-theme .footer-grid > .e-con {
    width: 100% !important;
  }

  /* Tutor course archive: 2 col */
  body.champions-theme .tutor-course-list,
  body.champions-theme .tutor-course-list.tutor-grid,
  body.champions-theme .tutor-course-list.tutor-grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Woo shop: 2 col */
  body.champions-theme .woocommerce ul.products,
  body.champions-theme .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Contact page columns stack */
  body.champions-theme .wpforms-container {
    max-width: 100% !important;
  }
}

/* ==============================================
   TRUE MOBILE (<=720px) - stack everything + hamburger
   ============================================== */
@media (max-width: 720px) {

  /* HEADER stays horizontal, tighter spacing */
  body.champions-theme .site-header.e-con {
    min-height: 64px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.champions-theme .header-inner.e-con {
    gap: 8px !important;
  }

  body.champions-theme .header-inner > .e-con-inner {
    gap: 8px;
  }

  /* Shrink brand for phone */
  body.champions-theme .logo-text .elementor-heading-title,
  body.champions-theme .logo-text .elementor-heading-title a {
    font-size: 0.95rem !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap;
  }

  /* Compact CART + ENROLL, both stay visible in the bar */
  body.champions-theme .btn-header-cart .elementor-button {
    padding: 0.45rem 0.75rem !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em !important;
  }

  body.champions-theme .btn-header-primary .elementor-button {
    padding: 0.45rem 0.75rem !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.05em !important;
  }

  /* Show hamburger, hide inline nav */
  body.champions-theme .elementor-widget-ekit-nav-menu {
    flex: 0 0 auto;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-menu-hamburger,
  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-menu-toggler {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 10px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-menu-hamburger-icon {
    display: block !important;
    background: #fff !important;
    width: 18px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 2px;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-menu-container {
    background: rgba(7,7,10,0.98) !important;
    backdrop-filter: blur(20px);
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-nav-identity-panel {
    display: flex !important;
    visibility: visible !important;
    padding: 16px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    background: transparent !important;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-menu-close {
    color: #fff !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 999px !important;
    width: 40px !important;
    height: 40px !important;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-navbar-nav {
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-navbar-nav > li > a {
    font-family: "Bebas Neue", sans-serif !important;
    font-size: 1.6rem !important;
    letter-spacing: 0.04em !important;
    color: #fff !important;
    padding: 12px 16px !important;
    text-transform: uppercase !important;
    text-align: left !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-navbar-nav > li > a:hover,
  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-navbar-nav > li > a.active {
    color: #ffde02 !important;
  }

  body.champions-theme .elementor-widget-ekit-nav-menu .elementskit-menu-overlay {
    background: rgba(0,0,0,0.6) !important;
  }

  /* HERO */
  body.champions-theme .champions-hero {
    min-height: 88svh !important;
    padding: 90px 20px 35px !important;
  }

  body.champions-theme .champions-hero .hero-content {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 0 !important;
  }

  body.champions-theme .hero-title,
  body.champions-theme .champions-hero .elementor-heading-title {
    font-size: clamp(2rem, 9vw, 3.25rem) !important;
    line-height: 0.95 !important;
  }

  body.champions-theme .hero-lead,
  body.champions-theme .champions-hero .elementor-widget-text-editor {
    font-size: 0.95rem !important;
    max-width: 100% !important;
  }

  body.champions-theme .hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
  }

  body.champions-theme .hero-actions .elementor-button,
  body.champions-theme .hero-actions a.btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Sections */
  body.champions-theme .section,
  body.champions-theme .elementor-element.e-con.section,
  body.champions-theme .elementor-element.e-con.section-alt {
    padding-top: 2.75rem !important;
    padding-bottom: 2.75rem !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.champions-theme .display-md,
  body.champions-theme .display-lg {
    font-size: clamp(1.6rem, 8vw, 2.2rem) !important;
  }

  /* Everything -> 1 column */
  body.champions-theme .courses-grid,
  body.champions-theme .steps,
  body.champions-theme .pricing-grid,
  body.champions-theme .side-cards,
  body.champions-theme .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  body.champions-theme .marquee {
    padding: 12px 0 !important;
  }

  body.champions-theme .marquee-track {
    gap: 1.5rem !important;
  }

  body.champions-theme .marquee-track span {
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
  }

  /* Cards padding tighter */
  body.champions-theme .course-card .body,
  body.champions-theme .step,
  body.champions-theme .price-card,
  body.champions-theme .side-card {
    padding: 1.15rem !important;
  }

  body.champions-theme .offer-feature {
    padding: 1.25rem !important;
    min-height: auto !important;
  }

  body.champions-theme .course-card .foot {
    flex-wrap: wrap !important;
    gap: 0.75rem;
  }

  /* Footer wordmark */
  body.champions-theme .footer-mega,
  body.champions-theme .site-footer .footer-mega .elementor-heading-title {
    font-size: clamp(2rem, 13vw, 3.5rem) !important;
    letter-spacing: 0.01em;
    word-break: break-word;
  }

  body.champions-theme .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }

  /* Cart page items stack */
  body.champions-theme .tutor-cart-course-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1rem !important;
  }

  body.champions-theme .tutor-cart-course-thumb {
    flex: none !important;
    width: 100% !important;
    max-width: 200px;
  }

  body.champions-theme .tutor-cart-course-price-wrapper {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  body.champions-theme .tutor-col-lg-8,
  body.champions-theme .tutor-col-lg-4 {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin-bottom: 1.5rem;
  }

  body.champions-theme .tutor-cart-summery {
    padding: 1.25rem !important;
  }

  body.champions-theme .tutor-cart-course-title h5,
  body.champions-theme .tutor-cart-course-title h5 a {
    font-size: 1rem !important;
  }

  /* Checkout stacks */
  body.champions-theme .tutor-checkout-course-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem;
  }

  body.champions-theme .tutor-checkout-course-content .tutor-text-right {
    text-align: left !important;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }

  body.champions-theme .tutor-checkout-details-inner {
    padding: 1.25rem !important;
  }

  body.champions-theme .tutor-checkout-summary-item {
    font-size: 0.9rem !important;
  }

  body.champions-theme .tutor-checkout-grand-total {
    font-size: 1.6rem !important;
  }

  /* Tutor + Woo 1 col */
  body.champions-theme .tutor-course-list,
  body.champions-theme .tutor-course-list.tutor-grid,
  body.champions-theme .tutor-course-list.tutor-grid-3 {
    grid-template-columns: 1fr !important;
  }

  body.champions-theme .woocommerce ul.products,
  body.champions-theme .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }

  /* Woo single product stacks */
  body.champions-theme .woocommerce div.product div.images,
  body.champions-theme .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin: 0 0 1.5rem !important;
  }

  body.champions-theme .woocommerce table.shop_table {
    display: block !important;
    overflow-x: auto !important;
  }

  /* CTA band tighter */
  body.champions-theme .cta-band {
    padding: 1.5rem !important;
    border-radius: 18px !important;
  }

  body.champions-theme .cta-band h2 {
    font-size: 1.5rem !important;
  }

  body.champions-theme .price-card .amt {
    font-size: 2.5rem !important;
  }

  body.champions-theme .wpforms-container input,
  body.champions-theme .wpforms-container select,
  body.champions-theme .wpforms-container textarea {
    padding: 0.75rem 0.9rem !important;
    font-size: 0.95rem !important;
  }

  body.champions-theme .elementor-accordion .elementor-accordion-item .elementor-tab-title,
  body.champions-theme .tutor-accordion-item-header {
    padding: 0.85rem 0.9rem !important;
    font-size: 0.95rem !important;
  }
}

/* ==============================================
   TINY PHONE (<=380px) - final safeguards
   ============================================== */
@media (max-width: 380px) {

  body.champions-theme .logo-text .elementor-heading-title,
  body.champions-theme .logo-text .elementor-heading-title a {
    font-size: 0.85rem !important;
  }

  body.champions-theme .btn-header-primary .elementor-button,
  body.champions-theme .btn-header-cart .elementor-button {
    padding: 0.4rem 0.6rem !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.04em !important;
  }

  body.champions-theme .hero-title,
  body.champions-theme .champions-hero .elementor-heading-title {
    font-size: 1.85rem !important;
  }

  body.champions-theme .display-md {
    font-size: 1.4rem !important;
  }
}

/* Prevent horizontal scroll from any full-bleed element */
html, body { overflow-x: hidden; }
body.champions-theme { overflow-x: hidden; }
