/* =====================================================================
   Accueil public « Verdoyant » — page d'accueil racine (route app_home)
   Patch : V237b3h-58Zx-bp138 (refonte page d'accueil)
   Patch : V237b3h-58Zx-bp147 (logo Elwes détouré dans la carte Elwes)
   Patch : V237b3h-58Zx-bp148 (mobile : panneau Élevage en carte claire au lieu du vert foncé)
   Patch : V237b3h-58Zx-bp149 (color-scheme: only light -> désactive le mode sombre forcé des navigateurs mobiles ; annule bp148, le panneau redevient vert comme desktop)
   Patch : V237b3h-58Zx-bp150 (bouton « Vitrine » du panneau production aligné à droite — .tel-row en space-between, comme .foot des mini-cartes)
   Patch : V237b3h-58Zx-bp155 (hero : bandeau crédibilité réduit à 3 — 20 ans+ · Champion d'Europe · Réseau mondial ; le reste sur /production)
   Patch : V237b3h-58Zx-bp156 (hero : sur-titres thématiques des 3 cartes — Expérience · Excellence · Portée)
   Patch : V237b3h-58Zx-bp157 (hero : cartes sans icône — titre = thème [Expérience/Excellence/Portée mondiale], label = preuve)
   Chargé uniquement par templates/public/home.html.twig (block public_stylesheets).
   Polices : Schibsted Grotesk + Figtree (Google Fonts, <link> dans le template)
             + WolfsRain (locale, ci-dessous).
   ===================================================================== */

