/* ============================================================
   CUSTOM CSS — PrestaShop 9.1 / Hummingbird
   Horticulture Debauges — Pepiniere contemporaine
   Palette : blanc, gris chauds, vert sauge, accents terre
   Typo : Cormorant Garamond (titres) + Jost (corps)
   ============================================================ */

/* ─── 1. VARIABLES ───────────────────────────────────────── */
:root {
  --white:          #ffffff;
  --off-white:      #faf9f7;
  --cream:          #f5f3ef;
  --gray-50:        #f0eeea;
  --gray-100:       #e4e1db;
  --gray-200:       #ccc9c2;
  --gray-400:       #918d86;
  --gray-600:       #5c5a56;
  --gray-800:       #2e2d2b;
  --green:          #4a6741;
  --green-hover:    #3d5636;
  --green-light:    #edf2eb;
  --green-muted:    #7a9471;
  --earth:          #8b6f4e;
  --earth-light:    #c4aa85;
  --terracotta:     #a05a3c;
  --border:         #e2dfd9;
  --border-strong:  #ccc9c2;
  --font-serif:     'Cormorant Garamond', Georgia, serif;
  --font-sans:      'Jost', 'Helvetica Neue', Arial, sans-serif;
  --transition:     0.2s ease;
  --shadow-subtle:  0 1px 3px rgba(46, 45, 43, 0.04);
  --shadow-card:    0 2px 8px rgba(46, 45, 43, 0.06);
  --shadow-lift:    0 8px 24px rgba(46, 45, 43, 0.10);
}

/* ─── 2. BASE ─────────────────────────────────────────────── */
body {
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--gray-800);
  background-color: var(--off-white);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--green);
  text-decoration: none;
  transition: color var(--transition);
}

a:hover {
  color: var(--green-hover);
}

h1, h2, h3, h4,
.h1, .h2, .h3, .h4 {
  font-family: var(--font-serif);
  font-weight: 600;
  color: var(--gray-800);
  letter-spacing: -0.01em;
  line-height: 1.15;
}

h1, .h1 { font-size: clamp(1.75rem, 3vw, 2.6rem); }
h2, .h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); }
h3, .h3 { font-size: clamp(1.15rem, 1.8vw, 1.5rem); }

p {
  color: var(--gray-600);
  font-size: 0.9rem;
  line-height: 1.8;
}

::selection {
  background-color: var(--green-light);
  color: var(--green-hover);
}

/* Filet decoratif pour les titres de section */
.featured-products > h2,
.new-products > h2,
.best-sellers > h2,
[id^="content"] > h2 {
  text-align: center;
  padding-bottom: 16px;
  margin-bottom: 32px;
  position: relative;
}

.featured-products > h2::after,
.new-products > h2::after,
.best-sellers > h2::after,
[id^="content"] > h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 2px;
  background-color: var(--green);
}

/* ─── 3. HEADER ───────────────────────────────────────────── */
#header,
.header {
  background-color: var(--white);
  border-bottom: none;
  box-shadow: var(--shadow-subtle);
}

.header-top {
  background-color: var(--gray-800) !important;
  border-bottom: none;
  padding: 6px 0;
}

.header-top a:not(.dropdown-item),
.header-top .form-select {
  color: var(--gray-200) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em;
}

.header-top a:not(.dropdown-item):hover {
  color: var(--white) !important;
}

/* Bandeau vert contact */
.header-topbar {
  background-color: var(--green);
  color: var(--white);
  font-size: 0.78rem;
  padding: 0.35rem 0;
  letter-spacing: 0.06em;
}

.header-topbar a,
.header-topbar #contact-link,
.header-topbar #contact-link span {
  color: var(--white);
  text-decoration: none;
}

.header-topbar a:hover {
  color: var(--green-light);
  text-decoration: underline;
}

