/* ============================================================================
   BAMBINOS CORNER — CSS COMPLET & CONSOLIDÉ
   ----------------------------------------------------------------------------
   ✓ Thème WooCommerce moderne (cartes, panier, checkout, compte...)
   ✓ Vos couleurs de marque : OR #CAB284 + VERT #006400
   ✓ Badge Promo rouge
   ✓ Barre de recherche FiboSearch
   ✓ Menu Astra (accueil) + sous-menus
   ✓ Alignement des cartes produits + police du site sur les titres
   ----------------------------------------------------------------------------
   👉 Coller dans : Apparence → Personnaliser → CSS supplémentaire
============================================================================ */

/* ============================================================
   0. POLICES (titres / sections)
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Instrument+Serif:ital@0;1&family=Manrope:wght@300;400;500;600;700;800&display=swap');

/* ============================================================
   1. VARIABLES
============================================================ */
:root {
  --bc-gold:        #CAB284;   /* OR — couleur boutons */
  --bc-green:       #006400;   /* VERT — texte boutons */
  --bc-red:         #e02424;   /* ROUGE — badge promo (ajustable) */
  --bc-cream:       #fbf4ec;
  --bc-cream-soft:  #fef9f3;
  --bc-ink:         #1f1410;
  --bc-ink-soft:    #5a3d2f;
  --bc-ink-mute:    #8a6e5e;
  --bc-terracotta:  #c4543a;
  --bc-line:        #ead9c5;
  --bc-white:       #ffffff;
  --bc-star:        #f4b400;

  --bc-radius-sm: 12px;
  --bc-radius:    18px;
  --bc-radius-lg: 24px;
  --bc-shadow-sm: 0 4px 20px -8px rgba(31,20,16,0.12);
  --bc-shadow-md: 0 20px 50px -20px rgba(31,20,16,0.2);

  --bc-serif: 'Fraunces', Georgia, serif;
  --bc-sans:  'Manrope', -apple-system, sans-serif;
  --bc-ease:  cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================================================
   2. TITRES / HEADINGS WOOCOMMERCE (serif élégant)
============================================================ */
.woocommerce-products-header__title,
.woocommerce .page-title,
.woocommerce div.product .product_title,
.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2,
.woocommerce .cart_totals h2,
.woocommerce-cart .cart-collaterals h2,
.woocommerce-checkout h3,
.woocommerce #reviews #comments h2 {
  font-family: var(--bc-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

/* ============================================================
   3. BOUTONS — VOS COULEURS (OR + VERT)
============================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  font-family: var(--bc-sans) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-shadow: none !important;
  background-color: var(--bc-gold) !important;
  border: 1.5px solid var(--bc-gold) !important;
  color: var(--bc-green) !important;
  border-radius: 999px !important;
  padding: 14px 30px !important;
  box-shadow: var(--bc-shadow-sm) !important;
  transition: all 0.4s var(--bc-ease) !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}

/* Hover : inversion or ↔ vert (feedback visuel) */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .added_to_cart:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: var(--bc-green) !important;
  border-color: var(--bc-green) !important;
  color: var(--bc-gold) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--bc-shadow-md) !important;
}

/* Boutons "Voir le panier" / "Commander" */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.added_to_cart,
.woocommerce a.button.checkout,
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order {
  background-color: var(--bc-gold) !important;
  border: 1.5px solid var(--bc-green) !important;
  color: var(--bc-green) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.added_to_cart:hover,
.woocommerce a.button.checkout:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-checkout #place_order:hover {
  background-color: var(--bc-green) !important;
  border-color: var(--bc-green) !important;
  color: var(--bc-gold) !important;
}

/* Bouton désactivé */
.woocommerce button.button:disabled,
.woocommerce button.button[disabled] { opacity: 0.4 !important; cursor: not-allowed !important; }

/* ============================================================
   4. BADGE "PROMO" — ROUGE (forme pill propre)
============================================================ */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.onsale {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  background-color: var(--bc-red) !important;
  color: var(--bc-white) !important;
  font-family: var(--bc-sans) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  border: none !important;
  min-width: auto !important;
  min-height: auto !important;
  margin: 0 !important;
  line-height: 1 !important;
  z-index: 3 !important;
}

