/*
 * Aux Saveurs Next 2.4.0 — PrestaShop 9.x
 * Design ferme contemporaine, mobile-first, sans dépendance externe.
 */
:root {
  /* Compatibilité : les anciennes variables suivent désormais les réglages du module. */
  --asnf-green: var(--asnf-link, #2f6b2f);
  --asnf-green-rgb: 47,107,47;
  --asnf-green-700: var(--asnf-link-hover, #1f4d1f);
  --asnf-green-700-rgb: 36,86,36;
  --asnf-green-900: var(--asnf-headings, #1f4d1f);
  --asnf-green-900-rgb: 23,59,28;
  --asnf-lime: #bee497;
  --asnf-lime-rgb: 190,228,151;
  --asnf-cream: var(--asnf-page-bg, #f6f6f0);
  --asnf-paper: var(--asnf-card-bg, #ffffff);
  --asnf-terracotta: var(--asnf-danger, #fb081f);
  --asnf-gold: var(--asnf-focus, #fcbd76);
  --asnf-ink: var(--asnf-text, #232323);
  --asnf-muted: var(--asnf-text-muted, #7a7a7a);
  --asnf-line: var(--asnf-border, #ae8d7e);
  --asnf-danger: #fb081f;
  --asnf-radius-sm: 10px;
  --asnf-radius: 18px;
  --asnf-radius-lg: 28px;
  --asnf-shadow-sm: 0 8px 24px rgba(var(--asnf-green-900-rgb),.08);
  --asnf-shadow: 0 18px 55px rgba(var(--asnf-green-900-rgb),.13);
  --asnf-container: 1320px;
  --asnf-transition: 180ms ease;
}
html { scroll-behavior: smooth; }
body {
  background: var(--asnf-cream);
  color: var(--asnf-search-text, var(--asnf-ink));
  font-family: var(--asnf-font-body, var(--asnf-font-sans));
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--asnf-green); transition: color var(--asnf-transition), opacity var(--asnf-transition); }
a:hover, a:focus { color: var(--asnf-green-700); text-decoration: none; }
img { max-width: 100%; height: auto; }
.container { width: min(calc(100% - 32px), var(--asnf-container)); max-width: none; }
#wrapper { background: transparent; box-shadow: none; padding-top: 28px; }
#content-wrapper, #left-column, #right-column { min-height: 1px; }
.card, .page-content, .page-order-detail, .page-addresses .address, .contact-form {
  border: 1px solid var(--asnf-search-border, var(--asnf-line));
  border-radius: var(--asnf-radius);
  box-shadow: var(--asnf-shadow-sm);
  background: var(--asnf-paper);
}

/* Bandeau supérieur */
#header { background: var(--asnf-header-bg, var(--asnf-paper)); color: var(--asnf-ink); box-shadow: 0 8px 30px rgba(var(--asnf-green-900-rgb),.08); position: relative; z-index: 30; border-bottom: 1px solid var(--asnf-header-border, var(--asnf-line)); }
#header .header-nav {
  background: var(--asnf-topbar-bg, var(--asnf-green-900));
  border: 0;
  color: var(--asnf-topbar-text, #fff);
  min-height: 42px;
  margin-bottom: 0;
}
#header .header-nav, #header .header-nav a, #header .header-nav .material-icons { color: var(--asnf-topbar-text, #fff); }
#header .header-nav a:hover, #header .header-nav a:focus, #header .header-nav a:hover .material-icons { color: var(--asnf-topbar-hover, var(--asnf-lime)); }
#header .header-nav .user-info a, #header .header-nav .user-info .material-icons { color: var(--asnf-account-text, var(--asnf-topbar-text, #fff)); }
#header .header-nav .user-info a:hover, #header .header-nav .user-info a:hover .material-icons { color: var(--asnf-account-hover, var(--asnf-topbar-hover, var(--asnf-lime))); }
#header .header-nav .blockcart { background: var(--asnf-cart-bg, var(--asnf-green)); color: var(--asnf-cart-text, #fff); border-radius: 999px; padding: 7px 14px; transition: background var(--asnf-transition), color var(--asnf-transition); }
#header .header-nav .blockcart a, #header .header-nav .blockcart .material-icons { color: inherit; }
#header .header-nav .blockcart:hover { background: var(--asnf-cart-hover-bg, var(--asnf-green-700)); color: var(--asnf-cart-hover-text, #fff); }
#header .header-nav .blockcart.active { background: var(--asnf-cart-active-bg, var(--asnf-lime)); color: var(--asnf-cart-active-text, var(--asnf-green-900)); }
#header .header-top { padding: 18px 0 13px; background: var(--asnf-header-bg, var(--asnf-paper)); }
#header .logo { max-height: 82px; width: auto; }
#header .header-top a[data-depth="0"] { color: var(--asnf-menu-text, var(--asnf-ink)); font-weight: 750; letter-spacing: -.01em; text-transform: none; }
#header .header-top a[data-depth="0"]:hover { color: var(--asnf-menu-hover, var(--asnf-green)); }
#header .top-menu { margin-bottom: 0; }
#header .top-menu a[data-depth="0"] { padding: 14px 16px; }
#header .menu { display: flex; justify-content: center; background: var(--asnf-menu-bg, transparent); }
#header .popover.sub-menu { border: 0; border-radius: var(--asnf-radius); box-shadow: var(--asnf-shadow); padding: 18px; overflow: hidden; background: var(--asnf-submenu-bg, var(--asnf-paper)); }
#header .popover.sub-menu a { color: var(--asnf-submenu-text, var(--asnf-ink)); }
#header .popover.sub-menu a:hover { color: var(--asnf-submenu-hover, var(--asnf-green)); }
#header .search-widget form input[type=text] {
  border: 1px solid var(--asnf-search-border, var(--asnf-line));
  background: var(--asnf-search-bg, #fff);
  color: var(--asnf-search-text, var(--asnf-ink));
  border-radius: 999px;
  padding: 13px 46px 13px 18px;
  min-height: 48px;
}
#header .search-widget form input[type=text]::placeholder { color: var(--asnf-search-placeholder, var(--asnf-muted)); opacity: 1; }
#header .search-widget form input[type=text]:focus { border-color: var(--asnf-search-focus, var(--asnf-green)); }
#header .search-widget form button[type=submit] { bottom: 8px; right: 12px; color: var(--asnf-search-icon, var(--asnf-green)); }
#header.is-sticky .header-top { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 10px 35px rgba(var(--asnf-green-900-rgb),.13); animation: asnfSlide .25s ease; }
@keyframes asnfSlide { from { transform: translateY(-100%); } to { transform: translateY(0); } }

/* Fil d'Ariane */
#wrapper .breadcrumb { background: transparent; padding: 4px 0 18px; font-size: .88rem; }
#wrapper .breadcrumb li::after { color: #ae8d7e; }

/* Accueil */
.asnf-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 520px;
  border-radius: var(--asnf-radius-lg);
  display: grid;
  align-items: center;
  padding: clamp(36px, 7vw, 92px);
  margin-bottom: 36px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(var(--asnf-green-900-rgb),.92) 0%, rgba(var(--asnf-green-900-rgb),.72) 47%, rgba(var(--asnf-green-900-rgb),.14) 100%),
    url('../img/hero-farm.svg') center/cover no-repeat,
    var(--asnf-green-900);
  box-shadow: var(--asnf-shadow);
}
.asnf-hero__content { width: min(670px, 100%); }
.asnf-eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.12); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.asnf-hero h1 { color: #fff; font-family: var(--asnf-font-heading, var(--asnf-font-serif)); font-size: clamp(2.45rem, 5.6vw, 5rem); line-height: .98; letter-spacing: -.045em; margin: 22px 0; text-transform: none; }
.asnf-hero p { color: rgba(255,255,255,.9); font-size: clamp(1rem, 2vw, 1.24rem); max-width: 620px; }
.asnf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.asnf-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border-radius: 999px; font-weight: 800; border: 1px solid transparent; transition: transform var(--asnf-transition), box-shadow var(--asnf-transition), background var(--asnf-transition); }
.asnf-btn:hover { transform: translateY(-2px); }
.asnf-btn--primary { background: var(--asnf-lime); color: var(--asnf-green-900); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.asnf-btn--primary:hover { color: var(--asnf-green-900); background: #fcbd76; }
.asnf-btn--ghost { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); }
.asnf-btn--ghost:hover { color: #fff; background: rgba(255,255,255,.18); }
.asnf-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 0 42px; }
.asnf-trust__item { border: 1px solid var(--asnf-line); border-radius: var(--asnf-radius); background: var(--asnf-paper); padding: 22px; box-shadow: var(--asnf-shadow-sm); }
.asnf-trust__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: rgba(var(--asnf-green-rgb),.1); color: var(--asnf-green); font-size: 22px; margin-bottom: 12px; }
.asnf-trust strong { display:block; font-size: 1rem; }
.asnf-trust span { color: var(--asnf-muted); font-size: .9rem; }
.asnf-section-title { text-align:center; margin: 56px auto 28px; max-width: 750px; }
.asnf-section-title h2, .featured-products .products-section-title, .product-accessories .products-section-title { font-family: var(--asnf-font-heading, var(--asnf-font-serif)); font-size: clamp(2rem, 4vw, 3.2rem); color: var(--asnf-green-900); text-transform: none; letter-spacing: -.035em; margin-bottom: 10px; }
.asnf-section-title p { color: var(--asnf-muted); }

/* Titres */
h1, h2, h3, h4, h5, h6 { color: var(--asnf-green-900); font-weight: 800; }
.h1, h1 { font-family: var(--asnf-font-heading, var(--asnf-font-serif)); font-size: clamp(2rem, 4vw, 3.4rem); text-transform: none; letter-spacing: -.035em; }
.page-header h1 { margin-bottom: 24px; }

/* Catégories et listings */
.block-category { border: 0; border-radius: var(--asnf-radius-lg); overflow: hidden; background: var(--asnf-green-900); color: #fff; min-height: 240px; box-shadow: var(--asnf-shadow); }
.block-category h1, .block-category .h1, .block-category .block-category-inner, .block-category p { color: #fff; }
.block-category .block-category-inner { padding: clamp(28px, 5vw, 58px); }
#js-product-list-header + #subcategories, #subcategories { background: transparent; border: 0; }
#subcategories ul { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
#subcategories ul li { width: auto; margin: 0; }
#subcategories ul li .subcategory-image {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:0 auto 10px;
  padding:0;
}
#subcategories ul li .subcategory-image a {
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:140px !important;
  height:140px !important;
  min-width:140px;
  max-width:140px;
  aspect-ratio:1 / 1;
  border:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#fff;
  overflow:hidden;
  box-shadow:var(--asnf-shadow-sm);
}
#subcategories ul li .subcategory-image img {
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
  object-position:center;
}
#subcategories ul li .subcategory-name { color: var(--asnf-green-900); font-weight: 800; text-transform: none; }
.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.products .product-miniature, .product-miniature { width: auto; margin: 0; }
.product-miniature .thumbnail-container {
  width: 100%; height: 100%; margin: 0;
  background: var(--asnf-paper);
  border: 1px solid var(--asnf-line);
  border-radius: var(--asnf-radius);
  overflow: hidden;
  box-shadow: var(--asnf-shadow-sm);
  transition: transform var(--asnf-transition), box-shadow var(--asnf-transition), border-color var(--asnf-transition);
}
.product-miniature .thumbnail-container:hover { transform: translateY(-6px); box-shadow: var(--asnf-shadow); border-color: rgba(var(--asnf-green-rgb),.25); }
.product-miniature .product-thumbnail { display: block; aspect-ratio: 1/1; background: #fff; overflow: hidden; }
.product-miniature .product-thumbnail img { width:100%; height:100%; object-fit:contain; padding: 12px; transition: transform .35s ease; }
.product-miniature:hover .product-thumbnail img { transform: scale(1.04); }
.product-miniature .product-description { position: static; width: auto; height: auto; min-height: 155px; padding: 17px; background: var(--asnf-paper); }
.product-miniature .product-title { margin: 0 0 9px; min-height: 2.7em; }
.product-miniature .product-title a { color: var(--asnf-ink); font-size: 1rem; line-height: 1.35; font-weight: 800; }
.product-miniature .product-price-and-shipping { color: var(--asnf-green); font-size: 1.15rem; font-weight: 900; }
.product-miniature .regular-price { color: var(--asnf-muted); font-weight: 500; }
.product-miniature .highlighted-informations { position: static; height: auto; box-shadow: none; padding: 0 17px 17px; background: var(--asnf-paper); }
.product-miniature .quick-view { color: var(--asnf-green); font-weight: 700; }
.product-miniature .product-flags { top: 12px; left: 12px; }
.product-flags li.product-flag { background: var(--asnf-green); border-radius: 999px; box-shadow: none; font-size: .72rem; padding: 6px 10px; min-height: 0; text-transform: none; }
.product-flags li.product-flag.discount, .product-flags li.product-flag.discount-amount, .product-flags li.product-flag.discount-percentage { background: var(--asnf-terracotta); }
.product-miniature .product-availability { border-radius: 999px; }
.pagination { background: transparent; }
.pagination .page-list { background: var(--asnf-paper); border: 1px solid var(--asnf-line); border-radius: 999px; padding: 8px 14px; box-shadow: var(--asnf-shadow-sm); }
.products-selection { border: 1px solid var(--asnf-line); background: var(--asnf-paper); border-radius: var(--asnf-radius); padding: 13px 16px; box-shadow: var(--asnf-shadow-sm); }

/* Boutons et formulaires */
.btn-primary, .btn-secondary, .btn-tertiary {
  border-radius: 999px; min-height: 46px; padding: 11px 21px; font-weight: 800; text-transform: none; box-shadow: none; transition: transform var(--asnf-transition), box-shadow var(--asnf-transition), background var(--asnf-transition);
}
.btn-primary { background: var(--asnf-green); border-color: var(--asnf-green); }
.btn-primary:hover, .btn-primary:focus { background: var(--asnf-green-700); border-color: var(--asnf-green-700); transform: translateY(-1px); box-shadow: 0 10px 25px rgba(var(--asnf-green-rgb),.2); }
.btn-secondary { background: #f6f6f0; color: var(--asnf-green-900); border-color: transparent; }
.form-control, .custom-select, select.form-control { border: 1px solid #ae8d7e; border-radius: 12px; min-height: 48px; background-color:#fff; color:var(--asnf-ink); }
.form-control:focus { border-color: var(--asnf-green); box-shadow: 0 0 0 3px rgba(var(--asnf-green-rgb),.13); }
.input-group .form-control { border-radius: 12px 0 0 12px; }
.input-group-btn > .btn { border-radius: 0 12px 12px 0; }
.custom-checkbox input[type=checkbox] + span { border-radius: 5px; }
.custom-checkbox input[type=checkbox]:checked + span { background: var(--asnf-green); border-color: var(--asnf-green); }

/* Fiche produit */
#product .product-container { background: var(--asnf-paper); border: 1px solid var(--asnf-line); border-radius: var(--asnf-radius-lg); padding: clamp(18px, 3vw, 40px); box-shadow: var(--asnf-shadow-sm); }
#product .product-cover img { border-radius: var(--asnf-radius); box-shadow: none; background:#fff; }
#product .product-images > li.thumb-container > .thumb { border-radius: 12px; border: 1px solid var(--asnf-line); }
#product .product-images > li.thumb-container > .thumb.selected, #product .product-images > li.thumb-container > .thumb:hover { border: 2px solid var(--asnf-green); }
#product h1 { color: var(--asnf-green-900); }
#product .current-price { color: var(--asnf-green); font-size: clamp(1.7rem, 4vw, 2.4rem); font-weight: 900; }
#product .product-information { color: var(--asnf-ink); }
#product .product-quantity { display:flex; flex-wrap:wrap; align-items:center; gap: 12px; }
#product .add-to-cart { min-height: 54px; padding-inline: 26px; }
#product .product-additional-info { padding-top: 18px; border-top: 1px solid var(--asnf-line); }
.tabs { background: var(--asnf-paper); border-radius: var(--asnf-radius); border: 1px solid var(--asnf-line); box-shadow: var(--asnf-shadow-sm); padding: 20px; }
.tabs .nav-tabs .nav-link.active { color: var(--asnf-green); border-bottom-color: var(--asnf-green); }
.product-accessories { margin-top: 48px; }

/* Panier et tunnel */
.cart-grid-body .card, .cart-grid-right .card { border: 1px solid var(--asnf-line); border-radius: var(--asnf-radius); box-shadow: var(--asnf-shadow-sm); }
.cart-summary-line .value { color: var(--asnf-green-900); font-weight: 800; }
.cart-summary-line.cart-total { background: rgba(var(--asnf-green-rgb),.07); margin: 12px -20px -20px; padding: 20px; border-radius: 0 0 var(--asnf-radius) var(--asnf-radius); }
body#checkout #header .header-nav { max-height: none; padding: 8px 0; }
body#checkout section.checkout-step { border: 1px solid var(--asnf-line); border-radius: var(--asnf-radius); box-shadow: var(--asnf-shadow-sm); overflow:hidden; background:var(--asnf-paper); }
body#checkout section.checkout-step .step-title { color: var(--asnf-green-900); font-weight: 850; }
body#checkout section.checkout-step.-current .step-title { border-bottom: 1px solid var(--asnf-line); }
body#checkout #order-summary-content { border-radius: var(--asnf-radius); }
body#checkout .delivery-options .delivery-option { border: 1px solid var(--asnf-line); border-radius: 12px; margin-bottom: 12px; background:#fff; }

/* Comptes, CMS, contact */
.page-my-account #content .links a span.link-item { border:1px solid var(--asnf-line); border-radius:var(--asnf-radius); box-shadow:var(--asnf-shadow-sm); background:var(--asnf-paper); }
.page-my-account #content .links a:hover span.link-item { color:var(--asnf-green); box-shadow:var(--asnf-shadow); }
.page-content.page-cms { padding: clamp(22px, 4vw, 52px); }
.page-content.page-cms p { max-width: 80ch; }

/* Footer */
#footer { background: var(--asnf-green-900); color: rgba(255,255,255,.78); padding-top: 54px; margin-top: 70px; }
#footer .footer-container { box-shadow: none; background: transparent; padding-top: 0; }
#footer h3, #footer .h3, #footer .h4 { color:#fff; text-transform:none; font-weight:850; }
#footer a { color: rgba(255,255,255,.76); }
#footer a:hover { color: var(--asnf-lime); }
#footer .block-contact { color: rgba(255,255,255,.76); }
#footer .block-social ul li { border-radius: 50%; overflow:hidden; background-color: rgba(255,255,255,.12); }
#footer .copyright-container { border-top:1px solid rgba(255,255,255,.12); margin-top:32px; padding-top:20px; }

/* Modales et wishlist : masque les placeholders non compilés sans casser le module */
.modal-content { border:0; border-radius:var(--asnf-radius); box-shadow:var(--asnf-shadow); }
.modal-header { border-bottom:1px solid var(--asnf-line); }

/* Accessibilité */
:focus-visible { outline: 3px solid var(--asnf-gold); outline-offset: 3px; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:16px; top:16px; z-index:9999; background:#fff; padding:10px 14px; border-radius:8px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Responsive */
@media (max-width: 1199px) {
  .products { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #subcategories ul { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 991px) {
  #header .header-top { padding: 10px 0; }
  #header .menu { justify-content:flex-start; }
  .asnf-hero { min-height: 450px; }
  .asnf-trust { grid-template-columns: repeat(2,1fr); }
  .products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #subcategories ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* Tablette portrait/paysage — couche dédiée 2.4.0 (768 à 991 px).
   Les tailles typographiques sont fournies par asnfthemecolors 2.9.0,
   avec des valeurs de secours pour garder le thème autonome. */
@media (min-width: 768px) and (max-width: 991.98px) {
  body { font-size: var(--asnf-body-size-tablet, 16px); }
  .container { width: min(calc(100% - 36px), var(--asnf-container)); }
  #wrapper { padding-top: 22px; }

  #header .header-nav { min-height: 40px; }
  #header .header-top { padding: 11px 0 9px; }
  #header .header-top .container { display:flex; flex-wrap:wrap; align-items:center; row-gap:8px; }
  #header .logo { max-height: 68px; }
  #header .menu { width:100%; justify-content:flex-start; overflow-x:auto; overflow-y:visible; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  #header .menu::-webkit-scrollbar { display:none; }
  #header .top-menu { display:flex; flex-wrap:nowrap; white-space:nowrap; }
  #header .top-menu a[data-depth="0"] { padding:11px 8px; font-size:var(--asnf-menu-size-tablet, 14px); }
  #header .search-widget form input[type=text] { min-height:44px; padding-top:10px; padding-bottom:10px; }
  #header .header-nav .blockcart { padding:6px 11px; }

  .asnf-hero { min-height:420px; padding:48px 42px; border-radius:24px; }
  .asnf-hero__content { width:min(600px, 82%); }
  .asnf-hero h1 { font-size:clamp(2.65rem, 6.3vw, 4.1rem); }
  .asnf-hero p { font-size:1.08rem; }
  .asnf-trust { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }

  .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .product-miniature .product-description { min-height:150px; }
  #subcategories ul { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  #subcategories ul li .subcategory-image a { max-width:150px; max-height:150px; }

  #product .product-container { padding:22px; }
  #product h1,#product .h1 { font-size:var(--asnf-product-title-size-tablet, 36px)!important; }
  body#category .asnf-section-title h1 { font-size:var(--asnf-category-title-size-tablet, 46px)!important; }
  #subcategories .subcategory-name { font-size:var(--asnf-subcategory-name-size-tablet, 15px)!important; }
  .tabs { padding-left:18px; padding-right:18px; }

  .cart-grid,.checkout-step { min-width:0; }
  .cart-summary,.card-block { overflow-wrap:anywhere; }
  #footer { margin-top:55px; padding-top:42px; }
  #footer .footer-container .row { row-gap:24px; }
}

@media (max-width: 767px) {
  body { font-size:var(--asnf-body-size-mobile, 15px); }
  .container { width:min(calc(100% - 22px), var(--asnf-container)); }
  #wrapper { padding-top:16px; }
  #header .header-nav { background:var(--asnf-topbar-bg, var(--asnf-green-900)); }
  #header .header-top { background:var(--asnf-mobile-header-bg, var(--asnf-header-bg, var(--asnf-paper))); }
  #header .mobile { color:var(--asnf-mobile-menu-text, var(--asnf-ink)); }
  #header .top-logo img { max-height:58px; }
  #mobile_top_menu_wrapper { background:var(--asnf-mobile-menu-bg, var(--asnf-paper)); padding:16px; }
  #mobile_top_menu_wrapper .top-menu .sub-menu { background:#f6f6f0; border-radius:12px; }
  .asnf-hero { min-height: 470px; padding: 34px 22px; border-radius:20px; background:linear-gradient(90deg, rgba(var(--asnf-green-900-rgb),.92),rgba(18,52,25,.6)),url('../img/hero-farm.svg') center/cover no-repeat,var(--asnf-green-900); }
  .asnf-hero h1 { font-size:clamp(2.2rem,13vw,3.4rem); }
  .asnf-actions { flex-direction:column; }
  .asnf-btn { width:100%; }
  .asnf-trust { grid-template-columns:1fr; gap:10px; }
  .asnf-trust__item { display:grid; grid-template-columns:44px 1fr; column-gap:12px; padding:15px; }
  .asnf-trust__icon { grid-row:1/3; margin:0; }
  .products { grid-template-columns: repeat(2,minmax(0,1fr)); gap:10px; }
  .product-miniature .product-description { padding:12px; min-height:142px; }
  .product-miniature .product-title a { font-size:.9rem; }
  .product-miniature .product-price-and-shipping { font-size:1rem; }
  .product-miniature .highlighted-informations { display:none; }
  #subcategories ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #subcategories ul li .subcategory-image a { width:100px !important; height:100px !important; min-width:100px; max-width:100px; }
  #product .product-container { padding:15px; border-radius:18px; }
  #product .product-quantity .add { width:100%; }
  #product .add-to-cart { width:100%; }
  #footer { margin-top:45px; padding-top:35px; }
}
@media (max-width: 390px) {
  .products { grid-template-columns:1fr 1fr; gap:8px; }
  .product-miniature .product-description { min-height:150px; padding:10px; }
}

/* ==========================================================
   Aux Saveurs — Couleurs détaillées administrables (v1.3)
   Chaque variable correspond à une zone distincte du site.
   ========================================================== */
:root {
  --asnf-page-bg:#f6f6f0; --asnf-card-bg:#ffffff; --asnf-text:#232323; --asnf-text-muted:#7a7a7a;
  --asnf-headings:#1f4d1f; --asnf-link:#2f6b2f; --asnf-link-hover:#1f4d1f; --asnf-border:#ae8d7e; --asnf-focus:#fcbd76;
  --asnf-topbar-bg:#1f4d1f; --asnf-topbar-text:#fff; --asnf-topbar-hover:#bee497;
  --asnf-header-bg:#ffffff; --asnf-menu-text:#232323; --asnf-menu-hover:#2f6b2f; --asnf-submenu-bg:#ffffff; --asnf-submenu-text:#232323;
  --asnf-cart-bg:#2f6b2f; --asnf-cart-text:#fff; --asnf-cart-active-bg:#bee497; --asnf-cart-active-text:#1f4d1f;
  --asnf-search-bg:#fff; --asnf-search-text:#232323; --asnf-search-border:#ae8d7e; --asnf-search-icon:#2f6b2f; --asnf-mobile-menu-bg:#ffffff;
  --asnf-home-title:#1f4d1f; --asnf-trust-card-bg:#ffffff; --asnf-trust-icon-bg:#bee497; --asnf-trust-icon-text:#2f6b2f;
  --asnf-category-banner-bg:#1f4d1f; --asnf-category-banner-text:#fff; --asnf-product-card-bg:#ffffff; --asnf-product-title:#232323;
  --asnf-product-price:#2f6b2f; --asnf-product-old-price:#7a7a7a; --asnf-product-quickview:#2f6b2f; --asnf-product-badge-bg:#2f6b2f;
  --asnf-product-badge-text:#fff; --asnf-promo-badge-bg:#fb081f; --asnf-promo-badge-text:#fff; --asnf-product-page-bg:#ffffff;
  --asnf-product-page-title:#1f4d1f; --asnf-product-thumb-border:#ae8d7e; --asnf-product-thumb-active:#2f6b2f; --asnf-product-tab-active:#2f6b2f;
  --asnf-primary-btn-bg:#2f6b2f; --asnf-primary-btn-text:#fff; --asnf-primary-btn-hover-bg:#1f4d1f; --asnf-primary-btn-hover-text:#fff;
  --asnf-secondary-btn-bg:#f6f6f0; --asnf-secondary-btn-text:#1f4d1f; --asnf-secondary-btn-hover-bg:#bee497; --asnf-secondary-btn-hover-text:#1f4d1f;
  --asnf-form-bg:#fff; --asnf-form-text:#232323; --asnf-form-border:#ae8d7e; --asnf-form-focus:#2f6b2f; --asnf-checkbox-active:#2f6b2f;
  --asnf-checkout-card-bg:#ffffff; --asnf-checkout-step-title:#1f4d1f; --asnf-cart-total-bg:#f6f6f0; --asnf-cart-total-text:#1f4d1f;
  --asnf-success:#2f6b2f; --asnf-danger:#fb081f; --asnf-footer-bg:#1f4d1f; --asnf-footer-text:#ffffff; --asnf-footer-title:#fff;
  --asnf-footer-link:#ffffff; --asnf-footer-link-hover:#bee497; --asnf-footer-icon-bg:#2f6b2f; --asnf-footer-border:#2f6b2f;
}
body{background:var(--asnf-page-bg);color:var(--asnf-text)}
a{color:var(--asnf-link)}a:hover,a:focus{color:var(--asnf-link-hover)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:var(--asnf-headings)}
.card,.page-content,.page-order-detail,.page-addresses .address,.contact-form{background:var(--asnf-card-bg);border-color:var(--asnf-border)}
#header{background:var(--asnf-header-bg);color:var(--asnf-menu-text)}
#header .header-nav,#header .header-nav.mobile{background:var(--asnf-topbar-bg);color:var(--asnf-topbar-text)}
#header .header-nav a,#header .header-nav .material-icons{color:var(--asnf-topbar-text)}
#header .header-nav a:hover,#header .header-nav a:focus{color:var(--asnf-topbar-hover)}
#header .header-nav .blockcart{background:var(--asnf-cart-bg);color:var(--asnf-cart-text)}
#header .header-nav .blockcart a,#header .header-nav .blockcart .material-icons{color:inherit}
#header .header-nav .blockcart.active{background:var(--asnf-cart-active-bg);color:var(--asnf-cart-active-text)}
#header .header-top{background:var(--asnf-header-bg)}
#header .header-top a[data-depth="0"]{color:var(--asnf-menu-text)}
#header .header-top a[data-depth="0"]:hover{color:var(--asnf-menu-hover)}
#header .popover.sub-menu{background:var(--asnf-submenu-bg);color:var(--asnf-submenu-text)}
#header .popover.sub-menu a{color:var(--asnf-submenu-text)}
#header .search-widget form input[type=text]{background:var(--asnf-search-bg);color:var(--asnf-search-text);border-color:var(--asnf-search-border)}
#header .search-widget form button[type=submit]{color:var(--asnf-search-icon)}
#mobile_top_menu_wrapper{background:var(--asnf-mobile-menu-bg)}
.asnf-section-title h2,.featured-products .products-section-title,.product-accessories .products-section-title{color:var(--asnf-home-title)}
.asnf-trust__item{background:var(--asnf-trust-card-bg);border-color:var(--asnf-border)}
.asnf-trust__icon{background:var(--asnf-trust-icon-bg);color:var(--asnf-trust-icon-text)}
.block-category{background:var(--asnf-category-banner-bg);color:var(--asnf-category-banner-text)}
.block-category h1,.block-category .block-category-inner,.block-category .category-cover{color:var(--asnf-category-banner-text)}
.product-miniature .thumbnail-container,.product-miniature .product-description,.product-miniature .highlighted-informations{background:var(--asnf-product-card-bg);border-color:var(--asnf-border)}
.product-miniature .product-title a{color:var(--asnf-product-title)}
.product-miniature .product-price-and-shipping,#product .current-price{color:var(--asnf-product-price)}
.product-miniature .regular-price{color:var(--asnf-product-old-price)}
.product-miniature .quick-view{color:var(--asnf-product-quickview)}
.product-flags li.product-flag{background:var(--asnf-product-badge-bg);color:var(--asnf-product-badge-text)}
.product-flags li.product-flag.discount,.product-flags li.product-flag.discount-amount,.product-flags li.product-flag.discount-percentage{background:var(--asnf-promo-badge-bg);color:var(--asnf-promo-badge-text)}
#product .product-container,.tabs{background:var(--asnf-product-page-bg);border-color:var(--asnf-border)}
#product h1{color:var(--asnf-product-page-title)}
#product .product-images>li.thumb-container>.thumb{border-color:var(--asnf-product-thumb-border)}
#product .product-images>li.thumb-container>.thumb.selected,#product .product-images>li.thumb-container>.thumb:hover{border-color:var(--asnf-product-thumb-active)}
.tabs .nav-tabs .nav-link.active{color:var(--asnf-product-tab-active);border-bottom-color:var(--asnf-product-tab-active)}
.btn-primary{background:var(--asnf-primary-btn-bg);border-color:var(--asnf-primary-btn-bg);color:var(--asnf-primary-btn-text)}
.btn-primary:hover,.btn-primary:focus{background:var(--asnf-primary-btn-hover-bg);border-color:var(--asnf-primary-btn-hover-bg);color:var(--asnf-primary-btn-hover-text)}
.btn-secondary,.btn-tertiary{background:var(--asnf-secondary-btn-bg);color:var(--asnf-secondary-btn-text)}
.btn-secondary:hover,.btn-secondary:focus,.btn-tertiary:hover,.btn-tertiary:focus{background:var(--asnf-secondary-btn-hover-bg);color:var(--asnf-secondary-btn-hover-text)}
.form-control,.custom-select,select.form-control{background-color:var(--asnf-form-bg);color:var(--asnf-form-text);border-color:var(--asnf-form-border)}
.form-control:focus,.custom-select:focus,select.form-control:focus{border-color:var(--asnf-form-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--asnf-form-focus) 18%,transparent)}
.custom-checkbox input[type=checkbox]:checked+span{background:var(--asnf-checkbox-active);border-color:var(--asnf-checkbox-active)}
.cart-grid-body .card,.cart-grid-right .card,body#checkout section.checkout-step{background:var(--asnf-checkout-card-bg);border-color:var(--asnf-border)}
body#checkout section.checkout-step .step-title{color:var(--asnf-checkout-step-title)}
.cart-summary-line.cart-total{background:var(--asnf-cart-total-bg);color:var(--asnf-cart-total-text)}
.cart-summary-line.cart-total .value,.cart-summary-line .value{color:var(--asnf-cart-total-text)}
.alert-success{color:var(--asnf-success);border-color:var(--asnf-success)}
.alert-danger,.has-error .help-block{color:var(--asnf-danger)}
#footer{background:var(--asnf-footer-bg);color:var(--asnf-footer-text)}
#footer h3,#footer .h3,#footer .h4{color:var(--asnf-footer-title)}
#footer a,#footer .block-contact{color:var(--asnf-footer-link)}
#footer a:hover{color:var(--asnf-footer-link-hover)}
#footer .block-social ul li{background-color:var(--asnf-footer-icon-bg)}
#footer .copyright-container{border-color:var(--asnf-footer-border)}
:focus-visible{outline-color:var(--asnf-focus)}


/* Réglages détaillés de l’en-tête — module asnfthemecolors 2.2 */
@media (max-width: 767px) {
  #header .header-top, #header .header-nav { background-color: var(--asnf-mobile-header-bg, var(--asnf-header-bg, var(--asnf-paper))); }
  #mobile_top_menu_wrapper { background: var(--asnf-mobile-menu-bg, var(--asnf-paper)); color: var(--asnf-mobile-menu-text, var(--asnf-ink)); }
  #mobile_top_menu_wrapper a { color: var(--asnf-mobile-menu-text, var(--asnf-ink)); }
}


/* ==========================================================
   En-tête ordinateur v2.0.0
   Structure native PrestaShop conservée :
   displayNav1/displayNav2 en haut, logo + displayTop en dessous.
   ========================================================== */
@media (min-width: 992px) {
  /* Séparation discrète de 2 px entre les deux bandeaux. */
  #header .header-nav {
    margin-bottom: 2px;
  }

  /* Barre supérieure : icônes et libellés parfaitement alignés. */
  #header .header-nav .user-info,
  #header .header-nav .user-info a,
  #header .header-nav .blockcart,
  #header .header-nav .blockcart a {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    line-height: 1.2;
  }

  #header .header-nav .user-info a,
  #header .header-nav .blockcart a {
    gap: 7px;
  }

  #header .header-nav .user-info .material-icons,
  #header .header-nav .blockcart .material-icons {
    margin: 0;
    line-height: 1;
    vertical-align: middle;
  }

  #header .header-nav .right-nav {
    text-align: right;
  }

  /* Bandeau principal : logo, menu et recherche sur une même ligne. */
  #header .header-top {
    min-height: 156px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  #header .header-top > .container > .row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  #header #_desktop_logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    flex: 0 0 190px;
    width: 190px;
    max-width: 190px;
    padding-right: 18px;
  }

  #header #_desktop_logo h1 {
    margin: 0;
    line-height: 1;
  }

  #header #_desktop_logo img,
  #header .logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 178px;
    max-height: 142px;
    object-fit: contain;
  }

  /* Zone displayTop : menu à gauche, recherche à droite. */
  #header .header-top-right {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    padding-left: 0;
  }

  /* Les modules du hook restent indépendants, mais s'alignent sur la ligne. */
  #header .header-top-right > * {
    margin-top: 0;
    margin-bottom: 0;
  }

  #header .header-top-right #_desktop_top_menu,
  #header .header-top-right .menu,
  #header .header-top-right .js-top-menu {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
  }

  #header .header-top-right .top-menu[data-depth="0"],
  #header .header-top-right #top-menu {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin: 0;
    padding: 0;
  }

  #header .header-top-right .top-menu a[data-depth="0"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  #header .header-top-right .search-widget,
  #header .header-top-right #search_widget {
    flex: 0 0 330px;
    width: 330px;
    max-width: 330px;
    margin: 0 0 0 22px;
    align-self: center;
    transform: none;
  }

  #header .header-top-right .search-widget form,
  #header .header-top-right #search_widget form {
    margin: 0;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #header #_desktop_logo {
    flex-basis: 160px;
    width: 160px;
    max-width: 160px;
    padding-right: 14px;
  }

  #header #_desktop_logo img,
  #header .logo {
    max-width: 150px;
    max-height: 124px;
  }

  #header .header-top-right .search-widget,
  #header .header-top-right #search_widget {
    flex-basis: 280px;
    width: 280px;
    max-width: 280px;
    margin-left: 14px;
  }
}