.header-bottom {
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

#header .logo img,
.header .logo,
.header-bottom .navbar-brand .logo {
  max-width: 18rem;
  max-height: 90px;
}

.header-bottom .navbar-brand {
  max-width: 20rem;
  max-height: none;
}

/* Navigation principale */
#header .top-menu > li > a,
.header-bottom .nav-link {
  color: var(--gray-800);
  font-family: var(--font-sans);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 400;
  transition: color var(--transition);
  padding: 8px 14px;
  position: relative;
}

#header .top-menu > li > a::after,
.header-bottom .nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 14px;
  right: 14px;
  height: 2px;
  background-color: var(--green);
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

#header .top-menu > li > a:hover::after,
.header-bottom .nav-link:hover::after {
  transform: scaleX(1);
}

#header .top-menu > li > a:hover,
.header-bottom .nav-link:hover {
  color: var(--green);
  text-decoration: none;
}

/* Icones header (compte, panier) */
#header .user-info a,
#header .header-nav a {
  color: var(--gray-600);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  transition: color var(--transition);
}

#header .user-info a:hover,
#header .header-nav a:hover {
  color: var(--green);
}

/* Panier */
#header .blockcart a,
.blockcart a,
#header .blockcart .header-block__action-btn,
.blockcart .header-block__action-btn,
#header .blockcart .header-block__icon {
  color: var(--gray-600);
  font-size: 0.78rem;
  transition: color var(--transition);
}

#header .blockcart a:hover,
.blockcart a:hover,
#header .blockcart .header-block__action-btn:hover,
#header .blockcart .header-block__action-btn:hover .header-block__icon {
  color: var(--green);
}

.blockcart .cart-products-count {
  background-color: var(--green);
  color: var(--white);
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 500;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
}

