/* =============================
   AURIA PRO IMPROVEMENTS v2.0 — refined palette (navy + single gold)
   Injected globally via frontoffice.blade.php
   Safe override layer — all rules use !important.
   To revert: remove the <link> in frontoffice.blade.php and delete this file.
   ============================= */

/* --- GLOBAL --- */
html { scroll-behavior: smooth !important; }
* { box-sizing: border-box !important; }
::-webkit-scrollbar { width: 6px !important; }
::-webkit-scrollbar-track { background: #f1f1f1 !important; }
::-webkit-scrollbar-thumb { background: #00A76F !important; border-radius: 3px !important; }
::-webkit-scrollbar-thumb:hover { background: #007867 !important; }
input:focus, select:focus, textarea:focus {
  border-color: #00A76F !important;
  box-shadow: 0 0 0 3px rgba(0, 167, 111,0.25) !important;
  outline: none !important;
}

/* --- PRODUCT CARDS --- */
.product-card {
  border-radius: 16px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  overflow: hidden !important;
  border: 1px solid #f0f0f0 !important;
  background: #fff !important;
}
.product-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important;
  transform: translateY(-6px) !important;
  border-color: #00A76F !important;
}
.product-card__img--primary {
  transition: transform 0.4s ease !important;
}
.product-card:hover .product-card__img--primary {
  transform: scale(1.06) !important;
}
.product-card__title {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #222 !important;
}
.product-card__title a {
  color: #222 !important;
  text-decoration: none !important;
}
.product-card__title a:hover { color: #007867 !important; }
.product-card__action {
  background: rgba(255,255,255,0.95) !important;
  border-radius: 50% !important;
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15) !important;
  transition: all 0.25s ease !important;
  border: 1px solid #eee !important;
}
.product-card__action:hover {
  background: #00A76F !important;
  transform: scale(1.1) !important;
  border-color: #00A76F !important;
}

/* "Choisir mon lot" CTA button */
.product-card__choose-btn {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: linear-gradient(135deg, #00A76F 0%, #007867 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 1.35rem !important;
  border-radius: 30px !important;
  padding: 10px 20px !important;
  border: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(0, 167, 111,0.3) !important;
  text-decoration: none !important;
  letter-spacing: 0.3px !important;
}
.product-card__choose-btn:hover {
  background: linear-gradient(135deg, #007867 0%, #005F4F 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 167, 111,0.5) !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Promo badge */
.product-badge--promo {
  background: linear-gradient(135deg, #e53935, #c62828) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 20px !important;
  padding: 4px 12px !important;
  font-size: 1.2rem !important;
  box-shadow: 0 2px 8px rgba(229,57,53,0.4) !important;
  border: none !important;
}

/* --- PACK PILLS (on cards in homepage/shop) --- */
.pack-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 10px 0 !important;
}
.pack-pill {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
  background: #E8F8F1 !important;
  border: 1.5px solid #00A76F !important;
  border-radius: 20px !important;
  padding: 6px 10px !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #333 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  min-width: 85px !important;
  cursor: pointer !important;
}
.pack-pill:hover {
  background: #00A76F !important;
  color: #222 !important;
  transform: scale(1.05) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 167, 111,0.4) !important;
}
.pack-pill:hover .pack-pill__qty {
  background: #fff !important;
  color: #007867 !important;
}
.pack-pill__qty {
  background: #ffffff !important;
  color: #00A76F !important;
  border-radius: 10px !important;
  padding: 1px 7px !important;
  font-size: 1.1rem !important;
  font-weight: 900 !important;
  display: inline-block !important;
  min-width: 28px !important;
  text-align: center !important;
}
.pack-pill__savings {
  background: #e53935 !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 1px 6px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}
.pack-pill__sep { color: #bbb !important; font-size: 0.9rem !important; }

/* Savings bar below card CTA */
.auria-savings-bar {
  background: linear-gradient(90deg, #ffffff, #007867) !important;
  color: #00A76F !important;
  text-align: center !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  padding: 5px 10px !important;
  border-radius: 0 0 12px 12px !important;
  margin-top: 6px !important;
  letter-spacing: 0.3px !important;
}

/* --- SECTION HEADINGS --- */
.section__heading--maintitle {
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  color: #103832 !important;
  position: relative !important;
}
.section__heading--maintitle::after {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(90deg, #00A76F, #007867) !important;
  border-radius: 2px !important;
  margin: 10px auto 0 !important;
}

/* --- SECTIONS --- */
.packs-section {
  background: linear-gradient(180deg, #fff9f0, #fffef7) !important;
  padding: 40px 0 !important;
  position: relative !important;
}
.packs-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #00A76F, #007867, #00A76F) !important;
}
.packs-section .section__heading--subtitle::before { content: '💰 ' !important; }

.bestseller-section { position: relative !important; }
.bestseller-section::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, #005F4F, #00A76F, #005F4F) !important;
}

.trust-section {
  background: linear-gradient(135deg, #ffffff, #007867) !important;
  border-radius: 20px !important;
  margin: 0 15px !important;
}

.newsletter-cta {
  background: linear-gradient(135deg, #103832 0%, #0C2C27 100%) !important;
  border-radius: 20px !important;
  margin: 0 15px 30px !important;
}

/* Trust badges */
.trust-badge {
  background: rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 15px !important;
  transition: all 0.3s ease !important;
}
.trust-badge:hover {
  background: rgba(0, 167, 111,0.15) !important;
  transform: translateX(4px) !important;
}
.trust-badge__icon { color: #00A76F !important; }

/* Testimonial cards */
.testimonial-card {
  border-radius: 16px !important;
  border-left: 4px solid #00A76F !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
  transition: all 0.3s ease !important;
}
.testimonial-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.14) !important;
  transform: translateY(-4px) !important;
}

/* Category cards */
.category-card {
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}
.category-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

/* --- PRODUCT DETAIL PAGE --- */
/* Pack option selector (1 piece / 2 pieces) */
.pack-option {
  border-radius: 16px !important;
  border: 2px solid #e0e0e0 !important;
  background: #fafafa !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
}
.pack-option:hover {
  border-color: #00A76F !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 167, 111,0.25) !important;
}
.pack-option--active {
  border-color: #00A76F !important;
  background: linear-gradient(135deg, #E8F8F1, #fff3cd) !important;
  box-shadow: 0 4px 16px rgba(0, 167, 111,0.3) !important;
}
.pack-option__check {
  background: #4CAF50 !important;
  border-color: #4CAF50 !important;
}

/* Main CTA buttons */
.action-btn--primary {
  background: linear-gradient(135deg, #00A76F, #007867) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 30px !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  padding: 14px 25px !important;
  box-shadow: 0 5px 20px rgba(0, 167, 111,0.35) !important;
  transition: all 0.3s ease !important;
  letter-spacing: 0.5px !important;
}
.action-btn--primary:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(0, 167, 111,0.5) !important;
  background: linear-gradient(135deg, #00A76F, #005F4F) !important;
}
.action-btn--cart {
  background: #ffffff !important;
  color: #00A76F !important;
  border: 2px solid #ffffff !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  padding: 12px 25px !important;
  transition: all 0.3s ease !important;
}
.action-btn--cart:hover {
  background: transparent !important;
  color: #00A76F !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(6,23,56,0.25) !important;
}

/* WhatsApp + social order buttons */
.action-btn--whatsapp {
  background: linear-gradient(135deg, #25D366, #128C7E) !important;
  color: #fff !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(37,211,102,0.35) !important;
  transition: all 0.3s ease !important;
}
.action-btn--whatsapp:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(37,211,102,0.5) !important;
}
.action-btn--messenger {
  background: linear-gradient(135deg, #006AFF, #0095FF) !important;
  color: #fff !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(0,106,255,0.3) !important;
  transition: all 0.3s ease !important;
}
.action-btn--phone {
  background: #2e2e2e !important;
  color: #fff !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: all 0.3s ease !important;
}

/* Sticky bottom bar */
.sticky-buy-btn {
  background: linear-gradient(135deg, #00A76F, #007867) !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  font-weight: 800 !important;
  border: none !important;
  padding: 10px 20px !important;
  box-shadow: 0 4px 15px rgba(0, 167, 111,0.3) !important;
  transition: all 0.25s ease !important;
}
.sticky-buy-btn:hover { transform: translateY(-1px) !important; }
.sticky-add-btn {
  background: #ffffff !important;
  color: #00A76F !important;
  border-radius: 20px !important;
  font-weight: 700 !important;
  border: none !important;
  transition: all 0.25s ease !important;
}
.sticky-whatsapp-btn {
  background: #25D366 !important;
  color: #fff !important;
  border-radius: 20px !important;
  border: none !important;
}
.mobile-sticky-cart {
  box-shadow: 0 -4px 20px rgba(0,0,0,0.15) !important;
  backdrop-filter: blur(10px) !important;
  background: rgba(255,255,255,0.97) !important;
}

/* Quantity controls */
.quantity__value {
  background: #f5f5f5 !important;
  border-radius: 8px !important;
  border: 1px solid #ddd !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.quantity__value:hover {
  background: #00A76F !important;
  border-color: #00A76F !important;
  color: #ffffff !important;
}

/* Price breakdown box */
.price-breakdown {
  background: linear-gradient(135deg, #f8f9fa, #fff) !important;
  border-radius: 12px !important;
  border-left: 3px solid #00A76F !important;
  padding: 15px !important;
}

/* Product tabs */
.product-tabs__btn {
  padding: 12px 20px !important;
  font-weight: 600 !important;
  color: #666 !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
  border-bottom: 3px solid transparent !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
.product-tabs__btn--active {
  color: #00A76F !important;       /* green active text on white bg (underline-style tab) */
  border-bottom-color: #00A76F !important;
  font-weight: 800 !important;
}
.product-tabs__btn--active:hover { color: #007867 !important; }

/* Related product cards */
.related-card {
  border-radius: 14px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  transition: all 0.3s ease !important;
  overflow: hidden !important;
  border: 1px solid #f0f0f0 !important;
}
.related-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
  transform: translateY(-4px) !important;
  border-color: #00A76F !important;
}
.related-pill {
  background: #E8F8F1 !important;
  border: 1.5px solid #00A76F !important;
  border-radius: 16px !important;
  padding: 3px 8px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}
.related-pill:hover {
  background: #00A76F !important;
  color: #222 !important;
  text-decoration: none !important;
}
.related-pill__qty {
  background: #ffffff !important;
  color: #00A76F !important;
  border-radius: 8px !important;
  padding: 0 5px !important;
  font-weight: 900 !important;
  display: inline-block !important;
}

/* --- MEDIA thumbnails --- */
.product__media--nav__items {
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  border: 2px solid transparent !important;
  overflow: hidden !important;
}
.product__media--nav__items:hover {
  border-color: #00A76F !important;
  box-shadow: 0 2px 10px rgba(0, 167, 111,0.4) !important;
}

/* --- PACK SELECTOR SAVINGS BANNER --- */
.pack-selector__savings-banner {
  background: linear-gradient(90deg, #e53935, #c62828) !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 4px 14px !important;
  font-weight: 800 !important;
  font-size: 1.2rem !important;
  display: inline-block !important;
}

/* --- HEADER --- */
.header__topbar {
  background: #103832 !important;   /* deep-green secondary bar (bg__secondary) */
  color: #ffffff !important;
  font-weight: 600 !important;
}
.header__topbar *,
.header__topbar a,
.header__topbar i,
.header__topbar span { color: #ffffff !important; }
.header__topbar a:hover { color: #C8FAD6 !important; }
.announcement-marquee {
  background: linear-gradient(90deg, #ffffff, #007867, #ffffff) !important;
  color: #00A76F !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

/* --- SWIPER pagination dots --- */
.swiper-pagination-bullet-active {
  background: #00A76F !important;
  transform: scale(1.3) !important;
}

/* --- PRIMARY BUTTON (generic) --- */
.primary__btn {
  background: linear-gradient(135deg, #00A76F, #007867) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 30px !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 15px rgba(0, 167, 111,0.3) !important;
  transition: all 0.3s ease !important;
}
.primary__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 167, 111,0.5) !important;
}

/* --- CART PAGE --- */
.cart-item, [class*="cart__item"] {
  border-radius: 16px !important;
  border: 1px solid #f0f0f0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  padding: 15px !important;
  transition: box-shadow 0.3s ease !important;
  background: #fff !important;
  margin-bottom: 15px !important;
}

/* Animations */
@keyframes packPillClick {
  0% { transform: scale(1); }
  50% { transform: scale(0.92); }
  100% { transform: scale(1.05); }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media (max-width: 768px) {
  .pack-pill { font-size: 1.1rem !important; padding: 4px 8px !important; min-width: 72px !important; }
  .pack-pill__qty { padding: 1px 5px !important; font-size: 1rem !important; }
  .product-card__choose-btn { font-size: 1.2rem !important; padding: 8px 15px !important; }
  .section__heading--maintitle { font-size: 2.2rem !important; }
  .action-btn--primary { font-size: 1.1rem !important; padding: 12px 20px !important; }
  .action-btn--cart { font-size: 1.1rem !important; padding: 10px 20px !important; }
}

/* =============================================================
   AURIA v2 — NEW COMPONENTS (header search, nav dropdown,
   refined product-detail actions, legal pages)
   ============================================================= */

/* --- HEADER: inline search bar --- */
.header-search {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 420px !important;
  background: #f4f5f7 !important;
  border: 1.5px solid #e6e7eb !important;
  border-radius: 50px !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.header-search:focus-within {
  border-color: #00A76F !important;
  box-shadow: 0 0 0 3px rgba(0, 167, 111,0.18) !important;
  background: #fff !important;
}
.header-search__input {
  flex: 1 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 11px 18px !important;
  font-size: 0.95rem !important;
  color: #103832 !important;
  outline: none !important;
}
.header-search__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: #00A76F !important;
  color: #103832 !important;
  width: 46px !important;
  align-self: stretch !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.header-search__btn:hover { background: #007867 !important; }

/* --- HEADER: Categories dropdown --- */
.auria-has-dropdown { position: relative !important; }
.auria-caret { font-size: 0.65em !important; margin-left: 4px !important; opacity: 0.7 !important; }
.auria-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 220px !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,0.14) !important;
  padding: 8px !important;
  margin: 0 !important;
  list-style: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(10px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s !important;
  z-index: 999 !important;
  border: 1px solid #f0f0f0 !important;
}
.auria-has-dropdown:hover .auria-dropdown,
.auria-has-dropdown:focus-within .auria-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
.auria-dropdown__item { margin: 0 !important; }
.auria-dropdown__link {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  color: #333 !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  transition: all 0.18s ease !important;
}
.auria-dropdown__link:hover {
  background: #E8F8F1 !important;
  color: #103832 !important;
  padding-left: 18px !important;
}
.offcanvas__menu_item--sub {
  padding-left: 24px !important;
  font-size: 0.92rem !important;
  opacity: 0.85 !important;
}

/* --- PRODUCT DETAIL: refined 2-tier action layout --- */
.action-buttons-primary {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.action-buttons-primary .action-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
}
.action-buttons-contact {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px dashed #e3e3e8 !important;
}
.action-contact-label {
  display: block !important;
  font-size: 0.85rem !important;
  color: #8a8f9c !important;
  margin-bottom: 10px !important;
  text-align: center !important;
}
.action-contact-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
}
.contact-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 10px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  text-decoration: none !important;
  border: 1.5px solid transparent !important;
  transition: all 0.2s ease !important;
}
.contact-chip i { font-size: 1.05rem !important; }
.contact-chip--whatsapp { background: #eafaf0 !important; color: #128C7E !important; border-color: #cdeede !important; }
.contact-chip--whatsapp:hover { background: #25D366 !important; color: #fff !important; border-color: #25D366 !important; }
.contact-chip--phone { background: #f3f4f6 !important; color: #2e2e2e !important; border-color: #e4e6ea !important; }
.contact-chip--phone:hover { background: #2e2e2e !important; color: #fff !important; border-color: #2e2e2e !important; }
.contact-chip--messenger { background: #eaf2ff !important; color: #006AFF !important; border-color: #cfe0ff !important; }
.contact-chip--messenger:hover { background: #006AFF !important; color: #fff !important; border-color: #006AFF !important; }

@media (max-width: 575px) {
  .action-buttons-primary { grid-template-columns: 1fr !important; }
  .contact-chip span { display: none !important; }
  .contact-chip { padding: 12px !important; }
  .contact-chip i { font-size: 1.2rem !important; }
}

/* --- LEGAL / INFO PAGES --- */
.auria-legal { padding: 50px 0 70px !important; background: #fff !important; }
.auria-legal .container { max-width: 880px !important; }
.auria-legal__crumb {
  font-size: 0.88rem !important;
  color: #9a9fab !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.auria-legal__crumb a { color: #007867 !important; text-decoration: none !important; font-weight: 600 !important; }
.auria-legal__crumb a:hover { color: #007867 !important; }
.auria-legal__crumb--current { color: #9a9fab !important; }
.auria-legal__title {
  font-size: 2.4rem !important;
  font-weight: 800 !important;
  color: #103832 !important;
  margin: 0 0 10px !important;
}
.auria-legal__title::after {
  content: "" !important;
  display: block !important;
  width: 56px !important;
  height: 4px !important;
  background: #00A76F !important;
  border-radius: 3px !important;
  margin-top: 14px !important;
}
.auria-legal__lead {
  font-size: 1.12rem !important;
  color: #555b68 !important;
  line-height: 1.7 !important;
  margin: 18px 0 30px !important;
}
.auria-legal__content { color: #3a3f4b !important; line-height: 1.8 !important; font-size: 1rem !important; }
.auria-legal__content h2 {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #103832 !important;
  margin: 32px 0 12px !important;
}
.auria-legal__content p { margin: 0 0 16px !important; }
.auria-legal__content ul { margin: 0 0 16px !important; padding-left: 22px !important; }
.auria-legal__content li { margin-bottom: 8px !important; }
.auria-legal__content a { color: #007867 !important; font-weight: 600 !important; }
.auria-legal__note {
  margin-top: 30px !important;
  padding: 14px 16px !important;
  background: #E8F8F1 !important;
  border-left: 3px solid #00A76F !important;
  border-radius: 0 8px 8px 0 !important;
  color: #7a6a2e !important;
  font-size: 0.92rem !important;
}

/* --- PROMO POPUP CTA --- */
.newsletter__popup--cta {
  display: inline-block !important;
  margin-top: 16px !important;
  background: #00A76F !important;
  color: #103832 !important;
  font-weight: 700 !important;
  padding: 11px 24px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}
.newsletter__popup--cta:hover { background: #007867 !important; transform: translateY(-2px) !important; }

/* --- CONTACT MAP height (avoid empty whitespace) --- */
.contact__map--iframe { width: 100% !important; height: 420px !important; display: block !important; border-radius: 12px !important; }

/* --- ACTIVE NAV HIGHLIGHT (orientation cue) --- */
.header__menu--link.router-link-exact-active,
.offcanvas__menu_item.router-link-exact-active,
.auria-dropdown__link.router-link-exact-active {
  color: #00A76F !important;
  font-weight: 700 !important;
}

/* =============================================================
   AURIA v2 — MOBILE EXPERIENCE
   ============================================================= */
@media (max-width: 991px) {
  /* The fixed bottom nav must never permanently hide page content
     (footer, shop pagination, the "Commander" button, etc.) */
  body { padding-bottom: 70px !important; }

  /* Slimmer, standard-height bottom navigation (was ~90px tall) */
  .offcanvas__stikcy--toolbar { padding: 6px 10px !important; }
  .offcanvas__stikcy--toolbar__icon {
    width: 2.1rem !important;
    height: 2.1rem !important;
    line-height: 2.1rem !important;
  }
  .offcanvas__stikcy--toolbar__icon svg { width: 18px !important; height: 18px !important; }
  .offcanvas__stikcy--toolbar__label {
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
  }
  /* Highlight the active item in the bottom bar: green circle, WHITE icon */
  .offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__icon,
  .offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__icon i,
  .offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__icon svg {
    background: #00A76F !important;
    color: #ffffff !important;
    fill: #ffffff !important;
    border-radius: 50% !important;
  }
  .offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__label {
    color: #00A76F !important;
  }

  /* Comfortable tap targets for +/- quantity steppers on mobile */
  .quantity__value { min-width: 40px !important; min-height: 40px !important; }
}

@media (max-width: 767px) {
  /* body padding now clears the bottom bar — drop the page's redundant inner gap
     so the product page doesn't get a big empty space above the footer */
  main.main__content_wrapper { padding-bottom: 0 !important; }
}

@media (max-width: 575px) {
  /* Tame oversized headings/cards on small phones for cleaner reading */
  .section__heading--maintitle { font-size: 1.75rem !important; }
  .product-card__title { font-size: 1.15rem !important; }
  /* Keep the announcement strip subtle on small screens */
  .announcement-item { font-size: 0.9rem !important; }
}

/* ============================================================
   Equal-height product cards
   Pack cards (x1/x2/x3 + "Choisir mon lot") were taller than simple
   cards, making the grid ragged. Stretch every card to the row height
   and pin the bottom action so buttons align across the row.
   Applies to the shop (.product-grid) and homepage sections (.products-grid).
   ============================================================ */
.product-grid__item,
.products-grid__item { display: flex !important; height: auto; }

.product-grid__item > .product-card,
.products-grid__item > .product-card,
.product-grid__item .product-card,
.products-grid__item .product-card {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.product-card__content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

/* Push the buy/choose action to the bottom edge of every card */
.product-card__cta,
.product-card__choose-btn,
.product-card__cart-btn,
.product-card__soldout { margin-top: auto; }

/* Bestsellers / other swiper rows: keep slides equal height */
.swiper-slide { height: auto; }
.swiper-slide > .product-card { height: 100%; }

/* ============================================================
   AURIA — GREEN REBRAND (Minimal-UI green, modern polish)
   Cohesive green design system replacing the old navy + gold.
   Appended last → wins. v3.0
   ============================================================ */
:root {
  --au-green:        #00A76F;
  --au-green-dark:   #007867;
  --au-green-darker: #004B50;
  --au-green-light:  #5BE49B;
  --au-green-lighter:#C8FAD6;
  --au-green-tint:   #E8F8F1;
  --au-ink:          #103832;  /* deep green-charcoal (structure/text) */
  --au-ink-soft:     #1C3A35;
  --au-grey:         #637381;
  --au-radius:       14px;
  --au-shadow:       0 6px 24px rgba(0,167,111,.12);
  --au-shadow-strong:0 12px 32px rgba(0,167,111,.22);
}

/* ---- Primary buttons / CTAs: white text on green, modern pill ---- */
.primary__btn,
.product-card__choose-btn,
.product-card__cart-btn,
button.primary__btn,
a.primary__btn,
.continue__shipping--btn,
.add__to--cart,
.checkout__btn,
.btn-primary {
  background: linear-gradient(135deg, var(--au-green) 0%, var(--au-green-dark) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  box-shadow: 0 8px 18px rgba(0,167,111,.28) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
.primary__btn:hover,
.product-card__choose-btn:hover,
.product-card__cart-btn:hover,
.continue__shipping--btn:hover,
.add__to--cart:hover,
.btn-primary:hover {
  filter: brightness(1.03) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 26px rgba(0,167,111,.38) !important;
  color: #fff !important;
}
.primary__btn *, .product-card__choose-btn *, .product-card__cart-btn * { color: #fff !important; }

/* "Acheter maintenant" stays a distinct lighter-green outline for hierarchy */
.buy__now--btn, .acheter-maintenant {
  background: var(--au-green-tint) !important;
  color: var(--au-green-dark) !important;
  border: 1.5px solid var(--au-green) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}
.buy__now--btn:hover, .acheter-maintenant:hover {
  background: var(--au-green) !important; color: #fff !important;
}

/* ---- Links, nav, accents ---- */
a { color: var(--au-green); }
a:hover { color: var(--au-green-dark); }
.main__menu--navigation .main__menu a:hover,
.main__menu a.active,
.header__menu a:hover { color: var(--au-green) !important; }
.text-success { color: var(--au-green-dark) !important; }

/* ---- Price ---- */
.product-card__price-current,
.current__price,
.product__details--price .current,
.price--current { color: var(--au-green-dark) !important; font-weight: 800 !important; }

/* ---- Pack pills (light green tint, green border) ---- */
.pack-pill { background: var(--au-green-tint) !important; border-color: var(--au-green) !important; }
.pack-pill__price, .pack-pill__qty { color: var(--au-green-dark) !important; }
.pack-pill--best { background: var(--au-green) !important; }
.pack-pill--best * { color: #fff !important; }

/* ---- Hero: rich green gradient instead of flat navy ---- */
.hero, .hero__section, .hero-section, .banner__section--bg, .home-hero {
  background: radial-gradient(1200px 500px at 80% -10%, rgba(0,167,111,.35), transparent 60%),
              linear-gradient(135deg, #0c2c27 0%, #103832 45%, #0a4a3f 100%) !important;
}

/* ---- Section heading underline accent ---- */
.section__heading--maintitle::after,
.section-title::after { background: var(--au-green) !important; }

/* ---- Search button / icon accents ---- */
.header__search--btn, .predictive__search--button, .search__btn {
  background: var(--au-green) !important; color: #fff !important; border-radius: 999px !important;
}

/* ---- Inputs: green focus ---- */
input:focus, select:focus, textarea:focus,
.checkout__input--field:focus, .checkout__input--select__field:focus {
  border-color: var(--au-green) !important;
  box-shadow: 0 0 0 3px rgba(0,167,111,.18) !important;
}

/* ---- Cards: softer modern shadow + green hover ---- */
.product-card { border-radius: var(--au-radius) !important; }
.product-card:hover { box-shadow: var(--au-shadow-strong) !important; border-color: var(--au-green-lighter) !important; }

/* ---- Footer / dark surfaces ---- */
.footer, .main__footer, footer.footer-section { background: var(--au-ink) !important; }

/* ---- Cart badge / counts ---- */
.cart__badge, .header__cart--count, .minicart__badge, .cart-count {
  background: var(--au-green) !important; color: #fff !important;
}

/* ---- Scrollbar ---- */
::-webkit-scrollbar-thumb { background: var(--au-green) !important; }
::-webkit-scrollbar-thumb:hover { background: var(--au-green-dark) !important; }

/* ---- "Achat vérifié" / verified ---- */
.testimonial-card__verified { color: var(--au-green-dark) !important; }

/* ---- Contrast fixes for green rebrand (final) ---- */
/* Cart count badge (from base theme) */
.items__count,
.header__cart--count,
.minicart__badge {
  background: var(--au-green) !important;
  color: #fff !important;
  border: 2px solid #fff !important;
}

/* Announcement marquee: solid deep-green, light readable text */
.announcement-marquee,
.announcement--highlight {
  background: var(--au-ink) !important;
  color: var(--au-green-lighter) !important;
  border-bottom: 1px solid rgba(0,167,111,.25) !important;
}
.announcement-marquee .announcement-item,
.announcement--highlight .announcement-item { color: var(--au-green-lighter) !important; }

/* Savings bar under pack cards: solid deep-green, white text */
.auria-savings-bar {
  background: var(--au-ink) !important;
  color: #fff !important;
}
.auria-savings-bar strong, .auria-savings-bar b { color: var(--au-green-light) !important; }

/* Top contact bar = deep-green secondary, white text */
.header__topbar a, .header__topbar i, .header__topbar span { color: #ffffff !important; }
.header__topbar a:hover { color: #C8FAD6 !important; }

/* Section heading double-underline accent → both green */
.section__heading--maintitle::before,
.section__heading--maintitle::after,
.section-title::before,
.section-title::after { background: var(--au-green) !important; }

/* Active product-tab pill → green */
.product-tabs__btn.active,
.product__tab--btn.active,
.tab__btn.active { background: var(--au-green) !important; color: #fff !important; border-color: var(--au-green) !important; }

/* Any remaining amber accents from base theme */
[style*="#FFD54F"], [style*="#ffd54f"] { }

/* Remaining amber leftovers → green */
.offcanvas__stikcy--toolbar__icon,
.offcanvas__stikcy--toolbar a,
.offcanvas__stikcy--toolbar i { color: var(--au-green) !important; }
.product__details--tab__list.active,
.product__details--tab__list:hover { color: var(--au-green) !important; border-color: var(--au-green) !important; }
.product__details--tab__list.active::after,
.product__details--tab__btn.active { background: var(--au-green) !important; color: var(--au-green) !important; }
/* Quantity stepper +/- accents */
.quantity__value:hover { color: var(--au-green) !important; }

/* Hero primary CTA: white text/icon on green */
.auria-hero__btn--primary,
.auria-hero__btn--primary * { color: #fff !important; }
.auria-hero__btn--primary { box-shadow: 0 10px 24px rgba(0,167,111,.35) !important; }
.auria-hero__btn--primary svg, .auria-hero__btn--primary path { stroke: #fff !important; }

/* ---- Contrast safety (post green-rebrand) ---- */
/* Trust strip: solid deep green so light badge text stays readable */
.trust-section { background: var(--au-ink) !important; }
/* Secondary cart action button: white surface, green text + green border */
.action-btn--cart {
  background: #fff !important;
  color: var(--au-green-dark) !important;
  border: 2px solid var(--au-green) !important;
}
.action-btn--cart:hover { background: var(--au-green) !important; color: #fff !important; }
/* Savings bar: ensure solid deep-green (overrides white→green gradient) */
.auria-savings-bar { background: var(--au-ink) !important; color: #fff !important; }

/* ---- Pack quantity selector polish (was cream/gold) ---- */
.pack-selector { background: #F5FBF8 !important; }              /* subtle green-white, not cream */
.pack-option--active, .pack-option.active {
  background: #E8F8F1 !important;                                /* selected = light-green tint */
  border-color: #00A76F !important;
}
/* Savings banner: solid green bar, white text (was unreadable) */
.pack-selector__savings-banner {
  background: linear-gradient(135deg, #00A76F, #007867) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
}
.pack-selector__savings-banner *,
.pack-selector__savings-banner strong,
.pack-selector__savings-banner b,
.pack-selector__savings-banner i { color: #ffffff !important; }

/* Homepage packs section: light green-white instead of cream/peach */
.packs-section { background: linear-gradient(180deg, #F4FBF8, #ffffff) !important; }

/* Section heading: keep a SINGLE underline accent (hide the duplicate ::before) */
.section__heading--maintitle::before { display: none !important; }
.section__heading--maintitle::after {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(90deg, #00A76F, #007867) !important;
  border-radius: 2px !important;
  margin: 12px auto 0 !important;
}

/* ---- Mobile bottom toolbar (offcanvas__stikcy--toolbar) — global, not media-bound ---- */
.offcanvas__stikcy--toolbar { background: #ffffff !important; box-shadow: 0 -2px 12px rgba(0,0,0,.08) !important; }
/* Inactive items: no filled circle, muted dark glyph */
.offcanvas__stikcy--toolbar__label { color: #637381 !important; }
.offcanvas__stikcy--toolbar__icon {
  background: transparent !important;
  color: #103832 !important;
}
.offcanvas__stikcy--toolbar__icon i,
.offcanvas__stikcy--toolbar__icon svg { color: #103832 !important; fill: #103832 !important; }
/* Active item: green circle icon with WHITE glyph + green label */
.offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__icon {
  background: #00A76F !important; color: #ffffff !important; border-radius: 50% !important;
}
.offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__icon i,
.offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__icon svg {
  color: #ffffff !important; fill: #ffffff !important;
}
.offcanvas__stikcy--toolbar__btn.router-link-exact-active .offcanvas__stikcy--toolbar__label { color: #00A76F !important; }

/* ---- Contact info card: green surface → white text & links ---- */
.contact__info, .contact__info * { color: #ffffff !important; }
.contact__info a { color: #ffffff !important; text-decoration: none !important; font-weight: 700 !important; }
.contact__info a:hover { color: #C8FAD6 !important; }
.contact__info--icon { color: #00A76F !important; background: #ffffff !important; }
.contact__info--icon i, .contact__info--icon svg { color: #00A76F !important; fill: #00A76F !important; }

/* Phones: pack pills two-per-row (override the 85px min-width that forces 1/line) */
@media (max-width: 575px) {
  .pack-pills { gap: 6px !important; }
  .pack-pill {
    flex: 0 0 calc(50% - 3px) !important;   /* exactly 2 per line */
    min-width: 0 !important;
    padding: 5px 6px !important;
  }
  .pack-pill__price { font-size: 1rem !important; }
  .pack-pill__qty { font-size: 1rem !important; }
}

/* ============================================================
   AURIA — PHONE POLISH (≤575px) — comfortable, tap-friendly
   ============================================================ */
@media (max-width: 575px) {
  /* Hero: more legible heading + breathing room */
  .auria-hero__title { font-size: 1.7rem !important; line-height: 1.25 !important; margin-bottom: 10px !important; }
  .auria-hero__subtitle, .auria-hero p { font-size: 0.95rem !important; line-height: 1.5 !important; }

  /* Hero CTAs: comfortable, tap-friendly, may wrap */
  .auria-hero__btns, .auria-hero__cta { flex-wrap: wrap !important; gap: 10px !important; }
  .auria-hero__btn { min-height: 48px !important; padding: 12px 18px !important; font-size: 0.95rem !important; }

  /* Every primary CTA: minimum 48px tap height, centred content */
  .primary__btn, .product-card__choose-btn, .product-card__cart-btn,
  .checkout__btn, .continue__shipping--btn, .auria-login__btn,
  .add__to--cart, .buy__now--btn {
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Section rhythm: consistent, slightly tighter on phones */
  .packs-section, .product-section, .category-section,
  .bestseller-section, .testimonial-section, .section--padding {
    padding-top: 30px !important; padding-bottom: 30px !important;
  }
  .section__heading--maintitle { font-size: 1.55rem !important; line-height: 1.25 !important; }
  .section__heading--subtitle { font-size: 0.9rem !important; }

  /* Hero trust badges: wrap instead of squeezing one line */
  .auria-hero__trust, .hero-trust, [class*="hero"][class*="trust"] { flex-wrap: wrap !important; gap: 8px 14px !important; }

  /* Cards: comfortable inner padding + readable title */
  .product-card__content { padding: 12px !important; }
  .product-card__title { font-size: 1.05rem !important; line-height: 1.3 !important; }

  /* Back-to-top must clear the fixed bottom toolbar */
  #scroll__top { bottom: 92px !important; right: 14px !important; }

  /* Reserve space so the bottom toolbar never covers content */
  body { padding-bottom: 76px !important; }

  /* Forms comfortable to tap */
  .checkout__input--field, .checkout__input--select__field,
  .contact__form--input, .auria-login__input { min-height: 46px !important; }
}

/* ── Free-shipping progress bar (minicart / cart) ── */
.free-ship {
    margin: 0 16px 14px;
    padding: 12px 14px;
    background: #F5FBF8;
    border: 1px solid #C8FAD6;
    border-radius: 12px;
}
.free-ship__text {
    margin: 0 0 8px;
    font-size: 1.3rem;
    color: #103832;
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1.4;
}
.free-ship__text i { color: #00A76F; flex-shrink: 0; }
.free-ship__text strong { color: #007867; }
.free-ship__text--done { color: #007867; }
.free-ship__track {
    height: 8px;
    background: #E3EDE9;
    border-radius: 6px;
    overflow: hidden;
}
.free-ship__fill {
    height: 100%;
    background: linear-gradient(90deg, #00A76F, #5BE49B);
    border-radius: 6px;
    transition: width .4s ease;
}
.free-ship__fill--done { background: linear-gradient(90deg, #007867, #00A76F); }

.free-ship__pill {
    display: inline-block;
    background: #00A76F;
    color: #fff !important;
    font-weight: 700;
    font-size: .92em;
    padding: 2px 10px;
    border-radius: 20px;
}