/* ============================================================
   5. GRILLE BOUTIQUE — CARTES ALIGNÉES
============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
  list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }

/* Carte : flex colonne, hauteur égale */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
  background: var(--bc-white);
  border: 1px solid var(--bc-line);
  border-radius: var(--bc-radius);
  overflow: hidden;
  position: relative;
  transition: transform 0.5s var(--bc-ease), box-shadow 0.5s var(--bc-ease);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px);
  box-shadow: var(--bc-shadow-md);
  border-color: transparent;
}

/* Lien image+titre s'étire */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a:first-of-type {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

/* Image : produit ENTIER (pas de crop / débordement) */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  background: var(--bc-white) !important;
  padding: 16px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
  transition: transform 0.7s var(--bc-ease) !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05) !important; }

/* Titre : POLICE DU SITE + 2 lignes max */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: inherit !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--bc-ink) !important;
  padding: 16px 18px 4px !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.7em !important;
}

/* Catégorie (Astra) */
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--bc-ink-mute) !important;
  font-weight: 600 !important;
  padding: 0 18px 4px !important;
  margin: 0 !important;
}

/* Prix poussé en bas */
.woocommerce ul.products li.product .price {
  font-family: var(--bc-sans) !important;
  margin-top: auto !important;
  padding: 6px 18px 12px !important;
  font-size: 0.98rem !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap;
  color: var(--bc-ink) !important;
}
.woocommerce ul.products li.product .price ins {
  background: transparent !important;
  text-decoration: none !important;
  color: var(--bc-ink) !important;
  font-weight: 700 !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--bc-ink-mute) !important;
  opacity: 1 !important;
  font-size: 0.88rem !important;
}

/* Bouton ajouter au panier en bas */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: block !important;
  text-align: center !important;
  margin: 0 18px 18px !important;
  width: calc(100% - 36px) !important;
  padding: 12px 16px !important;
  font-size: 0.85rem !important;
}

/* ============================================================
   6. ÉTOILES DE NOTATION
============================================================ */
.woocommerce .star-rating { color: var(--bc-star) !important; }
.woocommerce .star-rating::before { color: var(--bc-line) !important; }
.woocommerce .star-rating span::before { color: var(--bc-star) !important; }

/* ============================================================
   7. FICHE PRODUIT
============================================================ */
.woocommerce div.product .product_title {
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 16px !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--bc-sans) !important;
  color: var(--bc-green) !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--bc-ink-mute) !important;
  font-weight: 400 !important;
  font-size: 1.2rem !important;
  opacity: 1 !important;
}
.woocommerce div.product div.images img {
  border-radius: var(--bc-radius-lg) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}
.woocommerce div.product .product_meta {
  font-size: 0.85rem !important;
  color: var(--bc-ink-mute) !important;
  padding-top: 20px;
  border-top: 1px solid var(--bc-line);
  margin-top: 20px;
}
.woocommerce div.product .product_meta a { color: var(--bc-terracotta) !important; }

/* Quantité + variations */
.woocommerce .quantity .qty,
.woocommerce div.product form.cart .variations select {
  border: 1.5px solid var(--bc-line) !important;
  border-radius: var(--bc-radius-sm) !important;
  background: var(--bc-white) !important;
  color: var(--bc-ink) !important;
  font-family: var(--bc-sans) !important;
  font-weight: 600 !important;
  padding: 12px !important;
  height: auto !important;
}
.woocommerce .quantity .qty:focus { border-color: var(--bc-green) !important; outline: none !important; }

/* Onglets produit */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--bc-line) !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--bc-line) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 8px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--bc-sans) !important;
  font-weight: 600 !important;
  color: var(--bc-ink-mute) !important;
  padding: 14px 20px !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.3s var(--bc-ease) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--bc-ink) !important;
  border-bottom-color: var(--bc-gold) !important;
}

/* ============================================================
   8. PANIER & CHECKOUT
============================================================ */
.woocommerce table.shop_table {
  border: 1px solid var(--bc-line) !important;
  border-radius: var(--bc-radius) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  background: var(--bc-white);
}
.woocommerce table.shop_table th {
  font-family: var(--bc-sans) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--bc-ink) !important;
  background: var(--bc-cream-soft) !important;
  padding: 18px 20px !important;
}
.woocommerce table.shop_table td {
  padding: 20px !important;
  border-top: 1px solid var(--bc-line) !important;
  color: var(--bc-ink-soft) !important;
}
.woocommerce table.shop_table img { border-radius: var(--bc-radius-sm) !important; }
.woocommerce a.remove { color: var(--bc-red) !important; border-radius: 50% !important; }
.woocommerce a.remove:hover { background: var(--bc-red) !important; color: var(--bc-white) !important; }

