/* Le Regard Vert : habillage des blocs natifs Gutenberg (styles de blocs + défauts). */

/* Sections pleine largeur : rythme vertical et largeur de contenu */
.wp-block-group.is-style-section { padding: var(--wp--preset--spacing--80) var(--rv-gutter, 24px); }
.wp-block-group.is-style-section > * { max-width: var(--rv-max, 1440px); margin-left: auto !important; margin-right: auto !important; }
.wp-block-group.is-style-section > .alignfull { max-width: none; }
.rv-main .entry-content > .wp-block-group, .rv-main .entry-content > .wp-block-cover { margin-block: 0; }

/* Titres et textes */
.is-style-surtitre { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px !important; font: 600 .8125rem/1.2 var(--rv-sans) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--rv-sauge-ink, #4B5C43); }
.is-style-surtitre::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.has-text-align-center.is-style-surtitre { justify-content: center; }
.has-foret-background-color .is-style-surtitre, .is-style-carte-foret .is-style-surtitre, .wp-block-cover .is-style-surtitre { color: #B9C9AA; }
.is-style-chapo { font-size: var(--wp--preset--font-size--l); line-height: 1.55; color: var(--rv-ink-soft, #3F4A42); }
.has-foret-background-color .is-style-chapo, .wp-block-cover .is-style-chapo { color: #D9DED3; }
.wp-block-heading em { color: var(--rv-sauge); font-weight: 400; }
.has-foret-background-color .wp-block-heading, .is-style-carte-foret .wp-block-heading { color: var(--rv-lin); }
.has-foret-background-color .wp-block-heading em, .wp-block-cover .wp-block-heading em, .is-style-carte-foret .wp-block-heading em { color: #C9D6BC; }
.has-foret-background-color, .has-foret-background-color p { color: var(--rv-lin); }
.has-foret-background-color a:not(.wp-element-button) { color: #C9D6BC; }
.is-style-display { font-size: var(--wp--preset--font-size--huge) !important; font-weight: 450 !important; line-height: .98 !important; letter-spacing: -.025em; font-variation-settings: "opsz" 144, "SOFT" 50; }

/* Hero (bloc Couverture) */
.wp-block-cover.is-style-hero { min-height: min(100svh, 980px) !important; align-items: flex-end; padding: calc(var(--rv-header-h) + 48px) var(--rv-gutter) clamp(48px, 8vw, 112px); }
.rv-main .entry-content > .wp-block-cover.is-style-hero:first-child { margin-top: calc(-1 * var(--rv-header-h)) !important; }
.wp-block-cover.is-style-hero .wp-block-cover__inner-container { max-width: var(--rv-max) !important; width: 100%; margin: 0 auto; }
.wp-block-cover.is-style-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(31,42,34,.15) 0%, rgba(31,42,34,.25) 40%, rgba(31,42,34,.86) 100%), linear-gradient(90deg, rgba(31,42,34,.55), transparent 65%) !important; opacity: 1 !important; }
.wp-block-cover.is-style-hero .wp-block-cover__image-background { animation: rv-zoom 2.4s cubic-bezier(.22,.61,.36,1) both; }
.wp-block-cover.is-style-hero p, .wp-block-cover.is-style-hero .wp-block-heading { color: var(--rv-lin); }
.wp-block-cover.is-style-hero .is-style-display { max-width: 1200px; animation: rv-rise .9s cubic-bezier(.22,.61,.36,1) both; }
@keyframes rv-zoom { from { transform: scale(1.06); } to { transform: none; } }
@keyframes rv-rise { from { transform: translateY(.3em); opacity: .001; } to { transform: none; opacity: 1; } }
:is(body:has(.rv-main .entry-content > .wp-block-cover.is-style-hero:first-child), body:has(.rv-main .entry-content > .is-style-hero-foret:first-child)) .rv-site-header:not(.is-scrolled):not(:has(.is-open)) { color: var(--rv-lin); }
:is(body:has(.rv-main .entry-content > .wp-block-cover.is-style-hero:first-child), body:has(.rv-main .entry-content > .is-style-hero-foret:first-child)) .rv-site-header:not(.is-scrolled):not(:has(.is-open))::before { opacity: 0; }
:is(body:has(.rv-main .entry-content > .wp-block-cover.is-style-hero:first-child), body:has(.rv-main .entry-content > .is-style-hero-foret:first-child)) .rv-site-header:not(.is-scrolled):not(:has(.is-open)) .rv-logo__name em { color: #C9D6BC; }
:is(body:has(.rv-main .entry-content > .wp-block-cover.is-style-hero:first-child), body:has(.rv-main .entry-content > .is-style-hero-foret:first-child)) .rv-site-header:not(.is-scrolled):not(:has(.is-open)) .rv-logo__mark path { stroke: var(--rv-lin); }

/* Cartes */
.wp-block-group.is-style-carte, .wp-block-column.is-style-carte { padding: clamp(22px, 2.6vw, 32px); border-radius: 22px; background: var(--rv-mousse); transition: transform .45s cubic-bezier(.22,.61,.36,1), box-shadow .45s; }
.has-mousse-background-color .is-style-carte { background: var(--rv-lin); }
.wp-block-column.is-style-carte:hover, .wp-block-group.is-style-carte:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -30px rgba(31,42,34,.45); }
.wp-block-column.is-style-carte { overflow: hidden; }
.wp-block-column.is-style-carte > .wp-block-image:first-child { margin: calc(-1 * clamp(22px, 2.6vw, 32px)) calc(-1 * clamp(22px, 2.6vw, 32px)) 20px; }
.wp-block-column.is-style-carte > .wp-block-image:first-child img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 0 0 48px 0; }
.wp-block-group.is-style-carte-foret { padding: clamp(24px, 4vw, 56px); border-radius: 30px; background: var(--rv-foret); color: var(--rv-lin); }
.wp-block-column.is-style-carte .wp-block-heading a, .wp-block-group.is-style-carte .wp-block-heading a { color: inherit; text-decoration: none; }
.wp-block-column.is-style-carte .wp-block-heading a:hover { text-decoration: underline; text-underline-offset: 5px; }

/* Images */
.wp-block-image.is-style-organique img, .wp-block-post-featured-image.is-style-organique img { border-radius: 28px 120px 32px 96px; }
.wp-block-image.is-style-arrondi img { border-radius: 22px; }
.wp-block-image.is-style-picto { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 0 14px; border-radius: 46% 54% 42% 58% / 52% 40% 60% 48%; background: var(--rv-mousse); }
.wp-block-image.is-style-picto img { width: 28px !important; height: 28px !important; }
.has-mousse-background-color .wp-block-image.is-style-picto { background: var(--rv-lin); }

/* Boutons */
.wp-block-button__link { transition: background .25s, color .25s, transform .3s cubic-bezier(.22,.61,.36,1); }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-secondaire .wp-block-button__link { background: transparent !important; color: var(--rv-foret) !important; border: 1.5px solid currentColor; }
.wp-block-button.is-style-secondaire .wp-block-button__link:hover { background: var(--rv-foret) !important; color: var(--rv-lin) !important; }
.wp-block-cover .wp-block-button.is-style-secondaire .wp-block-button__link, .has-foret-background-color .wp-block-button.is-style-secondaire .wp-block-button__link { color: var(--rv-lin) !important; }
.wp-block-cover .wp-block-button.is-style-secondaire .wp-block-button__link:hover, .has-foret-background-color .wp-block-button.is-style-secondaire .wp-block-button__link:hover { background: var(--rv-lin) !important; color: var(--rv-foret) !important; }
.wp-block-button.is-style-lien .wp-block-button__link { background: none !important; padding-left: 0 !important; padding-right: 0 !important; color: var(--rv-terre-dark, #8A4526) !important; }
.wp-block-button.is-style-lien .wp-block-button__link::after { content: " →"; }
.has-foret-background-color .wp-block-button.is-style-lien .wp-block-button__link { color: #E3A88A !important; }

/* Listes */
.wp-block-list.is-style-pastilles { display: flex; flex-wrap: wrap; gap: 6px 8px; padding: 0; list-style: none; }
.wp-block-list.is-style-pastilles li { padding: 6px 12px; border-radius: 999px; background: var(--rv-lin); font-size: .875rem; }
.has-lin-background-color .wp-block-list.is-style-pastilles li { background: var(--rv-mousse); }
.wp-block-list.is-style-coches { padding: 0; list-style: none; display: grid; gap: 10px; }
.wp-block-list.is-style-coches li { position: relative; padding-left: 30px; }
.wp-block-list.is-style-coches li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; background: var(--rv-sauge); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-14 15-15-1 10-7 15-15 15Z'/%3E%3Cpath d='M5 19 14 10'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-14 15-15-1 10-7 15-15 15Z'/%3E%3Cpath d='M5 19 14 10'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Séparateur végétal */
.wp-block-separator.is-style-vegetal { height: 40px; border: 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 40'%3E%3Cpath d='M0 20 C 80 8, 140 32, 220 20 S 360 6, 420 20 S 540 34, 600 20' fill='none' stroke='%235E7154' stroke-width='1.2'/%3E%3C/svg%3E") center / min(100%, 600px) 40px no-repeat; opacity: 1; }

/* Boucles de requête (réalisations, articles) */
.wp-block-post-template.is-layout-grid { gap: 40px 28px; }
.wp-block-post-template .wp-block-post-featured-image img { aspect-ratio: 4/3; object-fit: cover; border-radius: 22px 22px 80px 22px; transition: transform 1s cubic-bezier(.22,.61,.36,1); }
.wp-block-post-template .wp-block-post-featured-image { overflow: hidden; border-radius: 22px 22px 80px 22px; }
.wp-block-post-template li:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.wp-block-post-template .wp-block-post-title { font-size: 1.4375rem; line-height: 1.25; margin-top: 16px; }
.wp-block-post-template .wp-block-post-title a { color: var(--rv-foret); text-decoration: none; }
.wp-block-post-template .wp-block-post-terms { font: 600 .75rem var(--rv-sans); letter-spacing: .14em; text-transform: uppercase; }
.wp-block-post-template .wp-block-post-terms a { color: var(--rv-sauge-ink, #4B5C43); text-decoration: none; }
.wp-block-post-template .wp-block-post-date { font-size: .8125rem; color: var(--rv-ink-soft); }

/* Colonnes : empilées proprement sur mobile */
@media (max-width: 781px) { .wp-block-columns { gap: 20px !important; } }
.wp-block-cover.is-style-hero .is-style-chapo { max-width: 620px; }
.wp-block-list.is-style-pastilles li:has(a) { padding: 0; }
.wp-block-list.is-style-pastilles li a { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 12px; font-weight: 600; }
.wp-block-post-template .wp-block-post-terms { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 12px; }
.wp-block-post-template .wp-block-post-terms a { display: inline-flex; align-items: center; min-height: 28px; padding: 2px 10px; border-radius: 999px; background: var(--rv-mousse); }
.wp-block-post-template .wp-block-post-terms .wp-block-post-terms__separator { display: none; }

/* Hero éditorial clair (Groupe + Colonnes) */
.is-style-hero-split, .is-style-hero-foret { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: min(100svh, 980px); padding: calc(var(--rv-header-h) + clamp(32px, 5vw, 72px)) var(--rv-gutter) clamp(48px, 7vw, 96px) !important; box-sizing: border-box; overflow: hidden; }
.rv-main .entry-content > :is(.is-style-hero-split, .is-style-hero-foret):first-child { margin-top: calc(-1 * var(--rv-header-h)) !important; }
.is-style-hero-split > .wp-block-columns { gap: clamp(32px, 6vw, 96px); margin: 0 auto !important; width: 100%; }
.is-style-hero-split .is-style-display { font-size: clamp(3rem, 7.2vw, 6.75rem) !important; animation: rv-rise .9s cubic-bezier(.22,.61,.36,1) both; }
.is-style-hero-split .is-style-display em { color: var(--rv-terre-dark, #8A4526); }
.is-style-hero-split .is-style-chapo { max-width: 560px; }
.rv-hero-points { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--rv-pierre); font-size: .9375rem; }
.rv-hero-points li { margin: 0 !important; }
.rv-hero-visuel { position: relative; }
.rv-hero-visuel .wp-block-image { margin: 0; }
.rv-hero-visuel .wp-block-image img { width: 100%; height: min(72svh, 720px); object-fit: cover; animation: rv-zoom 2.4s cubic-bezier(.22,.61,.36,1) both; }
.rv-hero-badge.is-style-carte { position: absolute; left: clamp(-40px, -3vw, -16px); bottom: 8%; display: flex; align-items: center; gap: 14px; margin: 0 !important; padding: 16px 22px; background: var(--rv-blanc, #fff); box-shadow: 0 18px 40px -18px rgba(31,42,34,.35); }
.rv-hero-badge p { margin: 0 !important; font-size: .875rem; line-height: 1.35; }
.rv-hero-badge strong { color: var(--rv-terre); letter-spacing: .1em; }
.rv-hero-badge .rv-hero-badge__note { font: 500 2.5rem/1 var(--rv-serif); color: var(--rv-foret); }
.rv-hero-badge__note span { font-size: 1rem; color: var(--rv-ink-soft); }
@media (max-width: 781px) {
	.is-style-hero-split { min-height: 0; }
	.rv-hero-visuel .wp-block-image img { height: 56svh; }
	.rv-hero-badge.is-style-carte { left: 12px; bottom: 12px; }
}

/* Hero Forêt centré + photos en arches */
.is-style-hero-foret { text-align: center; }
.is-style-hero-foret > * { margin-inline: auto !important; }
.is-style-hero-foret .is-style-surtitre { color: #C9D6BC; }
.is-style-hero-foret .is-style-display { max-width: 1100px; font-size: clamp(3rem, 7.6vw, 7.25rem) !important; color: var(--rv-lin); animation: rv-rise .9s cubic-bezier(.22,.61,.36,1) both; }
.is-style-hero-foret .is-style-display em { color: #C9D6BC; }
.is-style-hero-foret .is-style-chapo { max-width: 640px; color: rgba(244,241,234,.86); }
.is-style-hero-foret .wp-block-buttons { justify-content: center; }
.is-style-hero-foret .rv-hero-avis { margin-top: var(--wp--preset--spacing--30) !important; font-size: .9375rem; color: #C9D6BC; }
.is-style-hero-foret { padding-bottom: 0 !important; justify-content: flex-end; }
.rv-hero-arches { align-items: flex-end !important; gap: clamp(12px, 2.4vw, 32px) !important; width: 100%; max-width: 960px !important; margin-top: clamp(32px, 5vh, 64px) !important; margin-bottom: 0 !important; }
.rv-hero-arches .wp-block-column:nth-child(2) { flex-grow: 1.25 !important; }
.wp-block-image.is-style-arche { margin: 0; }
.wp-block-image.is-style-arche img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 999px 999px 24px 24px; }
.rv-hero-arches .is-style-arche img { aspect-ratio: auto; height: clamp(160px, 30svh, 340px); border-radius: 999px 999px 0 0; }
.rv-hero-arches .wp-block-column:nth-child(2) .is-style-arche img { height: clamp(200px, 38svh, 420px); }
.rv-hero-arches .wp-block-column { animation: rv-rise 1s cubic-bezier(.22,.61,.36,1) both; }
.rv-hero-arches .wp-block-column:nth-child(2) { animation-delay: .12s; }
.rv-hero-arches .wp-block-column:nth-child(3) { animation-delay: .24s; }
@media (max-width: 600px) { .rv-hero-arches .wp-block-column:not(:nth-child(2)) { margin-bottom: 0; } }
@media (prefers-reduced-motion: reduce) { .rv-hero-arches .wp-block-column, .rv-hero-visuel img { animation: none !important; } }

/* Pas de fil d'Ariane au-dessus d'un hero plein écran */
.rv-main:has(.entry-content > :is(.wp-block-cover.is-style-hero, .is-style-hero-split, .is-style-hero-foret):first-child) .rv-breadcrumbs { display: none; }
