/*
Theme Name: NosVers V2
Theme URI: https://nosvers.com
Author: Angel & Africa
Author URI: https://nosvers.com
Description: Theme FSE NosVers Studio V2 — Design vert naturel, Playfair Display + DM Sans.
Version: 2.0.0
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietaire — NosVers
Tags: full-site-editing, woocommerce, agriculture, organic

*/

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:wght@300;400;500;600&family=DM+Serif+Display:ital@0;1&display=swap');


:root {
  --green:#5A7A2E;--green-dark:#3D5420;--green-light:#B5C98A;
  --green-pale:#EEF4E4;--tan:#C4893D;--tan-light:#F7EDD9;
  --bg:#FEFAF4;--surface:#F0EAD9;--text:#1A1A1A;--muted:#7A746E;
  --white:#FFFFFF;--sz-hero:58px;--sz-h1:44px;--sz-h2:34px;
  --sz-h3:22px;--sz-body:16px;--radius:8px;--radius-lg:14px;
  --section-gap:80px;
}
*{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
body{font-family:'DM Sans',sans-serif;background:#D5D1CB;overflow-x:hidden}

/* ── EDITOR BAR ── */

/* ── LAYOUT ── */

/* ── CANVAS ── */

/* ── EDIT MODE ── */

/* ── TOAST & HINT ── */

/* ══════════════════════════════════
   SITE STYLES
══════════════════════════════════ */
.nv-nav{background:var(--bg);border-bottom:1px solid rgba(90,122,46,.12);padding:0 44px;height:68px;display:flex;align-items:center;justify-content:space-between}
.nv-logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--green-dark);display:flex;align-items:center;gap:10px}
.nv-logo-mark{width:34px;height:34px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px}
.nv-nav-links{display:flex;gap:28px;list-style:none}
.nv-nav-links a{font-size:14px;font-weight:500;color:var(--text);transition:color .2s}
.nv-nav-links a:hover{color:var(--green)}
.nav-btns{display:flex;gap:10px;align-items:center}
.btn-g{background:var(--green);color:#fff;padding:10px 22px;border-radius:var(--radius);font-size:14px;font-weight:600;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;display:inline-flex;align-items:center;gap:7px}
.btn-g:hover{background:var(--green-dark);transform:translateY(-1px)}
.btn-o{background:transparent;color:var(--green);padding:10px 22px;border-radius:var(--radius);font-size:14px;font-weight:600;border:2px solid var(--green);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;display:inline-flex;align-items:center;gap:7px}
.btn-o:hover{background:var(--green-pale)}

/* HERO */
.nv-hero{display:grid;grid-template-columns:1fr 1fr;min-height:0;max-height:85vh;overflow:hidden}
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:40px 50px;background:var(--bg)}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--green-pale);color:var(--green-dark);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:6px 14px;border-radius:30px;margin-bottom:28px;width:fit-content}
.hero-title{font-family:'Playfair Display',serif;font-size:var(--sz-hero);line-height:1.1;color:var(--text);margin-bottom:24px;font-weight:700}
.hero-title em{color:var(--green);font-style:italic}
.hero-desc{font-size:16px;color:var(--muted);line-height:1.6;margin-bottom:24px;max-width:460px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.hero-trust{margin-top:20px;display:flex;gap:24px;align-items:center}
.trust-item{display:flex;flex-direction:column;gap:2px}
.trust-num{font-family:'DM Serif Display',serif;font-size:26px;color:var(--green)}
.trust-lbl{font-size:11px;color:var(--muted);letter-spacing:.5px}
.trust-div{width:1px;height:36px;background:var(--surface)}
.hero-imgs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;background:var(--green-dark);max-height:85vh}
.hero-img{overflow:hidden;position:relative}
.hero-img.sp2{grid-column:span 2}
.hero-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hero-img:hover img{transform:scale(1.04)}

/* CONFIANCE */
.nv-conf{background:var(--green-pale);border-top:1px solid rgba(90,122,46,.15);border-bottom:1px solid rgba(90,122,46,.15);padding:18px 60px;display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap}
.conf-it{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--green-dark);font-weight:500}
.conf-ic{font-size:20px}

