@layer base {
  /* ==========================================================================
     AgniByte Market Mobile Base Styling
     ========================================================================== */
  @media (max-width: 1024px) {
    body {
      font-size: 15px !important;
    }
    
    /* Defensive flex/grid child overflow resets */
    div, section, footer, header, nav, form, ul, li, img, input, select, button {
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }
  }
}

@layer layout {
  /* ==========================================================================
     Mobile Header & Main Footer Layouts (max-width: 1024px)
     ========================================================================== */
  @media (max-width: 1024px) {
    /* Hide desktop header items */
    .agni-utility-bar,
    .agni-primary-header,
    .agni-category-nav {
      display: none !important;
    }

    /* Show mobile header */
    .agni-mobile-header {
      display: block !important;
      background: var(--agni-surface-card);
      border-bottom: 1px solid var(--agni-border-light);
      height: var(--agni-space-16);
      position: sticky;
      top: 0;
      z-index: calc(var(--agni-z-modal) - 10);
    }
    .admin-bar .agni-mobile-header {
      top: 46px; /* Offset for admin bar on mobile */
    }
    @media (min-width: 783px) {
      .admin-bar .agni-mobile-header {
        top: var(--agni-space-8);
      }
    }
    
    .agni-mobile-header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 100%;
      width: 100%;
      padding: 0 var(--agni-space-4);
      box-sizing: border-box;
    }
    .agni-mobile-header-inner .agni-brand {
      margin: 0 auto;
    }
    .agni-mobile-actions {
      display: flex;
      align-items: center;
      gap: 1.25rem;
      color: var(--agni-text-primary);
    }
    .agni-mobile-search-trigger {
      background: transparent;
      border: none;
      color: inherit;
      cursor: pointer;
      padding: 0;
      display: inline-flex;
      min-height: 44px;
      min-width: 44px;
      align-items: center;
      justify-content: center;
    }
    .agni-mobile-cart-btn {
      color: inherit;
      text-decoration: none;
      position: relative;
      display: inline-flex;
      min-height: 44px;
      min-width: 44px;
      align-items: center;
      justify-content: center;
    }
    .agni-mobile-cart-btn .agni-cart-count {
      position: absolute;
      top: -var(--agni-space-1);
      right: -var(--agni-space-2);
      font-size: 0.65rem;
      padding: 0.15rem 0.35rem;
    }
    .agni-mobile-menu-trigger {
      background: transparent;
      border: none;
      color: var(--agni-text-primary);
      cursor: pointer;
      padding: 0;
      display: inline-flex !important;
      min-height: 44px;
      min-width: 44px;
      align-items: center;
      justify-content: center;
    }

    /* Mobile Search Overlay Full Screen */
    .agni-mobile-search-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: var(--agni-surface-card);
      z-index: var(--agni-z-modal);
      padding: var(--agni-space-5);
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-4);
      visibility: hidden;
      opacity: 0;
      transform: translateY(-20px);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .agni-mobile-search-overlay.is-open {
      visibility: visible;
      opacity: 1;
      transform: translateY(0);
    }
    .agni-mobile-search-overlay__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid var(--agni-border-light);
      padding-bottom: var(--agni-space-3);
    }
    .agni-mobile-search-overlay__title {
      font-size: var(--agni-fs-md);
      font-weight: var(--agni-fw-bold);
      color: var(--agni-text-primary);
    }
    .agni-mobile-search-overlay__close {
      background: transparent;
      border: 1px solid var(--agni-border-light);
      color: var(--agni-text-primary);
      width: 44px;
      height: 44px;
      border-radius: var(--agni-radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .agni-mobile-search-overlay__body {
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-6);
      overflow-y: auto;
    }
    .agni-ds-search--mobile .agni-ds-search__field-wrapper {
      border-radius: var(--agni-radius-sm);
    }
    .agni-ds-search--mobile .agni-ds-search__input {
      height: var(--agni-space-12);
    }
    .agni-mobile-search-overlay__suggestions {
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-5);
    }
    .agni-mobile-search-overlay__section {
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-2);
    }
    .agni-mobile-search-overlay__section-title {
      font-size: var(--agni-fs-xs);
      font-weight: var(--agni-fw-extrabold);
      color: var(--agni-text-primary);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }
    .agni-mobile-search-overlay__tags {
      display: flex;
      flex-wrap: wrap;
      gap: var(--agni-space-2);
    }
    .agni-mobile-search-overlay__tag {
      font-size: var(--agni-fs-xs);
      background-color: var(--agni-surface-light);
      color: var(--agni-text-secondary);
      padding: var(--agni-space-2) var(--agni-space-3);
      border-radius: var(--agni-radius-xs);
      text-decoration: none;
      border: 1px solid var(--agni-border-light);
    }
    .agni-mobile-search-overlay__list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-2);
    }
    .agni-mobile-search-overlay__list a {
      text-decoration: none;
      color: var(--agni-text-secondary);
      font-size: var(--agni-fs-sm);
      display: block;
      padding: var(--agni-space-2) 0;
      border-bottom: 1px solid var(--agni-divider);
    }

    /* Mobile Drawer Right-Side Slide & Accordion */
    .agni-mobile-drawer-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(1, 33, 23, 0.6);
      backdrop-filter: blur(4px);
      z-index: var(--agni-z-toast);
      visibility: hidden;
      opacity: 0;
      transition: opacity var(--agni-duration-modal) var(--agni-ease), visibility var(--agni-duration-modal) var(--agni-ease);
    }
    .agni-mobile-drawer-backdrop.is-open {
      visibility: visible;
      opacity: 1;
    }

    .agni-mobile-drawer {
      position: fixed;
      top: 0;
      right: 0;
      width: 320px;
      max-width: 85%;
      height: 100%;
      background: var(--agni-navy);
      z-index: var(--agni-z-modal);
      display: flex;
      flex-direction: column;
      box-shadow: -4px 0 24px rgba(0,0,0,0.3);
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      transform: translateX(100%);
      transition: transform var(--agni-duration-modal) var(--agni-ease), opacity 0.3s ease, visibility 0.3s ease;
    }
    .agni-mobile-drawer.is-open {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
      transform: translateX(0);
    }

    .agni-mobile-drawer__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: var(--agni-space-5);
      border-bottom: 1px solid rgba(255,255,255,0.08);
      flex-shrink: 0;
    }
    .agni-mobile-drawer__body {
      flex-grow: 1;
      overflow-y: auto;
      padding: var(--agni-space-5);
    }
    .agni-mobile-drawer__footer {
      padding: var(--agni-space-5);
      border-top: 1px solid rgba(255,255,255,0.08);
      flex-shrink: 0;
    }
    .agni-drawer-close {
      background: transparent;
      border: 1px solid rgba(255,255,255,0.2);
      color: var(--agni-white);
      width: 44px;
      height: 44px;
      border-radius: var(--agni-radius-sm);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }

    /* Accordion Menu Sizing */
    .agni-mobile-drawer__menu-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-1);
    }
    .agni-mobile-drawer__link {
      display: block;
      color: var(--agni-slate-400);
      text-decoration: none;
      font-size: var(--agni-fs-md);
      font-weight: var(--agni-fw-bold);
      padding: var(--agni-space-3) 0;
      transition: var(--agni-transition);
    }
    .agni-mobile-drawer__link:hover {
      color: var(--agni-white);
    }
    .agni-mobile-drawer__link--highlight {
      color: var(--agni-fire-orange);
    }
    
    .agni-mobile-drawer__accordion-item {
      display: flex;
      flex-direction: column;
    }
    .agni-mobile-drawer__accordion-trigger {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      background: transparent;
      border: none;
      color: var(--agni-slate-400);
      font-size: var(--agni-fs-md);
      font-weight: var(--agni-fw-bold);
      padding: var(--agni-space-3) 0;
      cursor: pointer;
      text-align: left;
      transition: var(--agni-transition);
    }
    .agni-mobile-drawer__accordion-trigger:hover {
      color: var(--agni-white);
    }
    .agni-mobile-drawer__chevron {
      transition: transform 0.25s ease;
      color: var(--agni-text-muted);
    }
    .agni-mobile-drawer__accordion-trigger[aria-expanded="true"] .agni-mobile-drawer__chevron {
      transform: rotate(180deg);
      color: var(--agni-white);
    }
    .agni-mobile-drawer__accordion-trigger[aria-expanded="true"] {
      color: var(--agni-white);
    }
    
    .agni-mobile-drawer__submenu {
      list-style: none;
      padding: 0 0 0 var(--agni-space-4);
      margin: 0;
      max-height: 0;
      overflow: hidden;
      transition: max-height var(--agni-duration-modal) var(--agni-ease);
      display: flex;
      flex-direction: column;
      gap: var(--agni-space-1);
    }
    .agni-mobile-drawer__submenu a {
      display: block;
      color: var(--agni-text-muted);
      text-decoration: none;
      font-size: var(--agni-fs-sm);
      padding: var(--agni-space-2) 0;
      transition: var(--agni-transition);
    }
    .agni-mobile-drawer__submenu a:hover {
      color: var(--agni-white);
    }

    .agni-container {
      width: 100% !important;
      max-width: 100% !important;
      padding-left: var(--agni-space-4) !important;
      padding-right: var(--agni-space-4) !important;
      box-sizing: border-box !important;
    }
  }

  @media (max-width: 767px) {
    /* Footer Columns stack and spacing */
    .agni-footer-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: var(--agni-space-6) !important;
      width: 100% !important;
      padding: 0 var(--agni-space-4) !important;
      box-sizing: border-box !important;
    }
    .agni-footer-col {
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
    }
    .agni-footer-col h4 {
      font-size: 17px !important;
      font-weight: 700 !important;
      margin-bottom: 0.75rem !important;
      color: var(--agni-white) !important;
    }
    .agni-footer-col ul {
      display: flex !important;
      flex-direction: column !important;
      gap: var(--agni-space-2) !important;
      padding: 0 !important;
      margin: 0 !important;
      list-style: none !important;
    }
    .agni-footer-link {
      font-size: 14px !important;
      line-height: 1.55 !important;
    }
    .agni-footer-bottom {
      flex-direction: column !important;
      gap: 1rem !important;
      text-align: center !important;
      padding: 1.5rem var(--agni-space-4) !important;
      font-size: 13px !important;
    }
  }

  @media (max-width: 360px) {
    .agni-container {
      padding-left: var(--agni-space-3) !important;
      padding-right: var(--agni-space-3) !important;
    }
    .agni-mobile-search-form {
      grid-template-columns: minmax(0, 1fr) 82px !important;
    }
  }

  /* Desktop reset for mobile-only drawers and overlays */
  @media (min-width: 1025px) {
    .agni-mobile-drawer,
    .agni-mobile-drawer-backdrop,
    .agni-mobile-search-overlay,
    .agni-mobile-menu-trigger,
    .agni-mobile-search-trigger {
      display: none !important;
    }
  }
}

