/* ============================================================
   NUVITA — CSS pour le thème Warehouse
   À déposer dans themes/warehouse/assets/css/custom.css
   (Warehouse charge ce fichier automatiquement).
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&family=Yellowtail&display=swap");

:root{
  --leaf-900:#12351A; --leaf-700:#1E5B2A; --leaf-500:#2F8A3E; --leaf-300:#8CC152; --leaf-050:#EEF5E8;
  --cream:#FBFAF3; --paper:#FFFFFF; --sun:#F5B324; --tn-red:#C8102E;
  --ink-60:#5B6B5E; --ink-40:#8C9A8F; --line:#E4E9DF;
  --r-md:16px; --r-lg:24px;
  --shadow-2:0 12px 34px rgba(18,53,26,.10); --shadow-3:0 24px 60px rgba(18,53,26,.16);
  --ease:cubic-bezier(.2,.8,.2,1);
  --display:"Outfit",system-ui,sans-serif; --body:"Manrope",system-ui,sans-serif; --script:"Yellowtail",cursive;
}

/* ---------- typographie & base ---------- */
body{font-family:var(--body)}
h1,h2,h3,h4,.h1,.h2,.h3,.elementor-heading-title{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.nv-center{text-align:center}
.nv-right{text-align:right}
.nv-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:12px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--leaf-500);margin:0 0 10px}
.nv-eyebrow::before{content:"";width:20px;height:1.5px;background:var(--leaf-300)}
.nv-eyebrow--light{color:var(--leaf-300)}
.nv-center .nv-eyebrow,p.nv-center.nv-eyebrow{justify-content:center;display:flex}
.nv-lead{color:var(--ink-60);font-size:17px;max-width:62ch;margin:12px 0 0}
.nv-lead.nv-center{margin-inline:auto}
.nv-lead--light{color:rgba(255,255,255,.75)}
.nv-script{font-family:var(--script);color:var(--leaf-500);font-size:30px;font-weight:400}

/* ---------- boutons ---------- */
.nv-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;
  font-family:var(--display);font-weight:700;font-size:15px;padding:14px 24px;border-radius:999px;min-height:48px;
  text-align:center;text-decoration:none;transition:transform .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}
.nv-btn:hover{transform:translateY(-2px);text-decoration:none}
.nv-btn--primary{background:var(--leaf-700);color:#fff;box-shadow:var(--shadow-2)}
.nv-btn--primary:hover{background:var(--leaf-500);color:#fff}
.nv-btn--ghost{background:transparent;color:var(--leaf-900);box-shadow:inset 0 0 0 1.5px var(--line)}
.nv-btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--leaf-500);color:var(--leaf-700)}
.nv-btn--ghost-light{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.nv-btn--ghost-light:hover{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.nv-btn--sun{background:var(--sun);color:var(--leaf-900)}
.nv-btn--sm{padding:10px 16px;font-size:14px;min-height:42px}

/* ---------- hero ---------- */
.nv-badge-tn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--leaf-900);background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:6px 12px 6px 8px}
.nv-badge-tn i{width:14px;height:14px;border-radius:50%;background:var(--tn-red);display:inline-block}
.nv-hero__tagline{font-family:var(--display);font-size:clamp(28px,4vw,44px);color:var(--leaf-500);line-height:1.1;margin:18px 0 14px;font-weight:400}
.nv-hero__sub{font-size:clamp(16px,2vw,19px);color:var(--ink-60);max-width:46ch}
.nv-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.nv-hero__meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:14px;color:var(--ink-60)}
.nv-hero__meta b{font-family:var(--display);color:var(--leaf-900)}
.nv-hero__img img{mix-blend-mode:multiply}

/* ---------- formats ---------- */
.nv-format{display:flex;gap:18px;align-items:flex-start;background:var(--cream);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:26px;height:100%}
.nv-format__big{font-family:var(--display);font-weight:800;font-size:44px;line-height:1;color:var(--leaf-700);flex:0 0 auto}
.nv-format__big small{font-size:18px;margin-left:2px}
.nv-format h3{font-size:19px;margin:6px 0 6px}
.nv-format p{color:var(--ink-60);margin:0 0 8px;font-size:15px}
.nv-format__from{font-family:var(--display);font-weight:700;color:var(--leaf-500)}