/* SECTIONS */
.nv-sec{padding:var(--section-gap) 60px}
.nv-sec-alt{background:var(--surface)}
.sec-kick{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:12px}
.sec-title{font-family:'Playfair Display',serif;font-size:var(--sz-h2);line-height:1.2;color:var(--text);margin-bottom:14px}
.sec-desc{font-size:var(--sz-body);color:var(--muted);line-height:1.75;max-width:580px}

/* PRODUCT CARDS */
.nv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.nv-grid.feat .p-card:first-child{grid-column:span 2}
.prod-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}
.p-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:all .25s;display:flex;flex-direction:column}
.p-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(0,0,0,.1)}
.p-img{overflow:hidden;position:relative;background:var(--surface);aspect-ratio:4/3}
.p-img.tall{aspect-ratio:3/4}
.p-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.p-card:hover .p-img img{transform:scale(1.04)}
.p-badge{position:absolute;top:14px;left:14px;background:var(--green);color:#fff;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.p-body{padding:22px;flex:1;display:flex;flex-direction:column}
.p-cat{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);margin-bottom:7px}
.p-title{font-family:'DM Serif Display',serif;font-size:20px;color:var(--text);margin-bottom:10px;line-height:1.3}
.p-desc{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:14px;flex:1}
.p-bullets{list-style:none;margin-bottom:18px}
.p-bullets li{font-size:13px;color:var(--text);padding:3px 0;display:flex;align-items:center;gap:8px}
.p-bullets li::before{content:'✓';color:var(--green);font-weight:700;font-size:12px}
.p-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--surface)}
.p-price{font-family:'DM Serif Display',serif;font-size:22px;color:var(--text)}
.p-price span{font-size:14px;color:var(--muted);font-family:'DM Sans',sans-serif}
.p-btn{background:var(--green);color:#fff;border:none;border-radius:var(--radius);padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.p-btn:hover{background:var(--green-dark)}

/* MOSAIC */
.nv-mosaic{display:grid;grid-template-columns:5fr 4fr 3fr;grid-template-rows:220px 220px;gap:5px;overflow:hidden;border-radius:var(--radius-lg)}
.mos-it{overflow:hidden;position:relative;border-radius:5px}
.mos-it:nth-child(1){grid-row:span 2}
.mos-it img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mos-it:hover img{transform:scale(1.06)}
.mos-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;padding:20px 13px 13px;font-size:12px;font-weight:500;opacity:0;transition:opacity .3s}
.mos-it:hover .mos-cap{opacity:1}

/* CITATION */
.nv-cit{background:var(--green-dark);padding:64px 100px;text-align:center}
.cit-txt{font-family:'Playfair Display',serif;font-size:26px;font-style:italic;color:rgba(255,255,255,.94);line-height:1.55;max-width:780px;margin:0 auto 22px}
.cit-auth{font-size:13px;color:rgba(255,255,255,.45);letter-spacing:1.5px;text-transform:uppercase}

/* ATELIER SECTION */
.nv-atel{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.atel-img{position:relative;min-height:480px}
.atel-img img{width:100%;height:100%;object-fit:cover}
.atel-content{background:var(--surface);padding:80px 60px;display:flex;flex-direction:column;justify-content:center}
.atel-prog{list-style:none;margin:24px 0}
.atel-prog li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:15px;color:var(--text);align-items:flex-start}
.prog-n{font-family:'DM Serif Display',serif;font-size:20px;color:var(--green);min-width:26px;line-height:1}

/* ENGAGEMENTS */
.eng-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.eng-it{background:var(--white);border-radius:var(--radius-lg);padding:24px;border:1px solid rgba(0,0,0,.06)}
.eng-ic{font-size:26px;margin-bottom:12px}
.eng-t{font-family:'DM Serif Display',serif;font-size:18px;color:var(--text);margin-bottom:8px}
.eng-d{font-size:14px;color:var(--muted);line-height:1.65}

