/* V2 unique HEMALOJE — style Nocturne éditorial, responsive. */
body.hemaloje-v2{--ink:#efe8d9;--deep:#15271e;--gold:#bea16c;--paper:#162a20;--soft:#ded4be;--line:rgba(240,225,195,.17);background:#14271e;color:#f1e9d8}
body.hemaloje-v2 .header{background:#112119;border-bottom:1px solid #a68a563d}
body.hemaloje-v2 .brand,body.hemaloje-v2 .navigation a{color:#f1e9d8}
body.hemaloje-v2 .header .brand small{color:#bba16e}
body.hemaloje-v2 .menu-toggle{color:#fff}
body.hemaloje-v2 .navigation{gap:23px}
body.hemaloje-v2 .navigation a{font-size:10px}
body.hemaloje-v2 .language-switch a{color:#f1e9d8}
body.hemaloje-v2 .language-switch a[aria-current]{color:#d3ae65}
body.hemaloje-v2 .button{background:#c2a36a;color:#14251c}
body.hemaloje-v2 .button:hover{background:#e0c48d}
body.hemaloje-v2 .eyebrow{color:#c2a16c}
.v2-hero{padding:76px 0 85px;background:radial-gradient(ellipse at 85% 40%,#36503a 0%,#1a3024 40%,#12231b 100%)}
.v2-hero-grid{display:grid;grid-template-columns:1fr .94fr;gap:7%;align-items:center}
.v2-hero h1{font:normal clamp(59px,6.8vw,108px)/.99 Georgia,serif;letter-spacing:-.055em;margin:25px 0;color:#f3eadb}
.v2-hero h1 em{color:#cbb081;font-weight:normal}
.v2-lead{font:normal clamp(19px,2vw,26px)/1.54 Georgia,serif;color:#e0d8c7;max-width:560px}
.v2-actions{display:flex;gap:25px;flex-wrap:wrap;align-items:center;margin-top:37px}
.v2-landscape{min-height:530px;position:relative;border:1px solid #b6a17565;box-shadow:24px 24px 0 #a88f5c12}
.v2-landscape span{position:absolute;left:26px;bottom:26px;font:600 10px system-ui;letter-spacing:.22em;color:white}.v2-landscape i{color:#cba865}
.v2-section{padding:108px 0;background:#192e23;color:#eee5d4}
.v2-cream{background:#f0e9dc;color:#22362a}
.v2-section h2,.v2-page-intro h1{font:normal clamp(42px,5vw,75px)/1.08 Georgia,serif;letter-spacing:-.045em;max-width:900px;margin:18px 0 28px}
.v2-section p{line-height:1.9}
.v2-section-lead{max-width:690px;font-size:17px;margin-bottom:40px}
.v2-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.v2-card{padding:35px 30px;background:#fffaf1;border-top:2px solid #b49a68;min-height:275px}
.v2-card .v2-index{font:italic 42px Georgia,serif;color:#aa916a}
.v2-card h3{font:normal 30px Georgia,serif;letter-spacing:-.03em;margin:25px 0 10px;color:#263b2e}
.v2-card p{font-size:14px;color:#5d685f;line-height:1.8}
.v2-strip{background:#244330;color:#eee4ce;padding:60px 0}
.v2-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.v2-strip p{font:normal clamp(26px,3.5vw,43px) Georgia,serif;margin:0}
.v2-split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.v2-split p{color:#d7d2c3;font-size:16px}
.v2-split .text-link{margin-top:25px}
.v2-photo{min-height:510px;border:1px solid #c4ab773b}
.v2-page-intro{background:radial-gradient(ellipse at right,#324c38,#15271e 65%);padding:115px 0;color:#f2e7d5}
.v2-page-intro p:not(.eyebrow){font:normal 21px/1.7 Georgia,serif;max-width:740px;color:#ded0ba}
.v2-product{min-height:520px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#536042,#17291f 68%)}
.v2-product img{height:470px;max-width:90%;object-fit:contain}
.v2-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:90px}
.v2-facts div{padding:25px;background:#fffaf1;border-top:2px solid #b9a075}
.v2-facts span{display:block;font:600 11px system-ui;letter-spacing:.14em;text-transform:uppercase;color:#6f5a35}
.v2-facts strong{display:block;font:normal 22px Georgia,serif;margin-top:12px;color:#223829}
.v2-journal{margin-bottom:45px}.v2-journal-visual{min-height:420px;margin-top:28px}
body.hemaloje-v2 .footer{background:#0e1c15}
body.hemaloje-v2 .section-light{background:#f0e9dc;color:#243729}
body.hemaloje-v2 .section-light p{color:#536457}
body.hemaloje-v2 .contact-section .contact-form-panel{color:#213629}
body.hemaloje-v2 .contact-section .contact-form-panel p{color:#526258}
body.hemaloje-v2 .contact-section .contact-field label{color:#223629}
body.hemaloje-v2 .page-intro{background:#192c22;color:#eee6d4}
body.hemaloje-v2 .page-intro p{color:#d8d1c0}
body.hemaloje-v2 .store-section{background:#f0e9dc;color:#243729}
body.hemaloje-v2 .store-section p{color:#536457}
@media(max-width:900px){.v2-hero-grid,.v2-split{grid-template-columns:1fr;gap:35px}.v2-landscape{min-height:380px}.v2-cards{grid-template-columns:1fr 1fr}.v2-facts{grid-template-columns:1fr 1fr}.v2-photo{min-height:370px}}
@media(max-width:700px){body.hemaloje-v2 .navigation{background:#14271e}.v2-hero{padding:54px 0}.v2-hero h1{font-size:clamp(48px,11vw,73px)}.v2-landscape{min-height:290px}.v2-section{padding:70px 0}.v2-cards,.v2-facts{grid-template-columns:1fr}.v2-card{min-height:200px}.v2-strip-inner{flex-direction:column;align-items:flex-start}.v2-page-intro{padding:70px 0}.v2-product{min-height:380px}.v2-product img{height:350px}}

/* Lisibilité V2 : textes sombres sur surfaces claires, contraste renforcé. */
body.hemaloje-v2 .v2-cream p,body.hemaloje-v2 .v2-cream .v2-section-lead,body.hemaloje-v2 .v2-cream .v2-split p{color:#294032!important;font-size:16px;line-height:1.85}
body.hemaloje-v2 .v2-cream .v2-card p{color:#354b3c!important;font-size:15px}
body.hemaloje-v2 .v2-cream .eyebrow{color:#795b2e}
body.hemaloje-v2 .v2-section:not(.v2-cream) p{color:#ece5d8}
body.hemaloje-v2 .v2-cream .text-link{color:#1a3224}
body.hemaloje-v2 .v2-landscape{background:linear-gradient(0deg,#0e291a70,#142b1200 50%),url('/assets/editorial/oliveraie-rangees-principales.webp') center/cover no-repeat}
body.hemaloje-v2 .v2-photo{background:linear-gradient(0deg,#0e291a45,#142b1200 50%),url('/assets/editorial/oliveraie-vue-panoramique.webp') center/cover no-repeat}
body.hemaloje-v2 .v2-journal-visual{background:linear-gradient(0deg,#0e291a45,#142b1200 50%),url('/assets/editorial/recolte-filets-sous-oliviers.webp') center/cover no-repeat}
@media(max-width:700px){body.hemaloje-v2 .v2-cream p{font-size:15px}}

/* Galerie documentaire - vues authentiques et légendes courtes. */
.v2-gallery-section .shell>p{max-width:860px}
.v2-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:32px 0 60px}
.v2-photo-gallery figure,.v2-gallery-section .shell>figure{margin:0;background:#e1dacb;border:1px solid #c8baa0;overflow:hidden}
.v2-photo-gallery img{display:block;width:100%;height:290px;object-fit:cover}
.v2-gallery-section .shell>figure{max-width:820px;border:0;background:none}
.v2-gallery-section .shell>figure img{display:block;width:100%;height:auto;object-fit:cover}
.v2-photo-gallery.v2-maps img{height:330px;object-fit:contain;background:#e7e0d4}
@media(max-width:700px){.v2-photo-gallery{grid-template-columns:1fr;gap:14px}.v2-photo-gallery img{height:250px}.v2-photo-gallery.v2-maps img{height:auto;max-height:320px}}

/* Contraste : correctifs de lisibilité (audit WCAG AA). */
body.hemaloje-v2 .product-showcase{background:#fffaf1;border-color:#d8cbb0}
body.hemaloje-v2 .product-details h2{color:#1d3026}
body.hemaloje-v2 .product-details>p{color:#46564a}
body.hemaloje-v2 .shop-specs dt{color:#5b6a5f}
body.hemaloje-v2 .shop-specs dd{color:#1d3026}
body.hemaloje-v2 .product-details .text-link{color:#1d3026}
body.hemaloje-v2 .store-disabled,body.hemaloje-v2 .store-disabled:hover{background:#4d5b50;color:#fff;opacity:1}
body.hemaloje-v2 .v2-index{color:#7a5f31}
body.hemaloje-v2 .contact-required{color:#4f5d52}
body.hemaloje-v2 .product-pair-section{color:#1d3026}
body.hemaloje-v2 .product-pair-section p,body.hemaloje-v2 .product-pair-section .text-link{color:#2f4436}

/* Surfaces claires du thème V2 : texte foncé et accent lisible partout. */
body.hemaloje-v2 :is(.section-light,.store-section,.product-pair-section,.qr-strip,.contact-section,.store-teaser,.v2-cream){color:#1d3026}
body.hemaloje-v2 :is(.section-light,.store-section,.product-pair-section,.qr-strip,.contact-section,.store-teaser,.v2-cream) :is(h2,h3,.qr-copy h2){color:#1d3026}
body.hemaloje-v2 :is(.section-light,.store-section,.product-pair-section,.qr-strip,.contact-section,.store-teaser,.v2-cream) :is(p,.body-copy,li){color:#3a4c3f}
body.hemaloje-v2 :is(.section-light,.store-section,.product-pair-section,.qr-strip,.contact-section,.store-teaser,.v2-cream) .eyebrow{color:#7a5f31}
body.hemaloje-v2 :is(.section-light,.store-section,.product-pair-section,.qr-strip,.contact-section,.store-teaser,.v2-cream) .text-link{color:#1d3026}

/* Galerie de l'histoire : première photo en pleine largeur. */
.v2-photo-gallery.v2-gallery-lead figure:first-child{grid-column:1/-1}
.v2-photo-gallery.v2-gallery-lead figure:first-child img{height:420px}
@media(max-width:700px){.v2-photo-gallery.v2-gallery-lead figure:first-child img{height:250px}}

/* Quatre étapes : grille 2 × 2 (évite une carte orpheline). */
.v2-cards.v2-cards-four{grid-template-columns:repeat(2,minmax(0,1fr))}
.v2-cards.v2-cards-four .v2-card{min-height:0}
@media(max-width:700px){.v2-cards.v2-cards-four{grid-template-columns:1fr}}

/* Visionneuse de photos (clic pour agrandir). */
.is-zoomable{cursor:zoom-in}
.is-zoomable:focus-visible{outline:3px solid #d3ae65;outline-offset:3px}
html.lightbox-open{overflow:hidden}
.lightbox[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:64px 72px;background:rgba(9,18,13,.95)}
.lightbox-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.lightbox-figure img{display:block;max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox-figure figcaption{max-width:760px;text-align:center;font:400 14px/1.5 system-ui,sans-serif;color:#e6dfcf}
.lightbox-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(244,239,228,.4);background:rgba(244,239,228,.1);color:#f4efe4;font:300 30px/1 system-ui,sans-serif;cursor:pointer;padding:0 0 4px}
.lightbox-btn:hover{background:rgba(244,239,228,.22)}
.lightbox-btn:focus-visible{outline:3px solid #d3ae65;outline-offset:2px}
.lightbox-close{top:16px;right:16px}
.lightbox-prev{left:16px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:16px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.lightbox{padding:64px 8px 24px}.lightbox-figure img{max-height:calc(100vh - 150px)}.lightbox-prev,.lightbox-next{top:auto;bottom:12px;transform:none}.lightbox-prev{left:calc(50% - 56px)}.lightbox-next{right:calc(50% - 56px)}}