.woocommerce .cart_totals .order-total .amount {
  color: var(--bc-green) !important;
  font-weight: 700 !important;
  font-size: 1.3rem !important;
}

/* Formulaires checkout */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single {
  border: 1.5px solid var(--bc-line) !important;
  border-radius: var(--bc-radius-sm) !important;
  padding: 13px 16px !important;
  font-family: var(--bc-sans) !important;
  font-size: 0.95rem !important;
  color: var(--bc-ink) !important;
  background: var(--bc-white) !important;
  height: auto !important;
  line-height: 1.5 !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--bc-green) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,100,0,0.08) !important;
}
.woocommerce form .form-row label {
  font-family: var(--bc-sans) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  color: var(--bc-ink) !important;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  background: var(--bc-cream-soft) !important;
  border: 1px solid var(--bc-line) !important;
  border-radius: var(--bc-radius) !important;
  padding: 24px !important;
}
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order { width: 100% !important; padding: 18px !important; font-size: 1rem !important; }

/* ============================================================
   9. MON COMPTE
============================================================ */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  background: var(--bc-cream-soft);
  border: 1px solid var(--bc-line);
  border-radius: var(--bc-radius) !important;
  overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--bc-line) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 14px 20px !important;
  font-family: var(--bc-sans) !important;
  font-weight: 600 !important;
  color: var(--bc-ink-soft) !important;
  transition: all 0.3s var(--bc-ease) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--bc-gold) !important;
  color: var(--bc-green) !important;
}

/* ============================================================
   10. NOTICES / PAGINATION / FIL D'ARIANE / TRI
============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
  border-radius: var(--bc-radius-sm) !important;
  border: none !important;
  padding: 16px 20px !important;
  font-family: var(--bc-sans) !important;
  font-size: 0.92rem !important;
  background: var(--bc-cream-soft) !important;
  color: var(--bc-ink) !important;
  box-shadow: var(--bc-shadow-sm) !important;
}
.woocommerce-message { border-left: 4px solid var(--bc-green) !important; }
.woocommerce-message::before { color: var(--bc-green) !important; }
.woocommerce-info { border-left: 4px solid var(--bc-gold) !important; }
.woocommerce-info::before { color: var(--bc-gold) !important; }
.woocommerce-error { border-left: 4px solid var(--bc-red) !important; background: #fdf2f1 !important; }
.woocommerce-error::before { color: var(--bc-red) !important; }

.woocommerce nav.woocommerce-pagination ul { border: none !important; display: flex; gap: 8px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; margin: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 50% !important;
  width: 44px !important; height: 44px !important;
  display: flex !important; align-items: center; justify-content: center;
  font-family: var(--bc-sans) !important; font-weight: 600 !important;
  color: var(--bc-ink) !important;
  background: var(--bc-white) !important;
  border: 1px solid var(--bc-line) !important;
  padding: 0 !important;
  transition: all 0.3s var(--bc-ease) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--bc-gold) !important;
  color: var(--bc-green) !important;
  border-color: var(--bc-gold) !important;
}

.woocommerce .woocommerce-breadcrumb {
  font-family: var(--bc-sans) !important;
  font-size: 0.82rem !important;
  color: var(--bc-ink-mute) !important;
  margin-bottom: 24px !important;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--bc-terracotta) !important; }

.woocommerce .woocommerce-result-count {
  font-family: var(--bc-sans) !important;
  font-size: 0.85rem !important;
  color: var(--bc-ink-mute) !important;
}
.woocommerce .woocommerce-ordering select {
  border: 1.5px solid var(--bc-line) !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-family: var(--bc-sans) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--bc-ink) !important;
  background: var(--bc-white) !important;
  cursor: pointer;
}

/* Slider de prix (filtre) */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--bc-green) !important; }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--bc-line) !important; border-radius: 999px !important; }