/* Recherche */
#search_widget input[type="text"],
.search-widget input[type="text"] {
  background-color: var(--cream);
  border: 1px solid var(--border);
  border-radius: 24px;
  color: var(--gray-800);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  padding: 8px 18px;
  transition: border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

#search_widget input[type="text"]::placeholder,
.search-widget input::placeholder {
  color: var(--gray-400);
  font-style: italic;
}

#search_widget input[type="text"]:focus,
.search-widget input:focus {
  border-color: var(--green-muted);
  background-color: var(--white);
  outline: none;
  box-shadow: 0 0 0 3px rgba(74, 103, 65, 0.08);
}

/* ─── 4. MENU DEROULANT ──────────────────────────────────── */
.menu .top-menu .category-sub-menu,
.top-menu .popover {
  background-color: var(--white);
  border: none;
  border-top: 3px solid var(--green);
  border-radius: 0 0 4px 4px;
  box-shadow: var(--shadow-lift);
  padding: 8px 0;
}

.menu .top-menu .category-sub-menu a {
  color: var(--gray-600);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  padding: 8px 22px;
  transition: background-color var(--transition), color var(--transition), padding-left var(--transition);
}

.menu .top-menu .category-sub-menu a:hover {
  background-color: var(--green-light);
  color: var(--green-hover);
  padding-left: 26px;
}

/* ─── 5. FIL D'ARIANE ────────────────────────────────────── */
.breadcrumb {
  background: transparent;
  padding: 14px 0;
  margin-bottom: 0;
}

.breadcrumb-item a {
  color: var(--gray-400);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

.breadcrumb-item a:hover {
  color: var(--green);
}

.breadcrumb-item.active {
  color: var(--gray-600);
  font-size: 0.78rem;
  font-weight: 500;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--gray-200);
  content: "/";
}

/* ─── 6. BOUTONS ─────────────────────────────────────────── */
.btn-primary,
.btn.btn-primary,
button.btn-primary {
  background-color: var(--green);
  border: 1px solid var(--green);
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 3px;
  padding: 12px 28px;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  box-shadow: none;
}

.btn-primary:hover,
.btn.btn-primary:hover {
  background-color: var(--green-hover);
  border-color: var(--green-hover);
  box-shadow: 0 4px 12px rgba(74, 103, 65, 0.2);
  transform: none;
  color: var(--white);
}

.btn-secondary,
.btn.btn-secondary {
  background-color: var(--white);
  border: 1.5px solid var(--border-strong);
  color: var(--gray-600);
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 11px 26px;
  transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}

.btn-secondary:hover,
.btn.btn-secondary:hover {
  border-color: var(--green);
  color: var(--green);
  background-color: var(--green-light);
}

/* Bouton Ajouter au panier */
.add-to-cart,
.btn-add-to-cart {
  background-color: var(--green) !important;
  border: 1px solid var(--green) !important;
  color: var(--white) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 3px !important;
  padding: 13px 32px !important;
  transition: background-color 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: none !important;
}

.add-to-cart:hover,
.btn-add-to-cart:hover {
  background-color: var(--green-hover) !important;
  border-color: var(--green-hover) !important;
  box-shadow: 0 4px 14px rgba(74, 103, 65, 0.22) !important;
  transform: none !important;
}

/* Bouton outline vert */
.btn-outline-primary {
  border-color: var(--green);
  color: var(--green);
}

.btn-outline-primary:hover {
  background-color: var(--green);
  border-color: var(--green);
  color: var(--white);
}

/* ─── 7. CARTES PRODUIT ──────────────────────────────────── */
.product-miniature,
.product-miniature .card {
  background-color: var(--white);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.product-miniature:hover,
.product-miniature:hover .card {
  box-shadow: var(--shadow-lift);
  transform: translateY(-3px);
}

.product-miniature .product-thumbnail {
  overflow: hidden;
  position: relative;
}

.product-miniature .product-thumbnail img {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.product-miniature:hover .product-thumbnail img {
  transform: scale(1.05);
}

/* Zone texte produit */
.product-miniature .card-body,
.product-miniature .product-description {
  padding: 14px 16px 18px;
}

.product-miniature .product-title a {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gray-800);
  line-height: 1.3;
  letter-spacing: -0.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-miniature .product-title a:hover {
  color: var(--green);
  text-decoration: none;
}

.product-miniature .product-desc,
.product-miniature .product-reference {
  color: var(--gray-400);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.82rem;
  margin-top: 2px;
}

.product-miniature .product-price-and-shipping .price,
.product-miniature .price {
  color: var(--earth);
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.product-miniature .regular-price {
  color: var(--gray-400);
  font-size: 0.8rem;
  text-decoration: line-through;
}

/* Badges / flags produit */
.product-flags {
  gap: 6px !important;
  padding: 10px 3rem 10px 10px !important;
}

.product-flags .badge,
.product-flag,
.discount-badge {
  font-family: var(--font-sans) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 5px 10px !important;
  line-height: 1.2 !important;
  border: none !important;
}

/* Reset Bootstrap .text-bg-primary sur tous les flags */
.product-flags .badge:not(.discount) {
  --bs-bg-opacity: 1 !important;
  --bs-primary-rgb: 74, 103, 65 !important;
  background-color: var(--green) !important;
  color: var(--white) !important;
  border-color: var(--green) !important;
}

/* Nouveau */
ul.product-flags li.badge.new {
  background-color: var(--green) !important;
  color: var(--white) !important;
  border-color: var(--green) !important;
}

/* Promo / reduction */
ul.product-flags li.badge.on-sale {
  background-color: var(--terracotta) !important;
  color: var(--white) !important;
  border-color: var(--terracotta) !important;
}

/* Remise pourcentage */
ul.product-flags li.badge.discount {
  background-color: var(--white) !important;
  color: var(--terracotta) !important;
  border: 1.5px solid var(--terracotta) !important;
  font-weight: 600 !important;
}

/* Pack */
ul.product-flags li.badge.pack {
  background-color: var(--earth) !important;
  color: var(--white) !important;
  border-color: var(--earth) !important;
}

/* En ligne uniquement */
ul.product-flags li.badge.online-only {
  background-color: transparent !important;
  color: var(--gray-600) !important;
  border: 1.5px solid var(--gray-200) !important;
}

/* Rupture de stock */
ul.product-flags li.badge.out-of-stock {
  background-color: var(--gray-50) !important;
  color: var(--gray-600) !important;
  border: 1.5px solid var(--gray-200) !important;
}

/* Discount sur miniature produit */
.product-miniature .discount-percentage {
  background-color: var(--terracotta);
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 2px;
  padding: 4px 8px;
}

/* Fiche produit - discount badge */
#product .product-discount .discount {
  background-color: var(--terracotta) !important;
  color: var(--white) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  padding: 4px 10px !important;
  border-radius: 2px !important;
  border: none !important;
}

/* ─── 8. FICHE PRODUIT ───────────────────────────────────── */
#product h1,
#product .product-name {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(1.6rem, 2.8vw, 2.4rem);
  color: var(--gray-800);
  letter-spacing: -0.01em;
  line-height: 1.15;
}

#product .product-reference,
#product .product-subtitle {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.92rem;
  color: var(--green-muted);
  margin-top: 4px;
  margin-bottom: 20px;
  display: block;
}

#product .product-prices .current-price-value {
  color: var(--earth);
  font-family: var(--font-sans);
  font-size: 1.5rem;
  font-weight: 500;
}