/* AVIS */
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.avis-c{background:var(--white);border-radius:var(--radius-lg);padding:26px;border:1px solid rgba(0,0,0,.06);border-left:4px solid var(--green)}
.avis-stars{color:#F5A623;font-size:15px;margin-bottom:12px}
.avis-txt{font-size:15px;color:var(--text);line-height:1.7;font-style:italic;margin-bottom:18px}
.avis-auth{display:flex;align-items:center;gap:11px}
.avis-av{width:38px;height:38px;border-radius:50%;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-size:17px}
.avis-n{font-weight:700;font-size:13px;color:var(--text)}
.avis-l{font-size:11px;color:var(--muted)}

/* FAQ */
.faq-wrap{max-width:720px;margin-top:44px}
.faq-it{border-bottom:1px solid rgba(0,0,0,.07);padding:18px 0;cursor:pointer}
.faq-q{font-size:15px;font-weight:600;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-ic{color:var(--green);font-size:18px;transition:transform .2s;min-width:20px;text-align:center}
.faq-a{font-size:14px;color:var(--muted);line-height:1.7;margin-top:10px;display:none}
.faq-it.open .faq-ic{transform:rotate(45deg)}
.faq-it.open .faq-a{display:block}

/* PRODUCT PAGE */
.nv-prod-hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.prod-gallery{background:var(--surface);position:relative;overflow:hidden}
.prod-gallery img{width:100%;height:100%;object-fit:cover}
.prod-info{padding:60px 56px;display:flex;flex-direction:column;justify-content:center}
.prod-cat{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.prod-title{font-family:'Playfair Display',serif;font-size:var(--sz-h1);line-height:1.15;color:var(--text);margin-bottom:7px}
.prod-sub{font-family:'DM Serif Display',serif;font-size:19px;color:var(--muted);font-style:italic;margin-bottom:26px}
.prod-desc{font-size:16px;color:var(--muted);line-height:1.78;margin-bottom:30px}
.prod-benefits{list-style:none;margin-bottom:32px}
.prod-benefits li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--text);padding:7px 0;line-height:1.5;border-bottom:1px solid rgba(0,0,0,.04)}
.ben-ic{width:24px;height:24px;background:var(--green-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;min-width:24px}
.prod-pricing{background:var(--surface);border-radius:var(--radius-lg);padding:22px;margin-bottom:22px}
.price-main{font-family:'DM Serif Display',serif;font-size:34px;color:var(--text);margin-bottom:4px}
.price-sub{font-size:13px;color:var(--muted);margin-bottom:14px}
.prod-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.prod-tag{background:var(--green-pale);color:var(--green-dark);font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:44px}
.step-it{text-align:center}
.step-num{width:50px;height:50px;background:var(--green-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:22px;color:var(--green);margin:0 auto 14px}
.step-t{font-family:'DM Serif Display',serif;font-size:17px;color:var(--text);margin-bottom:8px}
.step-d{font-size:14px;color:var(--muted);line-height:1.6}
.compo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:38px}
.compo-it{background:var(--white);border-radius:var(--radius);padding:18px 22px;border:1px solid rgba(0,0,0,.07);display:flex;gap:14px;align-items:flex-start}
.compo-ic{font-size:24px;min-width:32px}
.compo-t{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}
.compo-d{font-size:13px;color:var(--muted);line-height:1.5}

/* ATELIER PAGE */
.at-hero{background:var(--green-dark);padding:90px 80px;text-align:center;position:relative;overflow:hidden}
.at-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.2}
.at-hero-c{position:relative;z-index:1}
.at-hero-title{font-family:'Playfair Display',serif;font-size:var(--sz-h1);font-weight:700;color:#fff;margin-bottom:18px;line-height:1.2}
.at-hero-sub{font-family:'DM Serif Display',serif;font-size:20px;color:rgba(255,255,255,.72);margin-bottom:38px;font-style:italic}
.at-info{display:flex;justify-content:center;gap:40px;margin-bottom:40px;flex-wrap:wrap}
.at-info-it{display:flex;flex-direction:column;align-items:center;gap:4px;color:rgba(255,255,255,.6)}
.at-info-val{font-family:'DM Serif Display',serif;font-size:28px;color:#fff}
.at-info-lbl{font-size:12px;letter-spacing:1px;text-transform:uppercase}
.at-prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.at-prog-it{background:var(--white);border-radius:var(--radius-lg);padding:26px;border:1px solid rgba(0,0,0,.06);display:flex;gap:18px}
.at-prog-n{font-family:'DM Serif Display',serif;font-size:28px;color:var(--green-light);min-width:36px}
.at-prog-t{font-family:'DM Serif Display',serif;font-size:18px;color:var(--text);margin-bottom:8px}
.at-prog-d{font-size:14px;color:var(--muted);line-height:1.6}
.africa-section{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.africa-img{position:relative;min-height:460px}
.africa-img img{width:100%;height:100%;object-fit:cover}
.africa-c{padding:80px 60px;background:var(--surface);display:flex;flex-direction:column;justify-content:center}
.africa-sig{font-family:'Playfair Display',serif;font-size:17px;font-style:italic;color:var(--green);margin-top:28px}
.includes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:32px}
.inc-it{background:var(--white);border-radius:var(--radius);padding:16px 18px;border:1px solid rgba(0,0,0,.07);display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--text)}
.inc-ic{font-size:20px;min-width:24px}

/* ABOUT */
.ab-hero{display:grid;grid-template-columns:1fr 1fr;min-height:500px;overflow:hidden}
.ab-img{position:relative;overflow:hidden}
.ab-img img{width:100%;height:100%;object-fit:cover}
.ab-c{padding:80px 60px;background:var(--surface);display:flex;flex-direction:column;justify-content:center}
.ab-sig{font-family:'Playfair Display',serif;font-size:16px;font-style:italic;color:var(--green);margin-top:28px}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:48px}
.team-c{display:flex;gap:22px;align-items:flex-start}
.team-img{width:110px;height:110px;border-radius:50%;overflow:hidden;min-width:110px;background:var(--surface)}
.team-img img{width:100%;height:100%;object-fit:cover}
.team-n{font-family:'DM Serif Display',serif;font-size:22px;color:var(--text);margin-bottom:5px}
.team-role{font-size:11px;color:var(--green);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.team-bio{font-size:14px;color:var(--muted);line-height:1.7}
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.val-it{background:var(--white);border-radius:var(--radius-lg);padding:26px;border:1px solid rgba(0,0,0,.06)}
.val-ic{font-size:28px;margin-bottom:12px}
.val-t{font-family:'DM Serif Display',serif;font-size:19px;color:var(--text);margin-bottom:10px}
.val-d{font-size:14px;color:var(--muted);line-height:1.65}

/* CONTACT */
.ct-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.ct-info{padding:80px 60px;background:var(--surface);display:flex;flex-direction:column}
.ct-form-wrap{padding:80px 60px;background:var(--bg)}
.ct-det{display:flex;gap:14px;margin-bottom:26px;align-items:flex-start}
.ct-ic{width:44px;height:44px;background:var(--green-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;min-width:44px}
.ct-det-t h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px}
.ct-det-t p{font-size:14px;color:var(--muted);line-height:1.5}
.form-grp{margin-bottom:18px}
.form-lbl{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px}
.form-inp{width:100%;padding:11px 15px;border:1.5px solid rgba(0,0,0,.11);border-radius:var(--radius);font-size:15px;font-family:'DM Sans',sans-serif;color:var(--text);background:var(--white);transition:border-color .2s;outline:none}
.form-inp:focus{border-color:var(--green)}
textarea.form-inp{min-height:110px;resize:vertical}
select.form-inp{appearance:none;cursor:pointer}

/* FERME SNIPPET */
.nv-ferme{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.ferme-img{position:relative;min-height:420px}
.ferme-img img{width:100%;height:100%;object-fit:cover}
.ferme-c{background:var(--green-dark);padding:80px 60px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.ferme-c .sec-kick{color:var(--green-light)}
.ferme-c .sec-title{color:#fff}
.ferme-c .sec-desc{color:rgba(255,255,255,.68);max-width:100%}
.ferme-btn{margin-top:30px;background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.25);padding:11px 26px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;width:fit-content;transition:all .2s}
.ferme-btn:hover{background:rgba(255,255,255,.2)}

/* FOOTER */
.nv-footer{background:var(--text);color:rgba(255,255,255,.75);padding:60px 60px 30px}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:44px}
.ft-logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ft-desc{font-size:13px;color:rgba(255,255,255,.42);line-height:1.7;margin-bottom:18px}
.ft-soc{display:flex;gap:10px}
.soc-btn{width:34px;height:34px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all .2s}
.soc-btn:hover{background:var(--green)}
.ft-col-h{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:14px}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.ft-links a{font-size:14px;color:rgba(255,255,255,.5);transition:color .2s}
.ft-links a:hover{color:#fff}
.ft-bot{padding-top:28px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center}
.ft-copy{font-size:12px;color:rgba(255,255,255,.25)}
.ft-badges{display:flex;gap:8px}
.ft-badge{font-size:11px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.35);padding:4px 10px;border-radius:20px}

/* ENGRAIS VERT */
.eg-hero{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.eg-content{padding:80px 60px;background:var(--bg);display:flex;flex-direction:column;justify-content:center}
.eg-img-area{background:var(--surface);position:relative;overflow:hidden}
.eg-img-area img{width:100%;height:100%;object-fit:cover}
.seeds-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.seed-it{background:var(--white);border-radius:var(--radius);padding:16px 18px;border:1px solid rgba(0,0,0,.07);display:flex;gap:12px;align-items:flex-start}
.seed-ic{font-size:22px;min-width:26px}
.seed-t{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px}
.seed-d{font-size:12px;color:var(--muted);line-height:1.5}
.benefits-big{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.ben-big{background:var(--white);border-radius:var(--radius-lg);padding:24px;border:1px solid rgba(0,0,0,.06);text-align:center}
.ben-big-ic{font-size:32px;margin-bottom:10px}
.ben-big-n{font-family:'DM Serif Display',serif;font-size:26px;color:var(--green);margin-bottom:4px}
.ben-big-d{font-size:13px;color:var(--muted)}

/* Animation page */
@keyframes pgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}


/* ========== WORDPRESS OVERRIDES ========== */
.wp-site-blocks { padding-top: 0 !important; }
.wp-block-group.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }

/* WooCommerce V2 */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'DM Serif Display', serif; }
.woocommerce ul.products li.product .price { color: var(--green); font-family: 'DM Serif Display', serif; }
.woocommerce ul.products li.product a.button,
.woocommerce .button.alt { background: var(--green) !important; color: #fff !important; border-radius: var(--radius) !important; font-family: 'DM Sans', sans-serif !important; }
.woocommerce .button.alt:hover { background: var(--green-dark) !important; }

/* NAV for WP */
.nv-nav { position: sticky; top: 0; z-index: 200; }
.nv-nav-inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; width: 100%; }
.nv-logo-img { height: 40px; width: auto; margin-right: 10px; }
.nv-nav-right { display: flex; align-items: center; gap: 10px; }
.nv-cart-icon { color: var(--text); font-size: 20px; text-decoration: none; position: relative; }
.nv-cart-count { position: absolute; top: -8px; right: -8px; background: var(--green); color: #fff; font-size: 10px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }

/* Footer for WP */
.nv-footer { max-width: 100%; }
.ft-soc { display: flex; gap: 10px; }

/* ========== IMAGE FIXES — Force proper sizing ========== */

/* Hero: fit in viewport */
.hero-img { overflow: hidden; }
.hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Product cards: constrain tall images */
.p-img { overflow: hidden; }
.p-img.tall { max-height: 500px; }
.p-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Side product cards with inline row layout */
.p-card[style*="flex-direction:row"] .p-img { height: auto; overflow: hidden; }
.p-card[style*="flex-direction:row"] .p-img img { height: 100%; min-height: 120px; max-height: 180px; object-fit: cover; }

/* Atelier: fixed height */
.nv-atel { overflow: hidden; }
.atel-img { overflow: hidden; max-height: 580px; }
.atel-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Ferme section: fixed height */
.nv-ferme { overflow: hidden; }
.ferme-img { overflow: hidden; max-height: 500px; }
.ferme-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Logo in nav — no text needed, logo already says NosVers */
.nv-logo { display: flex; align-items: center; }
.nv-logo img { height: 44px; width: auto; }
.nv-logo-text { display: none; }

/* Global: prevent images from breaking layout */
img { max-width: 100%; }
.wp-block-html img { max-width: 100%; }

/* ========== BLOG GRID ========== */
.wp-block-post-template.is-layout-grid,
.wp-block-post-template.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
.wp-block-post-template .wp-block-group {
  height: 100%;
}
.wp-block-post-template .wp-block-post-featured-image {
  margin: 0;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}
.wp-block-post-template .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.wp-block-post-template .wp-block-post-title a {
  text-decoration: none;
  color: var(--text);
  transition: color 0.2s;
}
.wp-block-post-template .wp-block-post-title a:hover {
  color: var(--green);
}
/* Blog cards hover */
.wp-block-post-template > li {
  transition: transform 0.25s, box-shadow 0.25s;
  border-radius: 14px;
  overflow: hidden;
}
.wp-block-post-template > li:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(0,0,0,0.1);
}
@media (max-width: 1024px) {
  .wp-block-post-template.is-layout-grid,
  .wp-block-post-template.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .wp-block-post-template.is-layout-grid,
  .wp-block-post-template.columns-3 {
    grid-template-columns: 1fr !important;
  }
}

/* ========== RESPONSIVE FIXES ========== */
@media (max-width: 1024px) {
  .nv-hero { grid-template-columns: 1fr; max-height: none; overflow: visible; }
  .hero-imgs { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 160px; max-height: 324px; }
  .hero-img.sp2 { max-height: 160px; }
  .hero-content { padding: 30px 24px; }
  .nv-grid.feat { grid-template-columns: 1fr; }
  .nv-atel { grid-template-columns: 1fr; }
  .nv-ferme { grid-template-columns: 1fr; }
  .eng-grid { grid-template-columns: repeat(2, 1fr); }
  .avis-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .nv-conf { padding: 18px 20px; gap: 20px; }
  .nv-sec { padding: 60px 30px; }
}

@media (max-width: 768px) {
  .hero-imgs { grid-template-columns: 1fr 1fr; grid-template-rows: 120px; max-height: 120px; }
  .hero-img.sp2 { grid-column: span 2; max-height: 120px; }
  .hero-img:not(.sp2) { display: none; }
  .eng-grid { grid-template-columns: 1fr; }
  .avis-grid { grid-template-columns: 1fr; }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .nv-cit { padding: 40px 30px; }
  .cit-txt { font-size: 20px; }
  .atel-content { padding: 40px 30px; }
  .ferme-c { padding: 40px 30px; }
  .ft-grid { grid-template-columns: 1fr; }
  .ft-bot { flex-direction: column; gap: 12px; text-align: center; }
  .p-card[style*="flex-direction:row"] { flex-direction: column !important; }
  .p-card[style*="flex-direction:row"] .p-img { width: 100% !important; min-width: 100% !important; aspect-ratio: 16/9 !important; max-height: 200px; }
}

@media (max-width: 480px) {
  .hero-content { padding: 24px 16px; }
  .hero-title { font-size: 28px; }
  .hero-desc { font-size: 14px; margin-bottom: 16px; }
  .hero-btns { flex-direction: column; gap: 8px; }
  .hero-btns .btn-g, .hero-btns .btn-o { text-align: center; }
  .hero-trust { flex-direction: row; gap: 16px; flex-wrap: wrap; }
  .hero-imgs { grid-template-rows: 100px; max-height: 100px; }
  .hero-img.sp2 { max-height: 100px; }
  .trust-div { display: none; }
  .nv-sec { padding: 40px 20px; }
  .nv-conf { flex-direction: column; gap: 12px; padding: 18px 20px; }
  .steps-grid { grid-template-columns: 1fr; }
  .nv-footer { padding: 40px 20px 20px; }
}

/* ========================================================
   WOOCOMMERCE V2 — COMPREHENSIVE OVERRIDES
   NosVers Theme — nosvers-v2
   ======================================================== */

/* ── BREADCRUMBS ── */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--muted);
  padding: 16px 60px;
  background: var(--bg);
  border-bottom: 1px solid rgba(0,0,0,.06);
  margin: 0;
}
.woocommerce .woocommerce-breadcrumb a,
.woocommerce-breadcrumb a {
  color: var(--green);
  text-decoration: none;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  text-decoration: underline;
}

