  /* ==========================================================================
   Ahalyaba Sarees — Full Responsive System
   Breakpoints (width only):
   Ultra Wide: 2560px+ | Desktop XL: 1920–2559 | Desktop: 1440–1919
   Laptop L: 1280–1439 | Laptop: 1024–1279 | Tablet Landscape: 768–1023
   Tablet Portrait: 600–767 | Mobile Large: 480–599 | Mobile: 360–479
   Mobile Small: 320–359 | Galaxy Fold: 280–319
   ========================================================================== */

  /* --- Global full-width foundation --- */
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  section,
  .main-header,
  .category-nav,
  .main-footer,
  .hero-section,
  .tri-banner-section,
  .categories-section,
  .favorites-section,
  .mission-section,
  .testimonials-section,
  .promo-section,
  .social-grid-section,
  .brand-pillars-section,
  .search-bar-section,
  .search-content-section {
    width: 100%;
    max-width: none;
  }

  /* --- Ultra Wide: 2560px+ --- */
  @media (min-width: 2560px) {
    :root {
      --site-gutter: clamp(72px, 5vw, 120px);
      --site-gutter-sm: clamp(48px, 4vw, 80px);
    }

    .product-card {
      flex: 0 0 calc((100% - 60px) / 6);
      width: calc((100% - 60px) / 6);
    }
  }

  /* --- Desktop XL: 1920px – 2559px --- */
  @media (min-width: 1920px) and (max-width: 2559px) {
    .hero-content {
      padding: clamp(120px, 16vh, 220px) var(--site-gutter);
    }

    .product-card {
      flex: 0 0 calc((100% - 48px) / 5);
      width: calc((100% - 48px) / 5);
    }

    .social-item {
      flex: 0 0 calc((100% - 72px) / 6);
      width: calc((100% - 72px) / 6);
    }
  }

  /* --- Desktop: 1440px – 1919px --- */
  @media (min-width: 1440px) and (max-width: 1919px) {
    .hero-content {
      padding: clamp(100px, 14vh, 200px) var(--site-gutter);
    }

    .product-card {
      flex: 0 0 calc((100% - 36px) / 4);
      width: calc((100% - 36px) / 4);
    }
  }

  /* --- Laptop L: 1280px – 1439px --- */
  @media (min-width: 1280px) and (max-width: 1439px) {
    .hero-content {
      padding: clamp(80px, 12vh, 160px) var(--site-gutter);
    }

    .product-card {
      flex: 0 0 calc((100% - 36px) / 4);
      width: calc((100% - 36px) / 4);
    }

    .categories-section .section-container {
      height: auto;
      padding: 80px var(--site-gutter);
    }

    .categories-grid,
    .category-card {
      height: auto;
    }

    .categories-section .card-img-wrapper {
      height: auto;
      aspect-ratio: 3 / 4;
    }
  }

  /* --- Laptop: 1024px – 1279px --- */
  @media (min-width: 1024px) and (max-width: 1279px) {
    .hero-content {
      padding: clamp(80px, 12vh, 140px) var(--site-gutter);
      align-items: center;
      text-align: center;
    }

    .hero-text-group {
      max-width: 100%;
    }

    .header-container {
      padding: 0 var(--site-gutter);
    }

    .category-container {
      padding: 0 var(--site-gutter-sm);
    }

    .category-links {
      gap: 24px;
    }

    .categories-section .section-container {
      padding: 70px var(--site-gutter);
      height: auto;
    }

    .categories-grid,
    .category-card {
      height: auto;
    }

    .categories-section .card-img-wrapper {
      height: auto;
      aspect-ratio: 3 / 4;
    }

    .favorites-carousel-container {
      height: auto;
    }

    .slider-outer-wrapper {
      width: 100%;
      height: auto;
    }

    .product-card {
      flex: 0 0 calc((100% - 24px) / 3);
      width: calc((100% - 24px) / 3);
      height: auto;
      min-height: 420px;
    }

    .testimonials-horizontal-container {
      gap: 40px;
      padding: 0 32px;
    }

    .testimonial-content,
    .testimonial-image-column {
      flex: 1 1 48%;
      width: auto;
      max-width: none;
    }

    .promo-container {
      padding: 50px var(--site-gutter);
      gap: 24px;
    }

    .promo-banner-card {
      height: auto;
      max-width: 100%;
    }

    .promo-img-wrapper {
      height: 480px;
    }

    .footer-col {
      width: 33.33% !important;
    }

    .footer-col-subscribe {
      width: 100% !important;
    }

    .catalog-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  /* --- Tablet Landscape: 768px – 1023px --- */
  @media (min-width: 768px) and (max-width: 1023px) {
    .header-container {
      padding: 0 24px;
    }

    .nav-left {
      display: none;
    }

    .mobile-menu-toggle {
      display: flex !important;
    }

    .logo-container {
      flex: 0 0 auto !important;
      justify-content: flex-start !important;
    }

    .header-actions {
      flex: 1 !important;
      justify-content: flex-end !important;
    }

    .category-nav {
      display: block;
    }





    .hero-section {
      height: auto;
      min-height: 520px;
    }

    .hero-content {
      padding: 80px 32px;
      align-items: center;
      text-align: center;
    }

    .hero-title {
      font-size: 36px;
      line-height: 42px;
    }

    .categories-section .section-container {
      height: auto;
      padding: 60px 24px;
    }

    .category-card {
      flex: 0 0 calc((100% - 12px) / 2) !important;
      width: calc((100% - 12px) / 2) !important;
      height: auto !important;
    }

    .card-img-wrapper {
      aspect-ratio: 3 / 4 !important;
      height: auto !important;
    }

    .tri-banner-container {
      grid-template-columns: 1fr 1fr;
      height: auto;
      padding: 0 24px;
      gap: 16px;
    }

    .tri-banner-card {
      height: 360px;
    }

    .tri-card-title {
      font-size: 28px;
    }

    .favorites-carousel-container {
      height: auto;
    }

    .slider-outer-wrapper {
      width: 100%;
      height: auto;
    }

    .product-card {
      flex: 0 0 calc((100% - 12px) / 2);
      width: calc((100% - 12px) / 2);
      height: auto;
      min-height: 380px;
    }

    .favorites-carousel-container .slider-arrow,
    .categories-carousel-container.has-overflow .slider-arrow {
      display: flex;
    }

    .testimonials-horizontal-container {
      flex-direction: column-reverse;
      height: auto;
      gap: 24px;
      padding: 40px 24px;
    }

    .testimonial-content,
    .testimonial-image-column {
      width: 100%;
      max-width: 100%;
    }

    .testimonial-image-column {
      height: 360px;
    }

    .testimonial-arrow {
      display: none;
    }

    .promo-container {
      flex-direction: row;
      flex-wrap: wrap;
      padding: 50px 24px;
      gap: 24px;
    }

    .promo-banner-card {
      flex: 1 1 calc(50% - 12px);
      max-width: calc(50% - 12px);
      height: auto;
    }

    .promo-img-wrapper {
      height: 380px;
    }

    .social-header-frame {
      padding: 50px 24px 0;
      height: auto;
    }

    .social-item {
      flex: 0 0 calc(50% - 9px) !important;
      width: calc(50% - 9px) !important;
    }

    .brand-pillars-section .section-container {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      gap: 24px;
      padding: 50px 24px;
    }

    .pillar-card {
      flex: 1 1 calc(33.33% - 16px);
      max-width: calc(33.33% - 16px);
      min-width: 200px;
    }

    .footer-grid {
      flex-wrap: wrap !important;
    }

    .footer-col {
      width: 50% !important;
    }

    .footer-col-subscribe {
      width: 100% !important;
    }

    .catalog-grid {
      grid-template-columns: repeat(2, 1fr);
    }

    .catalog-controls {
      padding: 16px 24px;
    }

    .filters-group {
      flex-wrap: wrap;
    }
  }

  /* --- Tablet Portrait: 600px – 767px --- */
  @media (min-width: 600px) and (max-width: 767px) {
    .tri-banner-container {
      grid-template-columns: 1fr;
    }

    .tri-banner-card {
      height: 340px;
    }

    .product-card {
      flex: 0 0 calc((100% - 12px) / 2);
      width: calc((100% - 12px) / 2);
    }

    .category-card {
      flex: 0 0 calc((100% - 12px) / 2) !important;
      width: calc((100% - 12px) / 2) !important;
    }

    .promo-container {
      flex-direction: column;
    }

    .promo-banner-card {
      flex: 1 1 100%;
      max-width: 100%;
    }

    .social-item {
      flex: 0 0 100% !important;
      width: 100% !important;
    }

    .pillar-card {
      flex: 1 1 100%;
      max-width: 100%;
    }
  }

  /* --- Mobile Large: 480px – 599px --- */
  @media (min-width: 480px) and (max-width: 599px) {
    .hero-title {
      font-size: 30px;
      line-height: 36px;
    }

    .section-title,
    .favorites-title,
    .social-title {
      font-size: 22px;
    }

    .tri-banner-card {
      height: 300px;
    }

    .tri-card-title {
      font-size: 24px;
    }

    .product-card {
      flex: 0 0 100%;
      width: 100%;
      min-height: auto;
    }

    .category-card {
      flex: 0 0 100% !important;
      width: 100% !important;
    }

    .promo-img-wrapper {
      height: 320px;
    }

    .testimonial-image-column {
      height: 320px;
    }

    .catalog-grid {
      grid-template-columns: 1fr;
    }

    .category-title {
      font-size: 28px;
    }
  }

  /* --- Mobile: 360px – 479px --- */
  @media (min-width: 360px) and (max-width: 479px) {
    .announcement-bar {
      font-size: 10px !important;
      padding: 6px 12px !important;
    }

    .header-container {
      padding: 0 16px !important;
    }

    .logo-img {
      height: 36px !important;
    }

    .hero-section {
      min-height: 420px;
    }

    .hero-content {
      padding: 48px 16px;
      gap: 20px;
    }

    .hero-title {
      font-size: 28px;
      line-height: 34px;
    }

    .hero-subtitle {
      font-size: 14px;
      line-height: 20px;
    }

    .btn-shop-now {
      width: 100%;
      max-width: 240px;
    }

    .categories-section .section-container,
    .favorites-container,
    .mission-container {
      padding: 48px 16px !important;
    }

    .section-title {
      font-size: 20px;
    }

    .tri-banner-container {
      padding: 0 16px;
    }

    .tri-banner-card {
      height: 280px;
    }

    .mission-title {
      font-size: 22px;
      line-height: 28px;
    }

    .quote {
      font-size: 20px;
      line-height: 28px;
    }

    .promo-container {
      padding: 40px 16px;
    }

    .promo-img-wrapper {
      height: 280px;
    }

    .promo-heading {
      font-size: 20px;
    }

    .social-grid-section {
      padding: 0 16px;
    }

    .social-header-frame {
      padding: 48px 16px 0;
    }

    .brand-pillars-section .section-container {
      padding: 48px 16px;
    }

    .main-footer .footer-top.section-container {
      padding: 32px 16px;
    }

    .category-page-header {
      padding: 60px 16px 40px;
    }

    .category-title {
      font-size: 26px;
    }

    .catalog-controls {
      padding: 16px;
    }

    .catalog-container-inner {
      padding: 32px 16px 60px !important;
    }
  }

  /* --- Mobile Small: 320px – 359px --- */
  @media (min-width: 320px) and (max-width: 359px) {
    .hero-title {
      font-size: 24px !important;
      line-height: 30px !important;
    }

    .header-container {
      padding: 0 12px !important;
    }

    .header-actions {
      gap: 10px !important;
    }

    .logo-img {
      height: 32px !important;
    }

    .category-link {
      font-size: 11px;
    }

    .tri-banner-card {
      height: 240px;
    }

    .tri-card-title {
      font-size: 20px;
    }

    .btn-promo-shop,
    .btn-mission-more {
      font-size: 11px;
      padding: 10px 16px;
    }
  }

  /* --- Galaxy Fold: 280px – 319px --- */
  @media (max-width: 319px) {
    .announcement-bar {
      font-size: 9px !important;
      line-height: 13px !important;
    }

    .header-container {
      padding: 0 8px !important;
      height: 52px;
    }

    .logo-img {
      height: 28px !important;
    }

    .action-btn .icon {
      width: 18px;
      height: 18px;
    }

    .hero-title {
      font-size: 22px !important;
      line-height: 28px !important;
    }

    .hero-subtitle {
      font-size: 12px !important;
    }

    .section-title,
    .favorites-title {
      font-size: 18px;
    }

    .category-label {
      font-size: 12px;
      letter-spacing: 1px;
    }

    .product-name {
      font-size: 13px;
    }

    .tri-banner-card {
      height: 220px;
    }

    .mobile-menu-drawer {
      width: 100% !important;
      max-width: 100% !important;
    }

    .footer-legal-links {
      font-size: 10px;
    }

    .subscribe-input {
      font-size: 12px !important;
    }
  }

  /* --- Global responsive fixes (all mobile/tablet) --- */
  @media (max-width: 1023px) {
    .categories-section .section-container {
      height: auto !important;
    }

    .categories-grid {
      height: auto !important;
    }

    .category-card {
      height: auto !important;
    }

    .card-img-wrapper {
      aspect-ratio: 3 / 4 !important;
      height: auto !important;
    }

    .favorites-carousel-container {
      height: auto !important;
    }

    .slider-outer-wrapper {
      height: auto !important;
    }

    .product-card {
      height: auto !important;
    }

    .product-img-wrapper {
      aspect-ratio: 3 / 4;
      height: auto !important;
    }

    img {
      max-width: 100%;
    }

    .section-container {
      padding-left: clamp(16px, 4vw, 42px);
      padding-right: clamp(16px, 4vw, 42px);
    }

    .favorites-container {
      padding-bottom: 12px !important;
    }

    .favorites-container .slider-dots {
      padding: 10px 0 0 0 !important;
    }

    /* Category Navigation Alignment Fix */
    .category-container {
      justify-content: flex-start !important;
      padding: 0 16px !important;
    }

    .category-links {
      justify-content: flex-start !important;
      gap: 20px !important;
    }

    /* Testimonials Spacing & Height Fixes */
    .testimonials-horizontal-container {
      min-height: auto !important;
      padding-top: 20px !important;
    }

    .testimonial-content {
      min-height: auto !important;
    }

    .testimonial-image-column {
      min-height: auto !important;
    }
  }

  @media (max-width: 767px) {
    .category-nav {
      position: sticky;
      top: 86px;
      z-index: 99;
    }



    /* Spacing between sections compliance */
    .favorites-container {
      padding: 40px 24px !important;
    }
  }

  /* Category slider: pagination dots on mobile/tablet only; arrows on desktop */
  @media (min-width: 1024px) {
    #cat-dots {
      display: none !important;
    }
  }

  @media (max-width: 599px) {
    .filters-group {
      flex-direction: column;
      width: 100%;
    }

    .filter-select-wrapper,
    .filter-select {
      width: 100%;
    }

    .search-bar-inner {
      height: auto;
      min-height: 72px;
      flex-wrap: wrap;
      gap: 8px;
    }

    .search-content-inner {
      padding: 24px 16px 60px !important;
    }
  }

  /* ==========================================================================
   Global Slider and Grid Breakpoint Rules (Dynamic Sizing, No Half Slides)
   ========================================================================== */

  /* 1. Desktop (1200px+) - Show exactly 4 slides/columns */
  @media (min-width: 1200px) {
    .product-card {
      flex: 0 0 calc((100% - 36px) / 4) !important;
      width: calc((100% - 36px) / 4) !important;
    }

    .blog-edit-card {
      flex: 0 0 calc((100% - 60px) / 4) !important;
      width: calc((100% - 60px) / 4) !important;
    }

    .blog-grid {
      grid-template-columns: repeat(3, 1fr) !important;
    }
  }

  /* 2. Laptop (992px - 1199px) - Show exactly 3 slides/columns */
  @media (min-width: 992px) and (max-width: 1199px) {
    .product-card {
      flex: 0 0 calc((100% - 24px) / 3) !important;
      width: calc((100% - 24px) / 3) !important;
    }

    .blog-edit-card {
      flex: 0 0 calc((100% - 40px) / 3) !important;
      width: calc((100% - 40px) / 3) !important;
    }

    .blog-grid {
      grid-template-columns: repeat(3, 1fr) !important;
    }
  }

  /* 3. Tablet (776px - 991px) - Show exactly 3 slides/columns */
  @media (min-width: 776px) and (max-width: 991px) {
    .product-card {
      flex: 0 0 calc((100% - 24px) / 3) !important;
      width: calc((100% - 24px) / 3) !important;
    }

    .blog-edit-card {
      flex: 0 0 calc((100% - 40px) / 3) !important;
      width: calc((100% - 40px) / 3) !important;
    }

    .blog-grid {
      grid-template-columns: repeat(3, 1fr) !important;
    }
  }

  /* 4. Mobile Large (481px - 775px) - Show exactly 2 slides/columns */
  @media (min-width: 481px) and (max-width: 775px) {
    .product-card {
      flex: 0 0 calc((100% - 12px) / 2) !important;
      width: calc((100% - 12px) / 2) !important;
    }

    .blog-edit-card {
      flex: 0 0 calc((100% - 10px) / 2) !important;
      width: calc((100% - 10px) / 2) !important;
    }

    .blog-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }

  /* 5. Mobile Small (480px and below) - Show exactly 1 slide/column */
  @media (max-width: 480px) {
    .product-card {
      flex: 0 0 100% !important;
      width: 100% !important;
    }

    .blog-edit-card {
      flex: 0 0 100% !important;
      width: 100% !important;
    }

    .blog-grid {
      grid-template-columns: 1fr !important;
    }
  }

  /* Specific layout for related posts grid (maximum 3 items are available) */
  #blog-related-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  @media (max-width: 775px) {
    #blog-related-grid {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }

  @media (max-width: 480px) {
    #blog-related-grid {
      grid-template-columns: 1fr !important;
    }
  }

  /* ==========================================================================
   Responsive Mega Menu Overrides (Tablet & Mobile viewports)
   ========================================================================== */
  @media (max-width: 1023px) {
    .mega-menu {
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      height: auto;
      max-height: 70vh;
      overflow-y: auto;
      background-color: var(--color-bg-primary);
      border-bottom: 1px solid var(--color-border);
      box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
      z-index: 110;

      /* Animation initial states */
      opacity: 0;
      visibility: hidden;
      transform: translateY(-8px);
      transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
        visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      pointer-events: none;
    }

    .mega-menu.active {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }

    .mega-menu-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.35);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      z-index: 105;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
      pointer-events: none;
    }

    .mega-menu-overlay.active {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .mega-menu-content-wrapper {
      padding: 24px 20px;
    }

    .mega-menu-pane {
      display: none;
      flex-direction: column;
      gap: 24px;
    }

    .mega-menu-pane.active {
      display: flex;
    }

    .mega-menu-col {
      width: 100%;
      gap: 12px;
    }

    .mega-menu-title {
      font-size: 11px;
      letter-spacing: 1.5px;
      margin-bottom: 2px;
    }

    .mega-menu-links {
      gap: 10px;
    }

    .mega-menu-links li a {
      font-size: 13px;
      padding: 2px 0;
    }

    .mega-menu-promo {
      flex-direction: column !important;
      gap: 16px;
      align-items: stretch;
      justify-content: flex-start;
      margin-top: 8px;
    }

    .promo-card {
      width: 100%;
      height: 140px;
      max-width: none;
    }

    .promo-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  /* Tablet Landscape specific adjustments for columns */
  @media (min-width: 768px) and (max-width: 1023px) {
    .mega-menu-pane {
      display: none;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
    }

    .mega-menu-pane.active {
      display: grid;
    }

    .mega-menu-promo {
      grid-column: span 2;
      flex-direction: row !important;
      gap: 20px;
      margin-top: 16px;
    }

    .promo-card {
      flex: 1;
      height: 180px;
    }
  }