#product .product-prices .regular-price {
  color: var(--gray-400);
}

#product .product-discount .discount {
  background-color: var(--terracotta);
  color: var(--white);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 2px;
}

#product .product-description,
#product .product-description-short {
  color: var(--gray-600);
  font-size: 0.9rem;
  line-height: 1.85;
}

#product .product-description-short p:first-child {
  font-size: 0.95rem;
  color: var(--gray-800);
}

/* Onglets produit */
#product .tabs .nav-tabs {
  border-bottom: 2px solid var(--border);
  gap: 0;
}

#product .tabs .nav-tabs .nav-link {
  color: var(--gray-400);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: 12px 20px;
  transition: color var(--transition), border-color var(--transition);
  background: transparent;
}

#product .tabs .nav-tabs .nav-link.active {
  color: var(--green);
  border-bottom-color: var(--green);
  background: transparent;
}

#product .tabs .nav-tabs .nav-link:hover {
  color: var(--gray-800);
  background: transparent;
}

/* Galerie produit */
#product .product-images > li img {
  border: 2px solid transparent;
  border-radius: 3px;
  transition: border-color var(--transition);
}

#product .product-images > li img:hover,
#product .product-images > li.selected img {
  border-color: var(--green);
}

/* ─── 9. BANDEAU CATEGORIE ───────────────────────────────── */
.page-header {
  background: linear-gradient(160deg, var(--cream) 0%, var(--off-white) 100%);
  border-bottom: 1px solid var(--border);
  padding: 40px 0 36px;
  margin-bottom: 36px;
}

.page-header h1 {
  font-family: var(--font-serif);
  font-weight: 600;
  color: var(--gray-800);
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  margin-bottom: 0;
}

.page-header .page-header-desc {
  color: var(--gray-400);
  font-size: 0.85rem;
  margin-top: 8px;
  font-style: italic;
  font-family: var(--font-serif);
  max-width: 640px;
}

/* Image de couverture categorie */
.category-cover img {
  border-radius: 4px;
  box-shadow: var(--shadow-card);
}

/* ─── 10. FILTRES ────────────────────────────────────────── */
#search_filters .faceted-overlay,
.block-facets .search-filter {
  background-color: var(--white);
  border: none;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  padding: 18px 0;
  margin-bottom: 0;
  box-shadow: none;
}

#search_filters .filter-block h6,
.block-facets .search-filter-title {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gray-800);
  font-weight: 500;
  margin-bottom: 12px;
}

#search_filters .custom-checkbox input[type="checkbox"]:checked + span {
  background-color: var(--green);
  border-color: var(--green);
}

.active-filter-title {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gray-400);
}

.active-filters .filter-block {
  background-color: var(--green-light);
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 0.78rem;
}

/* ─── 11. SIDEBAR ────────────────────────────────────────── */
.block-categories,
.block-tags,
.block-newsletter,
.block-links {
  background-color: var(--white);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 22px 20px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-subtle);
}

.block-categories .block-title,
.block-tags .block-title {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gray-800);
  font-weight: 500;
  border-bottom: 2px solid var(--green-light);
  padding-bottom: 12px;
  margin-bottom: 14px;
}

.block-categories ul li a,
.block-links ul li a {
  color: var(--gray-600);
  font-size: 0.84rem;
  transition: color var(--transition), padding-left var(--transition);
  padding: 5px 0;
  display: block;
}

.block-categories ul li a:hover,
.block-links ul li a:hover {
  color: var(--green);
  padding-left: 4px;
  text-decoration: none;
}

/* ─── 12. FORMULAIRES ────────────────────────────────────── */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea {
  border: 1.5px solid var(--border);
  border-radius: 3px;
  background-color: var(--white);
  color: var(--gray-800);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  padding: 10px 14px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  box-shadow: none;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(74, 103, 65, 0.08);
  outline: none;
}

label {
  color: var(--gray-600);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}

/* ─── 13. PANIER ─────────────────────────────────────────── */
.cart-container .cart-summary {
  background-color: var(--cream);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 24px;
}