/* ── PRODUCT ARCHIVE / SHOP ── */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  transition: transform .25s, box-shadow .25s;
  display: flex;
  flex-direction: column;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(0,0,0,.1);
}
.woocommerce ul.products li.product a {
  display: block;
}
.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform .4s;
  display: block;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.04);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  color: var(--text);
  padding: 18px 20px 8px;
  line-height: 1.3;
  margin: 0;
}
.woocommerce ul.products li.product .price {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  color: var(--green);
  padding: 0 20px 14px;
  display: block;
}
.woocommerce ul.products li.product .price del {
  color: var(--muted);
  font-size: 15px;
  opacity: .7;
  margin-right: 6px;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: var(--green);
}
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  background: var(--green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  margin: 0 20px 20px !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  display: inline-block !important;
  text-align: center !important;
  width: calc(100% - 40px) !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: var(--green-dark) !important;
  transform: translateY(-1px) !important;
}

/* ── SALE BADGE ── */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--tan) !important;
  color: #fff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.4 !important;
  top: 12px !important;
  left: 12px !important;
}

/* ── STAR RATINGS ── */
.woocommerce .star-rating,
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--tan);
}
.woocommerce .star-rating span::before {
  color: var(--tan) !important;
}

/* ── PRODUCT COUNT / ORDERING ── */
.woocommerce .woocommerce-result-count {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 20px;
}
.woocommerce .woocommerce-ordering select,
.woocommerce select {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  border: 1.5px solid rgba(0,0,0,.11);
  border-radius: var(--radius);
  padding: 8px 14px;
  color: var(--text);
  background: var(--white);
  outline: none;
}
.woocommerce .woocommerce-ordering select:focus {
  border-color: var(--green);
}