/* ============================================================
   11. BARRE DE RECHERCHE (FiboSearch)
============================================================ */
.fibo-search input[type="search"],
.fibo-search-form input[type="search"] {
  background-color: transparent !important;
  border: 1px solid #ccc;
  color: #000;
  padding: 10px;
  border-radius: 5px;
}
.fibo-search input[type="search"]::placeholder,
.fibo-search-form input[type="search"]::placeholder { color: #888; }

.fibo-search input[type="submit"],
.fibo-search-form input[type="submit"] {
  background-color: transparent !important;
  border: 1px solid #ccc;
  color: var(--bc-red);
  padding: 10px 15px;
  border-radius: 5px;
  cursor: pointer;
}
.fibo-search input[type="submit"]:hover,
.fibo-search-form input[type="submit"]:hover { background-color: #f1f1f1; }

/* ============================================================
   12. MENU ASTRA — PAGE D'ACCUEIL
============================================================ */

/* Texte du menu en foncé sur l'accueil */
body.home .main-header-menu .menu-item > a,
body.home .ast-builder-menu .menu-item > a,
body.home #site-navigation .menu-item > a,
body.home .main-navigation .menu-item > a,
body.home .ast-header-break-point .main-header-menu a {
  color: #1f1410 !important;
  transition: color 0.3s ease;
}

/* Hover */
body.home .main-header-menu .menu-item > a:hover,
body.home .ast-builder-menu .menu-item > a:hover,
body.home #site-navigation .menu-item > a:hover,
body.home .main-navigation .menu-item > a:hover {
  color: var(--bc-terracotta) !important;
}

/* Page courante */
body.home .main-header-menu .current-menu-item > a,
body.home .ast-builder-menu .current-menu-item > a,
body.home #site-navigation .current-menu-item > a {
  color: var(--bc-terracotta) !important;
}

/* Lien "Promotion" en rouge (par URL + par classe) */
body.home .main-header-menu a[href*="promotion"],
body.home .ast-builder-menu a[href*="promotion"],
body.home #site-navigation a[href*="promotion"],
body.home .main-navigation a[href*="promotion"],
.promotion-menu-link a {
  color: var(--bc-red) !important;
  font-weight: 700 !important;
}
body.home .main-header-menu a[href*="promotion"]:hover,
body.home .ast-builder-menu a[href*="promotion"]:hover,
body.home #site-navigation a[href*="promotion"]:hover,
.promotion-menu-link a:hover {
  color: #b81d1d !important;
}

/* Icônes (panier, recherche, compte) en foncé */
body.home .ast-builder-menu .ast-header-break-point .menu-toggle,
body.home .ast-site-header-cart-li .ast-cart-menu-wrap,
body.home #ast-desktop-header .ast-icon,
body.home #ast-desktop-header .ast-builder-button-area,
body.home .ast-header-account-action-trigger,
body.home .header-cart-icon-svg {
  color: #1f1410 !important;
  fill: #1f1410 !important;
}
body.home .ast-cart-menu-wrap .count { color: #1f1410 !important; }

/* Logo texte */
body.home .site-title a,
body.home .site-description { color: #1f1410 !important; }

/* Pas de soulignement */
body.home .main-header-menu .menu-item > a::after,
body.home .ast-builder-menu .menu-item > a::after,
body.home #site-navigation .menu-item > a::after { display: none !important; }

/* Sous-menus : texte noir sur fond blanc */
.home .main-header-menu .sub-menu a,
.home .ast-main-header-nav .sub-menu a,
.home .main-navigation .sub-menu a {
  color: #000 !important;
  opacity: 1 !important;
}
.home .main-header-menu .sub-menu,
.home .ast-main-header-nav .sub-menu,
.home .main-navigation .sub-menu {
  background-color: #fff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* ============================================================
   13. RESPONSIVE
============================================================ */
@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.92rem !important; padding: 12px 12px 4px !important; }
  .woocommerce ul.products li.product a img { padding: 10px !important; }
  .woocommerce ul.products li.product .price { padding: 4px 12px 10px !important; }
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .added_to_cart { margin: 0 12px 12px !important; width: calc(100% - 24px) !important; font-size: 0.78rem !important; padding: 10px 12px !important; }
  .woocommerce span.onsale { top: 10px !important; left: 10px !important; font-size: 0.65rem !important; padding: 4px 10px !important; }
  .woocommerce div.product .product_title { font-size: 1.6rem !important; }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 1.4rem !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}
/* ============================================================================
   BAMBINOS CORNER — CORRECTIF #2
   ----------------------------------------------------------------------------
   À AJOUTER À LA FIN de votre CSS.
   1. Mobile : 2 produits par ligne
   2. Icônes des notices qui touchent la bordure
   3. Boutons de variation (3 mois / 6 mois) qui touchent les bordures
============================================================================ */

/* ============================================================
   1. MOBILE — 2 PRODUITS PAR LIGNE
============================================================ */
@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  /* Ajustements pour 2 colonnes sur petit écran */
  .woocommerce ul.products li.product a img {
    padding: 8px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.82rem !important;
    padding: 10px 10px 2px !important;
    min-height: 2.4em !important;
  }
  .woocommerce ul.products li.product .ast-woo-product-category,
  .woocommerce ul.products li.product .woocommerce-loop-category__title {
    font-size: 0.62rem !important;
    padding: 0 10px 2px !important;
  }
  .woocommerce ul.products li.product .price {
    padding: 2px 10px 8px !important;
    font-size: 0.85rem !important;
    gap: 6px !important;
  }
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .added_to_cart {
    margin: 0 10px 10px !important;
    width: calc(100% - 20px) !important;
    font-size: 0.72rem !important;
    padding: 9px 8px !important;
  }
  .woocommerce span.onsale {
    top: 8px !important;
    left: 8px !important;
    font-size: 0.58rem !important;
    padding: 4px 9px !important;
  }
}

/* ============================================================
   2. NOTICES — ESPACE POUR L'ICÔNE (ne touche plus la bordure)
============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
  position: relative !important;
  padding: 16px 20px 16px 54px !important;   /* espace à gauche pour l'icône */
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-noreviews::before {
  left: 22px !important;                       /* icône décalée de la bordure */
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

/* Le lien "Annuler ?" / "Cliquez ici" reste bien aligné */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  margin-left: 12px !important;
}

/* ============================================================
   3. BOUTONS DE VARIATION (3 mois / 6 mois) — NE TOUCHENT PLUS LES BORDURES
   Couvre les principaux plugins de swatches WooCommerce
============================================================ */
.woocommerce ul.products li.product .variations,
.woocommerce ul.products li.product .variations_form,
.woocommerce ul.products li.product .variable-items-wrapper,
.woocommerce ul.products li.product .tawcvs-swatches,
.woocommerce ul.products li.product .woo-variation-swatches,
.woocommerce ul.products li.product [class*="swatches"],
.woocommerce ul.products li.product [class*="variation"] {
  padding: 0 18px 14px !important;
  margin: 4px 0 0 !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

/* Les boutons/pastilles eux-mêmes */
.woocommerce ul.products li.product .variable-item,
.woocommerce ul.products li.product .swatch,
.woocommerce ul.products li.product .variable-items-wrapper > *,
.woocommerce ul.products li.product .tawcvs-swatches > * {
  margin: 0 !important;
  border-radius: 8px !important;
}

/* Sécurité : rien ne dépasse de la carte */
.woocommerce ul.products li.product {
  overflow: hidden !important;
}
/* ============================================================================
   BAMBINOS CORNER — CORRECTIF #3
   ----------------------------------------------------------------------------
   Masque les boutons de variation (3 mois / 6 mois / 9 mois...) dans la
   GRILLE BOUTIQUE uniquement → toutes les cartes deviennent identiques.
   Le client choisit la taille sur la PAGE DU PRODUIT (non affectée).

   ⚠️ Ce correctif REMPLACE la "section 3" du Correctif #2.
   À ajouter à la fin de votre CSS.
============================================================================ */

/* Masquer les swatches / sélecteurs de variation dans la grille */
.woocommerce ul.products li.product .variations,
.woocommerce ul.products li.product .variations_form,
.woocommerce ul.products li.product .variable-items-wrapper,
.woocommerce ul.products li.product .tawcvs-swatches,
.woocommerce ul.products li.product .woo-variation-swatches,
.woocommerce ul.products li.product .wcvs-archive-variation,
.woocommerce ul.products li.product .archive-variation-wrapper,
.woocommerce ul.products li.product [class*="swatch"],
.woocommerce ul.products li.product .reset_variations,
.woocommerce-page ul.products li.product .variations,
.woocommerce-page ul.products li.product .variable-items-wrapper,
.woocommerce-page ul.products li.product [class*="swatch"] {
  display: none !important;
}

/* Le bouton reste : pour un produit variable, il affichera
   "Choix des options" et mènera à la fiche produit */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable {
  display: block !important;
}