/* ==========================================================
   Correctif en-tête v2.0.1
   Menu aligné à gauche et sans fond blanc dans le bandeau logo.
   ========================================================== */
@media (min-width: 992px) {
  #header .header-top-right #_desktop_top_menu,
  #header .header-top-right .menu,
  #header .header-top-right .js-top-menu,
  #header .header-top-right .top-menu[data-depth="0"],
  #header .header-top-right #top-menu {
    background: transparent !important;
    background-color: transparent !important;
  }

  #header .header-top-right #_desktop_top_menu,
  #header .header-top-right .menu,
  #header .header-top-right .js-top-menu {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  #header .header-top-right .top-menu[data-depth="0"],
  #header .header-top-right #top-menu {
    justify-content: flex-start !important;
    width: auto;
  }

  #header .header-top-right .top-menu a[data-depth="0"] {
    background: transparent !important;
  }
}


/* ==========================================================
   Ajustement en-tête v2.0.2
   Bandeau logo réduit de 12 px, dimensions du logo inchangées.
   ========================================================== */
@media (min-width: 992px) {
  #header .header-top {
    min-height: 156px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

/* ASNF 2.3.3 — sous-categories : utiliser et recadrer l'image originale */
#subcategories ul li .subcategory-image a img.asnf-subcategory-original {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:50% !important;
}

