html,
body {
  overflow-x: hidden;
}

#category-page,
.category-hero,
.category-left,
.category-right,
.bouquets-column-left,
.bouquets-column-right {
  max-width: 100%;
}

.breadcrumb {
      margin-bottom: 20px;
    }

    /* Container principal de la page */
    .category-hero {
      max-width: 100%;
      margin: 0 auto;
      margin-left: 100px;
      margin-top: 100px;
      display: grid;
      grid-template-columns: 0.8fr 2.5fr;
      gap: 80px;
      align-items: start;
    }

    /* Section gauche avec texte */
    .category-left h1 {
      font-family: var(--font-assistant);
      font-weight: 700;
      font-style: normal;
      font-size: 32px;
      line-height: 1;
      letter-spacing: 0;
      color: #B28A83;
      margin-bottom: 30px;
    }

    .category-tagline {
      font-family: 'Kapakana', cursive;
      font-weight: 400;
      font-style: normal;
      font-size: 36px;
      line-height: 1;
      letter-spacing: 0;
      color: rgba(194, 196, 182, 0.5);
      margin-bottom: 20px;
    }

    .category-left h2 {
      font-family: var(--font-subtitle);
      font-size: 2em;
      color: #d4b5a0;
      margin-bottom: 30px;
      font-weight: normal;
      font-style: italic;
    }

    .category-left p {
      color: #7a7a7a;
      line-height: 1.8;
      margin-bottom: 15px;
      font-size: 1em;
    }

    /* Section droite avec effet cascade */
    .category-right {
      display: flex;
      gap: 80px;
      justify-content: center;
    }

    .bouquets-column-left,
    .bouquets-column-right {
      display: flex;
      flex-direction: column;
      gap: 30px;
      width: 400px;
    }

    /* Décalage accentué de la colonne droite pour l'effet cascade */
    .bouquets-column-right {
      margin-top: 200px;
    }

    .bouquet-card-left,
    .bouquet-card-right {
      border-radius: 15px;
      overflow: hidden;
      transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
      display: flex;
      flex-direction: column;
      position: relative;
      cursor: pointer;
      background: white;
      border: 2px solid transparent; /* Border transparent par défaut pour éviter le décalage au hover */
    }

    /* Shine Effect Overlay */
    .bouquet-card-left::before,
    .bouquet-card-right::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent
      );
      transition: left 0.6s ease;
      z-index: 1;
      pointer-events: none;
    }

    .bouquet-card-left:hover,
    .bouquet-card-right:hover {
      transform: translateY(-8px) scale(1.02);
      box-shadow: 0 15px 40px rgba(201, 169, 97, 0.25);
      border: 2px solid rgba(201, 169, 97, 0.3);
    }

    /* Trigger shine on hover */
    .bouquet-card-left:hover::before,
    .bouquet-card-right:hover::before {
      left: 100%;
    }

    /* No pulse animation: keep cards static */

    .bouquet-image {
      width: 100%;
      height: 520px;
      overflow: hidden;
      display: block;
      border-radius: 15px;
      line-height: 0;
    }

    .placeholder-text {
      color: #999;
      font-size: 0.9em;
      text-align: center;
      padding: 20px;
    }

    .bouquet-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .bouquet-badge {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 3;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 7px 12px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      color: #fff;
      letter-spacing: 0.2px;
      text-transform: uppercase;
      box-shadow: 0 8px 18px rgba(66, 45, 14, 0.28);
      border: 1px solid rgba(255, 255, 255, 0.6);
      backdrop-filter: blur(2px);
    }

    .badge-best-seller {
      background: linear-gradient(135deg, #cf9f49, #b8812d);
    }

    .badge-favori-mois {
      background: linear-gradient(135deg, #cc6a7f, #ab4861);
    }

    .badge-favori-fdf {
      background: linear-gradient(135deg, #8576d2, #5f53ad);
    }

    .badge-custom {
      background: linear-gradient(135deg, #6ea28f, #4f7c6b);
    }

    .bouquet-info {
      padding: 12px 16px;
      flex: 0 0 auto;
    }

    .bouquet-info p {
      padding: 0;
      margin-bottom: 4px;
    }

    .bouquet-header {
      display: flex;
      justify-content: space-between;
      align-items: start;
      margin-bottom: 2px;
    }

    .bouquet-category {
      margin-bottom: 5px;
    }

    /* Pagination */
    .pagination {
      display: flex;
      justify-content: center;
      gap: 10px;
      padding: 60px 0;
    }

    .pagination button {
      width: 40px;
      height: 40px;
      border: 1px solid #e8e8e8;
      background: white;
      color: #7a7a7a;
      border-radius: 5px;
      cursor: pointer;
      transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    }

    .pagination button:hover:not(:disabled) {
      background: #c9a961;
      color: white;
      border-color: #c9a961;
    }

    .pagination button.active {
      background: #c9a961;
      color: white;
      border-color: #c9a961;
    }

    .pagination button:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }

/* ============================================ */
/* MOBILE CLICKABLE INDICATOR ANIMATION       */
/* ============================================ */

/* Keep cards static on mobile/tablet */
@media (max-width: 1024px) {
  .bouquet-card-left,
  .bouquet-card-right {
    animation: none;
    transform: none;
    position: relative;
  }

  .bouquet-card-left::after,
  .bouquet-card-right::after {
    content: none;
  }
}

/* Responsive Design - Mobile First Approach */

/* Tablet (768px - 1200px) */
@media (max-width: 1200px) {
  .category-hero {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-left: 40px;
    margin-right: 40px;
    margin-top: 60px;
  }

  .category-right {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .bouquets-column-left,
  .bouquets-column-right {
    width: 100%;
    max-width: 500px;
  }

  .bouquets-column-right {
    margin-top: 0;
  }
}

/* Mobile (320px - 768px) */
@media (max-width: 768px) {
  .header-center {
    padding-left: 12px;
    padding-right: 12px;
  }

  .center-stack {
    min-width: 0;
  }

  .header-right {
    margin-right: 6px;
    gap: 6px;
  }

  .hamburger-menu,
  .user-icon,
  .cart-button {
    min-width: 36px;
    min-height: 36px;
    width: 36px;
    height: 36px;
  }

  .hamburger-menu span {
    display: block;
    width: 20px;
    height: 2px;
    background: #b8986f;
  }

  .user-icon svg,
  .cart-button svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: #b8986f;
  }

  .category-hero {
    margin-left: 14px;
    margin-right: 14px;
    margin-top: 40px;
    gap: 30px;
  }

  .category-left h1 {
    font-size: 2.5em;
    margin-bottom: 20px;
  }

  .category-left h2 {
    font-size: 1.5em;
    margin-bottom: 20px;
  }

  .category-left p {
    font-size: 0.95em;
    line-height: 1.6;
  }

  .category-right {
    gap: 30px;
  }

  .bouquets-column-left,
  .bouquets-column-right {
    width: 100%;
    max-width: 100%;
  }

  .bouquet-card-left,
  .bouquet-card-right {
    border-radius: 12px;
  }

  .bouquet-image {
    height: 400px;
    border-radius: 12px;
  }

  .bouquet-badge {
    top: 10px;
    left: 10px;
    font-size: 10px;
    padding: 6px 10px;
  }

  .bouquet-info {
    padding: 10px 14px;
  }

  /* bouquet card sizes fixed by design system */

  .pagination {
    padding: 40px 0;
  }

  .pagination button {
    width: 36px;
    height: 36px;
    font-size: 0.9em;
  }
}

/* Small Mobile (320px - 480px) */
@media (max-width: 480px) {
  .category-hero {
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 30px;
  }

  .category-left h1 {
    font-size: 2em;
  }

  .category-left h2 {
    font-size: 1.3em;
  }

  .breadcrumb {
    font-size: 0.8em;
    margin-bottom: 15px;
  }

  .bouquet-image {
    height: 320px;
  }

  .bouquet-header {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}