.cart-container .cart-total {
  color: var(--gray-800);
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 600;
}

.cart-container .cart-items .product-name a {
  color: var(--gray-800);
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 1rem;
}

.cart-container .cart-items .product-price {
  color: var(--earth);
  font-weight: 500;
}

/* ─── 14. CHECKOUT ───────────────────────────────────────── */
.checkout .step-title {
  font-family: var(--font-serif);
  font-weight: 600;
  color: var(--gray-800);
  font-size: 1.2rem;
}

.checkout .step-number {
  background-color: var(--green);
  color: var(--white);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 500;
}

.checkout .step.-complete .step-number {
  background-color: var(--green-muted);
}

/* ─── 15. ETOILES ────────────────────────────────────────── */
.star-content .star.star-on,
.grading .star-on {
  color: var(--earth-light);
}

.star-content .star.star-off,
.grading .star-off {
  color: var(--gray-100);
}

/* ─── 16. PAGINATION ─────────────────────────────────────── */
.pagination .page-item .page-link {
  color: var(--gray-600);
  border: 1px solid var(--border);
  border-radius: 3px !important;
  margin: 0 2px;
  font-size: 0.82rem;
  font-family: var(--font-sans);
  background: var(--white);
  min-width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition);
}

.pagination .page-item .page-link:hover {
  background-color: var(--green-light);
  color: var(--green);
  border-color: var(--green-light);
}

.pagination .page-item.active .page-link {
  background-color: var(--green);
  border-color: var(--green);
  color: var(--white);
}

/* ─── 17. ALERTES ────────────────────────────────────────── */
.alert-success {
  background-color: var(--green-light);
  border: 1px solid var(--green-muted);
  color: var(--green-hover);
  border-radius: 4px;
  font-size: 0.85rem;
  border-left: 4px solid var(--green);
}

.alert-warning {
  background-color: #fdf8f0;
  border: 1px solid #e8d5b4;
  color: #7a6a3a;
  border-radius: 4px;
  font-size: 0.85rem;
  border-left: 4px solid var(--earth-light);
}

.alert-danger {
  background-color: #fdf5f3;
  border: 1px solid #e0b5aa;
  color: #7a3a32;
  border-radius: 4px;
  font-size: 0.85rem;
  border-left: 4px solid var(--terracotta);
}

/* ─── 18. NEWSLETTER ─────────────────────────────────────── */
.block-newsletter form {
  display: flex;
  gap: 0;
}

.block-newsletter input[type="email"] {
  flex: 1;
  border-radius: 3px 0 0 3px;
  border: 1.5px solid var(--border);
  border-right: none;
}

.block-newsletter button[type="submit"] {
  background-color: var(--green);
  color: var(--white);
  border: 1.5px solid var(--green);
  border-radius: 0 3px 3px 0;
  padding: 10px 20px;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.25s ease;
  white-space: nowrap;
}

.block-newsletter button[type="submit"]:hover {
  background-color: var(--green-hover);
  border-color: var(--green-hover);
}

/* ─── 19. FOOTER ─────────────────────────────────────────── */
#footer,
.footer__main {
  background-color: var(--gray-800) !important;
  color: var(--gray-200) !important;
  /* margin-top: 72px; */
  border-top: none;
}

/* Bandeau pre-footer */
.footer-before {
  background-color: var(--cream);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 28px 0;
}

#footer h3,
#footer .h3,
.footer-block__title {
  font-family: var(--font-serif) !important;
  font-weight: 600 !important;
  font-size: 1.05rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--white) !important;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

#footer a,
.footer-block a {
  color: var(--gray-400) !important;
  font-size: 0.84rem;
  transition: color var(--transition);
}

#footer a:hover,
.footer-block a:hover {
  color: var(--white) !important;
}

#footer .footer-copyright,
.footer__copyright {
  background-color: rgba(0,0,0,0.2) !important;
  border-top: 1px solid rgba(255,255,255,0.06);
  color: var(--gray-400) !important;
  font-size: 0.75rem;
  padding: 16px 0;
  text-align: center;
  letter-spacing: 0.03em;
}

/* ─── 20. REASSURANCE ────────────────────────────────────── */
.blockreassurance {
  border-color: var(--border);
}

.blockreassurance-item {
  padding: 12px 16px;
}