/* ── SINGLE PRODUCT ── */
.woocommerce div.product {
  background: var(--bg);
}
.woocommerce div.product .woocommerce-product-gallery {
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--surface);
}
.woocommerce div.product .woocommerce-product-gallery img {
  border-radius: var(--radius-lg);
}
.woocommerce div.product .summary {
  padding: 0 0 0 40px;
}
.woocommerce div.product .product_title {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 12px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: 'DM Serif Display', serif;
  font-size: 32px;
  color: var(--green) !important;
  margin-bottom: 20px;
  display: block;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.78;
  margin-bottom: 24px;
}
.woocommerce div.product form.cart .qty {
  border: 1.5px solid rgba(0,0,0,.12);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-size: 16px;
  font-family: 'DM Sans', sans-serif;
  color: var(--text);
  background: var(--white);
  width: 80px;
}
.woocommerce div.product form.cart .qty:focus {
  border-color: var(--green);
  outline: none;
}
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 13px 28px !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  letter-spacing: .3px;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--green-dark) !important;
  transform: translateY(-1px) !important;
}
.woocommerce div.product .product_meta {
  font-size: 13px;
  color: var(--muted);
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--surface);
}
.woocommerce div.product .product_meta a {
  color: var(--green);
}
.woocommerce .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--surface);
  padding: 0;
  list-style: none;
  margin-bottom: 0;
}
.woocommerce .woocommerce-tabs ul.tabs li {
  background: none;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}
