/* ============================================================
   MOBILE OVERRIDES
   All rules use max-width breakpoints.
   Load after styles.css.
   ============================================================ */

/* --- Banner / Carousel (≤992px) --- */
@media (max-width: 992px) {
  .acceuil-banner-carousel {
    --carousel-side-safe-space: 12%;
    --carousel-indicator-bottom: 0.72rem;
  }

  .home-banner-overlay {
    bottom: calc(var(--carousel-indicator-bottom) + 2.15rem);
    padding-bottom: 0.25rem;
    gap: 0.32rem;
  }

  .home-banner-overlay-title {
    max-width: 78%;
    font-size: clamp(1.02rem, 4.2vw, 1.35rem);
    line-height: 1.14;
  }

  .home-banner-overlay-text {
    max-width: 74%;
    font-size: 0.8rem;
    line-height: 1.24;
  }

  .home-banner-overlay-button {
    min-height: 34px;
    padding: 0.38rem 0.78rem;
    font-size: 0.78rem;
  }

  .home-block-image {
    height: 280px;
  }

  .partner-grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }

  .partner-logo-tile {
    min-height: 82px;
    padding: 0.65rem;
  }

  .partner-logo-tile img {
    max-height: 46px;
  }
}

/* --- General mobile (≤768px) --- */
@media (max-width: 768px) {
  /* Catalog filter */
  .catalog-filter-label {
    font-size: 0.68rem;
  }

  .catalog-filter-chip--subcategory {
    min-height: 36px;
    padding: 0.38rem 0.74rem;
    font-size: 0.74rem;
  }

  .catalog-filter-chip--variation {
    min-height: 29px;
    padding: 0.2rem 0.58rem;
    font-size: 0.68rem;
  }

  /* Images */
  .article-block-image {
    height: 260px;
  }

  .page-cover-wrap {
    height: 250px;
  }

  /* Product card actions */
  .product-card-actions {
    flex-direction: column;
    width: 100%;
  }

  .product-card-actions .btn-sora,
  .product-card-actions .btn,
  .product-card-actions .d-flex.flex-column {
    width: 100%;
  }

  .product-card-actions .quantity-box-list {
    width: 100%;
    justify-content: center;
  }

  /* Product detail */
  .product-detail-main-image {
    min-height: 240px;
  }

  .product-detail-thumb {
    width: 72px;
    height: 72px;
  }

  /* Cart */
  .product-thumb {
    max-height: 60px;
  }

  .product-name {
    font-size: 0.9rem;
  }

  .quantity-box {
    padding: 2px 6px;
  }

  .quantity-box-list {
    width: 100%;
  }

  .qty-btn {
    font-size: 18px;
  }

  .qty-input {
    width: 75%;
    font-size: 0.9rem;
  }

  .variation-pill {
    font-size: 0.7rem;
    padding: 0.18rem 0.48rem;
  }

  /* Cart export */
  .cart-export-confirm-hero {
    padding: 1.2rem 1.1rem 1rem;
  }

  .cart-export-confirm-body {
    padding: 1rem 1.1rem 1.15rem;
  }

  /* Slider title */
  .slider-title-area {
    padding-left: 0;
    text-align: center;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .slider-title-area i {
    font-size: 1.6rem;
    margin: 0 !important;
  }

  .slider-title-area h2 {
    font-size: 1.4rem;
    margin: 0;
  }
}

/* --- Spotlight dialog (≤600px) --- */
@media (max-width: 600px) {
  .spotlight-dialog {
    max-width: calc(100% - 1.5rem);
    margin: 14vh auto 0 auto;
  }
}

/* --- Small mobile (≤576px) --- */
@media (max-width: 576px) {
  /* Admin DataTables */
  .dataTables_wrapper .dataTables_filter {
    text-align: left;
  }

  .dataTables_wrapper .dataTables_filter input {
    max-width: 100%;
    margin-left: 0;
    margin-top: 0.25rem;
  }

  /* Search suggestions */
  .suggestion-img {
    width: 40px;
    height: 40px;
  }

  .suggestion-name {
    font-size: 0.85rem;
  }

  .footer-partners .footer-partners-label {
    padding: 20px 0 5px 0; /* remove the 5% left padding on mobile */
    justify-content: center;      /* center the label text */
  }

  .footer-partners-track {
    padding: 5px 0 5px 0;
    animation: marquee 15s linear infinite;
  }

}