/* ========================================================================== */
/* ASNF v2.3.4 - Barre de tri catalogue plus compacte                        */
/* ========================================================================== */
.products-selection {
  padding: 8px 14px;
  border-radius: 16px;
}

.products-selection .row {
  align-items: center;
}

.products-selection .total-products,
.products-selection .total-products p,
.products-selection .sort-by-row,
.products-selection .sort-by {
  margin-top: 0;
  margin-bottom: 0;
}

.products-selection .total-products p {
  line-height: 1.25;
}

.products-sort-order .select-title {
  height: 36px;
  min-height: 36px;
  padding: 4px 11px;
  line-height: 1.2;
  display: flex;
  align-items: center;
}

@media (max-width: 767.98px) {
  .products-selection {
    padding: 10px 12px;
  }

  .products-sort-order .select-title {
    height: 40px;
    min-height: 40px;
    padding: 6px 11px;
  }
}


/* ========================================================================== */
/* ASNF v2.3.5 - Sélecteur de tri plus fin                                   */
/* Réduction ciblée de la hauteur du champ "Pertinence" sans modifier       */
/* davantage la barre de sélection des produits.                             */
/* ========================================================================== */


/* ==========================================================
   v2.4.2 - Réseaux sociaux natifs PrestaShop 9
   Le thème Classic utilise background-image pour les pictogrammes
   Facebook / Instagram / etc. Ne jamais utiliser "background:"
   sur les pastilles sociales : cela efface l'image native.
   ========================================================== */
#footer .block-social ul li,
#footer .block-social li,
.footer-container .block-social ul li,
.footer-container .block-social li {
    background-color: var(--asnf-footer-icon-bg, #2f6b2f) !important;
}

/* Le lien ne doit pas masquer l'icône de fond native du thème Classic. */
#footer .block-social ul li a,
.footer-container .block-social ul li a {
    background-color: transparent !important;
}


/* v2.4.3 - Copyright Aux Saveurs de nos Fermes */
#footer .asnf-copyright {
    color: var(--asnf-footer-copyright-text, inherit);
}