.woocommerce .woocommerce-tabs ul.tabs li a {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  padding: 12px 20px;
  display: block;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .2s, border-color .2s;
}
.woocommerce .woocommerce-tabs ul.tabs li.active a,
.woocommerce .woocommerce-tabs ul.tabs li a:hover {
  color: var(--green);
  border-bottom-color: var(--green);
}
.woocommerce .woocommerce-tabs .panel {
  padding: 30px 0;
  font-size: 15px;
  line-height: 1.78;
  color: var(--muted);
}
.woocommerce .woocommerce-tabs .panel h2 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  color: var(--text);
  margin-bottom: 16px;
}

/* ── REVIEWS ── */
.woocommerce #reviews #comments ol.commentlist li {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 22px;
  border: 1px solid rgba(0,0,0,.06);
  margin-bottom: 16px;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong {
  font-family: 'DM Serif Display', serif;
  font-size: 16px;
  color: var(--text);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .description {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
}
.woocommerce #review_form #respond {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 30px;
  margin-top: 24px;
}
.woocommerce #review_form #respond .comment-reply-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  color: var(--text);
  margin-bottom: 16px;
}

/* ── CART & CHECKOUT FORMS ── */
.woocommerce table.shop_table {
  border: none;
  border-collapse: collapse;
  width: 100%;
  font-family: 'DM Sans', sans-serif;
}
.woocommerce table.shop_table th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted);
  padding: 12px 16px;
  border-bottom: 2px solid var(--surface);
  text-align: left;
}
.woocommerce table.shop_table td {
  padding: 18px 16px;
  border-bottom: 1px solid var(--surface);
  vertical-align: middle;
  font-size: 15px;
  color: var(--text);
}
.woocommerce table.shop_table .cart-subtotal td,
.woocommerce table.shop_table .order-total td {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  color: var(--green);
}
.woocommerce table.shop_table .coupon .input-text {
  border: 1.5px solid rgba(0,0,0,.11);
  border-radius: var(--radius);
  padding: 10px 14px;
  font-size: 14px;
  font-family: 'DM Sans', sans-serif;
  outline: none;
  transition: border-color .2s;
}
.woocommerce table.shop_table .coupon .input-text:focus {
  border-color: var(--green);
}