.blockreassurance .block-title {
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--gray-800);
}

.blockreassurance p {
  font-size: 0.78rem;
  color: var(--gray-400);
}

.blockreassurance img,
.blockreassurance svg {
  opacity: 0.7;
}

/* ─── 21. HOMEPAGE SECTIONS ──────────────────────────────── */
.featured-products,
.new-products,
.best-sellers {
  padding: 48px 0;
}

.featured-products:nth-child(even),
.new-products:nth-child(even) {
  background-color: var(--cream);
}

/* Slider / carrousel */
#carousel .carousel-item img {
  border-radius: 6px;
}

#carousel .carousel-caption {
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

#carousel .carousel-caption h2 {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
}

/* Banniere promotionnelle */
.ps-banner img {
  border-radius: 6px;
}

/* Texte personnalise homepage */
.ps-customtext {
  text-align: center;
  /* max-width: 680px; */
  margin: 0 auto;
  padding: 40px 20px;
}

.ps-customtext h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  margin-bottom: 12px;
}

.ps-customtext p {
  font-size: 0.92rem;
  line-height: 1.85;
  color: var(--gray-600);
}

/* ─── 22. LAYOUT ─────────────────────────────────────────── */
.container {
  max-width: 1280px;
}

section,
.section {
  /* padding: 48px 0; */
  padding: 20px;
}

.card {
  border-color: var(--border);
  border-radius: 4px;
  box-shadow: var(--shadow-subtle);
}

hr, .separator {
  border-color: var(--border);
  opacity: 1;
  margin: 28px 0;
}

/* ─── 23. FOCUS ──────────────────────────────────────────── */
*:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ─── 24. SCROLLBAR ──────────────────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--off-white); }
::-webkit-scrollbar-thumb { background-color: var(--gray-200); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background-color: var(--gray-400); }

/* ─── 25. SELECTION / LIENS ACTIFS ───────────────────────── */
.active > a,
.current > a {
  color: var(--green) !important;
  font-weight: 500;
}

/* ─── 26. SOCIAL / PARTAGE ───────────────────────────────── */
.social-sharing a {
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--border);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-400);
  transition: all var(--transition);
}

.social-sharing a:hover {
  border-color: var(--green);
  color: var(--green);
  background-color: var(--green-light);
}

/* ─── 27. RESPONSIVE ─────────────────────────────────────── */
@media (max-width: 768px) {
  .page-header { padding: 24px 0 20px; }
  .product-miniature .product-title a { font-size: 0.95rem; }

  .block-newsletter form { flex-direction: column; }
  .block-newsletter input[type="email"] {
    border-right: 1.5px solid var(--border);
    border-radius: 3px;
    border-bottom: none;
  }
  .block-newsletter button[type="submit"] { border-radius: 3px; }

  #footer { text-align: center; }

  .featured-products > h2::after,
  .new-products > h2::after,
  .best-sellers > h2::after { width: 36px; }

  .product-miniature:hover,
  .product-miniature:hover .card {
    transform: none;
    box-shadow: var(--shadow-card);
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .product-miniature .product-title a { font-size: 1rem; }
  .container { max-width: 960px; }
}

/* ─── 28. ADVANCED TOP MENU ─────────────────────────────── */

/* Conteneur principal */
#adtm_menu {
  border: none;
  box-shadow: none;
  margin-top: 0;
}

#adtm_menu_inner {
  background: var(--white);
  border: none;
}

/* Liens niveau 1 */
.li-niveau1 a.a-niveau1 {
  border: none !important;
}

#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
  font-family: var(--font-sans);
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase !important;
}

.li-niveau1 .advtm_menu_span,
.li-niveau1 a .advtm_menu_span {
  color: var(--gray-800) !important;
  background: transparent !important;
}

/* Hover / actif niveau 1 */
@media (min-width: 767px) {
  .li-niveau1 a:hover .advtm_menu_span,
  .li-niveau1 .advtm_menu_span:hover,
  .li-niveau1:hover > a.a-niveau1 .advtm_menu_span {
    background: transparent !important;
    color: var(--green) !important;
  }

  #adtm_menu .li-niveau1 a.a-niveau1:hover .advtm_menu_span,
  .li-niveau1:hover > a.a-niveau1 .advtm_menu_span {
    color: var(--green) !important;
  }

  /* Barre active sous le lien */
  .li-niveau1:hover > a.a-niveau1 .advtm_menu_span::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    background: var(--green);
  }

  #adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
    position: relative;
  }
}