@layer components {
  /* ==========================================================================
     Homepage & General Components overrides
     ========================================================================== */
  @media (max-width: 1024px) {
    .agni-section {
      padding: var(--agni-space-12) 0 !important;
    }
  }

  @media (max-width: 767px) {
    /* Hero mobile composition */
    .agni-hero-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 2rem !important;
      text-align: center !important;
      padding: 2.5rem var(--agni-space-4) !important;
      height: auto !important;
      min-height: auto !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    .agni-hero-content {
      width: 100% !important;
      max-width: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      min-width: 0 !important;
    }
    .agni-hero-title {
      font-size: clamp(31px, 9vw, 38px) !important;
      line-height: 1.12 !important;
      font-weight: 800 !important;
    }
    .agni-hero-desc {
      font-size: 15px !important;
      line-height: 1.55 !important;
      margin: 1rem auto 1.5rem auto !important;
      max-width: 100% !important;
      color: var(--wp--preset--color--text-on-dark, var(--agni-slate-400)) !important;
    }
    .agni-hero-search {
      width: 100% !important;
      max-width: none !important;
      margin: var(--agni-space-5) 0 0 !important;
    }
    .agni-hero-search__field {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) 92px !important;
      min-height: 48px !important;
      width: 100% !important;
      box-shadow: 0 4px 20px -2px rgba(0,0,0,0.3) !important;
    }
    .agni-hero-search__input {
      height: var(--agni-space-12) !important;
      font-size: 14px !important;
      padding-left: var(--agni-space-10) !important;
    }
    .agni-hero-search__submit {
      width: 92px !important;
      min-width: 92px !important;
      height: var(--agni-space-12) !important;
      font-size: 14px !important;
      padding: 0 10px !important;
    }
    .agni-hero-search__meta {
      position: static !important;
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: center !important;
      gap: var(--agni-space-2) !important;
      width: 100% !important;
      margin-top: var(--agni-space-3) !important;
    }
    .agni-hero-search__tags {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      gap: var(--agni-space-2) !important;
    }
    .agni-hero-search__tag {
      min-height: 30px !important;
      padding: 0 10px !important;
      font-size: 12px !important;
    }
    .agni-hero-ctas {
      display: flex !important;
      flex-direction: column !important;
      gap: 1rem !important;
      width: 100% !important;
      margin-top: 1.5rem !important;
    }
    .agni-hero-ctas .agni-btn {
      width: 100% !important;
      min-height: 46px !important;
      justify-content: center !important;
    }
    .agni-hero-visual {
      order: 2 !important;
      width: 100% !important;
      display: block !important;
    }
    .agni-hero-visual img {
      max-width: 100% !important;
      height: auto !important;
    }

    /* Category Grid mobile 2 columns down to 330px */
    .agni-category-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: var(--agni-space-4) !important;
      width: 100% !important;
    }
    .agni-category-card {
      padding: 14px var(--agni-space-4) !important;
      min-height: 128px !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: flex-start !important;
      background: var(--agni-surface-card) !important;
      border: 1px solid var(--agni-border-light) !important;
      border-radius: var(--agni-radius-md) !important;
      text-decoration: none !important;
      width: 100% !important;
      height: 100% !important;
      box-sizing: border-box !important;
      gap: var(--agni-space-2) !important;
      text-align: center !important;
    }
    .agni-category-icon {
      width: 38px !important;
      height: 38px !important;
      border-radius: 50% !important;
      background: rgba(16, 158, 91, 0.1) !important;
      color: var(--agni-electric-indigo) !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      margin: 0 !important;
      flex-shrink: 0 !important;
    }
    .agni-category-icon svg {
      width: var(--agni-space-5) !important;
      height: var(--agni-space-5) !important;
    }
    .agni-category-title {
      font-size: 15px !important;
      font-weight: 700 !important;
      color: var(--agni-text-primary) !important;
      margin: 0 !important;
    }
    .agni-category-desc {
      font-size: 13px !important;
      line-height: 1.45 !important;
      color: var(--agni-text-secondary) !important;
      margin: 0 !important;
      display: -webkit-box !important;
      -webkit-line-clamp: 3 !important;
      -webkit-box-orient: vertical !important;
      overflow: hidden !important;
      max-height: 4.35em !important;
    }

    /* Featured Products Mobile 2 columns */
    .agni-products-grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: var(--agni-space-4) !important;
      width: 100% !important;
    }
    .agni-products-grid .agni-product-card {
      background: var(--agni-surface-card) !important;
      border: 1px solid var(--agni-border-light) !important;
      border-radius: var(--agni-radius-lg) !important;
      overflow: hidden !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: space-between !important;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      box-sizing: border-box !important;
      padding: 0 !important;
    }
    .agni-products-grid .agni-product-thumb {
      width: 100% !important;
      margin: 0 !important;
      aspect-ratio: 16 / 10 !important;
      background: var(--agni-surface-light) !important;
      position: relative !important;
      overflow: hidden !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-shrink: 0 !important;
    }
    .agni-products-grid .agni-product-thumb img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      display: block !important;
    }
    .agni-products-grid .agni-product-thumb .agni-sale-badge {
      position: absolute !important;
      top: var(--agni-space-2) !important;
      right: var(--agni-space-2) !important;
      left: auto !important;
      margin: 0 !important;
      z-index: 10 !important;
    }
    .agni-products-grid .agni-product-body {
      padding: var(--agni-space-4) !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: space-between !important;
      flex-grow: 1 !important;
      gap: var(--agni-space-3) !important;
    }
    .agni-products-grid .agni-product-meta-cat {
      font-size: 12px !important;
      color: var(--agni-text-muted) !important;
      margin-bottom: var(--agni-space-1) !important;
      font-weight: 600 !important;
    }
    .agni-products-grid .agni-product-card-title {
      font-size: 17px !important;
      line-height: 1.35 !important;
      font-weight: 700 !important;
      margin: 0 0 var(--agni-space-1) 0 !important;
      display: -webkit-box !important;
      -webkit-line-clamp: 2 !important;
      -webkit-box-orient: vertical !important;
      overflow: hidden !important;
      height: auto !important; /* Content-driven height! */
    }
    .agni-products-grid .agni-product-card-title a {
      color: var(--agni-text-primary) !important;
      text-decoration: none !important;
    }
    .agni-products-grid .agni-product-price-row {
      margin-bottom: var(--agni-space-1) !important;
    }
    .agni-products-grid .agni-product-price {
      font-size: 17px !important;
      font-weight: 700 !important;
      color: var(--agni-fire-orange) !important;
    }
    .agni-products-grid .agni-product-card-actions {
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      gap: 0.25rem !important;
      margin-top: var(--agni-space-2) !important;
      padding-top: var(--agni-space-2) !important;
      border-top: 1px solid var(--agni-border-light) !important;
    }
    .agni-products-grid .agni-btn-addtocart {
      order: 1 !important;
      display: flex !important;
      width: 100% !important;
      min-height: 40px !important;
      align-items: center !important;
      justify-content: center !important;
      background: var(--green-600) !important;
      color: var(--agni-white) !important;
      border-radius: var(--agni-radius-sm) !important;
      font-weight: 700 !important;
      text-decoration: none !important;
      font-size: 13px !important;
      padding: 0 !important;
    }
    .agni-products-grid .agni-btn-details {
      order: 2 !important;
      display: flex !important;
      background: transparent !important;
      border: none !important;
      color: var(--green-600) !important;
      font-size: 11px !important;
      font-weight: 700 !important;
      padding: 0.25rem 0 !important;
      min-height: auto !important;
      justify-content: center !important;
      text-decoration: underline !important;
      align-items: center !important;
    }

    /* View All Products Wrapper */
    .agni-view-all-wrapper {
      width: 100% !important;
      display: flex !important;
      justify-content: center !important;
      margin-top: 2rem !important;
    }
    .agni-btn-view-all {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: var(--agni-charcoal) !important;
      color: var(--agni-white) !important;
      border: 1px solid var(--agni-border-light) !important;
      border-radius: var(--agni-radius-sm) !important;
      padding: var(--agni-space-3) var(--agni-space-6) !important;
      font-weight: 700 !important;
      font-size: 15px !important;
      text-decoration: none !important;
      transition: var(--agni-transition) !important;
      min-height: 44px !important;
    }
    .agni-btn-view-all:hover {
      background: var(--agni-fire-orange) !important;
      border-color: var(--agni-fire-orange) !important;
    }

    /* Recently Updated Products Mobile Stacking */
    .agni-updates-list {
      padding: 1.25rem !important;
      gap: 1.25rem !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
    }
    .agni-updates-row {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: var(--agni-space-3) !important;
      width: 100% !important;
      padding-bottom: 1.25rem !important;
      border-bottom: 1px solid var(--agni-border-light) !important;
      box-sizing: border-box !important;
    }
    .agni-updates-list > .agni-updates-row:last-child {
      border-bottom: none !important;
      padding-bottom: 0 !important;
    }
    .agni-updates-info {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: var(--agni-space-3) !important;
      width: 100% !important;
    }
    .agni-updates-version {
      background: rgba(16, 158, 91, 0.1) !important;
      color: var(--agni-electric-indigo) !important;
      font-size: 13.5px !important;
      padding: var(--agni-space-1) var(--agni-space-2) !important;
      border-radius: var(--agni-radius-xs) !important;
      font-weight: 700 !important;
      flex-shrink: 0 !important;
    }
    .agni-updates-text {
      flex-grow: 1 !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 2px !important;
    }
    .agni-updates-title {
      font-size: 15px !important;
      font-weight: 700 !important;
      margin: 0 !important;
      line-height: 1.3 !important;
    }
    .agni-updates-meta {
      font-size: 13.5px !important;
      color: var(--agni-text-muted) !important;
      line-height: 1.4 !important;
    }
    .agni-btn-update {
      width: 100% !important;
      min-height: 40px !important;
      height: var(--agni-space-10) !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-size: 13.5px !important;
      font-weight: 700 !important;
      border-radius: var(--agni-radius-sm) !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    /* Membership plans card full-width stack */
    .agni-plans-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 1.5rem !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    .agni-plan-card {
      width: 100% !important;
      box-sizing: border-box !important;
    }

    /* Testimonials, FAQ & newsletter stack */
    .agni-testimonials-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 1.5rem !important;
      width: 100% !important;
    }
    .agni-service-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 1rem !important;
      width: 100% !important;
    }
    .agni-promo-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 1.5rem !important;
      width: 100% !important;
    }
  }

  @media (max-width: 390px) {
    .agni-hero-visual {
      display: block !important;
      margin: 1.5rem auto 0 auto !important;
      max-width: 220px !important;
      order: 2 !important;
    }
    .agni-hero-visual img {
      max-width: 100% !important;
      height: auto !important;
    }
  }

  @media (max-width: 360px) {
    .agni-hero-search__field {
      grid-template-columns: minmax(0, 1fr) 84px !important;
    }
    .agni-hero-search__submit {
      width: 84px !important;
      min-width: 84px !important;
      font-size: 13px !important;
      padding: 0 var(--agni-space-2) !important;
    }
  }

  @media (max-width: 380px) {
    .agni-products-grid {
      grid-template-columns: 1fr !important;
    }
  }

  @media (max-width: 330px) {
    .agni-category-grid {
      grid-template-columns: 1fr !important;
    }
  }
}