/* ── CHECKOUT FORM FIELDS ── */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  color: var(--text);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--surface);
}
.woocommerce form .form-row label {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
  display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--text);
  background: var(--white);
  border: 1.5px solid rgba(0,0,0,.11);
  border-radius: var(--radius);
  padding: 11px 15px;
  width: 100%;
  outline: none;
  transition: border-color .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--green);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text {
  border-color: #c0392b;
}
.woocommerce form .form-row.woocommerce-validated input.input-text {
  border-color: var(--green);
}

/* ── NOTICES ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  border-radius: var(--radius);
  padding: 14px 20px;
  margin-bottom: 20px;
  border-top: none !important;
  border-left: 4px solid var(--green) !important;
  background: var(--green-pale);
  color: var(--green-dark);
}
.woocommerce-error {
  border-left-color: #c0392b !important;
  background: #fdf2f2;
  color: #c0392b;
}
.woocommerce-message a.button {
  background: var(--green) !important;
  color: #fff !important;
  border-radius: var(--radius) !important;
  font-size: 13px !important;
  padding: 8px 16px !important;
}

/* ── ACCOUNT / MY ACCOUNT ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin-bottom: 24px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  padding: 10px 14px;
  display: block;
  border-radius: var(--radius);
  transition: background .2s, color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--green-pale);
  color: var(--green-dark);
}
.woocommerce-account .woocommerce-MyAccount-content {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: var(--text);
  line-height: 1.7;
}

/* ── PAGINATION ── */
.woocommerce nav.woocommerce-pagination ul {
  list-style: none;
  display: flex;
  gap: 6px;
  justify-content: center;
  margin: 40px 0 0;
  padding: 0;
  border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  border: 1.5px solid rgba(0,0,0,.1) !important;
  color: var(--text);
  transition: all .2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--green) !important;
  color: #fff !important;
  border-color: var(--green) !important;
}