.li-niveau1 a.advtm_menu_actif .advtm_menu_span {
  background: transparent !important;
  color: var(--green) !important;
}

#adtm_menu .li-niveau1 a.advtm_menu_actif .advtm_menu_span {
  color: var(--green) !important;
}

/* Sous-menu (dropdown) */
.li-niveau1 .adtm_sub {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-top: 2px solid var(--green) !important;
  box-shadow: var(--shadow-card) !important;
}

#adtm_menu ul#menu .li-niveau1:hover div.adtm_sub {
  transition: visibility 0s linear 0.15s, opacity 0.2s ease 0.15s !important;
}

/* Titres de colonnes */
.adtm_column_wrap span.column_wrap_title,
.adtm_column_wrap span.column_wrap_title a,
.adtm_column_wrap span.column_wrap_title span[data-href] {
  color: var(--gray-800) !important;
}

#adtm_menu .adtm_column span.column_wrap_title,
#adtm_menu .adtm_column span.column_wrap_title a,
#adtm_menu .adtm_column span.column_wrap_title span[data-href] {
  font-family: var(--font-serif) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

#adtm_menu .adtm_column span.column_wrap_title:hover,
#adtm_menu .adtm_column span.column_wrap_title a:hover,
#adtm_menu .adtm_column span.column_wrap_title span[data-href]:hover {
  color: var(--green) !important;
}

/* Liens sous-menu */
.adtm_column_wrap a,
.adtm_column_wrap span[data-href] {
  color: var(--gray-600) !important;
}

#adtm_menu .adtm_column ul.adtm_elements li,
#adtm_menu .adtm_column ul.adtm_elements li a,
#adtm_menu .adtm_column ul.adtm_elements li span[data-href] {
  font-family: var(--font-sans) !important;
  font-size: 0.85rem !important;
  transition: color var(--transition);
}

#adtm_menu .adtm_column ul.adtm_elements li:hover,
#adtm_menu .adtm_column ul.adtm_elements li a:hover,
#adtm_menu .adtm_column ul.adtm_elements li span[data-href]:hover {
  color: var(--green) !important;
}

/* Séparateurs de colonnes */
#adtm_menu .adtm_column_wrap_td {
  border-color: var(--border) !important;
}

/* ─── 28b. ADVANCED TOP MENU — MOBILE ───────────────────── */
@media (max-width: 767px) {
  #adtm_menu_inner {
    background: var(--white);
  }

  #adtm_menu.adtm_menu_toggle_open ul#menu {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: none !important;
  }

  .li-niveau1 a .advtm_menu_span,
  .li-niveau1 .advtm_menu_span {
    background: var(--white) !important;
    color: var(--gray-800) !important;
  }

  #adtm_menu ul li.advtm_menu_toggle a.adtm_toggle_menu_button span.adtm_toggle_menu_button_text {
    background-color: var(--cream) !important;
    color: var(--gray-800) !important;
    font-family: var(--font-sans);
    font-size: 0.85rem !important;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  #adtm_menu.adtm_menu_toggle_open li.advtm_menu_toggle a.adtm_toggle_menu_button span.adtm_toggle_menu_button_text {
    background-color: var(--white) !important;
  }

  #adtm_menu.adtm_menu_toggle_open ul#menu li.li-niveau1.sub.adtm_sub_open a.a-niveau1 span,
  #adtm_menu.adtm_menu_toggle_open .li-niveau1.sub.adtm_sub_open a .advtm_menu_span,
  .li-niveau1 a.advtm_menu_actif .advtm_menu_span {
    background: var(--green-light) !important;
    color: var(--green) !important;
  }

  .li-niveau1 .adtm_sub {
    background: var(--off-white) !important;
    border: none !important;
    border-top: 1px solid var(--border) !important;
    box-shadow: none !important;
  }

  #adtm_menu .li-niveau1.adtm_sub_open a.a-niveau1 .advtm_menu_span,
  #adtm_menu .li-niveau1 a.a-niveau1:focus .advtm_menu_span,
  .li-niveau1:focus > a.a-niveau1 .advtm_menu_span {
    color: var(--green) !important;
  }

  #adtm_menu.adtm_menu_toggle_open ul#menu li.li-niveau1.sub.adtm_sub_open a.a-niveau1 span {
    background: var(--green-light) !important;
  }

  #adtm_menu.adtm_menu_toggle_open ul#menu li.li-niveau1.sub > a.a-niveau1 {
    display: flex;
    align-items: center;
  }

  #adtm_menu.adtm_menu_toggle_open ul#menu li.li-niveau1.sub > a.a-niveau1::after {
    content: '+';
    margin-left: auto;
    font-weight: 700;
    font-size: 1.2rem;
    padding-right: 1rem;
  }

  #adtm_menu.adtm_menu_toggle_open ul#menu li.li-niveau1.sub.adtm_sub_open > a.a-niveau1::after {
    content: '\2212';
  }
}


