/*
 * Mise en forme du héros, réglable article par article (admin : En-tête › Mise en forme du héros).
 * Généré par scripts/gen-hero-layout-css.php : modifier le script puis le relancer ; classes posées sur <body> par hero_layout() (front/inc/render.php).
 * Aucune classe « vh-… » = présentation du gabarit inchangée.
 * Héros à texte posé sur l'image : .coccinelles-podcast-hero, .rhone-visit-hero, .culture-hero.
 * Héros à texte au-dessus de l'image : .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro (la position y règle seulement l'alignement).
 */

/* Bloc de texte positionné sur l'image : ancré dans le héros, sans les décalages propres au gabarit. */
body.vh-on :is(.coccinelles-podcast-hero, .rhone-visit-hero, .culture-hero) { position: relative !important; }
body[class*=" vh-pos-"] :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy), body[class*=" vh-mpos-"] :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) {
  position: absolute !important; z-index: 4 !important; inset: auto !important; margin: 0 !important; padding: 0 !important;
  width: auto !important; max-width: min(var(--vh-width, 760px), 88%) !important; box-sizing: border-box;
}
body[class*=" vh-pos-"] :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) > *, body[class*=" vh-mpos-"] :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) > * {
  position: static !important; inset: auto !important; transform: none !important; margin-left: 0 !important; margin-right: 0 !important;
  max-width: none !important; text-align: inherit !important; white-space: normal !important;
}
/* Pastille de zone des fiches AOC : sa taille naturelle, pas toute la largeur du bloc. */
body[class*=" vh-pos-"] .rhone-visit-hero-copy > .rhone-aoc-zone, body[class*=" vh-mpos-"] .rhone-visit-hero-copy > .rhone-aoc-zone { display: inline-block !important; width: auto !important; }

/* Neuf positions (ordinateur ; aussi sur mobile si « Comme sur ordinateur »). */
body.vh-pos-haut-gauche :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 14% !important; bottom: auto !important; left: 6% !important; right: auto !important; text-align: left !important; transform: translate(0, 0) !important; }
body.vh-pos-haut-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-haut-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
body.vh-pos-haut-gauche .culture-hero { align-items: flex-start !important; justify-content: flex-start !important; } body.vh-pos-haut-gauche .culture-hero-copy { text-align: left !important; }
body.vh-pos-haut-centre :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 14% !important; bottom: auto !important; left: 50% !important; right: auto !important; text-align: center !important; transform: translate(-50%, 0) !important; }
body.vh-pos-haut-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-haut-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
body.vh-pos-haut-centre .culture-hero { align-items: flex-start !important; justify-content: center !important; } body.vh-pos-haut-centre .culture-hero-copy { text-align: center !important; }
body.vh-pos-haut-droite :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 14% !important; bottom: auto !important; left: auto !important; right: 6% !important; text-align: right !important; transform: translate(0, 0) !important; }
body.vh-pos-haut-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-haut-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
body.vh-pos-haut-droite .culture-hero { align-items: flex-start !important; justify-content: flex-end !important; } body.vh-pos-haut-droite .culture-hero-copy { text-align: right !important; }
body.vh-pos-centre-gauche :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 50% !important; bottom: auto !important; left: 6% !important; right: auto !important; text-align: left !important; transform: translate(0, -50%) !important; }
body.vh-pos-centre-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-centre-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
body.vh-pos-centre-gauche .culture-hero { align-items: center !important; justify-content: flex-start !important; } body.vh-pos-centre-gauche .culture-hero-copy { text-align: left !important; }
body.vh-pos-centre-centre :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 50% !important; bottom: auto !important; left: 50% !important; right: auto !important; text-align: center !important; transform: translate(-50%, -50%) !important; }
body.vh-pos-centre-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-centre-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
body.vh-pos-centre-centre .culture-hero { align-items: center !important; justify-content: center !important; } body.vh-pos-centre-centre .culture-hero-copy { text-align: center !important; }
body.vh-pos-centre-droite :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 50% !important; bottom: auto !important; left: auto !important; right: 6% !important; text-align: right !important; transform: translate(0, -50%) !important; }
body.vh-pos-centre-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-centre-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
body.vh-pos-centre-droite .culture-hero { align-items: center !important; justify-content: flex-end !important; } body.vh-pos-centre-droite .culture-hero-copy { text-align: right !important; }
body.vh-pos-bas-gauche :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: auto !important; bottom: 10% !important; left: 6% !important; right: auto !important; text-align: left !important; transform: translate(0, 0) !important; }
body.vh-pos-bas-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-bas-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
body.vh-pos-bas-gauche .culture-hero { align-items: flex-end !important; justify-content: flex-start !important; } body.vh-pos-bas-gauche .culture-hero-copy { text-align: left !important; }
body.vh-pos-bas-centre :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: auto !important; bottom: 10% !important; left: 50% !important; right: auto !important; text-align: center !important; transform: translate(-50%, 0) !important; }
body.vh-pos-bas-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-bas-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
body.vh-pos-bas-centre .culture-hero { align-items: flex-end !important; justify-content: center !important; } body.vh-pos-bas-centre .culture-hero-copy { text-align: center !important; }
body.vh-pos-bas-droite :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: auto !important; bottom: 10% !important; left: auto !important; right: 6% !important; text-align: right !important; transform: translate(0, 0) !important; }
body.vh-pos-bas-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-pos-bas-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
body.vh-pos-bas-droite .culture-hero { align-items: flex-end !important; justify-content: flex-end !important; } body.vh-pos-bas-droite .culture-hero-copy { text-align: right !important; }