@layer woocommerce {
  /* ==========================================================================
     WooCommerce Catalog & Single Product Media Queries Override
     ========================================================================== */
  @media (max-width: 1024px) {
    /* Catalog Columns overrides */
    .agni-catalog-page .wp-block-woocommerce-product-collection ul,
    .agni-catalog-page .wp-block-woocommerce-product-collection .wc-block-product-layout,
    body.tax-product_cat .wp-block-woocommerce-product-collection ul,
    body.tax-product_cat .wp-block-woocommerce-product-collection .wc-block-product-layout {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: var(--agni-space-4) !important;
    }
  }

  @media (max-width: 767px) {
    /* Shop dynamic page title */
    .agni-catalog-header {
      padding: 1.5rem 0 !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    .agni-catalog-header h1 {
      font-size: clamp(30px, 9vw, 38px) !important;
      line-height: 1.15 !important;
      width: 100% !important;
    }
    .agni-catalog-header p {
      font-size: 15px !important;
      line-height: 1.55 !important;
    }
    
    /* Sorting and count row */
    .agni-catalog-toolbar {
      margin-bottom: var(--agni-space-6) !important;
    }
    .agni-catalog-toolbar .wp-block-group {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      width: 100% !important;
      gap: var(--agni-space-3) !important;
    }
    .agni-catalog-toolbar .wc-block-product-results-count {
      text-align: left !important;
      width: 100% !important;
      font-size: 14.5px !important;
      color: var(--agni-text-muted) !important;
      margin: 0 !important;
    }
    .woocommerce-ordering,
    .wc-block-product-sort {
      width: 100% !important;
      margin: 0 !important;
    }
    .woocommerce-ordering select,
    .wc-block-product-sort select,
    .agni-catalog-toolbar select {
      width: 100% !important;
      height: 46px !important;
      border-radius: var(--agni-radius-sm) !important;
      border: 1px solid var(--agni-border-light) !important;
      padding: 0 var(--agni-space-3) !important;
      font-size: 14px !important;
      color: var(--agni-text-primary) !important;
      background-color: var(--agni-surface-card) !important;
      appearance: none !important;
      background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") !important;
      background-repeat: no-repeat !important;
      background-position: right 12px center !important;
      background-size: 16px !important;
      outline: none !important;
      cursor: pointer !important;
    }
    .woocommerce-ordering select:focus,
    .wc-block-product-sort select:focus,
    .agni-catalog-toolbar select:focus {
      border-color: var(--agni-emerald, var(--agni-accent)) !important;
      box-shadow: 0 0 0 2px rgba(16, 158, 91, 0.15) !important;
    }

    /* 1 Column Shop Catalog grid on mobile */
    .agni-catalog-page .wp-block-woocommerce-product-collection ul,
    .agni-catalog-page .wp-block-woocommerce-product-collection .wc-block-product-layout,
    body.tax-product_cat .wp-block-woocommerce-product-collection ul,
    body.tax-product_cat .wp-block-woocommerce-product-collection .wc-block-product-layout {
      grid-template-columns: 1fr !important;
      gap: var(--agni-space-5) !important;
    }

    /* Product Card on Shop page */
    .agni-catalog-page .wc-block-product,
    .agni-catalog-page li.product,
    .agni-catalog-page .wp-block-post,
    body.tax-product_cat .wc-block-product,
    body.tax-product_cat li.product,
    body.tax-product_cat .wp-block-post {
      padding: 0 !important;
      border-radius: var(--agni-radius-md) !important;
      background: var(--agni-surface-card) !important;
      border: 1px solid var(--agni-border-light) !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: space-between !important;
      width: 100% !important;
      height: auto !important;
      box-sizing: border-box !important;
      overflow: hidden !important;
      margin-bottom: var(--agni-space-5) !important;
    }
    .wc-block-components-product-image,
    .wp-block-woocommerce-product-image {
      margin-bottom: 0 !important;
      border-radius: 14px 14px 0 0 !important;
      width: 100% !important;
      aspect-ratio: 16 / 10 !important;
      background: var(--agni-surface-light) !important;
      overflow: hidden !important;
      position: relative !important;
      flex-shrink: 0 !important;
    }
    .wc-block-components-product-image img,
    .wp-block-woocommerce-product-image img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      display: block !important;
    }

    /* Contain Sale Badge inside Product Artwork Wrapper */
    .wp-block-woocommerce-product-image .wp-block-woocommerce-product-sale-badge,
    .wc-block-components-product-image .wp-block-woocommerce-product-sale-badge,
    .wp-block-woocommerce-product-image .wc-block-components-product-sale-badge,
    .wc-block-components-product-image .wc-block-components-product-sale-badge,
    .agni-product-thumb .agni-sale-badge {
      position: absolute !important;
      top: var(--agni-space-2) !important;
      right: var(--agni-space-2) !important;
      left: auto !important;
      margin: 0 !important;
      z-index: 10 !important;
      float: none !important;
      display: inline-flex !important;
    }
    .wc-block-components-product-sale-badge {
      float: none !important;
      margin: 0 !important;
      position: static !important;
      border: none !important;
    }

    /* Card Padding inside Shop grid */
    .agni-catalog-page .wc-block-product h3.wp-block-post-title,
    .agni-catalog-page .wc-block-product h2.wp-block-post-title,
    .agni-catalog-page .wc-block-product .wp-block-woocommerce-product-price,
    .agni-catalog-page .wc-block-product .wp-block-woocommerce-product-button,
    body.tax-product_cat .wc-block-product h3.wp-block-post-title,
    body.tax-product_cat .wc-block-product h2.wp-block-post-title,
    body.tax-product_cat .wc-block-product .wp-block-woocommerce-product-price,
    body.tax-product_cat .wc-block-product .wp-block-woocommerce-product-button {
      padding-left: var(--agni-space-3) !important;
      padding-right: var(--agni-space-3) !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
    .agni-catalog-page .wc-block-product h3.wp-block-post-title,
    .agni-catalog-page .wc-block-product h2.wp-block-post-title,
    body.tax-product_cat .wc-block-product h3.wp-block-post-title,
    body.tax-product_cat .wc-block-product h2.wp-block-post-title {
      font-size: 17px !important;
      line-height: 1.35 !important;
      font-weight: 700 !important;
      margin: var(--agni-space-3) 0 6px 0 !important;
      display: -webkit-box !important;
      -webkit-line-clamp: 2 !important;
      -webkit-box-orient: vertical !important;
      overflow: hidden !important;
      height: auto !important;
      color: var(--agni-text-primary) !important;
    }
    .agni-catalog-page .wc-block-product .wp-block-woocommerce-product-price,
    body.tax-product_cat .wc-block-product .wp-block-woocommerce-product-price {
      font-size: 16px !important;
      font-weight: 700 !important;
      color: var(--agni-fire-orange) !important;
      margin-bottom: var(--agni-space-3) !important;
      display: flex !important;
      align-items: baseline !important;
      gap: var(--agni-space-2) !important;
    }
    .agni-catalog-page .wc-block-product .wp-block-woocommerce-product-button,
    body.tax-product_cat .wc-block-product .wp-block-woocommerce-product-button {
      padding-bottom: var(--agni-space-3) !important;
      margin-top: auto !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    .agni-catalog-page .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
    .agni-catalog-page .wc-block-product .wc-block-components-product-button__button,
    body.tax-product_cat .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
    body.tax-product_cat .wc-block-product .wc-block-components-product-button__button {
      display: flex !important;
      width: 100% !important;
      min-height: 44px !important;
      align-items: center !important;
      justify-content: center !important;
      background: var(--agni-fire-orange) !important;
      color: var(--agni-white) !important;
      border-radius: var(--agni-radius-sm) !important;
      font-weight: 700 !important;
      font-size: 14.5px !important;
      text-decoration: none !important;
      padding: 0 !important;
    }

    /* ==========================================
       Single Product Mobile Overrides
       ========================================== */
    body.single-product .agni-single-product-main {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: var(--agni-space-6) !important;
      width: 100% !important;
    }
    body.single-product .agni-single-product-gallery,
    body.single-product .agni-single-product-summary {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      float: none !important;
      position: static !important;
    }
    body.single-product .agni-single-product-gallery {
      aspect-ratio: 16 / 10 !important;
      max-height: 350px !important;
    }
    body.single-product .agni-single-product-summary h1.wp-block-post-title {
      font-size: clamp(30px, 9vw, 38px) !important;
      line-height: 1.15 !important;
    }
    body.single-product .agni-single-product-summary .price,
    body.single-product .agni-single-product-summary .wc-block-components-product-price {
      font-size: 26px !important;
    }

    /* Single Purchase Row Grid Down to 360px */
    body.single-product .agni-single-product-summary form.cart {
      display: grid !important;
      grid-template-columns: 72px minmax(0, 1fr) !important;
      gap: var(--agni-space-3) !important;
      width: 100% !important;
      align-items: center !important;
    }
    body.single-product .agni-single-product-summary form.cart .quantity {
      width: 72px !important;
      display: block !important;
      margin: 0 !important;
      flex-shrink: 0 !important;
    }
    body.single-product .agni-single-product-summary form.cart .quantity .qty {
      width: 100% !important;
      height: var(--agni-space-12) !important;
      text-align: center !important;
      border: 1px solid var(--agni-border-light) !important;
      border-radius: var(--agni-radius-sm) !important;
      font-size: 15px !important;
      color: var(--agni-text-primary) !important;
      background: var(--agni-surface-card) !important;
      padding: 0 !important;
    }
    body.single-product .agni-single-product-summary form.cart .single_add_to_cart_button {
      height: var(--agni-space-12) !important;
      min-height: 48px !important;
      width: 100% !important;
      background: var(--agni-fire-orange) !important;
      color: var(--agni-white) !important;
      border-radius: var(--agni-radius-sm) !important;
      font-weight: 700 !important;
      font-size: 15px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    /* Support Panel / Account access panel */
    body.single-product .agni-product-support-panel {
      width: 100% !important;
      max-width: none !important;
      margin-top: var(--agni-space-5) !important;
      padding: var(--agni-space-4) !important;
      border-radius: var(--agni-radius-md) !important;
      box-sizing: border-box !important;
      background: var(--wp--preset--color--surface-light) !important;
      border: 1px solid var(--agni-border-light) !important;
    }
    body.single-product .agni-product-support-panel h4 {
      font-size: 16px !important;
      font-weight: 700 !important;
      margin: 0 0 10px 0 !important;
    }
    body.single-product .agni-product-support-panel p {
      font-size: 14px !important;
      line-height: 1.55 !important;
      margin: 0 0 var(--agni-space-3) 0 !important;
    }
    body.single-product .agni-product-support-panel ul {
      font-size: 14px !important;
      line-height: 1.55 !important;
      padding-left: 1.25rem !important;
      margin: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      gap: var(--agni-space-2) !important;
      list-style-type: disc !important;
    }
    body.single-product .agni-product-support-panel ul li {
      margin: 0 !important;
      padding: 0 !important;
      display: list-item !important;
    }

    /* Product Metadata Stacked */
    body.single-product .wp-block-woocommerce-product-meta,
    body.single-product .product_meta {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 0 !important;
      width: 100% !important;
      padding-top: 1rem !important;
      border-top: 1px solid var(--agni-border-light) !important;
      box-sizing: border-box !important;
    }
    body.single-product .wp-block-woocommerce-product-meta .wp-block-group,
    body.single-product .product_meta .wp-block-group {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 0 !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }
    body.single-product .wp-block-woocommerce-product-meta .wp-block-group > div,
    body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms,
    body.single-product .product_meta > div,
    body.single-product .product_meta .wp-block-post-terms {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: var(--agni-space-2) !important;
      width: 100% !important;
      padding: var(--agni-space-3) 0 !important;
      border-top: 1px solid var(--agni-border-light) !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      float: none !important;
    }
    body.single-product .wp-block-woocommerce-product-meta .wp-block-group > div:first-child,
    body.single-product .product_meta > div:first-child,
    body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms:first-child,
    body.single-product .product_meta .wp-block-post-terms:first-child {
      border-top: none !important;
    }
    body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms__prefix,
    body.single-product .product_meta .wp-block-post-terms__prefix {
      font-size: 12px !important;
      font-weight: 500 !important;
      text-transform: uppercase !important;
      color: var(--agni-text-muted) !important;
      display: block !important;
      margin: 0 !important;
      padding: 0 !important;
    }
    body.single-product .wp-block-woocommerce-product-meta .sku,
    body.single-product .product_meta .sku,
    body.single-product .wp-block-woocommerce-product-meta a,
    body.single-product .product_meta a {
      font-size: 14px !important;
      font-weight: 600 !important;
      color: var(--agni-electric-indigo) !important;
      display: inline-block !important;
      white-space: normal !important;
      word-break: break-word !important;
      text-decoration: none !important;
    }
    body.single-product .wp-block-woocommerce-product-meta a:visited,
    body.single-product .product_meta a:visited {
      color: var(--agni-electric-indigo) !important;
    }
    body.single-product .wp-block-woocommerce-product-meta a:hover,
    body.single-product .product_meta a:hover {
      color: var(--agni-fire-orange) !important;
      text-decoration: underline !important;
    }

    /* Product Details Tab Frame */
    body.single-product .agni-product-details {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      padding: 18px var(--agni-space-5) !important;
      border-radius: var(--agni-radius-md) !important;
      box-sizing: border-box !important;
    }
    body.single-product .agni-product-details p,
    body.single-product .agni-product-details .woocommerce-Tabs-panel {
      font-size: 15px !important;
      line-height: 1.6 !important;
    }
    body.single-product .agni-product-details ul.tabs {
      display: flex !important;
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch !important;
      border-bottom: 2px solid var(--agni-border-light) !important;
      gap: 1.5rem !important;
      padding: 0 0 var(--agni-space-2) 0 !important;
      margin: 0 0 1.5rem 0 !important;
      list-style: none !important;
      border-left: none !important;
    }
    body.single-product .agni-product-details ul.tabs li {
      font-size: 14px !important;
      white-space: nowrap !important;
      flex-shrink: 0 !important;
      background: transparent !important;
      border: none !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    body.single-product .agni-product-details ul.tabs li a {
      display: flex !important;
      align-items: center !important;
      min-height: 44px !important;
      padding: 0 var(--agni-space-1) !important;
      font-size: 14px !important;
      color: var(--agni-text-secondary) !important;
      text-decoration: none !important;
      border-bottom: 2px solid transparent !important;
    }
    body.single-product .agni-product-details ul.tabs li.active a {
      border-bottom-color: var(--agni-fire-orange) !important;
      color: var(--agni-fire-orange) !important;
      font-weight: 700 !important;
    }

    /* Membership CTA Full width container */
    body.single-product .agni-product-membership-cta {
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      padding: 18px var(--agni-space-5) !important;
      border-radius: var(--agni-radius-md) !important;
      box-sizing: border-box !important;
      margin-top: 3rem !important;
    }
    body.single-product .agni-product-membership-cta h3 {
      font-size: 20px !important;
      margin-bottom: 0.5rem !important;
    }
    body.single-product .agni-product-membership-cta p {
      font-size: 14.5px !important;
    }
    body.single-product .agni-product-membership-cta div[style*="display: flex"] {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: var(--agni-space-3) !important;
      width: 100% !important;
      margin-top: 1.5rem !important;
    }
    body.single-product .agni-product-membership-cta div[style*="min-width: 160px"] {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      padding: 14px var(--agni-space-4) !important;
      border-radius: var(--agni-radius-sm) !important;
      margin: 0 !important;
    }
    body.single-product .agni-product-membership-cta a {
      min-height: 44px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    body.single-product .agni-product-membership-cta p[style*="font-size: 12px"] {
      font-size: 12.5px !important;
    }

    /* Related Products Mobile 1-Column Cards & WooCommerce Loop Resets */
    body.single-product .related.products,
    body.single-product .up-sells.products,
    body.single-product .agni-related-products {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin-top: 3rem !important;
      margin-bottom: 3rem !important;
      box-sizing: border-box !important;
      float: none !important;
      clear: both !important;
    }
    body.single-product .related.products ul.products,
    body.single-product .up-sells.products ul.products,
    body.single-product .agni-related-products ul.products {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: var(--agni-space-4) !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      float: none !important;
    }
    body.single-product .related.products ul.products li.product,
    body.single-product .up-sells.products ul.products li.product,
    body.single-product .woocommerce ul.products li.product,
    body.single-product .woocommerce-page ul.products li.product,
    body.single-product .agni-related-products ul.products li.product {
      float: none !important;
      clear: none !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
      margin: 0 0 var(--agni-space-5) 0 !important;
      height: auto !important;
      background: var(--agni-surface-card) !important;
      border: 1px solid var(--agni-border-light) !important;
      border-radius: var(--agni-radius-md) !important;
      overflow: hidden !important;
      box-sizing: border-box !important;
    }
    body.single-product .related.products ul.products li.product .wc-block-components-product-image,
    body.single-product .related.products ul.products li.product .wp-block-woocommerce-product-image,
    body.single-product .agni-related-products ul.products li.product .wc-block-components-product-image,
    body.single-product .agni-related-products ul.products li.product .wp-block-woocommerce-product-image {
      width: 100% !important;
      aspect-ratio: 16 / 10 !important;
      border-radius: 14px 14px 0 0 !important;
      margin: 0 !important;
      position: relative !important;
      overflow: hidden !important;
      float: none !important;
    }
    body.single-product .related.products ul.products li.product h3,
    body.single-product .related.products ul.products li.product h2,
    body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    body.single-product .agni-related-products ul.products li.product h3.wp-block-post-title,
    body.single-product .agni-related-products ul.products li.product h2.wp-block-post-title {
      padding: 14px 14px var(--agni-space-1) 14px !important;
      font-size: 16px !important;
      line-height: 1.35 !important;
      font-weight: 700 !important;
      margin: 0 !important;
      display: -webkit-box !important;
      -webkit-line-clamp: 2 !important;
      -webkit-box-orient: vertical !important;
      overflow: hidden !important;
      height: auto !important;
      color: var(--agni-text-primary) !important;
      text-align: left !important;
      white-space: normal !important;
      width: auto !important;
      float: none !important;
    }
    body.single-product .related.products ul.products li.product .price,
    body.single-product .related.products ul.products li.product .wp-block-woocommerce-product-price,
    body.single-product .agni-related-products ul.products li.product .wp-block-woocommerce-product-price {
      padding: 0 14px var(--agni-space-3) 14px !important;
      font-size: 16px !important;
      font-weight: 700 !important;
      color: var(--agni-fire-orange) !important;
      margin: 0 !important;
      text-align: left !important;
      display: flex !important;
      align-items: baseline !important;
      gap: var(--agni-space-2) !important;
      float: none !important;
    }
    body.single-product .related.products ul.products li.product .wp-block-woocommerce-product-button,
    body.single-product .agni-related-products ul.products li.product .wp-block-woocommerce-product-button {
      padding: 0 14px 14px 14px !important;
      width: 100% !important;
      box-sizing: border-box !important;
      margin-top: auto !important;
      float: none !important;
    }
    body.single-product .related.products ul.products li.product .add_to_cart_button,
    body.single-product .related.products ul.products li.product a.button,
    body.single-product .related.products ul.products li.product .wp-block-woocommerce-product-button a.button,
    body.single-product .related.products ul.products li.product .wc-block-components-product-button__button,
    body.single-product .agni-related-products ul.products li.product .wp-block-woocommerce-product-button .wp-block-button__link,
    body.single-product .agni-related-products ul.products li.product .wc-block-components-product-button__button {
      display: flex !important;
      width: 100% !important;
      min-height: 44px !important;
      height: var(--agni-btn-height) !important;
      align-items: center !important;
      justify-content: center !important;
      background: var(--agni-fire-orange) !important;
      color: var(--agni-white) !important;
      border-radius: var(--agni-radius-sm) !important;
      font-weight: 700 !important;
      font-size: 14px !important;
      text-decoration: none !important;
      padding: 0 !important;
      margin: 0 !important;
      white-space: nowrap !important;
      box-sizing: border-box !important;
      text-align: center !important;
      float: none !important;
      border: none !important;
      box-shadow: none !important;
      line-height: normal !important;
    }
    body.single-product .related.products ul.products li.product a.add_to_cart_button,
    body.single-product .related.products ul.products li.product a.button.product_type_simple {
      margin: 0 14px 14px 14px !important;
      width: calc(100% - 28px) !important;
    }

    /* Footer mobile columns layout */
    .agni-footer-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: var(--agni-space-6) !important;
      width: 100% !important;
      padding: 0 var(--agni-space-4) !important;
      box-sizing: border-box !important;
    }
    .agni-footer-col {
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
    }
    .agni-footer-col h4 {
      font-size: 17px !important;
      font-weight: 700 !important;
      margin-bottom: 0.75rem !important;
      color: var(--agni-white) !important;
    }
    .agni-footer-col ul {
      display: flex !important;
      flex-direction: column !important;
      gap: var(--agni-space-2) !important;
      padding: 0 !important;
      margin: 0 !important;
      list-style: none !important;
    }
    .agni-footer-link {
      font-size: 14px !important;
      line-height: 1.55 !important;
    }
    .agni-footer-bottom {
      flex-direction: column !important;
      gap: 1rem !important;
      text-align: center !important;
      padding: 1.5rem var(--agni-space-4) !important;
      font-size: 12.5px !important;
    }
  }

  @media (max-width: 480px) {
    /* 1 Column Shop Catalog grid under 480px */
    .agni-catalog-page .wp-block-woocommerce-product-collection ul,
    .agni-catalog-page .wp-block-woocommerce-product-collection .wc-block-product-layout,
    body.tax-product_cat .wp-block-woocommerce-product-collection ul,
    body.tax-product_cat .wp-block-woocommerce-product-collection .wc-block-product-layout {
      grid-template-columns: 1fr !important;
      gap: var(--agni-space-5) !important;
    }
  }

  @media (max-width: 1024px) {
    /* Stack checkout & cart columns on tablet and mobile viewports */
    .wc-block-components-sidebar-layout {
      grid-template-columns: 1fr !important;
      gap: 2.5rem !important;
    }

    .wc-block-checkout__sidebar,
    .wc-block-cart__sidebar {
      position: static !important;
      top: auto !important;
      width: 100% !important;
    }
  }

  @media (max-width: 767px) {
    /* Adjust internal padding and layout for smaller screens */
    .wc-block-components-checkout-step,
    .wc-block-checkout__main .wc-block-components-checkout-step {
      padding: var(--agni-space-5) !important;
    }
    
    .wc-block-checkout__sidebar,
    .wc-block-cart__sidebar {
      padding: var(--agni-space-5) !important;
    }
  }
}

@layer components {
  /* ==========================================================================
     Phase 3: Premium Shop Responsive & Mobile Bottom Sheets
     ========================================================================== */

  /* Viewport Breaks for 2-column to 1-column layouts */
  @media (max-width: 1024px) {
    .agni-shop-layout {
      grid-template-columns: 1fr !important;
      gap: 1.5rem !important;
    }
    .agni-shop-sidebar {
      display: none !important; /* Managed via bottom sheet on mobile/tablet */
    }
    .agni-footer-grid {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 2.5rem !important;
    }
    .agni-mobile-filter-trigger {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 var(--agni-space-4);
      font-weight: 700;
    }
    .agni-shop-banner__content {
      grid-template-columns: 1fr !important;
      gap: 1.5rem !important;
    }
    .agni-shop-banner__cta {
      align-self: flex-start;
      width: 100%;
      max-width: 480px;
    }
    .agni-shop-toolbar-sticky-wrapper {
      top: var(--agni-space-16) !important; /* Mobile header is var(--agni-space-16) height */
    }
    .wc-block-product,
    li.product,
    .agni-ds-card {
      min-height: 380px !important;
    }
  }

  @media (max-width: 768px) {
    .agni-product-grid-container .wc-block-product-layout,
    .agni-product-grid-container ul.products {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .woocommerce-MyAccount-content table.shop_table {
      display: block !important;
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch !important;
      width: 100% !important;
    }
    .woocommerce-MyAccount-content table.shop_table th,
    .woocommerce-MyAccount-content table.shop_table td {
      white-space: nowrap !important;
    }
  }

  @media (max-width: 480px) {
    .agni-product-grid-container .wc-block-product-layout,
    .agni-product-grid-container ul.products {
      grid-template-columns: 1fr !important;
    }
    .agni-shop-toolbar {
      padding: 0.6rem 0.85rem !important;
      gap: 0.75rem !important;
    }
    .agni-shop-toolbar__right {
      gap: 0.75rem !important;
    }
    .agni-toolbar-per-page {
      display: none !important; /* Hide on small screens for visual density */
    }
    .agni-quickview-modal__body {
      grid-template-columns: 1fr !important;
    }
    .agni-quickview-modal__gallery {
      aspect-ratio: 16/10 !important;
      max-height: 240px !important;
    }
    .agni-quickview-modal__info {
      padding: 1.5rem !important;
    }
  }

  /* Mobile Bottom Sheet Filters UI Overlay */
  .agni-mobile-filter-sheet {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: var(--agni-z-modal);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--agni-duration-modal) var(--agni-ease);
  }
  .agni-mobile-filter-sheet.is-open {
    opacity: 1;
    pointer-events: auto;
  }
  .agni-mobile-filter-sheet__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(1, 33, 23, 0.5);
    backdrop-filter: blur(4px);
    z-index: 1;
  }
  .agni-mobile-filter-sheet__container {
    position: relative;
    background: var(--agni-surface-card);
    border-top: 1px solid var(--agni-border-light);
    border-top-left-radius: var(--agni-radius-lg);
    border-top-right-radius: var(--agni-radius-lg);
    max-height: 75vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    z-index: 10;
    transform: translateY(100%);
    transition: transform var(--agni-duration-hover) var(--agni-ease);
  }
  .agni-mobile-filter-sheet.is-open .agni-mobile-filter-sheet__container {
    transform: translateY(0);
  }
  .agni-mobile-filter-sheet__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--agni-border-light);
  }
  .agni-mobile-filter-sheet__title {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--agni-text-primary);
  }
  .agni-mobile-filter-sheet__close {
    background: transparent;
    border: none;
    color: var(--agni-text-primary);
    font-size: 1.25rem;
    cursor: pointer;
    width: var(--agni-btn-height);
    height: var(--agni-btn-height);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .agni-mobile-filter-sheet__body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 1.5rem;
  }
  .agni-mobile-filter-sheet__footer {
    display: flex;
    gap: var(--agni-space-3);
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--agni-border-light);
    background: var(--agni-surface-light);
  }
  .agni-mobile-filter-sheet__footer button {
    min-height: 44px;
  }

  /* Compare modal table scroll wrap */
  .agni-ds-table-wrapper {
    overflow-x: auto;
    width: 100%;
  }
}