.ps-searchbar__magnifier{
  right: .75rem;
  left: auto;
}
li.category-tree__item.accordion-item {
    background: inherit;
}

#search-filters .accordion-item,
#search-filters .accordion-item .accordion-button{
  background: inherit;
}

.ps-searchbar__dropdown{
  left: 0;
  right: auto;
}

/* Masquer la loupe quand l'input de recherche contient du texte */
#ps_searchbar .ps-searchbar__magnifier {
  transition: opacity 0.2s ease;
}

#ps_searchbar .ps-searchbar__input {
  transition: padding-inline-start 0.2s ease;
}

#ps_searchbar .ps-searchbar__form:has(.ps-searchbar__input:not(:placeholder-shown)) .ps-searchbar__magnifier {
  opacity: 0 !important;
  pointer-events: none !important;
}

#ps_searchbar .ps-searchbar__input:not(:placeholder-shown) {
  padding-inline-start: 0.75rem !important;
}

.ps-imageslider{
  padding: 0;
}

.prettyblocks_custom-text .container .row{
  text-align: center;
}

/* ─── 29. CATEGORIES POPULAIRES (home-popular-categories) ── */
.home-popular-categories {
  padding: 48px 0;
}

.home-popular-categories .card {
  border: none;
  box-shadow: none;
  background: transparent;
}

.home-popular-categories .card-body {
  background: transparent !important;
}

.home-popular-categories a {
  display: block;
  text-decoration: none;
  border-radius: 4px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-popular-categories a:hover {
  transform: translateY(-3px);
  text-decoration: none;
}

.home-popular-categories img {
  border-radius: 4px;
  box-shadow: var(--shadow-card);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s ease;
}

.home-popular-categories a:hover img {
  transform: scale(1.03);
  box-shadow: var(--shadow-lift);
}

/* Bloc texte sous l'image */
.home-popular-categories .hover-box,
.home-popular-categories .boutique-box {
  margin-top: 12px;
  padding: 8px 4px;
  text-align: center;
}

.home-popular-categories .hover-box .text-switch {
  margin: 0;
  position: relative;
  overflow: hidden;
  height: 1.4em;
}

.home-popular-categories .hover-box .text-switch .default-text,
.home-popular-categories .hover-box .text-switch .hover-text {
  display: block;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.home-popular-categories .hover-box .text-switch .default-text {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--gray-800);
  letter-spacing: -0.01em;
}

.home-popular-categories .hover-box .text-switch .hover-text {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(100%);
  opacity: 0;
}

.home-popular-categories a:hover .text-switch .default-text {
  transform: translateY(-100%);
  opacity: 0;
}

.home-popular-categories a:hover .text-switch .hover-text {
  transform: translateY(0);
  opacity: 1;
}

.home-popular-categories .boutique-box {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--gray-800);
  letter-spacing: -0.01em;
  transition: color var(--transition);
}

.home-popular-categories a:hover .boutique-box {
  color: var(--green);
}

@media (max-width: 768px) {
  .home-popular-categories {
    padding: 28px 0;
  }

  .home-popular-categories a:hover {
    transform: none;
  }

  .home-popular-categories .hover-box .text-switch .default-text {
    font-size: 0.9rem;
  }
}


#index .carousel-item .h1{
  color: #fff;
}

#index .product-flags .new {
  display: none;
}

#cart .message-dispo{
  font-weight: bold;
  font-size: 1.1rem;
}