/* Neuf positions sur mobile. */
@media (max-width: 700px) {
body.vh-on.vh-mpos-haut-gauche :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 14% !important; bottom: auto !important; left: 6% !important; right: auto !important; text-align: left !important; transform: translate(0, 0) !important; }
body.vh-on.vh-mpos-haut-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-haut-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
body.vh-on.vh-mpos-haut-gauche .culture-hero { align-items: flex-start !important; justify-content: flex-start !important; } body.vh-on.vh-mpos-haut-gauche .culture-hero-copy { text-align: left !important; }
body.vh-on.vh-mpos-haut-centre :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 14% !important; bottom: auto !important; left: 50% !important; right: auto !important; text-align: center !important; transform: translate(-50%, 0) !important; }
body.vh-on.vh-mpos-haut-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-haut-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
body.vh-on.vh-mpos-haut-centre .culture-hero { align-items: flex-start !important; justify-content: center !important; } body.vh-on.vh-mpos-haut-centre .culture-hero-copy { text-align: center !important; }
body.vh-on.vh-mpos-haut-droite :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 14% !important; bottom: auto !important; left: auto !important; right: 6% !important; text-align: right !important; transform: translate(0, 0) !important; }
body.vh-on.vh-mpos-haut-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-haut-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
body.vh-on.vh-mpos-haut-droite .culture-hero { align-items: flex-start !important; justify-content: flex-end !important; } body.vh-on.vh-mpos-haut-droite .culture-hero-copy { text-align: right !important; }
body.vh-on.vh-mpos-centre-gauche :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 50% !important; bottom: auto !important; left: 6% !important; right: auto !important; text-align: left !important; transform: translate(0, -50%) !important; }
body.vh-on.vh-mpos-centre-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-centre-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
body.vh-on.vh-mpos-centre-gauche .culture-hero { align-items: center !important; justify-content: flex-start !important; } body.vh-on.vh-mpos-centre-gauche .culture-hero-copy { text-align: left !important; }
body.vh-on.vh-mpos-centre-centre :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 50% !important; bottom: auto !important; left: 50% !important; right: auto !important; text-align: center !important; transform: translate(-50%, -50%) !important; }
body.vh-on.vh-mpos-centre-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-centre-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
body.vh-on.vh-mpos-centre-centre .culture-hero { align-items: center !important; justify-content: center !important; } body.vh-on.vh-mpos-centre-centre .culture-hero-copy { text-align: center !important; }
body.vh-on.vh-mpos-centre-droite :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: 50% !important; bottom: auto !important; left: auto !important; right: 6% !important; text-align: right !important; transform: translate(0, -50%) !important; }
body.vh-on.vh-mpos-centre-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-centre-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
body.vh-on.vh-mpos-centre-droite .culture-hero { align-items: center !important; justify-content: flex-end !important; } body.vh-on.vh-mpos-centre-droite .culture-hero-copy { text-align: right !important; }
body.vh-on.vh-mpos-bas-gauche :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: auto !important; bottom: 10% !important; left: 6% !important; right: auto !important; text-align: left !important; transform: translate(0, 0) !important; }
body.vh-on.vh-mpos-bas-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-bas-gauche :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
body.vh-on.vh-mpos-bas-gauche .culture-hero { align-items: flex-end !important; justify-content: flex-start !important; } body.vh-on.vh-mpos-bas-gauche .culture-hero-copy { text-align: left !important; }
body.vh-on.vh-mpos-bas-centre :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: auto !important; bottom: 10% !important; left: 50% !important; right: auto !important; text-align: center !important; transform: translate(-50%, 0) !important; }
body.vh-on.vh-mpos-bas-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-bas-centre :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }
body.vh-on.vh-mpos-bas-centre .culture-hero { align-items: flex-end !important; justify-content: center !important; } body.vh-on.vh-mpos-bas-centre .culture-hero-copy { text-align: center !important; }
body.vh-on.vh-mpos-bas-droite :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { top: auto !important; bottom: 10% !important; left: auto !important; right: 6% !important; text-align: right !important; transform: translate(0, 0) !important; }
body.vh-on.vh-mpos-bas-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-on.vh-mpos-bas-droite :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > * { text-align: right !important; margin-left: auto !important; margin-right: 0 !important; }
body.vh-on.vh-mpos-bas-droite .culture-hero { align-items: flex-end !important; justify-content: flex-end !important; } body.vh-on.vh-mpos-bas-droite .culture-hero-copy { text-align: right !important; }
}

