/*
  Selva Alimentation — feuille de styles de marque
  Couleurs reprises du flyer officiel : vert Selva, vert foncé, orange.
  Chargée en complément du thème parent (Classic), sans le remplacer.
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap');

:root{
  --selva-green:#156933;
  --selva-green-dark:#074f24;
  --selva-green-deep:#0c3d1e;
  --selva-lime:#8cc63f;
  --selva-orange:#fd8300;
  --selva-orange-dark:#e06f00;
  --selva-cream:#f7f4ec;
  --selva-ink:#23271f;

  --bs-primary: var(--selva-green);
  --bs-secondary: var(--selva-orange);
  --bs-link-color: var(--selva-green);
  --bs-link-hover-color: var(--selva-orange);
  --bs-body-font-family: 'Inter', sans-serif;
  --bs-body-color: var(--selva-ink);
}

body{ font-family:'Inter', sans-serif; color:var(--selva-ink); }

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:'Poppins', sans-serif !important;
  font-weight:700 !important;
}

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

/* Header / navigation */
header, #header, .header-top, .header-nav, .nav-bar, .top-menu, .navbar{
  background-color:var(--selva-green) !important;
  color:#fff !important;
}
header a, #header a, .header-nav a, .navbar a, .top-menu a{ color:#fff !important; }
header .logo, #header .logo{ max-height:60px; }

/* Boutons principaux / ajouter au panier */
.btn-primary,
.btn-primary:not(:disabled):not(.disabled),
.product-add-to-cart .btn,
.add-to-cart{
  background-color:var(--selva-green) !important;
  border-color:var(--selva-green) !important;
  color:#fff !important;
}
.btn-primary:hover,
.product-add-to-cart .btn:hover{
  background-color:var(--selva-green-dark) !important;
  border-color:var(--selva-green-dark) !important;
}

/* Badges et étiquettes promo */
.product-flag, .on-sale, .discount-percentage, .reduction-percent, .badge{
  background-color:var(--selva-orange) !important;
  color:#fff !important;
  border-radius:6px;
}

/* Prix */
.price, .product-price, .current-price, .current-price-value{
  color:var(--selva-green) !important;
  font-weight:700 !important;
}
.regular-price, .old-price{ color:#9a958a !important; }

/* Panier latéral */
.cart-summary, .blockcart, .cart-overview, .block-cart{ border-color:var(--selva-green) !important; }
.cart-summary .btn-primary, .block-cart .btn-primary{
  background-color:var(--selva-orange) !important;
  border-color:var(--selva-orange) !important;
}

/* Pied de page */
footer, #footer, .footer-container{
  background-color:var(--selva-green-deep) !important;
  color:#e7ecd9 !important;
}
footer a, #footer a, .footer-container a{ color:#cfe0c4 !important; }
footer a:hover, #footer a:hover{ color:var(--selva-orange) !important; }