/* ==========================================================================
   AGNIBYTE v4.5.0 RESPONSIVE SINGLE PRODUCT OVERRIDES
   ========================================================================== */

/* 1. Large Tablet Overrides (1024px and below) */
@media (max-width: 1024px) {
  .agni-product-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1.5rem 0;
  }
  .agni-product-main-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 2rem 0;
  }
  .agni-product-sidebar-sticky {
    position: static;
    top: 0;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 1.5rem;
    align-items: start;
  }
  .agni-product-tabs-navbar-wrapper {
    top: calc(var(--agni-btn-height) + var(--agni-space-3)); /* account for mobile sticky header */
  }
}

/* 2. Mobile Viewport Overrides (768px and below) */
@media (max-width: 768px) {
  .agni-product-breadcrumbs {
    display: block !important; /* Force layout wrapper display on mobile */
  }
  .agni-product-breadcrumbs .woocommerce-breadcrumb,
  .agni-product-breadcrumbs .agni-breadcrumbs-inner {
    display: none !important; /* Hide breadcrumbs contents on mobile, preserving container layout flow */
  }
  .agni-product-title {
    font-size: 1.75rem;
  }
  .agni-product-quick-specs {
    grid-template-columns: 1fr;
    gap: var(--agni-space-2);
  }
  .agni-feature-blocks-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .agni-trust-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
  .agni-related-products-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .agni-reviews-breakdown {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.5rem;
  }
  .agni-calculator-results-grid {
    grid-template-columns: 1fr;
    gap: var(--agni-space-2);
  }
  .agni-calc-result-box {
    padding: var(--agni-space-2);
  }
  .agni-product-sidebar-sticky {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  /* Add margin below layout left to clear room */
  .agni-product-main-layout__left {
    gap: 2.5rem;
  }

  /* Show mobile bottom sticky CTA bar */
  .agni-mobile-sticky-cta-bar {
    display: block;
  }
  .agni-product-page {
    padding-bottom: 76px; /* Prevent footer content from being covered */
  }

  /* Compact gallery thumbnail dimensions */
  .agni-gallery-thumb {
    width: 60px;
    height: 60px;
  }

  /* Redesigned Hero summary card mobile spacing */
  .agni-product-hero__summary {
    padding: 1.5rem 1.25rem !important;
  }
}

/* 3. Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  .agni-product-gallery__img,
  .agni-gallery-thumb,
  .agni-feature-block,
  .agni-faq-chevron,
  .agni-faq-content,
  .agni-mobile-sticky-cta-bar,
  .agni-lightbox-overlay__container,
  .agni-video-overlay__container,
  .agni-ds-skeleton,
  .agni-skeleton-line,
  .agni-skeleton-card {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* 4. Focus states & Keyboard Outline Indicators */
.agni-tab-nav-link:focus-visible,
.agni-license-option-item input[type="radio"]:focus-visible,
.agni-faq-button:focus-visible,
.agni-gallery-btn:focus-visible,
.agni-account-sidebar-link:focus-visible,
.agni-license-key-copy-btn:focus-visible,
.agni-license-domain-deactivate-btn:focus-visible {
  outline: 3px solid var(--agni-orange, var(--agni-fire-orange));
  outline-offset: 2px;
}
.agni-license-option-item input[type="radio"]:focus {
  outline: 2px solid var(--agni-orange, var(--agni-fire-orange));
}

/* ==========================================================================
   AGNIBYTE v4.6.0 RESPONSIVE CUSTOMER ACCOUNT DASHBOARD OVERRIDES
   ========================================================================== */

/* 1. Large Tablet Overrides (1024px and below) */
@media (max-width: 1024px) {
  .agni-account-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .agni-account-sidebar {
    position: static;
    border-radius: var(--agni-radius-md);
    width: 100%;
  }
  .agni-account-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .agni-downloads-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .agni-support-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* 2. Mobile Viewport Overrides (768px and below) */
@media (max-width: 768px) {
  .agni-account-header {
    padding: 1.25rem;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
  .agni-account-avatar {
    width: var(--agni-btn-height-lg);
    height: var(--agni-btn-height-lg);
    font-size: 1.25rem;
  }
  .agni-account-profile-info h1 {
    font-size: 1.25rem;
  }

  /* Horizontal scroll navigation for account sidebar */
  .agni-account-sidebar {
    position: sticky;
    top: calc(var(--agni-btn-height) + var(--agni-space-3));
    z-index: calc(var(--agni-z-header) - 5);
    margin: 0 -1rem 1.5rem -1rem;
    padding: var(--agni-space-2);
    width: calc(100% + 2rem);
    border-radius: 0;
    border-left: none;
    border-right: none;
    background: var(--agni-surface-card, var(--agni-surface-dark));
  }
  .agni-account-sidebar-nav {
    flex-direction: row;
    overflow-x: auto;
    scrollbar-width: none; /* Hide default scrollbar */
  }
  .agni-account-sidebar-nav::-webkit-scrollbar {
    display: none;
  }
  .agni-account-sidebar-link {
    white-space: nowrap;
    padding: var(--agni-space-2) var(--agni-space-3);
    font-size: 0.8rem;
  }

  .agni-account-stats-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  /* Purchase History Mobile Stack Cards */
  .agni-order-card__header {
    grid-template-columns: 1fr;
    gap: var(--agni-space-3);
    padding: 1rem;
  }
  .agni-order-card-product-row {
    flex-direction: column;
    align-items: stretch;
    gap: var(--agni-space-3);
    padding: var(--agni-space-3) 0;
  }
  .agni-order-product-actions {
    justify-content: flex-start;
  }

  .agni-domain-register-form {
    flex-direction: column;
    gap: var(--agni-space-2);
  }

  .agni-license-panel-keys-row {
    flex-direction: column;
    align-items: stretch;
    gap: var(--agni-space-2);
  }
  .agni-license-key-box {
    min-width: unset;
    width: 100%;
    justify-content: space-between;
  }

  /* Version modal responsive sizes */
  .agni-version-modal__container {
    padding: 1.25rem;
    width: 95%;
  }

  /* Min height and padding adjustments */
  .agni-account-page {
    padding: 1.5rem 0;
  }
}

/* ==========================================================================
   Checkout & Cart Responsive Overrides (v4.7.0)
   ========================================================================== */
@layer woocommerce {
  @media (max-width: 1024px) {
    .wc-block-components-sidebar-layout {
      grid-template-columns: 1fr !important;
      gap: 2rem !important;
    }

    .wc-block-checkout__sidebar,
    .wc-block-cart__sidebar-container,
    .wc-block-cart__sidebar {
      position: static !important;
      top: auto !important;
      width: 100% !important;
    }
    
    .agni-order-summary-card {
      position: static !important;
    }

    .agni-purchase-progress {
      padding: 0 var(--agni-space-4) !important;
    }
  }

  @media (max-width: 768px) {
    .wc-block-cart-items__table th:nth-child(3),
    .wc-block-cart-items__table td:nth-child(3),
    .wc-block-cart-items__table th:nth-child(4),
    .wc-block-cart-items__table td:nth-child(4) {
      display: none !important;
    }

    .wc-block-cart-items {
      padding: var(--agni-space-3) !important;
    }

    .wc-block-cart-items__table td {
      padding: var(--agni-space-3) var(--agni-space-1) !important;
    }

    .agni-purchase-progress .agni-step-label {
      display: none !important;
    }

    .agni-progress-steps {
      justify-content: space-around !important;
      max-width: 280px !important;
      margin: 0 auto !important;
    }

    .agni-delivery-panel__body {
      grid-template-columns: 1fr !important;
      gap: var(--agni-space-4) !important;
    }

    .agni-delivery-panel__header {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: var(--agni-space-3) !important;
    }

    .agni-order-receipt-meta {
      grid-template-columns: 1fr 1fr !important;
      gap: var(--agni-space-3) !important;
    }
    
    .agni-cross-sell-grid {
      grid-template-columns: 1fr !important;
    }
    
    .agni-mini-cart-drawer {
      max-width: 100% !important;
    }

    .wc-block-components-address-form {
      grid-template-columns: 1fr !important;
    }
    .wc-block-components-address-form__address_1,
    .wc-block-components-address-form__address_2-toggle,
    .wc-block-components-address-form__address_2,
    .wc-block-components-country-input,
    .wc-block-components-address-form__country {
      grid-column: span 1 !important;
    }

    /* Extra mobile optimization for viewports under 360px */
    @media (max-width: 360px) {
      .agni-ds-card__meta-grid {
        grid-template-columns: 1fr !important;
        gap: var(--agni-space-1) !important;
      }
    }
  }
}