/* Largeur du bloc de texte. */
body.vh-w-etroite { --vh-width: 520px; }
body.vh-w-moyenne { --vh-width: 760px; }
body.vh-w-large { --vh-width: 1040px; }
body[class*=" vh-w-"] :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { max-width: min(var(--vh-width), 88%) !important; }
body[class*=" vh-w-"] .culture-hero-copy { max-width: min(var(--vh-width), 100%) !important; }
body[class*=" vh-w-"] :is(.wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) > :is(h1, p, .eyebrow) { max-width: var(--vh-width) !important; }

/* Couleurs (palette du site) : surtitre et chapô, puis titre. */
body.vh-color :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-color :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) :is(p, span, small, strong, em, b, i, a:not(.vh-button)) { color: var(--vh-text) !important; }
body.vh-color :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) .culture-hero-next { border-bottom-color: var(--vh-text) !important; }
body.vh-title :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) h1, body.vh-title :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) h1 * { color: var(--vh-title) !important; }

/* Ombre du texte. */
body.vh-shadow-aucune :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-shadow-aucune :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) * { text-shadow: none !important; }
body.vh-shadow-legere :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-shadow-legere :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) * { text-shadow: 0 1px 4px rgba(0, 0, 0, .45) !important; }
body.vh-shadow-marquee :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro), body.vh-shadow-marquee :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy, .culture-hero-copy, .wine-days-feature-header, .wine-days-rencontre-cover, .rd-intro) * { text-shadow: 0 2px 12px rgba(0, 0, 0, .8) !important; }

/* Voile sur l'image (héros à texte posé sur l'image). */
body.vh-veil-aucun :is(.rhone-visit-hero-shade, .coccinelles-podcast-hero-shade) { display: none !important; }
body.vh-veil-aucun.culture-has-hero-image .culture-hero { background: var(--culture-hero-image) var(--culture-hero-position, 50% 50%) / cover no-repeat !important; }
body.vh-veil-clair :is(.coccinelles-podcast-hero, .rhone-visit-hero, .culture-hero)::after, body.vh-veil-sombre :is(.coccinelles-podcast-hero, .rhone-visit-hero, .culture-hero)::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; }
body.vh-veil-clair :is(.coccinelles-podcast-hero, .rhone-visit-hero, .culture-hero)::after { background: rgba(255, 255, 255, .55); }
body.vh-veil-sombre :is(.coccinelles-podcast-hero, .rhone-visit-hero, .culture-hero)::after { background: rgba(0, 0, 0, .5); }
body[class*=" vh-veil-"] :is(.coccinelles-podcast-hero-copy, .rhone-visit-hero-copy) { z-index: 4 !important; }
body[class*=" vh-veil-"] .culture-hero-copy { position: relative; }

/* Bouton (texte et lien saisis dans l'admin). */
.vh-button {
  position: relative; z-index: 5; display: inline-block; margin-top: 24px; padding: 12px 24px; box-sizing: border-box;
  border: 1px solid var(--vh-btn, currentColor); font: 700 11px/1 Arial, Helvetica, sans-serif; letter-spacing: .14em;
  text-transform: uppercase; text-decoration: none !important; text-shadow: none !important; cursor: pointer;
}
.vh-button-plein { background: var(--vh-btn, #111111); color: var(--vh-btn-ink, #ffffff) !important; border-color: var(--vh-btn, #111111); }
.vh-button-contour { background: transparent; color: var(--vh-btn, currentColor) !important; }
.vh-button-souligne { padding: 0 0 6px; border-width: 0 0 1px; background: transparent; color: var(--vh-btn, currentColor) !important; }
.vh-button:hover, .vh-button:focus-visible { opacity: .85; }
