/* Le Chai Fraternel : charte de la maquette (magazine de vin). Ivoire, noir profond, bordeaux, or réservé aux accents. */
:root{--ivoire:#F6F1E9;--noir:#16120F;--encre:#1B1613;--bordeaux:#6E1F2A;--bordeaux-fonce:#4A141C;--or:#C9AE84;--gris:#5C5249;--trait:#E4DACB;--trait-fort:#CDBFA9;--carte:#FFFDF9;--sable:#EAE1D2;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
body{margin:0;background:var(--ivoire);color:var(--encre);font:16px/1.6 var(--sans);-webkit-text-size-adjust:100%}
img{max-width:100%}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .6rem}
h1{font-size:clamp(2.2rem,6vw,3.2rem);color:var(--bordeaux)}
h2{font-size:clamp(1.8rem,4vw,2.4rem)}h3{font-size:1.6rem;font-weight:600}
a{color:var(--bordeaux)}a:hover{color:var(--bordeaux-fonce)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--bordeaux);outline-offset:2px}
.wrap{max-width:1240px;margin:0 auto;padding:0 5%}
.muted{color:var(--gris)}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--bordeaux);margin:0 0 16px}
.kicker.or{color:var(--or)}

/* En-tête et pied */
.head{background:var(--noir);color:var(--ivoire)}
.head .wrap{max-width:none;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:20px 5%}
.brand{color:var(--ivoire);text-decoration:none;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.brand:hover{color:var(--ivoire)}
.brand b{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.02em}
.brand small{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.head nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:14px}
.head nav a{color:#E9E1D4;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.head nav a:hover{color:#fff}
.head nav a.cta{gap:8px;padding:0 18px;border:1px solid var(--or);border-radius:999px;color:var(--ivoire)}
.pied{background:var(--noir);color:#9C8A76;font-size:13px}
.pied .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:36px;padding-bottom:36px}
main{padding:2.5rem 0 4rem}main.plein{padding:0}
.flash{padding-top:1.2rem}
main.plein .flash{position:relative;z-index:6;margin-bottom:-1px}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:40;width:max-content;max-width:min(520px,92vw);margin:0;box-shadow:0 8px 28px rgba(22,18,15,.25)}

/* Boutons, pastilles, formulaires */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;background:var(--bordeaux);color:#fff;border:1px solid var(--bordeaux);border-radius:999px;font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--bordeaux-fonce);color:#fff}
.btn.alt{background:transparent;color:var(--bordeaux)}.btn.alt:hover{background:var(--bordeaux);color:#fff}
.btn.clair{background:var(--ivoire);color:var(--noir);border-color:var(--ivoire)}.btn.clair:hover{background:#fff;color:var(--noir)}
.btn.fantome{background:transparent;color:var(--ivoire);border-color:#E9E1D4}.btn.fantome:hover{background:rgba(255,255,255,.12);color:#fff}
.btn.noir{background:var(--noir);border-color:var(--noir)}
.btn.grand{min-height:56px;padding:0 32px}
.pill{display:inline-block;padding:2px 12px;border:1px solid var(--trait-fort);border-radius:999px;font-size:13px;margin:0 4px 4px 0;background:transparent}
.pill.ok{background:var(--or);border-color:var(--or);color:var(--noir)}
.puce{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--trait-fort);border-radius:999px;background:transparent;color:var(--encre);font:inherit;font-size:14px;cursor:pointer}
.puce[aria-pressed=true],.puce:has(input:checked){background:var(--noir);border-color:var(--noir);color:var(--ivoire)}
.puce input{position:absolute;opacity:0;width:1px;height:1px}
.puce:has(input:focus-visible){outline:2px solid var(--bordeaux);outline-offset:2px}
label{display:block;font-weight:600;margin:1rem 0 .3rem}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=date],input[type=month],input[type=datetime-local],input[type=number],textarea,select{width:100%;min-height:48px;padding:.6rem .9rem;border:1px solid var(--trait-fort);background:var(--carte);font:inherit;color:var(--encre);border-radius:0}
textarea{resize:vertical}
input[type=checkbox],input[type=radio]{width:1.1rem;height:1.1rem;accent-color:var(--bordeaux)}
.notice{background:#eef3e6;border-left:4px solid #6b8e3d;padding:.8rem 1rem;margin-bottom:1rem}
.alert{background:#f8e6e6;border-left:4px solid var(--bordeaux);padding:.8rem 1rem;margin-bottom:1rem}
.panel{background:var(--carte);border:1px solid var(--trait);padding:1.5rem;margin:0 0 1.5rem;overflow-x:auto}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--trait);vertical-align:top}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
fieldset{border:1px solid var(--trait);padding:.6rem .8rem;margin:0;min-width:0}legend{font-weight:600;padding:0 .3rem;font-size:.95rem}
.case{display:block;font-weight:400;margin:.15rem 0;min-height:28px}

/* Sections plein cadre */
.section{max-width:1240px;margin:0 auto;padding:96px 5%}
.section.haute{padding-top:120px;padding-bottom:120px}
.bande-noire{background:var(--noir);color:var(--ivoire)}.bande-sable{background:var(--sable)}
.entete-section{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.entete-section h2{margin:0;font-size:clamp(2rem,5vw,3.25rem)}

/* Accueil : bandeau et carte de recherche */
.hero{position:relative;background:#16120F linear-gradient(135deg,#16120F 0%,#3a1219 100%);color:var(--ivoire);overflow:hidden;text-align:center}
/* Photo d'ambiance (chai au coucher du soleil) : voile sombre pour la lisibilité, le vigneron reste visible à gauche */
.hero.photo{background:linear-gradient(180deg,rgba(22,18,15,.55) 0%,rgba(22,18,15,.35) 45%,rgba(22,18,15,.8) 100%),url('ambiance.webp') 18% 30%/cover no-repeat,#16120F}
@media (max-width:899px){
  /* Mobile : le texte descend sous le visage du vigneron, que le voile éclaircit en haut de l'image */
  .hero.photo{background:linear-gradient(180deg,rgba(22,18,15,.05) 0%,rgba(22,18,15,.25) 38%,rgba(22,18,15,.88) 68%),url('ambiance.webp') 22% 0/cover no-repeat,#16120F}
  .hero.photo .interieur{padding-top:min(62vw,300px);padding-bottom:150px}
}
@media (min-width:900px){
  .hero.photo{background:linear-gradient(90deg,rgba(22,18,15,0) 0%,rgba(22,18,15,.2) 38%,rgba(22,18,15,.82) 72%),linear-gradient(180deg,rgba(22,18,15,.25) 0%,rgba(22,18,15,.1) 60%,rgba(22,18,15,.7) 100%),url('ambiance.webp') 20% 25%/cover no-repeat,#16120F}
  .hero.photo .interieur{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
  .hero.photo .interieur>*{max-width:600px}
  .hero.photo h1{margin:0}
  .hero.photo p{margin-left:auto;margin-right:0}
}
.hero .interieur{position:relative;max-width:1240px;margin:0 auto;padding:clamp(72px,12vw,140px) 5% clamp(120px,16vw,180px)}
.hero h1{color:var(--ivoire);font-size:clamp(2.6rem,9vw,6rem);line-height:1;margin:0 auto;max-width:900px}
.hero p{margin:28px auto 0;font-size:clamp(1rem,2.4vw,1.2rem);color:#E9E1D4;max-width:600px}
.recherche{max-width:1160px;margin:-88px auto 0;padding:0 5%;position:relative;box-sizing:content-box}
.recherche form{background:var(--carte);border:1px solid var(--trait);padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:24px}
.champ-recherche{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--trait-fort);padding-bottom:14px}
.champ-recherche input{flex:1;min-height:48px;border:none;background:transparent;font-family:var(--serif);font-size:clamp(1.2rem,3.5vw,1.75rem);outline:none;padding:0;min-width:0}
.champ-recherche:focus-within{border-bottom-color:var(--bordeaux)}
.filtres-rapides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:16px}
.filtres-rapides label{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);font-weight:400;margin:0}
.filtres-rapides select,.filtres-rapides input{letter-spacing:0;text-transform:none;font-size:15px;background:var(--ivoire)}
.barre-puces{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.barre-puces .puces{display:flex;flex-wrap:wrap;gap:8px}
details.plus{border-top:1px solid var(--trait);padding-top:12px}
details.plus summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.grille-filtres{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:1rem;margin-top:1rem}

/* Cartes de vignerons et de cuvées */
.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:36px}
.carte{background:var(--carte);border:1px solid var(--trait);display:flex;flex-direction:column;color:var(--encre);text-decoration:none;transition:box-shadow .3s,transform .3s}
.carte:hover{box-shadow:0 14px 34px rgba(22,18,15,.12);transform:translateY(-2px);color:var(--encre)}
.carte-photo{position:relative;height:260px;background:#2E241E;display:block}
.carte-photo>img.fond{width:100%;height:100%;object-fit:cover;display:block}
.carte-photo .portrait{position:absolute;right:20px;bottom:-32px;width:72px;height:72px;border-radius:50%;border:3px solid var(--carte);object-fit:cover;background:#8C7B6A}
.carte-corps{padding:28px 28px 30px;display:flex;flex-direction:column;gap:6px;flex-grow:1}
.carte-corps .region{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bordeaux)}
.carte-corps h3{margin:0;font-size:1.9rem;line-height:1.1}
.carte-pied{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--trait);font-size:14px}
.carte-pied span:first-child{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#3A322C}
.pastille{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}
.carte.cuvee .vignette{aspect-ratio:3/4;background:#EDE5D8;display:flex;align-items:center;justify-content:center}.carte.cuvee .vignette img{max-width:100%;max-height:100%;object-fit:contain}

/* Carrousel des actualités */
.carrousel-piste{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.carrousel-piste::-webkit-scrollbar{display:none}
.diapo{flex:0 0 min(360px,86%);scroll-snap-align:start;background:var(--carte);border:1px solid var(--trait);text-decoration:none;color:var(--encre);display:flex;flex-direction:column}
.diapo-image{display:block;height:220px;background:#4A3A30;overflow:hidden}.diapo-image img{width:100%;height:100%;object-fit:cover;display:block}
.diapo-texte{display:flex;flex-direction:column;gap:6px;padding:22px 24px 26px}
.diapo-texte small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux)}
.diapo-texte strong{font-family:var(--serif);font-size:1.65rem;font-weight:600;line-height:1.15}
.diapo-texte time{font-size:13px;color:var(--gris)}
.boutons-rond{display:flex;gap:10px}
.rond{width:48px;height:48px;border-radius:50%;border:1px solid var(--noir);background:transparent;color:var(--noir);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.rond.plein{background:var(--noir);color:var(--ivoire)}
.points{display:flex;justify-content:center;gap:8px;margin-top:24px}.points span{width:28px;height:3px;background:var(--trait-fort)}.points span.actif{background:var(--bordeaux)}

/* Fiche vigneron */
.fiche-hero{position:relative;height:clamp(460px,80vh,680px);background:#2E241E;display:flex;align-items:flex-end;overflow:hidden;color:var(--ivoire)}
.fiche-hero .fond{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;will-change:transform}
.fiche-hero .voile{position:absolute;left:0;right:0;bottom:0;height:70%;background:linear-gradient(to top,rgba(22,18,15,.82),rgba(22,18,15,0))}
.fiche-hero .texte{position:relative;width:100%;max-width:1240px;margin:0 auto;padding:0 5% clamp(40px,8vw,80px)}
.fiche-hero h1{color:var(--ivoire);font-size:clamp(2.4rem,8vw,5.5rem);line-height:1;letter-spacing:-.01em;max-width:900px;margin:0}
.fiche-hero p.chapeau{margin:24px 0 36px;font-size:18px;color:#E9E1D4;max-width:560px}
.fiche-hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.nav-sections{position:sticky;top:0;z-index:5;background:var(--ivoire);border-bottom:1px solid #DDD3C3}
.nav-sections .wrap{display:flex;gap:8px 36px;font-size:14px;letter-spacing:.06em;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.nav-sections .wrap::-webkit-scrollbar{display:none}
.nav-sections a{padding:18px 0;color:var(--gris);text-decoration:none;border-bottom:2px solid transparent;min-height:44px}
.nav-sections a.actif{color:var(--encre);border-bottom-color:var(--bordeaux)}
.deux-colonnes{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,64px);align-items:flex-start}
.deux-colonnes>.g{flex:1 1 320px}.deux-colonnes>.d{flex:1.4 1 420px;font-size:17px;color:#3A322C}
.citation{margin:32px 0 0;padding:8px 0 8px 28px;border-left:1px solid #A8875A;font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.3;color:var(--encre)}
.mosaique{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(110px,18vw,200px);gap:12px;margin-top:80px}
.mosaique button{padding:0;border:0;background:#D9CDBA;cursor:zoom-in;overflow:hidden}
.mosaique button:first-child{grid-column:span 2;grid-row:span 2}.mosaique button:nth-child(2){grid-column:span 2}
.mosaique img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.mosaique button:hover img{transform:scale(1.03)}
.vigneron{display:flex;flex-wrap:wrap;gap:clamp(32px,6vw,72px);align-items:center}
.vigneron .portrait-grand{flex:1 1 320px;aspect-ratio:4/5;background:#3A2E26;overflow:hidden}.vigneron .portrait-grand img{width:100%;height:100%;object-fit:cover;display:block}
.vigneron .propos{flex:1.2 1 400px;font-size:17px;color:#E9E1D4}
.vigneron h2{font-size:clamp(2.2rem,5vw,3.5rem);margin-bottom:8px}
.cuvee-carte{display:flex;flex-direction:column;background:var(--carte);border:1px solid var(--trait)}
.cuvee-carte .bouteille{height:340px;background:#EDE5D8;display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer}
.cuvee-carte .bouteille img{max-height:100%;max-width:100%;object-fit:contain}
.cuvee-corps{padding:28px;display:flex;flex-direction:column;gap:6px;flex-grow:1}
.cuvee-corps .couleur{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.cuvee-corps h3{margin:4px 0 0;font-size:1.9rem}
.cuvee-prix{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;flex-wrap:wrap}
.cuvee-prix s{color:var(--gris)}
.remise{padding:2px 10px;border-radius:999px;background:#F1E4E2;color:var(--bordeaux);font-weight:600;font-size:12px}
.prix-membre{font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1.1;display:block}
.actus{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:32px}
.actu{display:flex;flex-direction:column;gap:14px}.actu .vignette{height:200px;background:#D9CDBA;overflow:hidden}.actu .vignette img{width:100%;height:100%;object-fit:cover;display:block}
.actu time{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}.actu h3{margin:0;font-size:1.65rem}.actu p{margin:0;font-size:15px;color:#3A322C}
.picto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.picto div{display:flex;align-items:center;gap:14px}
.photo-oeno{flex:1.1 1 400px;min-height:320px;background:#CDBFA9;overflow:hidden}.photo-oeno img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px}
.carte-domaine{position:relative;height:320px;background:linear-gradient(135deg,#EAE1D2,#DDD3C3);border:1px solid var(--trait-fort);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.carte-invite{padding:16px;color:var(--bordeaux)}
.carte-domaine .maplibregl-map{position:absolute;inset:0;font-family:var(--sans)}
.carte-domaine .maplibregl-ctrl-attrib{font-size:11px}
.pin-domaine{position:relative;width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--bordeaux);transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.pin-domaine:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:7px;left:7px}
.pied-sombre{background:var(--noir)}

/* Panneau latéral de la cuvée, visionneuse */
.voile-page{position:fixed;inset:0;background:rgba(22,18,15,.55);z-index:20;opacity:0;pointer-events:none;transition:opacity .3s}
.voile-page.ouvert{opacity:1;pointer-events:auto}
.panneau{position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);background:var(--carte);z-index:21;transform:translateX(100%);transition:transform .35s ease;overflow-y:auto;padding:28px;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
.panneau.ouvert{transform:none}
.panneau .fermer{position:absolute;top:12px;right:12px}
.panneau img.principale{max-height:320px;display:block;margin:12px auto}
.visionneuse{position:fixed;inset:0;background:rgba(10,8,6,.94);z-index:30;display:none;align-items:center;justify-content:center;padding:16px}
.visionneuse.ouvert{display:flex}.visionneuse img{max-width:100%;max-height:100%;object-fit:contain}
.visionneuse button{position:absolute;top:12px;right:12px}

/* Apparition douce au défilement : jamais si l'utilisateur limite les animations */
.apparait{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.apparait.vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.apparait{opacity:1;transform:none;transition:none}.carte,.panneau,.voile-page,.mosaique img{transition:none}.fiche-hero .fond{transform:none!important}}
@media (max-width:640px){
  .nav-sections .wrap{gap:0 24px}
  .picto{grid-template-columns:1fr}
  .mosaique{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaique button:first-child{grid-column:span 2}.mosaique button:nth-child(2){grid-column:span 1;grid-row:span 1}
  .cuvee-carte .bouteille{height:280px}
}
@media (max-width:640px){
  .head .wrap{padding:12px 5%;gap:4px 16px}
  .brand b{font-size:21px}.brand small{font-size:11px}
  .head nav{gap:0 18px;font-size:13px}
  .head nav a.cta{padding:0 14px}
  .fiche-hero .actions .btn{flex:1 1 100%}
  .entete-section{margin-bottom:32px}
  .section{padding-top:64px;padding-bottom:64px}.section.haute{padding-top:72px;padding-bottom:72px}
  .carte-photo{height:220px}
}

/* Page publique d'inscription des vignerons */
.atouts{max-width:1000px;margin:-72px auto 0;padding:0 5%;position:relative;box-sizing:content-box}
.carte-atouts{background:var(--carte);border:1px solid var(--trait);box-shadow:0 24px 60px rgba(22,18,15,.14);padding:clamp(26px,4vw,44px)}
.atouts-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,4vw,52px)}
.atout svg{color:var(--bordeaux);margin-bottom:14px}
.atout h3{font-size:1.5rem;margin:0 0 6px}
.atout p{margin:0;font-size:15px;color:var(--gris)}
.tarif{margin-top:30px;padding-top:24px;border-top:1px solid var(--trait);display:flex;flex-wrap:wrap;gap:6px 30px;justify-content:center;align-items:baseline;text-align:center}
.tarif strong{font-family:var(--serif);font-size:2.2rem;font-weight:500;color:var(--bordeaux);line-height:1.1}
.tarif span{font-size:14px;color:var(--gris);letter-spacing:.03em}
.demande{max-width:720px;margin:clamp(56px,9vw,96px) auto 0;padding:0 5% clamp(56px,9vw,96px);box-sizing:content-box;scroll-margin-top:24px}
.demande h2{text-align:center;font-size:clamp(2rem,5vw,2.9rem);margin:0 0 8px}
.demande .sous{text-align:center;color:var(--gris);margin:0 auto 32px;max-width:34rem}
.demande form{position:relative;background:var(--carte);border:1px solid var(--trait);padding:clamp(24px,4vw,44px)}
.grille2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.grille2 .pleine{grid-column:1/-1}
.demande label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin:1.3rem 0 .2rem}
.demande label.consent{font-size:13px;letter-spacing:0;text-transform:none;font-weight:400;display:flex;gap:10px;align-items:flex-start;margin-top:1.8rem}
.demande label.consent input{flex:none;margin-top:.25rem}
.demande input[type=text],.demande input[type=email],.demande textarea{border:0;border-bottom:1px solid var(--trait-fort);background:transparent;padding:.5rem 0;min-height:44px;font-size:17px}
.demande input[type=text]:focus,.demande input[type=email]:focus,.demande textarea:focus{outline:none;border-bottom-color:var(--bordeaux);box-shadow:0 1px 0 var(--bordeaux)}
.autre-voie{text-align:center;color:var(--gris);font-size:14px;margin:28px auto 0;max-width:34rem}
@media(max-width:760px){.atouts-grille{grid-template-columns:1fr}.grille2{grid-template-columns:1fr}.atouts{margin-top:-56px}}

/* Fiche publique du vigneron : plus resserrée, plus « fiche signalétique » (portée limitée à .fiche pour ne pas toucher l'accueil) */
.fiche .fiche-hero{height:clamp(420px,68vh,580px)}
.fiche .faits{background:var(--carte);border-bottom:1px solid var(--trait)}
.fiche .faits dl{max-width:1240px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.fiche .faits dl>div{padding:22px 24px;border-left:1px solid var(--trait)}
.fiche .faits dl>div:first-child{border-left:0;padding-left:0}
.fiche .faits dt{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin:0 0 6px}
.fiche .faits dd{margin:0;font-family:var(--serif);font-size:1.3rem;line-height:1.25;color:var(--encre)}
.fiche .section{padding-top:64px;padding-bottom:64px}
.fiche .section.haute{padding-top:80px;padding-bottom:80px}
.fiche .kicker{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.fiche .kicker:before{content:"";width:28px;height:1px;background:var(--or)}
.fiche .entete-section{margin-bottom:32px}
.fiche .entete-section h2,.fiche .deux-colonnes .g h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.fiche .deux-colonnes{gap:clamp(28px,5vw,56px)}
.fiche .deux-colonnes>.d{max-width:62ch}
.fiche .citation{margin-top:24px;font-size:clamp(1.25rem,2.4vw,1.6rem)}
.fiche .mosaique{margin-top:48px;grid-auto-rows:clamp(90px,12vw,150px);gap:10px}
.fiche .vigneron{gap:clamp(28px,5vw,56px)}
.fiche .vigneron .portrait-grand{flex:0 1 300px}
.fiche .vigneron .propos{flex:1 1 380px;max-width:62ch}
.fiche .vigneron h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:20px}
.fiche .cartes{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))!important;gap:24px!important}
.fiche .cuvee-carte .bouteille{height:290px}
.fiche .cuvee-corps{padding:20px 22px 22px;gap:4px}
.fiche .cuvee-corps h3{font-size:1.5rem;line-height:1.15}
.fiche .cuvee-prix{padding-top:16px;border-top:1px solid var(--trait);margin-top:14px}
.fiche .prix-membre{font-family:var(--serif);font-size:1.7rem;line-height:1}
.fiche .lien-boutique{font-size:14px;font-weight:600;color:var(--bordeaux);text-decoration:none;border-bottom:1px solid var(--or);padding-bottom:2px;white-space:nowrap}
.fiche .lien-boutique:hover{color:var(--bordeaux-fonce);border-bottom-color:var(--bordeaux)}
.fiche #contact .deux-colonnes{gap:56px}
@media(max-width:760px){.fiche .section{padding-top:48px;padding-bottom:48px}.fiche .section.haute{padding-top:52px;padding-bottom:52px}.fiche .faits dl{grid-template-columns:repeat(2,minmax(0,1fr))}.fiche .faits dl>div{padding:16px 14px}.fiche .faits dl>div:nth-child(odd){border-left:0;padding-left:0}.fiche .cuvee-carte .bouteille{height:240px}}

.photos-oeno{flex:1.1 1 400px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.photos-oeno button{padding:0;border:0;background:#CDBFA9;cursor:zoom-in;overflow:hidden;aspect-ratio:1/1}.photos-oeno button.grande{grid-column:1/-1;aspect-ratio:3/2}.photos-oeno img{width:100%;height:100%;object-fit:cover;display:block}