/* ── PAGE TEMPLATE — nv-page-wrap ── */
.nv-page-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 60px clamp(20px,4vw,60px) 80px;
  min-height: 60vh;
}
.nv-page-wrap h1,
.nv-page-wrap .wp-block-post-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(28px,4vw,44px);
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 32px;
}
.nv-page-wrap h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px,3vw,32px);
  color: var(--text);
  margin: 40px 0 16px;
}
.nv-page-wrap h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  color: var(--text);
  margin: 28px 0 12px;
}
.nv-page-wrap p {
  font-size: 16px;
  line-height: 1.78;
  color: var(--muted);
  margin-bottom: 20px;
}
.nv-page-wrap ul, .nv-page-wrap ol {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.75;
  padding-left: 24px;
  margin-bottom: 20px;
}
.nv-page-wrap ul li, .nv-page-wrap ol li {
  margin-bottom: 8px;
}
.nv-page-wrap img {
  border-radius: var(--radius-lg);
  margin: 24px 0;
  max-width: 100%;
}
.nv-page-wrap a {
  color: var(--green);
  text-decoration: underline;
}
.nv-page-wrap a:hover {
  color: var(--green-dark);
}
.nv-page-wrap hr {
  border: none;
  border-top: 1px solid var(--surface);
  margin: 40px 0;
}
.nv-page-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-bottom: 24px;
}
.nv-page-wrap table th {
  font-weight: 700;
  text-align: left;
  padding: 10px 14px;
  background: var(--surface);
  border-bottom: 2px solid rgba(0,0,0,.08);
}
.nv-page-wrap table td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--surface);
  color: var(--muted);
}
.nv-page-wrap .wp-block-post-featured-image {
  margin-bottom: 40px;
}
.nv-page-wrap .wp-block-post-featured-image img {
  border-radius: var(--radius-lg);
  height: 400px;
  width: 100%;
  object-fit: cover;
}

/* ── WOO RESPONSIVE ── */
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .woocommerce .woocommerce-breadcrumb {
    padding: 14px 30px;
  }
}
@media (max-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .woocommerce div.product .summary {
    padding: 24px 0 0;
  }
  .woocommerce .woocommerce-breadcrumb {
    padding: 12px 20px;
  }
  .nv-page-wrap {
    padding: 40px 20px 60px;
  }
}