/* ---- Bannière d'accueil maison ---- */
.selva-hero{
  position:relative; overflow:hidden;
  background:var(--selva-green); color:#fff; border-radius:16px;
  padding:36px 40px; margin-bottom:22px;
}
.selva-hero .kicker{
  display:inline-block; font-family:'Poppins',sans-serif; font-weight:600;
  font-size:13px; letter-spacing:2px; text-transform:uppercase;
  color:var(--selva-lime); margin-bottom:8px;
}
.selva-hero h2{
  color:#fff !important; font-size:30px; margin:0 0 6px; line-height:1.15;
}
.selva-hero h2 .accent{ color:var(--selva-orange); }
.selva-hero p{ opacity:.9; max-width:480px; margin:8px 0 18px; font-family:'Inter',sans-serif; }
.selva-hero .selva-cta{
  background:var(--selva-orange); color:#fff; border:none; border-radius:999px;
  padding:12px 26px; font-weight:600; display:inline-block; font-family:'Poppins',sans-serif;
}
.selva-hero .selva-cta:hover{ background:var(--selva-orange-dark); color:#fff; }

/* Bandeau catégories texte (façon flyer) */
.selva-cats-band{
  background:var(--selva-orange); color:#fff; border-radius:10px;
  padding:12px 18px; margin-bottom:22px; text-align:center;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; letter-spacing:.5px;
}
.selva-cats-band span{ white-space:nowrap; }

/* Titres de section */
.selva-section-title{
  font-family:'Poppins',sans-serif !important; font-weight:700 !important;
  font-size:20px; color:var(--selva-green) !important; margin:6px 0 14px;
}

/* Grille de vignettes (rayons + univers) */
.selva-tiles{ display:grid; gap:14px; margin-bottom:26px; }
.selva-tiles a{
  border-radius:14px; padding:18px 16px; min-height:84px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:15px;
  color:#fff !important; line-height:1.25; transition:transform .12s ease, box-shadow .12s ease;
}
.selva-tiles a:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(12,61,30,.18); color:#fff !important; }

.selva-rayons{ grid-template-columns:repeat(5,1fr); }
.selva-univers{ grid-template-columns:repeat(3,1fr); }

@media (max-width:992px){
  .selva-rayons{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px){
  .selva-rayons{ grid-template-columns:repeat(2,1fr); }
  .selva-univers{ grid-template-columns:1fr; }
}

/* Bandeau infos pratiques — réparti horizontalement */
.selva-info-strip{
  display:flex; flex-wrap:wrap; align-items:stretch;
  background:var(--selva-cream); border:1px solid #e5dfd0; border-radius:14px;
  padding:18px 10px; margin-bottom:26px; font-size:13.5px;
}
.selva-info-strip .item{
  flex:1 1 0; min-width:130px; text-align:center; padding:6px 12px;
  border-right:1px solid #e5dfd0; line-height:1.4;
}
.selva-info-strip .item:last-child{ border-right:none; }
.selva-info-strip .item strong{
  color:var(--selva-green); font-family:'Poppins',sans-serif; display:block; margin-bottom:2px;
}
.selva-info-strip .ouvert{
  color:var(--selva-green-dark); font-family:'Poppins',sans-serif; font-weight:800; font-size:18px;
  display:flex; align-items:center; justify-content:center; height:100%;
}
@media (max-width:768px){
  .selva-info-strip .item{ flex:1 1 45%; border-right:none; border-bottom:1px solid #e5dfd0; padding-bottom:10px; margin-bottom:6px; }
}

/* ---- Stepper qté (mini-cartes produit / grille catégorie) — façon Covin ---- */
.product-add-to-cart{
  display:flex; align-items:center; gap:8px; flex-wrap:nowrap;
}
.product-add-to-cart form{
  display:flex; align-items:center; gap:8px; flex-wrap:nowrap;
  margin:0;
}
.selva-stepper{
  display:inline-flex; align-items:center;
  background:#eaf3ec; border:1px solid #d8e8db; border-radius:8px;
  overflow:hidden; height:40px;
}
.selva-stepper__btn{
  width:36px; height:40px; border:none; background:transparent;
  color:var(--selva-green-dark); font-size:18px; font-weight:600; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.selva-stepper__btn:hover{ background:#dcecdf; }
.selva-stepper__input{
  width:34px; height:40px; border:none; background:transparent; text-align:center;
  font-family:'Poppins',sans-serif; font-weight:600; color:var(--selva-ink);
  -moz-appearance:textfield;
}
.selva-stepper__input::-webkit-outer-spin-button,
.selva-stepper__input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.selva-stepper__input:focus{ outline:none; }
.selva-stepper__input[value="0"]{ color:#8a9585; }

.product-add-to-cart .btn,
.product-add-to-cart button[data-button-action="add-to-cart"]{
  height:40px !important; width:40px; min-width:40px; padding:0 !important;
  border-radius:8px !important; display:flex !important; align-items:center; justify-content:center;
  background-color:var(--selva-green-dark) !important; border-color:var(--selva-green-dark) !important;
  transition:background-color .15s ease;
}
.product-add-to-cart .btn:hover,
.product-add-to-cart button[data-button-action="add-to-cart"]:hover{
  background-color:var(--selva-green) !important; border-color:var(--selva-green) !important;
}
.product-add-to-cart .btn span,
.product-add-to-cart button[data-button-action="add-to-cart"] span{
  display:none; /* on ne garde que l'icône, comme sur la maquette */
}
.product-add-to-cart .btn i,
.product-add-to-cart .btn .material-icons{ color:#fff !important; font-size:20px; }

/* ---- Accueil 2 colonnes + panier latéral "Mon panier" (live) ---- */
.selva-home{
  display:grid; grid-template-columns:1fr 320px; gap:28px; align-items:start;
}
.selva-home__main{ min-width:0; }
.selva-home__aside{ position:sticky; top:96px; }

@media (max-width:991px){
  .selva-home{ grid-template-columns:1fr; }
  .selva-home__aside{ position:static; order:-1; }
}

.selva-cart{
  background:#fff; border:1px solid #e2ece4; border-radius:18px; padding:18px;
}
.selva-cart__head{
  display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px;
}
.selva-cart__head h3{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; margin:0;
  color:var(--selva-green-dark);
}
.selva-cart__count{ font-size:12.5px; color:#5b6e72; }
.selva-cart__empty{ font-size:13px; color:#5b6e72; text-align:center; padding:24px 0; }
.selva-cart__item{
  display:flex; gap:10px; padding:10px 0; border-bottom:1px solid #eef2ee;
  position:relative;
}
.selva-cart__remove{
  border:none; background:transparent; color:#9aa79c; font-size:18px; line-height:1;
  width:22px; height:22px; flex:0 0 22px; cursor:pointer; border-radius:50%;
  display:flex; align-items:center; justify-content:center; align-self:flex-start;
  transition:background-color .15s ease, color .15s ease;
}
.selva-cart__remove:hover{ background:#fbe8e4; color:#c0392b; }
.selva-cart__remove:disabled{ opacity:.4; cursor:default; }
.selva-cart__thumb{
  width:44px; height:44px; flex:0 0 44px; border-radius:8px; overflow:hidden;
  background:#eef5ef; display:flex; align-items:center; justify-content:center;
}
.selva-cart__thumb img{ max-width:100%; max-height:100%; border-radius:5px; }
.selva-cart__info{ flex:1; min-width:0; }
.selva-cart__name{ font-size:12.5px; line-height:1.3; margin:0 0 4px; color:var(--selva-ink); }
.selva-cart__row{ display:flex; align-items:center; justify-content:space-between; }
.selva-cart__qty{ font-size:12px; color:#5b6e72; }
.selva-cart__price{ font-size:13px; font-weight:700; color:var(--selva-green-dark); }

.selva-cart__totals{ font-size:13px; margin:12px 0; }
.selva-cart__line{ display:flex; justify-content:space-between; padding:4px 0; color:#5b6e72; }
.selva-cart__line--total{
  color:var(--selva-green-dark); font-weight:700; font-size:15px;
  border-top:1px solid #e2ece4; padding-top:10px; margin-top:4px;
}

.selva-cart__checkout{
  width:100%; display:block; text-align:center; box-sizing:border-box;
  background:var(--selva-green-dark) !important; border-color:var(--selva-green-dark) !important;
  color:#fff !important; font-family:'Poppins',sans-serif; font-weight:600;
  margin-top:8px; border-radius:8px; padding:10px 16px; text-decoration:none !important;
}
.selva-cart__checkout:hover{ background:var(--selva-green) !important; }
.selva-cart__checkout.disabled{ opacity:.5; pointer-events:none; }

/* ---- Popup "Ajouté au panier" : masquée entièrement (filet CSS, en plus
   du blocage JS qui empêche normalement son ouverture) ---- */
.modal:has(.cart-content),
.modal:has(#myModalLabel){ display:none !important; }
.cart-content .cart-products-count{ display:none; }
#myModalLabel{ display:none; }

.selva-pdp-qty .input-group{
  background:#eaf3ec; border:1px solid #d8e8db; border-radius:999px;
  overflow:hidden; max-width:150px;
}
.selva-pdp-qty .input-group .btn,
.selva-pdp-qty .js-touchspin{
  background:transparent !important; border:none !important; color:var(--selva-green-dark) !important;
  box-shadow:none !important;
}
.selva-pdp-qty #quantity_wanted{
  background:transparent !important; border:none !important; text-align:center;
  font-family:'Poppins',sans-serif; font-weight:600;
}

/* ---- Carte produit (grille catégorie / accueil) — mise en page façon Nova Gourmet ---- */
.js-product-miniature{
  background:#fff; border:1px solid #e7ece7; border-radius:14px;
  overflow:hidden; box-shadow:0 2px 8px rgba(12,61,30,.06);
  transition:box-shadow .15s ease, transform .15s ease;
}
.js-product-miniature:hover{
  box-shadow:0 10px 22px rgba(12,61,30,.14); transform:translateY(-3px);
}
.js-product-miniature .thumbnail-container{ background:#fff; }
.js-product-miniature .product-description{ padding:14px 16px 16px; }
.js-product-miniature .product-title{ margin-bottom:6px; }
.js-product-miniature .product-title a{
  color:var(--selva-ink) !important; font-size:15px;
  font-family:'Playfair Display', Georgia, serif !important;
  font-weight:700 !important;
}
.js-product-miniature .product-price-and-shipping{ margin-bottom:10px; }
.js-product-miniature .product-price-and-shipping .price{
  font-size:17px;
}

/* Titres de section produits (Produits populaires / Nouveaux produits) façon Nova Gourmet */
.products-section-title{
  font-family:'Poppins',sans-serif !important; font-weight:700 !important;
  color:var(--selva-green-dark) !important; letter-spacing:.3px;
}