/* ---------- gammes ---------- */
.nv-catcard{display:block;position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px;text-decoration:none;color:var(--leaf-900);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.nv-catcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-3);text-decoration:none;color:var(--leaf-900)}
.nv-catcard__blob{position:absolute;top:-50px;right:-50px;width:150px;height:150px;border-radius:50%;opacity:.55;filter:blur(2px)}
.nv-catcard__name{display:block;font-family:var(--script);font-weight:400;font-size:30px;color:var(--leaf-700);position:relative;line-height:1.1}
.nv-catcard__n{display:block;color:var(--ink-60);font-size:14px;margin:6px 0 12px;position:relative}
.nv-catcard__from{font-family:var(--display);font-weight:700;color:var(--leaf-500);position:relative}

/* ---------- liste de prix ---------- */
.nv-pl{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;margin-bottom:24px}
.nv-pl__head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
.nv-pl__cols{display:grid;grid-template-columns:repeat(3,64px);text-align:right;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-40)}
.nv-pl__row{display:flex;align-items:baseline;gap:8px;padding:9px 0;text-decoration:none;color:var(--leaf-900);border-bottom:1px dashed var(--line)}
.nv-pl__row:last-child{border-bottom:0}
.nv-pl__row:hover{color:var(--leaf-500);text-decoration:none}
.nv-pl__name{font-family:var(--display);font-weight:600;white-space:nowrap}
.nv-pl__dots{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-4px)}
.nv-pl__v{width:64px;text-align:right;font-family:var(--display);font-weight:700;white-space:nowrap}
.nv-pl__v i{font-style:normal;font-size:11px;color:var(--ink-40);margin-left:2px}

/* ---------- à propos (fond vert) ---------- */
.nv-leaf .elementor-heading-title{color:#fff}
.nv-perk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:24px;color:#fff;height:100%}
.nv-perk .nv-num{display:block;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--leaf-300);margin-bottom:8px}
.nv-perk h3{color:#fff;font-size:22px;margin:0 0 8px}
.nv-perk p{color:rgba(255,255,255,.72);margin:0}

/* ---------- bandeau commande ---------- */
.nv-ctaband{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--leaf-700);
  color:#fff;border-radius:var(--r-lg);padding:38px 40px;box-shadow:var(--shadow-3)}
.nv-ctaband h2{color:#fff;margin:0 0 8px;font-size:30px}
.nv-ctaband p{color:rgba(255,255,255,.78);margin:0;max-width:52ch}
.nv-ctaband__btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- réglages Warehouse ---------- */
.elementor-text-editor p:last-child{margin-bottom:0}
@media(max-width:767px){
  .nv-right{text-align:left}
  .nv-pl__cols{grid-template-columns:repeat(3,54px)}
  .nv-pl__v{width:54px}
  .nv-ctaband{padding:28px 22px}
}

/* ---------- slider accueil (Elementor image-carousel) ---------- */
.nv-slider-section{margin-bottom:0}
.nv-slider .slick-slide img{width:100%;height:auto;display:block}
.nv-slider .slick-dots li button::before{color:#1E5B2A;opacity:.35}
.nv-slider .slick-dots li.slick-active button::before{color:#1E5B2A;opacity:1}
.nv-slider .slick-prev:before,.nv-slider .slick-next:before{color:#12351A}

/* ---------- cartes produit teintées ---------- */
.js-product-miniature.nv-tinted .thumbnail-container,.js-product-miniature.nv-tinted .product-thumbnail,.js-product-miniature.nv-tinted .product-image{border-radius:20px;overflow:hidden;transition:transform .3s var(--ease)}
.js-product-miniature.nv-tinted .thumbnail-container img,.js-product-miniature.nv-tinted .product-thumbnail img{mix-blend-mode:multiply;padding:18px}
.js-product-miniature.nv-tinted:hover .thumbnail-container{transform:translateY(-3px)}
.nv-catdot{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);margin:12px 0 4px}
.nv-catdot i{width:7px;height:7px;border-radius:50%;display:inline-block}

/* ---------- grille produits Warehouse / Elementor ---------- */
.products.row,.products-grid.row,.elementor-widget-prestashop-widget-ProductsList .row{margin-left:-15px;margin-right:-15px;row-gap:30px}
.products.row > [class*="col-"],.products-grid.row > [class*="col-"],.elementor-widget-prestashop-widget-ProductsList .row > [class*="col-"]{padding-left:15px;padding-right:15px}
.js-product-miniature{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;overflow:hidden;
  box-shadow:0 2px 6px rgba(18,53,26,.06);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.js-product-miniature:hover{transform:translateY(-4px);box-shadow:var(--shadow-3)}
.js-product-miniature .thumbnail-container{margin:0}
.js-product-miniature .product-description,.js-product-miniature .product-meta{padding:14px 6px 4px}
.product-flags,.product-flag{display:none!important}