@font-face{
  font-family:'WolfsRain';
  src:url('../fonts/WolfsRain.woff2') format('woff2'),
      url('../fonts/WolfsRain.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  color-scheme:only light; /* bp149 : la page est en thème clair -> désactive l'assombrissement auto des navigateurs mobiles */
  --bg:#f5faf4; --paper:#ffffff; --ink:#13271b; --mut:#5a6e62; --line:#e2ece5;
  --green:#16823f; --green-d:#0f5d2d; --green-x:#103a23; --leaf:#27a857;
  --gold:#c79327; --petrol:#0c8fa0;
  --disp:"Schibsted Grotesk",system-ui,sans-serif; --sans:"Figtree",system-ui,sans-serif;
  --brush:'WolfsRain',cursive;
}

/* La page d'accueil est un design autonome : on remet à plat les styles hérités
   uniquement sur cette page (ce fichier n'est chargé que sur l'accueil). */
.hv *{box-sizing:border-box;margin:0;padding:0}
.hv{color-scheme:only light;font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
.hv a{color:inherit;text-decoration:none}
.hv .wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* ---------- Header ---------- */
.hv header{position:sticky;top:0;z-index:30;background:var(--green-x)}
.hv .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.hv .logo{height:42px;width:auto;display:block}
.hv .nav-r{display:flex;align-items:center;gap:12px}

/* Sélecteur de langue (partial Bootstrap _language_selector_public) habillé Verdoyant */
.hv .public-language-selector{position:relative}
.hv .public-language-selector .dropdown-toggle{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:40px;padding:8px 14px;font-weight:600;font-size:14px;color:#fff;line-height:1}
.hv .public-language-selector .dropdown-toggle::after{display:none}
.hv .public-language-selector .dropdown-toggle .fi{width:22px;height:15px;border-radius:2px}
.hv .public-language-selector .dropdown-menu{border:1px solid var(--line);border-radius:14px;padding:8px;min-width:160px;box-shadow:0 18px 50px rgba(16,58,35,.2);margin-top:8px}
.hv .public-language-selector .dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;font-weight:500;font-size:14px;color:var(--ink)}
.hv .public-language-selector .dropdown-item:hover{background:var(--bg)}
.hv .public-language-selector .dropdown-item.active{background:var(--bg);color:var(--green-d)}
.hv .public-language-selector .dropdown-item .fi{width:22px;height:15px;border-radius:2px}

/* ---------- Hero (logo tenu par la serre, animé) ---------- */
.hv .hero{position:relative;text-align:center;padding:30px 0 14px;overflow:hidden}
.hv .hero::before{content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:radial-gradient(#cfe3d5 1px,transparent 1px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 28%,#000 30%,transparent 78%);mask-image:radial-gradient(ellipse 75% 65% at 50% 28%,#000 30%,transparent 78%)}
.hv .blob{position:absolute;border-radius:50%;filter:blur(60px);z-index:0}
.hv .blob.g{width:340px;height:340px;background:#9be7bd;top:-80px;left:8%;opacity:.5}
.hv .blob.y{width:300px;height:300px;background:#f6d98f;top:10px;right:6%;opacity:.45}
.hv .hero .in{position:relative;z-index:1}
.hv .wolf-stage{display:inline-block;width:min(680px,92vw);transition:transform .45s cubic-bezier(.2,.9,.2,1)}
.hv .wolf-stage:hover{transform:scale(1.03)}
.hv .wolf-img{display:block;width:100%;height:auto;transform-origin:50% 32%;animation:hv-lunge 1s .05s cubic-bezier(.2,.9,.2,1) both, hv-maul 6s 1.05s ease-in-out infinite}
.hv .wolf-stage:hover .wolf-img{animation-duration:1s,2.6s}
@keyframes hv-lunge{0%{opacity:0;transform:scale(1.16) translateY(-12px)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes hv-maul{0%,54%,100%{transform:scale(1) rotate(0)}59%{transform:scale(1.025) rotate(-1.3deg) translateX(-5px)}63%{transform:scale(1.025) rotate(1.5deg) translateX(6px)}67%{transform:scale(1.02) rotate(-1deg) translateX(-3px)}71%{transform:scale(1.01) rotate(.6deg) translateX(2px)}76%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.hv .wolf-img{animation:hv-lunge 1s both}}

/* ---------- Bento 3 activités ---------- */
.hv .bento{display:grid;grid-template-columns:1.45fr 1fr;gap:22px;margin-top:16px}
.hv .stack{display:grid;grid-template-rows:1fr 1fr;gap:22px}

.hv .card-shine{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:5}
.hv .card-shine i{position:absolute;top:-60%;left:0;width:46%;height:220%;transform:rotate(18deg) translateX(-220%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);opacity:0}
.hv .feat:hover .card-shine i,.hv .mini:hover .card-shine i{animation:hv-sweep .85s ease}
@keyframes hv-sweep{0%{opacity:0;transform:rotate(18deg) translateX(-220%)}18%{opacity:1}100%{opacity:0;transform:rotate(18deg) translateX(440%)}}

.hv .feat{position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.1);padding:44px;display:flex;flex-direction:column;justify-content:center;min-height:452px;
  background:radial-gradient(135% 120% at 0% 0%,#1c9b4d 0%,#10632f 55%,#0c4a25 100%);
  transition:transform .5s cubic-bezier(.2,.9,.25,1),box-shadow .5s;will-change:transform}
.hv .feat::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:.5s;
  background:radial-gradient(130% 110% at 100% 0%,rgba(255,255,255,.2),transparent 52%)}
.hv .feat:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 46px 92px -28px rgba(8,52,28,.7)}
.hv .feat:hover::after{opacity:1}
.hv .feat>.c{position:relative;z-index:3}
.hv .feat .kick{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12.5px;color:#bfe6cb}
.hv .feat h2{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.02;color:#fff;margin:12px 0 10px}
.hv .feat p{color:#d6ecdc;font-size:16px;max-width:34ch}
.hv .feat .tel{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-weight:700;font-size:20px;color:#fff}
.hv .feat .tel svg{width:18px;height:18px;color:var(--gold)}
.hv .feat .tel-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;flex-wrap:wrap}
.hv .feat .tel-row .tel{margin-top:0}
.hv .btn-gold{background:var(--gold);color:#2c2207;border:none;border-radius:13px;padding:15px 22px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:.25s}
.hv .btn-gold:hover{background:#e0ad34;transform:translateY(-2px)}
.hv .btn-gold svg{transition:.35s}.hv .btn-gold:hover svg{transform:translateX(3px)}

/* photos (poule + œufs) côte à côte */
.hv .ph-stack{display:flex;gap:14px;justify-content:center;margin:0 0 24px;z-index:2}
.hv .ph{position:relative;width:138px;height:152px;border-radius:18px;overflow:hidden;border:5px solid rgba(255,255,255,.93);box-shadow:0 18px 38px rgba(0,0,0,.32);transition:transform .5s cubic-bezier(.2,.9,.25,1)}
.hv .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.9,.25,1)}
.hv .ph.hen{transform:rotate(-2deg)}
.hv .ph.eggs{transform:rotate(2deg)}
.hv .feat:hover .ph.hen{transform:rotate(-3deg) scale(1.05) translateY(-5px)}
.hv .feat:hover .ph.eggs{transform:rotate(3deg) scale(1.05) translateY(-5px)}
.hv .feat:hover .ph img{transform:scale(1.07)}

/* mini cartes : Logistique + Elwes */
.hv .mini{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .45s cubic-bezier(.2,.9,.25,1),box-shadow .45s;will-change:transform}
.hv .mini.log:hover{transform:translateY(-12px) scale(1.025);box-shadow:0 42px 80px -22px rgba(12,143,160,.5)}
.hv .mini.elwes:hover{transform:translateY(-12px) scale(1.025);box-shadow:0 42px 80px -22px rgba(199,147,39,.55)}
.hv .visual{height:122px;position:relative;overflow:hidden}
.hv .vimg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.9,.25,1)}
.hv .mini:hover .vimg{transform:scale(1.14)}
.hv .photo-log::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,40,46,.04),rgba(10,40,46,.58))}
.hv .elwes-v{background:linear-gradient(135deg,#e6b94e,#c79327)}
.hv .elwes-v::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 74% 22%,rgba(255,255,255,.4),transparent 56%);transition:transform .6s}
.hv .mini.elwes:hover .elwes-v::after{transform:scale(1.35)}
.hv .vico{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;color:#fff}
.hv .vico svg{width:36px;height:36px;transition:transform .55s cubic-bezier(.2,.9,.25,1)}
.hv .mini.elwes:hover .vico svg{transform:rotate(-10deg) scale(1.16)}
/* bp147 : logo Elwes (image détourée) dans la carte Elwes, à la place de l'icône SVG */
.hv .elwes-v .vico img.elwes-logo{height:62px;width:auto;max-width:80%;object-fit:contain;display:block;transition:transform .55s cubic-bezier(.2,.9,.25,1)}
.hv .mini.elwes:hover .vico img.elwes-logo{transform:scale(1.06)}
.hv .tag{position:absolute;left:16px;bottom:12px;z-index:3;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;transition:transform .4s}
.hv .mini:hover .tag{transform:translateX(5px)}
.hv .mini-body{padding:22px 26px;display:flex;flex-direction:column;flex:1}
.hv .mini-body h3{font-family:var(--disp);font-weight:700;font-size:22px;margin-bottom:6px}
.hv .mini-body p{color:var(--mut);font-size:14px}
.hv .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px}
.hv .tel2{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px}
.hv .mini.log .tel2 svg{color:var(--petrol)} .hv .tel2 svg{width:15px;height:15px}
.hv .lnk{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;transition:.25s}
.hv .mini.log .lnk{color:var(--petrol)} .hv .mini.elwes .lnk{color:var(--gold)}
.hv .lnk svg{transition:transform .4s}.hv .mini:hover .lnk svg{transform:translateX(4px)}
.hv .ext{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--mut)}

/* ---------- Bandeau showcase ---------- */
.hv .showcase{position:relative;height:clamp(290px,33vw,440px);background:#0c4a25 url('../img/home/pano.jpg') center/cover;margin-top:64px}
.hv .showcase .ov{position:absolute;inset:0;display:flex;align-items:center;
  background:linear-gradient(90deg,rgba(7,38,21,.86),rgba(7,38,21,.32) 52%,rgba(7,38,21,.05)),linear-gradient(0deg,rgba(7,38,21,.55),transparent 50%)}
.hv .showcase .kick{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:13px;color:#bfe6cb}
.hv .showcase .big{font-family:var(--brush);color:#fff;font-size:clamp(62px,10vw,128px);line-height:.78;margin:6px 0 12px;text-shadow:0 8px 34px rgba(0,0,0,.45)}
.hv .showcase .tagl{color:#dcefe2;font-size:clamp(15px,1.8vw,19px);max-width:40ch;font-weight:500}

/* ---------- Contact ---------- */
.hv .sec{padding:72px 0}
.hv .contact{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:46px;display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center;box-shadow:0 20px 56px rgba(16,58,35,.07)}
.hv .contact h2{font-family:var(--disp);font-weight:800;font-size:clamp(28px,4vw,42px);line-height:1.04}
.hv .contact .sub{color:var(--mut);margin-top:14px;max-width:32ch}
.hv .row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.hv label{display:block;font-weight:600;font-size:13px;color:var(--mut);margin:0 0 7px}
.hv input,.hv select,.hv textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 15px;transition:.2s}
.hv select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a6e62' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center}
.hv input:focus,.hv select:focus,.hv textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(22,130,63,.13)}
.hv .field{margin-bottom:16px}
.hv .btn-green{background:var(--green);color:#fff;border:none;border-radius:40px;padding:15px 26px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;cursor:pointer;transition:.25s}
.hv .btn-green:hover{background:var(--green-d);transform:translateY(-2px)}
.hv .btn-green svg{transition:.35s}.hv .btn-green:hover svg{transform:translateX(3px)}

/* ---------- Footer ---------- */
.hv footer{background:var(--green-x);color:#bcd3c2;padding:40px 0}
.hv .foot-b{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}
.hv .foot-b img{height:36px}

/* ---------- Flash messages ---------- */
.hv .hv-flash{max-width:1200px;margin:18px auto 0;padding:0 28px}
.hv .hv-flash .alert{border-radius:14px;border:1px solid var(--line);padding:14px 18px;font-weight:600;font-size:14px}
.hv .hv-flash .alert-success{background:#e8f7ee;color:var(--green-d);border-color:#bfe6cb}
.hv .hv-flash .alert-error,.hv .hv-flash .alert-danger{background:#fdeaea;color:#9b2c2c;border-color:#f3c2c2}

/* ---------- Apparition ---------- */
.hv .reveal{opacity:0;transform:translateY(26px);animation:hv-rise .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes hv-rise{to{opacity:1;transform:none}}

/* ---------- Responsive ---------- */
@media(max-width:880px){
  .hv .bento,.hv .contact,.hv .row{grid-template-columns:1fr}
  .hv .stack{grid-template-rows:auto auto}
  .hv .feat{min-height:420px}
}

/* ===== bp153 : hero enrichi (accroche + crédibilité + mondialisation) ===== */
.hv .hero .copy{max-width:780px;margin:0 auto}
.hv .hero .kick{display:inline-block;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;color:var(--green-d)}
.hv .hero h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.8vw,52px);line-height:1.05;margin:12px 0 14px;color:var(--ink)}
.hv .hero .sub{color:var(--mut);font-size:clamp(15px,1.7vw,18px);max-width:52ch;margin:0 auto}
.hv .cred{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:760px;margin:18px auto 0}
.hv .cred .item{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px 16px 18px;text-align:center;box-shadow:0 14px 40px rgba(16,58,35,.06);transition:transform .4s cubic-bezier(.2,.9,.25,1),box-shadow .4s}
.hv .cred .item:hover{transform:translateY(-6px);box-shadow:0 30px 60px -18px rgba(16,58,35,.22)}
.hv .cred .top{font-family:var(--disp);font-weight:800;font-size:21px;color:var(--green-d);line-height:1.05}
.hv .cred .lbl{font-size:13px;color:var(--mut);margin-top:6px;font-weight:600}
@media(max-width:600px){.hv .cred{grid-template-columns:1fr}}
