
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/paragraph/style.min.css */

.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-terms/style.min.css */

.wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/group/style.min.css */

.wp-block-post-title{box-sizing:border-box;word-break:break-word}.wp-block-post-title :where(a){display:inline-block;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:inherit}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-title/style.min.css */

:where(.wp-block-post-excerpt){box-sizing:border-box;margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__excerpt{margin-bottom:0;margin-top:0}.wp-block-post-excerpt__more-text{margin-bottom:0;margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__more-link{display:inline-block}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-excerpt/style.min.css */

.wp-block-post-author{box-sizing:border-box;display:flex;flex-wrap:wrap}.wp-block-post-author__byline{font-size:.5em;margin-bottom:0;margin-top:0;width:100%}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{font-size:.7em;margin-bottom:.7em}.wp-block-post-author__content{flex-basis:0;flex-grow:1}.wp-block-post-author__name{margin:0}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-author/style.min.css */

.wp-block-post-date{box-sizing:border-box}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-date/style.min.css */

.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image :where(img){box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:initial}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-featured-image/style.min.css */

h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/heading/style.min.css */

ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/list/style.min.css */

.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:#5a5a5a40;border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto #5a5a5a40;outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:#5a5a5a40;border:none}.wp-lightbox-overlay{box-sizing:border-box;cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/image/style.min.css */

.wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-group.is-layout-flex .wp-block-embed{flex:1 1 0%;min-width:0}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/embed/style.min.css */

.wp-block-quote{box-sizing:border-box;overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:right}.wp-block-quote>cite{display:block}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/quote/style.min.css */

.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:initial;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:#0000}.wp-block-table.is-style-stripes{border-bottom:1px solid #f0f0f0}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:initial}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:initial}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/table/style.min.css */

.wp-block-post-content{display:flow-root}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-content/style.min.css */

.wp-block-post-template{box-sizing:border-box;list-style:none;margin-bottom:0;margin-top:0;max-width:100%;padding:0}.wp-block-post-template.is-flex-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25em}.wp-block-post-template.is-flex-container>li{margin:0;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li{width:calc(33.33333% - .83333em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}}@media (max-width:600px){.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid{grid-template-columns:1fr}}.wp-block-post-template-is-layout-constrained>li>.alignright,.wp-block-post-template-is-layout-flow>li>.alignright{float:right;margin-inline-end:0;margin-inline-start:2em}.wp-block-post-template-is-layout-constrained>li>.alignleft,.wp-block-post-template-is-layout-flow>li>.alignleft{float:left;margin-inline-end:2em;margin-inline-start:0}.wp-block-post-template-is-layout-constrained>li>.aligncenter,.wp-block-post-template-is-layout-flow>li>.aligncenter{margin-inline-end:auto;margin-inline-start:auto}
/*# sourceURL=https://eitp.fr/wp-includes/blocks/post-template/style.min.css */

:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */

:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--primary: #2D5F3F;--wp--preset--color--secondary: #1A1A1A;--wp--preset--color--accent: #C8A96E;--wp--preset--color--light: #F7F5F0;--wp--preset--color--muted: #8C8C8C;--wp--preset--color--dark: #0D0D0D;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:root { --wp--style--global--content-size: 780px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 1.5rem; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 1.5rem; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 1.5rem;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 1.5rem;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 1.5rem;}:root :where(.is-layout-grid){gap: 1.5rem;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--white);color: var(--wp--preset--color--secondary);font-family: var(--wp--preset--font-family--body);font-size: 17px;line-height: 1.75;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--primary);}:root :where(a:where(:not(.wp-element-button)):hover){color: var(--wp--preset--color--secondary);}h1, h2, h3, h4, h5, h6{color: var(--wp--preset--color--secondary);font-family: var(--wp--preset--font-family--body);font-weight: 700;}h1{font-size: clamp(1.8rem, 4vw, 2.6rem);letter-spacing: -0.02em;line-height: 1.2;}h2{font-size: clamp(1.4rem, 3vw, 1.8rem);line-height: 1.3;}h3{font-size: clamp(1.1rem, 2vw, 1.3rem);line-height: 1.4;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--secondary);border-radius: 0px;border-width: 0;color: var(--wp--preset--color--white);font-family: inherit;font-size: 13px;font-style: inherit;font-weight: 600;letter-spacing: 1.5px;line-height: inherit;padding-top: 14px;padding-right: 36px;padding-bottom: 14px;padding-left: 36px;text-decoration: none;text-transform: uppercase;}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: var(--wp--preset--color--primary);}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-secondary-color{color: var(--wp--preset--color--secondary) !important;}.has-accent-color{color: var(--wp--preset--color--accent) !important;}.has-light-color{color: var(--wp--preset--color--light) !important;}.has-muted-color{color: var(--wp--preset--color--muted) !important;}.has-dark-color{color: var(--wp--preset--color--dark) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}.has-accent-background-color{background-color: var(--wp--preset--color--accent) !important;}.has-light-background-color{background-color: var(--wp--preset--color--light) !important;}.has-muted-background-color{background-color: var(--wp--preset--color--muted) !important;}.has-dark-background-color{background-color: var(--wp--preset--color--dark) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}.has-accent-border-color{border-color: var(--wp--preset--color--accent) !important;}.has-light-border-color{border-color: var(--wp--preset--color--light) !important;}.has-muted-border-color{border-color: var(--wp--preset--color--muted) !important;}.has-dark-border-color{border-color: var(--wp--preset--color--dark) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-body-font-family{font-family: var(--wp--preset--font-family--body) !important;}
:root :where(.wp-block-post-title a:where(:not(.wp-element-button))){color: var(--wp--preset--color--secondary);text-decoration: none;}
:root :where(.wp-block-post-title a:where(:not(.wp-element-button)):hover){color: var(--wp--preset--color--primary);}
/*# sourceURL=global-styles-inline-css */

.wp-container-core-group-is-layout-e927c9de{gap:9px;align-items:center;}.wp-elements-7d29e9d2c17eff04052aade6db54a09a a:where(:not(.wp-element-button)){color:#B08E4F;}.wp-container-core-group-is-layout-349e6f47{gap:16px;align-items:center;}.wp-container-core-group-is-layout-9002164d{justify-content:space-between;align-items:center;}.wp-container-core-group-is-layout-2c326e46{align-items:flex-start;}
/*# sourceURL=core-block-supports-inline-css */

/*! This file is auto-generated */
.skip-link.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal!important}.skip-link.screen-reader-text:focus{background-color:#eee;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
/*# sourceURL=/wp-includes/css/wp-block-template-skip-link.min.css */
.cmplz-video.cmplz-iframe-styles{background-color:transparent}.cmplz-video.cmplz-hidden{visibility:hidden !important}.cmplz-blocked-content-notice{display:none}.cmplz-placeholder-parent{height:inherit}.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice,.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice{display:block}.cmplz-blocked-content-container,.cmplz-wp-video{animation-name:cmplz-fadein;animation-duration:600ms;background:#FFF;border:0;border-radius:3px;box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15);display:flex;justify-content:center;align-items:center;background-repeat:no-repeat !important;background-size:cover !important;height:inherit;position:relative}.cmplz-blocked-content-container.gmw-map-cover,.cmplz-wp-video.gmw-map-cover{max-height:100%;position:absolute}.cmplz-blocked-content-container.cmplz-video-placeholder,.cmplz-wp-video.cmplz-video-placeholder{padding-bottom:initial}.cmplz-blocked-content-container iframe,.cmplz-wp-video iframe{visibility:hidden;max-height:100%;border:0 !important}.cmplz-blocked-content-container .cmplz-custom-accept-btn:focus,.cmplz-wp-video .cmplz-custom-accept-btn:focus{border:1px dotted #cecece}.cmplz-blocked-content-container .cmplz-custom-accept-btn,.cmplz-wp-video .cmplz-custom-accept-btn{white-space:normal;text-transform:initial;cursor:pointer;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:200px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice,.cmplz-wp-video .cmplz-blocked-content-notice{white-space:normal;text-transform:initial;position:absolute !important;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);max-width:300px;font-size:14px;padding:10px;background-color:rgba(0,0,0,0.5);color:#fff;text-align:center;z-index:98;line-height:23px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links{display:block;margin-bottom:10px}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-links a,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-links a{color:#fff}.cmplz-blocked-content-container .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body,.cmplz-wp-video .cmplz-blocked-content-notice .cmplz-blocked-content-notice-body{display:block}.cmplz-blocked-content-container div div{display:none}.cmplz-wp-video .cmplz-placeholder-element{width:100%;height:inherit}@keyframes cmplz-fadein{from{opacity:0}to{opacity:1}}/* ══════════════════════════════════════════════════════════════════
   GATHER THEME — Clean Editorial
   Une seule police (DM Sans), espaces généreux, mobile-first
   ══════════════════════════════════════════════════════════════════ */

/* ── Police DM Sans auto-hébergée ─────────────────────────────────
   Fix 09/07/2026 : l'URL fonts.gstatic v15 codée en dur dans les
   theme.json par-site est morte (404 depuis le passage v17 côté
   Google) — la police ne chargeait plus sur aucun site. Ces
   @font-face locaux priment sur ceux du theme.json (déclarés plus
   tard dans la cascade) et suppriment la dépendance tierce (RGPD). */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/wp-content/themes/gather-theme/assets/fonts/dmsans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/wp-content/themes/gather-theme/assets/fonts/dmsans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ── Icônes reading-time / key-takeaways ──────────────────────────
   Fix 09/07/2026 : les <i class="fa-solid fa-clock|fa-lightbulb">
   injectés dans le contenu des articles n'ont jamais eu de CSS
   Font Awesome (aucun plugin ne le charge — les <i> étaient vides).
   Icônes SVG monochromes via mask → héritent de la couleur du
   texte, zéro dépendance externe, zéro webfont icône. */
.wp-block-post-content .fa-clock::before,
.wp-block-post-content .fa-lightbulb::before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.45em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--gather-icon) no-repeat center / contain;
  mask: var(--gather-icon) no-repeat center / contain;
}
.wp-block-post-content .fa-clock::before {
  --gather-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.wp-block-post-content .fa-lightbulb::before {
  --gather-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 1 4 10.5c-.7.6-1 1.5-1 2.5h-6c0-1-.3-1.9-1-2.5A6 6 0 0 1 12 3z'/%3E%3C/svg%3E");
}

/* Reading-time : petit texte discret sous le titre */
.single .wp-block-post-content .reading-time {
  font-size: 0.9rem;
  color: var(--wp--preset--color--muted);
}

/* ── Base ───────────────────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* WP Admin Bar — s'assurer qu'il reste au-dessus et cliquable */
#wpadminbar, #wpadminbar * {
  z-index: 9999999999 !important;
  pointer-events: auto !important;
}
body.admin-bar .wp-site-blocks {
  position: relative;
  z-index: 1;
}

::selection {
  background: var(--wp--preset--color--accent);
  color: #fff;
}

/* ── Header ─────────────────────────────────────────────────────── */
.site-header {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Header — logo + nav alignés au centre vertical */
.site-header.is-layout-flex {
  align-items: center !important;
  flex-wrap: nowrap !important;
}

/* Logo */
.site-header .site-logo-img {
  margin: 0 !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center;
}

.site-header .site-logo-img figure,
.site-header .site-logo-img a {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
}

.site-header .site-logo-img img {
  height: 44px;
  width: auto;
  display: block;
}

/* Nav */
.site-header .wp-block-navigation {
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}

.wp-block-navigation a {
  position: relative;
  transition: color .2s ease;
  color: var(--wp--preset--color--secondary);
}

.wp-block-navigation a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--wp--preset--color--accent);
  transition: width .25s ease;
}

.wp-block-navigation a:hover::after,
.wp-block-navigation .current-menu-item > a::after {
  width: 100%;
}

.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item > a {
  color: var(--wp--preset--color--secondary) !important;
}

/* Séparateur avant Contact (desktop) */
.nav-contact-link {
  margin-left: 8px !important;
  padding-left: 16px !important;
  border-left: 1px solid #e5e7eb;
}

/* Burger menu : items centrés avec espacement */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding: 40px 32px !important;
  gap: 8px !important;
  align-items: flex-start !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
  font-size: 18px !important;
  padding: 12px 0 !important;
}

/* Sur mobile, pas de séparateur sur Contact */
@media (max-width: 768px) {
  .nav-contact-link {
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: none !important;
  }
}

/* ── Hero ───────────────────────────────────────────────────────── */
.hero-section .wp-block-cover__inner-container { position: relative; z-index: 2; }
.hero-title { text-shadow: 0 2px 30px rgba(0,0,0,0.25); }
.section-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
}

/* ── Category Cards (miobar style) ──────────────────────────────── */
.cat-card-img {
  min-height: 500px !important;
  transition: transform .3s ease, box-shadow .3s ease;
  overflow: hidden;
}

.cat-card-img:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
}

/* Image zoom on hover */
.cat-card-img .wp-block-cover__image-background {
  transition: transform .6s ease;
}
.cat-card-img:hover .wp-block-cover__image-background {
  transform: scale(1.06);
}

/* Gradient overlay : transparent en haut, sombre en bas */
.cat-card-img .wp-block-cover__background {
  background: linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%) !important;
  opacity: 1 !important;
}

/* Texte en bas à gauche (style miobar) */
/* Cards : hauteur basée sur la largeur du viewport */
.cat-card-img.wp-block-cover {
  aspect-ratio: auto !important;
  min-height: 22vw !important;
}

/* Force inner-container en flex, texte en bas */
div.cat-card-img > div.wp-block-cover__inner-container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  height: 100% !important;
  /* Override le constrained layout qui centre tout */
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Le groupe enfant aussi : pas de centrage, aligné à gauche */
div.cat-card-img .wp-block-cover__inner-container > .wp-block-group {
  min-height: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Contenu enfant du constrained : pas de max-width auto-centré */
div.cat-card-img .wp-block-cover__inner-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.cat-card-img h3 {
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.cat-card-img p, .cat-card-img h3 {
  margin-left: 0 !important;
  text-align: left !important;
}

/* Mobile cards catégories */
@media (max-width: 768px) {
  .cat-card-img.wp-block-cover { min-height: 65vw !important; }
  div.cat-card-img > div.wp-block-cover__inner-container { min-height: 65vw !important; padding-bottom: 36px !important; }
}

/* ── Article Cards ──────────────────────────────────────────────── */
.wp-block-latest-posts.is-grid li {
  background: #fff;
  border: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: transform .3s ease, box-shadow .3s ease;
  padding: 0 !important;
}
.wp-block-latest-posts.is-grid li:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

/* Images dans les cards */
.wp-block-latest-posts__featured-image { margin-bottom: 0; overflow: hidden; }
.wp-block-latest-posts__featured-image img {
  width: 100%; height: 220px; object-fit: cover;
  transition: transform .4s ease;
}
.wp-block-latest-posts.is-grid li:hover .wp-block-latest-posts__featured-image img {
  transform: scale(1.03);
}
.wp-block-post-featured-image img {
  transition: transform .4s ease;
}

/* Card text */
.wp-block-latest-posts__post-title {
  font-size: 16px; font-weight: 700; line-height: 1.4;
  padding: 16px 16px 0; color: var(--wp--preset--color--secondary);
  display: block; transition: color .2s; text-decoration: none;
}
.wp-block-latest-posts__post-title:hover { color: var(--wp--preset--color--primary); }
.wp-block-latest-posts__post-excerpt {
  padding: 8px 16px 8px; color: var(--wp--preset--color--muted);
  font-size: 15px; line-height: 1.6;
}
.wp-block-latest-posts__post-date {
  padding: 0 16px 16px; color: var(--wp--preset--color--muted);
  font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase;
  margin-top: 10px;
}

/* Query loop article cards */
.article-card {
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  border-radius: 12px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.article-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.article-card .wp-block-post-title a {
  text-decoration: none !important;
  color: var(--wp--preset--color--secondary) !important;
  transition: color .2s;
}
.article-card .wp-block-post-title a:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* Images articles dans les cards latest-posts */
.wp-block-latest-posts__featured-image {
  margin: 0 !important;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}
.wp-block-latest-posts__featured-image a {
  display: block;
  line-height: 0;
}
.wp-block-latest-posts__featured-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
  transition: transform .4s ease;
  display: block;
}
.wp-block-latest-posts.is-grid li:hover .wp-block-latest-posts__featured-image img {
  transform: scale(1.04);
}

/* Images articles dans les cards query loop */
.article-card .wp-block-post-featured-image {
  overflow: hidden;
  margin: 0 !important;
  border-radius: 12px 12px 0 0;
}
.article-card .wp-block-post-featured-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}
.article-card:hover .wp-block-post-featured-image img {
  transform: scale(1.04);
}

/* Grille 4 colonnes → 2 sur tablette → 1 sur mobile */
@media (max-width: 1024px) {
  .wp-block-post-template[class*="grid"][class*="columns-4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .wp-block-post-template[class*="grid"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Single Article ─────────────────────────────────────────────── */

/* Image mise en avant : forcer horizontal */
.single .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
}

/* Pas de séparateurs entre les H2 */
.single .wp-block-post-content h2 {
  margin-top: 2.5rem;
  padding-top: 0;
  border-top: none;
}

/* Premier paragraphe légèrement plus grand */
.single .wp-block-post-content > p:first-of-type {
  font-size: 1.1em;
  color: var(--wp--preset--color--muted);
}

/* Points clés à retenir */
.single .wp-block-post-content .key-takeaways {
  background: var(--wp--preset--color--accent);
  border-radius: 12px;
  padding: 28px 32px;
  margin: 2rem 0 2.5rem;
  border-left: none;
}
.single .wp-block-post-content .key-takeaways h3 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}
.single .wp-block-post-content .key-takeaways h3 i {
  color: #fff;
}
.single .wp-block-post-content .key-takeaways ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.single .wp-block-post-content .key-takeaways li {
  position: relative;
  padding: 6px 0 6px 24px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.95);
}
.single .wp-block-post-content .key-takeaways li strong {
  color: #fff;
  font-weight: 600;
}
.single .wp-block-post-content .key-takeaways li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

/* Encadrés conseil/astuce/warning/retenir */
.single .wp-block-post-content .wp-block-quote.is-style-default {
  background: #faf9f6;
  border-left: 4px solid var(--wp--preset--color--accent);
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
  margin: 2rem 0;
  font-style: normal;
  color: var(--wp--preset--color--secondary);
}
.single .wp-block-post-content .wp-block-quote.is-style-default p {
  font-style: normal;
  color: var(--wp--preset--color--secondary);
}

/* Blockquotes (citations) */
.single .wp-block-post-content blockquote:not(.is-style-default) {
  border-left: 3px solid var(--wp--preset--color--accent);
  padding: 1rem 0 1rem 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--wp--preset--color--muted);
}

/* Liens dans l'article */
.single .wp-block-post-content a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--wp--preset--color--accent);
}
.single .wp-block-post-content a:hover {
  text-decoration-color: var(--wp--preset--color--secondary);
}

/* Category badge */
.post-category-badge a,
.taxonomy-category a,
.cat-links a {
  font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  text-decoration: none;
}

/* Sommaire */
.article-toc {
  font-family: var(--wp--preset--font-family--body);
  border-radius: 0;
  background: #faf9f6 !important;
  border-left: 3px solid var(--wp--preset--color--accent) !important;
}
.article-toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Author box */
.author-box {
  border-radius: 0;
}
.author-box .wp-block-post-author {
  display: flex !important;
  align-items: center !important;
  gap: 20px;
}
.author-box .wp-block-post-author__avatar {
  flex-shrink: 0;
}
.author-box .wp-block-post-author__avatar img {
  border-radius: 50%;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  display: block;
}
.author-box .wp-block-post-author__content {
  display: flex;
  align-items: center;
}

/* ── Boutons ────────────────────────────────────────────────────── */
.wp-block-button__link {
  transition: all .25s ease;
}
.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}
.is-style-outline .wp-block-button__link {
  border: 2px solid currentColor;
  background: transparent;
}

/* ── Footer ─────────────────────────────────────────────────────── */
.site-footer { border-top: none; }

/* ── Separator accent ───────────────────────────────────────────── */
.accent-line {
  width: 60px;
  border-top: 3px solid var(--wp--preset--color--accent);
  margin-left: 0;
}
.accent-line-center {
  width: 60px;
  border-top: 3px solid var(--wp--preset--color--accent);
  margin-left: auto; margin-right: auto;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE — Mobile first
   ══════════════════════════════════════════════════════════════════ */

/* ── Tablette (max 1024px) ──────────────────────────────────────── */
@media (max-width: 1024px) {
  /* Réduire les paddings des sections */
  .wp-block-group[style*="padding-top:100px"] { padding-top: 60px !important; padding-bottom: 60px !important; }
  .wp-block-group[style*="padding-top:80px"] { padding-top: 50px !important; padding-bottom: 50px !important; }
  .wp-block-group[style*="padding-left:48px"] { padding-left: 24px !important; padding-right: 24px !important; }

  /* Hero */
  .wp-block-cover[style*="min-height:600px"] { min-height: 450px !important; }
  .wp-block-group[style*="padding-top:120px"] { padding-top: 80px !important; padding-bottom: 80px !important; }

  /* Grille 2 colonnes au lieu de 3 */
  .wp-block-latest-posts.is-grid { columns: 2 !important; }

  /* Cards catégorie sur 2 colonnes */
  .wp-block-columns:has(.cat-card) { flex-wrap: wrap !important; }
  .wp-block-columns:has(.cat-card) > .wp-block-column { flex-basis: 48% !important; margin-bottom: 16px; }
}

/* ── Mobile (max 768px) ─────────────────────────────────────────── */
@media (max-width: 768px) {
  /* Paddings globaux réduits */
  .wp-block-group[style*="padding-left:40px"] { padding-left: 20px !important; padding-right: 20px !important; }
  .wp-block-group[style*="padding-left:48px"] { padding-left: 16px !important; padding-right: 16px !important; }
  .wp-block-group[style*="padding-top:100px"] { padding-top: 40px !important; padding-bottom: 40px !important; }
  .wp-block-group[style*="padding-top:80px"] { padding-top: 36px !important; padding-bottom: 36px !important; }
  .wp-block-group[style*="padding-top:48px"] { padding-top: 24px !important; }

  /* Hero mobile */
  .wp-block-cover[style*="min-height:600px"] { min-height: 400px !important; }
  .wp-block-group[style*="padding-top:120px"] { padding-top: 60px !important; padding-bottom: 60px !important; }
  .hero-title { font-size: 1.8rem !important; }

  /* Header */
  .site-header { padding-left: 16px !important; padding-right: 16px !important; }

  /* Colonnes catégories en 1 colonne */
  .wp-block-columns:has(.cat-card) > .wp-block-column { flex-basis: 100% !important; }
  .cat-card { padding: 24px 20px !important; }

  /* Grille articles en 1 colonne */
  .wp-block-latest-posts.is-grid { columns: 1 !important; }
  .wp-block-post-template[class*="grid"] { grid-template-columns: 1fr !important; }

  /* Article single */
  .single .wp-block-post-featured-image img {
    border-radius: 0;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
  }

  /* Sommaire */
  .article-toc {
    padding: 20px 20px !important;
    margin-bottom: 32px !important;
  }

  /* Boutons hero seulement */
  .hero-section .wp-block-buttons { flex-direction: column !important; }
  .hero-section .wp-block-button { width: 100%; }
  .hero-section .wp-block-button__link { width: 100%; text-align: center; }

  /* Footer mobile : compact, pas de colonnes */
  .site-header + * ~ * .wp-block-columns { flex-direction: column !important; }
  .site-header + * ~ * .wp-block-column { flex-basis: 100% !important; margin-bottom: 32px; }

  /* Footer bouton Contact petit sur mobile */
  footer .wp-block-button__link,
  .has-dark-background-color:last-child .wp-block-button__link {
    font-size: 11px !important;
    padding: 8px 16px !important;
    letter-spacing: 0.5px !important;
  }

  /* Footer flex wrap */
  footer .is-layout-flex,
  .site-footer .is-layout-flex {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  /* Images cards plus petites */
  .wp-block-latest-posts__featured-image img { height: 200px; }

  /* Titres cards */
  .wp-block-latest-posts__post-title { font-size: 16px; padding: 16px 20px 0; }
  .wp-block-latest-posts__post-excerpt { padding: 6px 20px 6px; font-size: 14px; }
  .wp-block-latest-posts__post-date { padding: 0 20px 16px; }
}

/* ── Petit mobile (max 480px) ───────────────────────────────────── */
@media (max-width: 480px) {
  .hero-title { font-size: 1.5rem !important; }
  .wp-block-cover[style*="min-height"] { min-height: 320px !important; }
  body { font-size: 16px; }
}

/* ── Fiche pratique (06/10/2026, lib/fiche-pratique.mjs) ─────────────────────
   Articles « comment faire » : sommaire numéroté, étapes en frise, checklist à
   cocher (vraies cases + compteur CSS, aucun script), cas à signaler, repère
   sourcé. Couleurs du design v2 quand il est actif, de theme.json sinon. */
.gv2-fp {
  --fp-ink: var(--gv2-ink, #14161A);
  --fp-text: var(--gv2-text, #3E424A);
  --fp-acc: var(--gv2-green, var(--wp--preset--color--primary, #2E8B7A));
  --fp-deep: var(--gv2-deep, var(--wp--preset--color--primary, #1B4D43));
  --fp-ui: var(--gv2-ui, inherit);
  --fp-r: var(--gv2-r, 0px);
  font-family: inherit; max-width: none;
}
.gv2-fp .gv2-fp-titre { margin: 0 0 12px; font-family: var(--fp-ui); font-size: 17px; font-weight: 800; color: var(--fp-ink); }
.gv2-fp-sommaire { margin: 0 0 32px; }
.gv2-fp-sommaire ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); border: 1.5px solid var(--fp-ink); border-radius: var(--fp-r); overflow: hidden; }
.gv2-fp-sommaire li { margin: 0; border-right: 1px solid color-mix(in srgb, var(--fp-ink) 22%, transparent); }
.gv2-fp-sommaire li:last-child { border-right: 0; }
.gv2-fp-sommaire a { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 12px 12px 14px; text-decoration: none; color: var(--fp-ink); font-family: var(--fp-ui); }
.gv2-fp-sommaire a:hover { background: color-mix(in srgb, var(--fp-acc) 10%, transparent); }
.gv2-fp-sommaire a, .gv2-fp-sommaire a span { text-decoration: none !important; }
.gv2-fp-num { font-size: 19px; font-weight: 800; color: var(--fp-acc); line-height: 1; }
.gv2-fp-court { font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; line-height: 1.3; }
.gv2-fp-frise { list-style: none; margin: 8px 0 36px; padding: 0; }
.gv2-fp-frise > li { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 18px; margin: 0; padding: 0 0 22px; }
.gv2-fp-frise > li:not(:last-child)::before { content: ""; position: absolute; left: 20px; top: 44px; bottom: 2px; width: 2px; background: var(--fp-acc); }
.gv2-fp-pastille { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--fp-deep); color: #fff; font-family: var(--fp-ui); font-weight: 800; font-size: 16px; }
.gv2-fp-frise h3 { margin: 8px 0 6px !important; font-family: var(--fp-ui); font-size: 19px; line-height: 1.3; color: var(--fp-ink); }
.gv2-fp-frise p { margin: 0 !important; color: var(--fp-text); }
.gv2-fp-check { counter-reset: fpdone; margin: 0 0 32px; padding: 22px 24px; border: 1.5px solid var(--fp-ink); border-radius: var(--fp-r); box-shadow: 7px 7px 0 var(--fp-acc); background: #fff; }
.gv2-fp-check label { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px dashed color-mix(in srgb, var(--fp-ink) 25%, transparent); cursor: pointer; color: var(--fp-text); }
.gv2-fp-check input { flex: none; width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--fp-deep); }
.gv2-fp-check input:checked { counter-increment: fpdone; }
.gv2-fp-check input:checked + span { text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--fp-ink) 45%, transparent); }
.gv2-fp-compte { margin: 12px 0 0 !important; font-family: var(--fp-ui); font-size: 14px; font-weight: 700; color: var(--fp-deep); }
.gv2-fp-compte::before { content: counter(fpdone); }
.gv2-fp-signaler { margin: 0 0 32px; padding: 18px 22px; border: 1.5px solid var(--fp-ink); border-radius: var(--fp-r); }
.gv2-fp-signaler ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gv2-fp-signaler li { margin: 0; padding: 7px 11px; border: 1px solid var(--fp-ink); border-radius: var(--fp-r); font-family: var(--fp-ui); font-size: 14px; font-weight: 600; color: var(--fp-ink); }
.gv2-fp-repere { margin: 0 0 32px; padding: 20px 24px; background: color-mix(in srgb, var(--fp-acc) 12%, #fff); border-radius: var(--fp-r); }
.gv2-fp-repere p { margin: 0 0 8px !important; color: var(--fp-text); }
.gv2-fp-repere .gv2-fp-titre { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--fp-deep); }
.gv2-fp-source { margin: 0 !important; font-family: var(--fp-ui); font-size: 13px; color: var(--fp-text); }
@media (max-width: 600px) {
  .gv2-fp-sommaire ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gv2-fp-sommaire li { border-bottom: 1px solid color-mix(in srgb, var(--fp-ink) 22%, transparent); }
}
/* ══════════════════════════════════════════════════════════════════════════
   gather-theme — Design v2 « média édité par une structure »
   Chargé UNIQUEMENT si l'option WP `gather_design_v2` vaut 1 (cf. functions.php).
   Se superpose à custom.css : les sites sans l'option ne voient rien changer.
   Palette : lue depuis theme.json du site (--wp--preset--color--*), donc
   le même fichier s'adapte à chaque site du parc.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Polices auto-hébergées ─────────────────────────────────────────────── */
@font-face {
  font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400 800;
  font-display: swap; src: url('/wp-content/themes/gather-theme/assets/fonts/bricolage-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 400 800;
  font-display: swap; src: url('/wp-content/themes/gather-theme/assets/fonts/bricolage-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Newsreader'; font-style: normal; font-weight: 400 600;
  font-display: swap; src: url('/wp-content/themes/gather-theme/assets/fonts/newsreader-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader'; font-style: normal; font-weight: 400 600;
  font-display: swap; src: url('/wp-content/themes/gather-theme/assets/fonts/newsreader-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Vraie italique (24/09/2026) pour les accents de titre des squelettes du pack
   (écrin, sylve, béton). Instanciée opsz=60 : elle ne sert qu'en grand corps.
   Sans elle le navigateur penche le romain (fausse italique). */
@font-face {
  font-family: 'Newsreader'; font-style: italic; font-weight: 400 600;
  font-display: swap; src: url('/wp-content/themes/gather-theme/assets/fonts/newsreader-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader'; font-style: italic; font-weight: 400 600;
  font-display: swap; src: url('/wp-content/themes/gather-theme/assets/fonts/newsreader-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root {
  --gv2-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --gv2-ui: 'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* Troisième rôle : tout ce qui descend sous ~20 px — étiquettes, nav, dates,
     titres de vignette. Un couple dont la police de titrage tient mal en petit
     (une didone n'a plus que des filets à 10 px avec 0,2 em d'interlettrage)
     le redirige vers la police de texte. Par défaut il suit le titrage, donc
     les sites déjà en ligne ne bougent pas. */
  --gv2-meta: var(--gv2-ui);
  /* Multiplicateur de TOUS les interlettrages négatifs de ce fichier. Ils ont
     été réglés sur Bricolage (large) : une serif plus étroite s'y écrase — les
     lettres de Brygada se touchaient à -0,045 em (14/09/2026). Un couple le
     pose dans `gather_v2_type_pairs()` (`track`) ; 1 = rendu inchangé. */
  --gv2-track: 1;
  --gv2-green: var(--wp--preset--color--primary, #2D5F3F);
  --gv2-gold: var(--wp--preset--color--accent, #C8A96E);
  --gv2-deep: color-mix(in oklab, var(--wp--preset--color--primary, #2D5F3F) 74%, #000);
  --gv2-ink: #16180F;
  --gv2-paper: #F4F2EC;
  --gv2-text: #45473C;
  /* corps d'article : un cran plus dense que --gv2-text, et redéfini par le fond */
  --gv2-body: #2F3229;
  --gv2-muted: #7C7A6C;
  --gv2-rule: #DCD7C8;
  --gv2-rule-soft: #E7E3D6;
  --gv2-pad: clamp(20px, 4.4vw, 56px);
  /* Largeur utile maximale. Sans elle, chaque bande prend la fenêtre moins
     2×56 px : sur un 24 pouces (1920) ça fait 1808 px de contenu étiré.
     --gv2-gut est la gouttière réelle : le padding habituel tant que l'écran
     est étroit, puis tout le surplus renvoyé de chaque côté. */
  --gv2-max: 1280px;
  --gv2-gut: max(var(--gv2-pad), calc((100% - var(--gv2-max)) / 2));
  /* la police body du theme.json (DM Sans) est remplacée d'un coup */
  --wp--preset--font-family--body: 'Newsreader', Georgia, serif;
}

/* ── Base ───────────────────────────────────────────────────────────────── */
body {
  font-family: var(--gv2-serif);
  background: var(--gv2-paper);
  color: var(--gv2-ink);
  font-size: 17px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
.wp-block-post-title, .wp-block-heading,
.gv2-ui, .gv2-lbl {
  font-family: var(--gv2-ui);
  letter-spacing: calc(-.035em * var(--gv2-track, 1));
  font-weight: 800;
}
.gv2-lbl {
  font-family: var(--gv2-meta);
  font-size: 10px; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; line-height: 1.4; display: inline-block;
}
.gv2-sec { padding-left: var(--gv2-gut); padding-right: var(--gv2-gut); }
.gv2 a { text-decoration: none; }

/* Flèche « → » dessinée : la police latin ne contient pas U+2192.
   Dans le rail (300 px), le ::after inline-block ouvrait un point de coupure
   et la flèche partait seule à la ligne — les libellés y sont courts, on
   interdit la coupure. */
.gv2-rail .gv2-arrow { white-space: nowrap; }
.gv2-arrow::after {
  content: ""; display: inline-block; width: .62em; height: .62em;
  margin-left: .5em; vertical-align: -.02em;
  background: currentColor;
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
}
/* Losange séparateur du bandeau d'ours (U+25C6 absent de la police) */
.gv2-dot::before {
  content: ""; display: inline-block; width: 6px; height: 6px;
  background: var(--gv2-gold); transform: rotate(45deg); vertical-align: .08em;
}

/* ── Bandeau d'ours ─────────────────────────────────────────────────────── */
.gv2-ours {
  background: var(--gv2-ink); color: #EDE9DC;
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap; padding: 9px var(--gv2-gut);
}
.gv2-ours .gv2-lbl { color: #EDE9DC; }
.gv2-ours .gv2-ours-soft { color: #9C9887; }
.gv2-ours a { color: var(--gv2-gold); border-bottom: 1px solid var(--gv2-gold); padding-bottom: 2px; }

/* ── Header ─────────────────────────────────────────────────────────────── */
.gv2-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; padding: 18px var(--gv2-gut);
  background: var(--gv2-paper); border-bottom: 1px solid var(--gv2-rule);
}
.gv2-brand { display: flex; align-items: center; gap: 13px; }
.gv2-brand img, .gv2-brand svg { width: 38px; height: 38px; display: block; }
.gv2-brand-name { line-height: 1.04; }
.gv2-brand-name b { display: block; font-family: var(--gv2-ui); font-size: 23px; font-weight: 800; letter-spacing: calc(-.045em * var(--gv2-track, 1)); color: var(--gv2-ink); }
.gv2-brand-name span { display: block; font-family: var(--gv2-ui); font-size: 9px; font-weight: 600; letter-spacing: .3em; color: var(--gv2-muted); margin-top: 3px; }
.gv2-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); overflow-x: auto; scrollbar-width: none; }
.gv2-nav::-webkit-scrollbar { display: none; }
.gv2-nav a {
  /* 14,5px était trop discret pour des rubriques qui sont la nav principale du
     site (retour d'Antoine, 17/09/2026) — elles se lisaient comme du texte de
     pied de page. */
  font-family: var(--gv2-meta); font-size: 16px; font-weight: 600;
  letter-spacing: calc(-.01em * var(--gv2-track, 1)); color: var(--gv2-ink); white-space: nowrap; padding-bottom: 3px;
}
.gv2-nav a:hover { color: var(--gv2-green); }
.gv2-nav a.gv2-nav-soft { font-weight: 500; color: var(--gv2-muted); }
.gv2-nav a.current-menu-item, .gv2-nav a[aria-current="page"] { color: var(--gv2-green); border-bottom: 2px solid var(--gv2-green); }
.gv2-cta {
  font-family: var(--gv2-meta); font-size: 13px; font-weight: 600;
  color: #fff !important; background: var(--gv2-green); padding: 11px 20px; white-space: nowrap;
}
.gv2-cta:hover { background: var(--gv2-deep); }
/* Dans le header, le CTA est l'action principale : à 13px il passait sous la
   nav (16px) et se lisait comme une mention secondaire (retour d'Antoine,
   17/09/2026). Ailleurs — blocs de contenu — la taille d'origine est conservée. */
.gv2-header .gv2-cta, .gv2-header-centre .gv2-cta { font-size: 15px; padding: 11px 22px; }

/* ── Grilles ────────────────────────────────────────────────────────────── */
.gv2-g2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(18px, 2.2vw, 30px); }
.gv2-g3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(18px, 2.2vw, 30px); }
.gv2-g3-wide { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: clamp(20px, 2.6vw, 34px); }
.gv2-g4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.gv2-split { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(20px, 3.4vw, 46px); }

/* ── Ouverture éditoriale ───────────────────────────────────────────────── */
/* WP pose une marge de 24px sur .wp-block-post-content : sur la home le hero
   doit coller au filet du header. */
body.home .wp-block-post-content { margin-top: 0; }
.wp-block-post-content > .gv2:first-child,
.gv2-hero, .gv2-article-layout { margin-block-start: 0; margin-top: 0; }
/* Colonne de texte plafonnée : au-delà de --gv2-max, seule l'image continue
   jusqu'au bord droit (le « fond perdu » voulu), le titre ne s'étire plus. */
.gv2-hero { display: grid; grid-template-columns: minmax(0, min(54%, 680px)) 1fr; gap: clamp(22px, 3vw, 46px); align-items: stretch; padding-left: var(--gv2-gut); }
.gv2-hero-text { padding: clamp(34px, 4.4vw, 58px) 0 clamp(30px, 3.6vw, 46px); }
.gv2-hero h1 { margin: 20px 0 0; font-size: clamp(32px, 4.2vw, 54px); line-height: 1.02; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-hero p { margin: 20px 0 0; font-size: clamp(16px, 1.45vw, 18.5px); line-height: 1.66; color: var(--gv2-text); max-width: 540px; text-wrap: pretty; }
.gv2-hero-img { position: relative; min-height: 400px; }
/* La colonne de texte est plafonnée : au-delà de ~1400 px seule l'image
   s'élargit, et à hauteur constante elle s'aplatit en bandeau — le sujet sort
   du recadrage par le haut (constaté sur kolb en 1920 : il ne restait que le
   bas du corps). La hauteur monte donc avec la largeur pour rester autour du
   3:2. `object-position` est réglable par site via --gv2-hero-pos. */
/* Plafond à 700 et non 560 : au-delà de 2200 px de fenêtre l'image atteignait
   un rapport de 2,13 et redevenait un bandeau. À 700 elle reste sous 1,7. */
.gv2-hero-img { min-height: clamp(280px, 33vw, 700px); }
/* La colonne de texte ne fait pas la hauteur de la photo : étirée, elle laissait
   200 px de vide sous le chapô sur un 24 pouces. Elle se cale sur son milieu. */
.gv2-hero-text { align-self: center; }
.gv2-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--gv2-hero-pos, center); display: block; }
/* variante 3 du kit : photo en fond + voile depuis la gauche */
.gv2-hero-scrim { background-size: cover; background-position: center right; }
.gv2-hero-scrim::before { content: ""; position: absolute; inset: 0; background: linear-gradient(96deg, var(--gv2-paper) 0%, color-mix(in srgb, var(--gv2-paper) 96%, transparent) 38%, color-mix(in srgb, var(--gv2-paper) 72%, transparent) 60%, color-mix(in srgb, var(--gv2-paper) 20%, transparent) 100%); }

/* ── En-tête de section avec filet ──────────────────────────────────────── */
.gv2-rule-h { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 2px solid var(--gv2-ink); }
.gv2-rule-h h2 { margin: 0; font-size: clamp(24px, 2.6vw, 32px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); }
.gv2-rule-h .gv2-side { font-size: 15px; color: var(--gv2-muted); font-family: var(--gv2-serif); font-weight: 400; letter-spacing: 0; }

/* ── À la une ───────────────────────────────────────────────────────────── */
.gv2-lead-img img { width: 100%; height: clamp(200px, 26vw, 340px); object-fit: cover; display: block; }
.gv2-lead h3 { margin: 10px 0 0; font-size: clamp(22px, 2.3vw, 30px); font-weight: 700; line-height: 1.14; letter-spacing: calc(-.035em * var(--gv2-track, 1)); }
.gv2-lead p { margin: 13px 0 0; font-size: 16px; line-height: 1.68; color: var(--gv2-text); max-width: 620px; }
/* wp:post-template rend un <li class="wp-block-post"> par article : c'est lui
   qui porte la mise en page, pas une classe qu'on pourrait poser nous-mêmes. */
.gv2-brief .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.gv2-brief .wp-block-post { display: grid; grid-template-columns: 104px 1fr; gap: 18px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--gv2-rule); }
.gv2-brief .wp-block-post:first-child { padding-top: 0; }
.gv2-brief .wp-block-post-featured-image { margin: 0; }
.gv2-brief .wp-block-post-featured-image img { width: 104px; height: 78px; object-fit: cover; display: block; }
.gv2-brief .wp-block-post-title { margin: 7px 0 0; font-size: 17px; font-weight: 700; line-height: 1.28; letter-spacing: calc(-.025em * var(--gv2-track, 1)); }
.gv2-brief .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-brief .wp-block-post-terms, .gv2-brief .wp-block-post-date { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 0; }

/* Article de tête */
.gv2-lead .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.gv2-lead .wp-block-post-featured-image { margin: 0; }
.gv2-lead .wp-block-post-featured-image img { width: 100%; height: clamp(200px, 26vw, 340px); object-fit: cover; display: block; }
.gv2-lead .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 18px 0 0; }
.gv2-lead .wp-block-post-title { margin: 10px 0 0; font-size: clamp(22px, 2.3vw, 30px); font-weight: 700; line-height: 1.14; letter-spacing: calc(-.035em * var(--gv2-track, 1)); }
.gv2-lead .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-lead .wp-block-post-excerpt { margin: 13px 0 0; font-size: 16px; line-height: 1.68; color: var(--gv2-text); max-width: 620px; }
.gv2-lead .wp-block-post-excerpt__more-text { display: none; }

/* Liste de titres nus */
.gv2-titles .wp-block-post-template { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.gv2-titles .wp-block-post-title { margin: 0; font-family: var(--gv2-serif); font-size: 15.5px; font-weight: 400; line-height: 1.45; letter-spacing: 0; }
.gv2-titles .wp-block-post-title a { color: var(--gv2-ink); }

/* Vignettes de rubrique */
/* le <ul> de wp:post-template se dimensionne sur son contenu dans une colonne
   de grille : sans width:100% les vignettes tombent à 66 px au lieu de 144. */
.gv2-thumbs .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.gv2-thumbs .wp-block-post-featured-image { margin: 0; }
.gv2-thumbs .wp-block-post-featured-image img { width: 100%; height: 88px; object-fit: cover; display: block; }

/* Carnet : chaque <li> est une ligne de tableau */
.gv2-tbl-body .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
/* Chaque ligne est sa propre grille : les largeurs doivent être FIXES, sinon
   les colonnes ne s'alignent plus d'une ligne à l'autre. La colonne rubrique
   est donc une variable — 130 px suffisaient à « Décoration » mais coupaient
   « Santé et bien-être » en deux sur shamea. La place est libre : la colonne
   du titre prend tout le reste. */
.gv2-tbl-body .wp-block-post { display: grid; grid-template-columns: 130px var(--gv2-tbl-cat, 172px) minmax(0, 1fr); gap: 22px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--gv2-rule-soft); }
.gv2-tbl-body .wp-block-post-date { font-size: 14.5px; color: var(--gv2-muted); margin: 0; }
.gv2-tbl-body .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 0; }
.gv2-tbl-body .wp-block-post-title { margin: 0; font-family: var(--gv2-serif); font-size: 16px; font-weight: 400; letter-spacing: 0; line-height: 1.45; }
.gv2-tbl-body .wp-block-post-title a { color: var(--gv2-ink); }

/* ── Bandeau engagements ────────────────────────────────────────────────── */
.gv2-band { background: var(--gv2-deep); color: #EDE9DC; padding: clamp(34px, 4.2vw, 54px) var(--gv2-gut); }
.gv2-band h2 { color: #fff; margin: 16px 0 0; font-size: clamp(24px, 2.7vw, 34px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); line-height: 1.14; max-width: 460px; }
.gv2-band .gv2-lbl { color: var(--gv2-gold); }
.gv2-band p { margin: 9px 0 0; font-size: 15px; line-height: 1.7; color: color-mix(in srgb, #fff 74%, var(--gv2-deep)); }
.gv2-band a { color: var(--gv2-gold); border-bottom: 1px solid var(--gv2-gold); padding-bottom: 3px; }

/* ── Rubriques ──────────────────────────────────────────────────────────── */
.gv2-rubrow { display: grid; grid-template-columns: 54px minmax(180px, 250px) 1fr 300px; gap: clamp(14px, 2vw, 30px); align-items: start; padding: 26px 0; border-bottom: 1px solid var(--gv2-rule); }
.gv2-rubrow .gv2-num { font-family: var(--gv2-ui); font-size: 26px; font-weight: 800; letter-spacing: calc(-.04em * var(--gv2-track, 1)); color: var(--gv2-gold); line-height: 1; }
.gv2-rubrow h3 { margin: 0; font-size: clamp(22px, 2.2vw, 28px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); color: var(--gv2-ink); line-height: 1; }
.gv2-rubrow .gv2-count { display: block; margin-top: 9px; color: var(--gv2-green); }
.gv2-rubrow p { margin: 0; font-size: 15.5px; line-height: 1.68; color: var(--gv2-text); }
/* la grille des vignettes vit sur le <ul> de wp:post-template, pas sur le
   conteneur wp:query — sinon le <ul> devient un item et se réduit de moitié. */
.gv2-rubrow .gv2-thumbs img { width: 100%; height: 88px; object-fit: cover; display: block; }

/* ── Repères chiffrés ───────────────────────────────────────────────────── */
.gv2-repere { border-top: 3px solid var(--gv2-green); padding-top: 16px; }
.gv2-repere:nth-child(n+4) { border-top-color: var(--gv2-gold); }
.gv2-repere .gv2-val { font-family: var(--gv2-ui); margin-top: 8px; font-size: 30px; font-weight: 800; letter-spacing: calc(-.04em * var(--gv2-track, 1)); line-height: 1.1; }
.gv2-repere p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.62; color: var(--gv2-text); }

/* ── Carte blanche / autrice ────────────────────────────────────────────── */
.gv2-card { background: #fff; border: 1px solid var(--gv2-rule); }
.gv2-author { padding: clamp(26px, 3.4vw, 42px); }
.gv2-author img.gv2-avatar { width: 118px; height: 118px; object-fit: cover; display: block; flex-shrink: 0; }
.gv2-author h2 { margin: 12px 0 0; font-size: clamp(24px, 2.4vw, 30px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); line-height: 1.14; }
.gv2-author p { margin: 12px 0 0; font-size: 16px; line-height: 1.7; color: var(--gv2-text); }

/* ── Carnet (table) ─────────────────────────────────────────────────────── */
.gv2-tbl-head { display: grid; grid-template-columns: 130px var(--gv2-tbl-cat, 172px) minmax(0, 1fr); gap: 22px; padding: 13px 0 11px; border-bottom: 1px solid var(--gv2-rule); }
.gv2-tbl-head p { margin: 0; color: var(--gv2-muted); }

/* ── Footer ─────────────────────────────────────────────────────────────── */
/* Le pied est TOUJOURS une bande sombre (ses textes sont écrits clair sur foncé).
   Il prenait `--gv2-ink` comme fond : sur un fond « dark », l'encre est claire, et
   le pied sortait crème avec un texte gris illisible (fourchettenomade, marvina…,
   vu le 22/09/2026). Même repli que l'ours : son fond dédié, sinon l'encre. */
.gv2-footer { background: var(--gv2-ours-bg, var(--gv2-ink)); color: #9C9887; padding: clamp(34px, 4vw, 48px) var(--gv2-gut) 34px; }
.gv2-footer a { color: #BAB6A8; font-size: 15px; }
.gv2-footer a:hover { color: var(--gv2-gold); }
.gv2-footer .gv2-lbl { color: var(--gv2-gold); }
.gv2-footer .gv2-brand-name b { color: #F4F2EC; font-size: 21px; }  /* pas --gv2-paper : sombre sur un fond dark */
.gv2-footer .gv2-fcol { display: flex; flex-direction: column; gap: 11px; }
.gv2-footer .gv2-colophon { padding: 26px 0; border-top: 1px solid #2B2D22; border-bottom: 1px solid #2B2D22; }
.gv2-footer .gv2-colophon p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #BAB6A8; }
.gv2-footer .gv2-colophon .gv2-lbl { color: #6E6C5F; }
.gv2-footer .gv2-legal { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 20px; font-size: 13.5px; color: #6E6C5F; }
.gv2-footer .gv2-legal a { font-size: 13.5px; color: #6E6C5F; }

/* ══ ARTICLE ══════════════════════════════════════════════════════════════ */
/* L'article vit dans une bande plus étroite que la home, et sa colonne de
   lecture est fixe : sinon le texte plafonné à 690 px flottait à gauche d'une
   colonne de 1450 px que titres, images et citations remplissaient, elles. */
.gv2-breadcrumb, .gv2-article-layout { --gv2-max: 1180px; }
.gv2-article-layout { display: grid; grid-template-columns: minmax(0, 720px) 300px; gap: clamp(24px, 3.6vw, 52px); justify-content: space-between; align-items: start; padding: 22px var(--gv2-gut) clamp(40px, 4.6vw, 60px); }
.gv2-breadcrumb { padding: 18px var(--gv2-gut) 0; display: flex; align-items: center; gap: 9px; flex-wrap: wrap; font-size: 14px; color: var(--gv2-muted); }
.gv2-breadcrumb a { color: var(--gv2-muted); }
.gv2-breadcrumb a:last-of-type { color: var(--gv2-green); }
.gv2-breadcrumb .sep { color: var(--gv2-gold); }

.gv2-article .wp-block-post-title { margin: 16px 0 0; font-size: clamp(30px, 4vw, 50px); font-weight: 800; line-height: 1.05; letter-spacing: calc(-.045em * var(--gv2-track, 1)); max-width: none; text-wrap: balance; }
.gv2-byline { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 26px; padding: 18px 0; border-top: 1px solid var(--gv2-rule); border-bottom: 1px solid var(--gv2-rule); }
.gv2-byline img { width: 48px; height: 48px; border-radius: 100px; object-fit: cover; display: block; }
.gv2-byline .gv2-who { font-family: var(--gv2-meta); font-size: 15px; font-weight: 700; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-byline .gv2-role { font-size: 14px; color: var(--gv2-muted); margin-top: 2px; }
.gv2-byline .gv2-dates { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 14px; color: var(--gv2-muted); }
.gv2-byline .gv2-checked { color: var(--gv2-green); font-weight: 500; }
/* Les libellés sont posés en CSS : PHP ne sait pas échapper « é » dans un
   format de date, et le bloc sortait vide. */
.gv2-byline .gv2-published::before { content: "Publié le "; }
.gv2-byline .gv2-checked::before { content: "Mis à jour le "; }
.gv2-article .wp-block-post-featured-image { margin-left: 0; margin-right: 0; max-width: 100%; }
.gv2-article .wp-block-post-featured-image img { width: 100%; height: clamp(210px, 30vw, 420px); object-fit: cover; display: block; margin-top: 24px; }

.gv2-article .wp-block-post-content { font-size: clamp(17px, 1.45vw, 18.5px); line-height: 1.8; color: var(--gv2-body); }
.gv2-article .wp-block-post-content > p,
.gv2-article .wp-block-post-content > ul,
.gv2-article .wp-block-post-content > ol,
.gv2-article .wp-block-post-content > blockquote { max-width: none; }
.gv2-article .wp-block-post-content > p { margin: 0 0 20px; text-wrap: pretty; }
.gv2-article .wp-block-post-content h2 { margin: 48px 0 16px; font-size: clamp(24px, 2.4vw, 31px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); line-height: 1.16; }
.gv2-article .wp-block-post-content h3 { margin: 34px 0 12px; font-size: clamp(19px, 1.7vw, 21px); font-weight: 700; letter-spacing: calc(-.03em * var(--gv2-track, 1)); }
.gv2-article .wp-block-post-content img { max-width: 100%; height: auto; }
/* custom.css cible `.single .wp-block-post-content blockquote:not(.is-style-default)`
   soit (0,3,1) : une règle v2 en (0,2,1) perdait, d'où le gris et l'italique qui
   revenaient. D'où le préfixe `.single` ici.
   Le filet horizontal noir en haut se lisait comme une séparation de section et
   entrait en concurrence avec la barre verticale : deux repères pour une même
   citation se contredisent. Il n'en reste qu'un, à gauche. */
.single .gv2-article .wp-block-post-content blockquote,
.single .gv2-article .wp-block-post-content blockquote:not(.is-style-default) {
  border: 0; border-left: 3px solid var(--gv2-gold);
  padding: 2px 0 2px clamp(18px, 2.2vw, 28px); margin: 34px 0;
  font-family: var(--gv2-ui); font-size: clamp(19px, 1.85vw, 24px);
  font-weight: 600; font-style: normal; line-height: 1.34;
  letter-spacing: calc(-.025em * var(--gv2-track, 1)); color: var(--gv2-ink); max-width: none;
}
.single .gv2-article .wp-block-post-content blockquote p {
  margin: 0; font-size: inherit; color: inherit; font-style: normal;
}
.single .gv2-article .wp-block-post-content blockquote cite {
  display: block; margin-top: 12px; font-family: var(--gv2-meta);
  font-size: 13px; font-style: normal; letter-spacing: .04em; color: var(--gv2-muted);
}

/* Blocs injectés par le pipeline de publication */
/* Le temps de lecture est le PREMIER <p> du contenu : il attrape donc le style
   de chapô de custom.css, `.single .wp-block-post-content > p:first-of-type`
   en (0,3,1). Il faut (0,4,0) pour passer devant. Le `font-style` reste perdu :
   le pipeline pose `style="font-style:italic"` en ligne, et rien ne bat ça. */
.single .gv2-article .wp-block-post-content .reading-time {
  font-family: var(--gv2-meta); font-size: 14px; font-style: normal;
  color: var(--gv2-muted); letter-spacing: calc(-.01em * var(--gv2-track, 1)); margin: 0 0 22px;
}
/* custom.css cible `.single .wp-block-post-content .key-takeaways` (0,3,0) :
   il faut passer au-dessus, sinon le bloc reste doré avec des ✓ typographiques. */
.single .gv2-article .wp-block-post-content .key-takeaways {
  background: color-mix(in srgb, var(--gv2-green) 10%, var(--gv2-paper));
  border: 0; border-top: 2px solid var(--gv2-green); border-radius: 0;
  padding: 24px 28px 26px; margin: 32px 0 36px; max-width: none;
}
.single .gv2-article .wp-block-post-content .key-takeaways h3 {
  margin: 0 0 16px; font-family: var(--gv2-ui); font-size: 15px; font-weight: 800;
  letter-spacing: .01em; color: var(--gv2-deep); display: flex; align-items: center; gap: 9px;
}
.single .gv2-article .wp-block-post-content .key-takeaways h3 i { color: var(--gv2-green); }
.single .gv2-article .wp-block-post-content .key-takeaways ul { margin: 0; padding: 0; list-style: none; max-width: none; }
.single .gv2-article .wp-block-post-content .key-takeaways li {
  position: relative; padding: 0 0 0 28px; margin: 0 0 12px;
  font-size: 16px; line-height: 1.6; color: var(--gv2-ink);
}
.single .gv2-article .wp-block-post-content .key-takeaways li:last-child { margin-bottom: 0; }
.single .gv2-article .wp-block-post-content .key-takeaways li strong { color: var(--gv2-ink); font-weight: 600; }
.single .gv2-article .wp-block-post-content .key-takeaways li::before {
  content: ""; position: absolute; left: 0; top: .42em; width: 15px; height: 15px;
  font-size: 0; background: var(--gv2-green);
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E");
}

/* Widgets interactifs injectés par gather-widget.php : centrés sur la colonne,
   à la largeur de lecture. */
.gv2-article .gather-widget { margin-left: 0; margin-right: 0; max-width: none; }

/* Infographies : hautes et chargées en texte, elles mangeaient toute la colonne.
   Hauteur plafonnée, largeur libre, centrée. */
.gv2-article .gather-infographic { display: block; margin: 34px auto; text-align: center; }
.gv2-article .gather-infographic img {
  max-height: 720px; width: auto; max-width: 100%; height: auto;
  display: inline-block; border: 1px solid var(--gv2-rule);
}
/* display:block : le core WP met la légende d'un .aligncenter en table-caption, prévu pour une
   figure en display:table ; dans notre figure en bloc elle se rétrécissait à la largeur d'un mot. */
.gv2-article .gather-infographic figcaption { display: block; margin-top: 10px; font-size: 14px; color: var(--gv2-muted); }
.gv2-article .gather-infographic > a { display: block; line-height: 0; }
.gv2-article .gv2-zoom {
  display: block; width: 100%; margin: 12px 0 0; text-align: center;
  font-family: var(--gv2-ui); font-size: 12px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--gv2-green);
}

/* Signature en tête : le nom doit s'aligner sur le centre de l'avatar */
.gv2-byline .wp-block-post-author { display: flex; align-items: center; gap: 13px; margin: 0; }
.gv2-byline .wp-block-post-author__avatar { display: flex; line-height: 0; }
.gv2-byline .wp-block-post-author__avatar img { width: 48px; height: 48px; border-radius: 100px; object-fit: cover; display: block; }
.gv2-byline .wp-block-post-author__content { display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.gv2-byline .wp-block-post-author__name { margin: 0; font-family: var(--gv2-meta); font-size: 15px; font-weight: 700; letter-spacing: calc(-.02em * var(--gv2-track, 1)); line-height: 1.25; }

/* Sommaire mobile : replié à l'ouverture, sans JS */
.gv2-toc-details { padding: 15px 20px; }
.gv2-toc-details > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center;
  justify-content: space-between; gap: 12px; color: var(--gv2-muted); padding: 2px 0;
}
.gv2-toc-details > summary::-webkit-details-marker { display: none; }
.gv2-toc-details > summary::after {
  content: ""; width: 15px; height: 15px; flex-shrink: 0; background: var(--gv2-ink);
  transition: transform .2s ease;
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.gv2-toc-details[open] > summary::after { transform: rotate(180deg); }
.gv2-toc-details .gv2-toc { margin-top: 10px; }

/* Rail */
.gv2-rail { display: flex; flex-direction: column; gap: 20px; padding-top: clamp(24px, 3vw, 44px); position: sticky; top: 20px; }
.gv2-rail .gv2-card { padding: 22px; }
.gv2-toc a { display: block; padding: 10px 0 10px 12px; border-left: 2px solid var(--gv2-rule-soft); font-size: 15.5px; line-height: 1.42; color: var(--gv2-text); }
.gv2-toc a.is-active { border-left-color: var(--gv2-green); color: var(--gv2-green); font-weight: 500; }
.gv2-toc a.lvl-3 { padding-left: 26px; font-size: 14.5px; color: var(--gv2-muted); }
.gv2-rail .gv2-method li { position: relative; padding-left: 28px; margin-bottom: 14px; font-size: 15px; line-height: 1.58; color: var(--gv2-text); list-style: none; }
.gv2-rail .gv2-method ul { margin: 15px 0 0; padding: 0; }
.gv2-rail .gv2-method li::before {
  content: ""; position: absolute; left: 0; top: .3em; width: 17px; height: 17px; background: var(--gv2-gold);
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 5 5 10-11'/%3E%3C/svg%3E");
}
.gv2-rail .gv2-signal { background: var(--gv2-green); padding: 24px 22px; }
.gv2-rail .gv2-signal p { margin: 12px 0 0; font-size: 16px; line-height: 1.62; color: #fff; }
/* Sur un aplat plein, le libellé et le lien étaient posés en --gv2-gold (accent)
   sur --gv2-green (primary). Les deux viennent de la palette DU SITE : rien ne
   garantit qu'ils contrastent. Sur lesbonnesetapes (primary ocre, accent vert
   sauge) le bloc était illisible — 16/09/2026. Sur aplat, on reste en blanc,
   la hiérarchie se fait à l'opacité et au soulignement. */
.gv2-rail .gv2-signal .gv2-lbl { color: rgba(255,255,255,.82); }
.gv2-rail .gv2-signal a { color: #fff; border-bottom: 1px solid rgba(255,255,255,.55); padding-bottom: 2px; }
.gv2-rail .gv2-signal a:hover { border-bottom-color: #fff; }

.gv2-authorbox { background: var(--gv2-deep); padding: clamp(26px, 2.6vw, 34px); margin-top: 44px; }
.gv2-authorbox .wp-block-post-author { display: grid; grid-template-columns: 84px 1fr; gap: 24px; align-items: start; }
.gv2-authorbox .wp-block-post-author__avatar { line-height: 0; }
.gv2-authorbox .wp-block-post-author__avatar img { width: 84px; height: 84px; border-radius: 100px; object-fit: cover; display: block; }
.gv2-authorbox .wp-block-post-author__content { max-width: 620px; }
.gv2-authorbox .wp-block-post-author__byline {
  font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em;
  /* même raison qu'au bloc « signal » : accent sur aplat foncé = contraste non garanti */
  text-transform: uppercase; color: rgba(255,255,255,.78); margin: 0 0 10px; display: block;
}
.gv2-authorbox .wp-block-post-author__name {
  font-family: var(--gv2-ui); font-size: 22px; font-weight: 800; letter-spacing: calc(-.035em * var(--gv2-track, 1));
  color: #fff; margin: 0; line-height: 1.15;
}
.gv2-authorbox .wp-block-post-author__bio {
  margin: 12px 0 0; font-size: 16px; line-height: 1.72;
  color: color-mix(in srgb, #fff 72%, var(--gv2-deep));
}

/* Articles liés */
/* auto-fit + minmax(250px) ne loge que DEUX colonnes dans les 720 px de la
   colonne de lecture : le troisième article tombait seul sur une deuxième
   ligne. Trois colonnes égales, et la date calée en bas pour que les cartes
   s'alignent même quand un titre passe sur deux lignes. */
.gv2-related .wp-block-post-template.wp-block-post-template {
  list-style: none; margin: 0; padding: 0; width: 100%; max-width: none;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 22px);
}
.gv2-related .wp-block-post { display: flex; flex-direction: column; margin: 0; }
.gv2-related .wp-block-post-featured-image { margin: 0; }
.gv2-related .wp-block-post-title a { font-family: var(--gv2-meta); font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: calc(-.025em * var(--gv2-track, 1)); color: var(--gv2-ink); }
.gv2-related .wp-block-post-featured-image img { width: 100%; height: 150px; object-fit: cover; display: block; }
.gv2-related .wp-block-post-date { font-size: 14px; color: var(--gv2-muted); margin-top: auto; padding-top: 9px; }

/* ── Archives / catégories : reprise minimale au nouveau ton ────────────── */
.wp-block-query .wp-block-post-title a { font-family: var(--gv2-ui); letter-spacing: calc(-.025em * var(--gv2-track, 1)); }
.article-card .wp-block-post-title a { font-family: var(--gv2-ui); }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 780px) {
  .gv2-split, .gv2-rubrow, .gv2-hero, .gv2-article-layout,
  .gv2-tbl-body .wp-block-post { grid-template-columns: minmax(0, 1fr); }
  /* sur mobile le hero est plein cadre des deux côtés, le texte garde ses marges */
  .gv2-hero { padding-left: 0; padding-right: 0; }
  .gv2-hero-text { padding-left: var(--gv2-pad); padding-right: var(--gv2-pad); }
  .gv2-hero .gv2-hero-img { order: -1; min-height: 240px; }
  .gv2-rubrow { gap: 10px; row-gap: 14px; }
  .gv2-tbl-body .wp-block-post { gap: 4px; }
  .gv2-brief .wp-block-post { grid-template-columns: 88px 1fr; }
  .gv2-tbl-head, .gv2-hide-s { display: none !important; }
  .gv2-rail { position: static; }
  .gv2-repere:nth-child(n+4) { border-top-color: var(--gv2-green); }
  .single .gv2-article .key-takeaways { padding: 22px 20px; }
  .gv2-related .wp-block-post-template.wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
  /* sur mobile l'infographie s'ouvre déjà par un appui long : pas de lien */
  .gv2-article .gv2-zoom { display: none; }
  /* custom.css sort l'image à la une du cadre sur mobile (marges -20px) :
     en v2 elle reste alignée sur la colonne de texte. */
  .gv2-article .wp-block-post-featured-image img { margin-left: 0; margin-right: 0; width: 100%; border-radius: 0; }
  .gv2-byline { gap: 12px; }
  .gv2-authorbox .wp-block-post-author { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (min-width: 781px) {
  .gv2-only-s { display: none !important; }
}

/* ══ VARIANTES DE PROFIL ═══════════════════════════════════════════════════
   Blocs qui ne servent pas à kolb mais aux profils opposés. Ils sont dans le
   même fichier que le reste : un seul CSS pour le parc, c'est le profil du
   site qui choisit les blocs. Les jetons (--gv2-paper, --gv2-ink…) sont les
   mêmes, donc un fond clair ou sombre n'oblige à rien réécrire ici.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── À la une, mosaïque ─────────────────────────────────────────────────── */
/* Six tuiles sur quatre colonnes : la 1re et la 6e en occupent deux. C'est la
   disposition relevée sur st-claire, la seule des trois du parc qui reste
   lisible parce qu'elle pose un voile sous le titre. */
.gv2-mosaic { padding-left: var(--gv2-gut); padding-right: var(--gv2-gut); }
.gv2-mosaic .wp-block-post-template.wp-block-post-template {
  list-style: none; margin: 0; padding: 0; width: 100%; max-width: none;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: clamp(180px, 19vw, 250px); gap: 10px;
}
.gv2-mosaic .wp-block-post { position: relative; overflow: hidden; margin: 0; }
.gv2-mosaic .wp-block-post:nth-child(1),
.gv2-mosaic .wp-block-post:nth-child(6) { grid-column: span 2; }
.gv2-mosaic .wp-block-post-featured-image { margin: 0; height: 100%; }
.gv2-mosaic .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Le voile ne monte qu'aux deux tiers : au-delà il mange la photo. */
.gv2-mosaic .wp-block-post::after {
  content: ""; position: absolute; inset: 34% 0 0; pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(12, 12, 10, .78));
}
/* Catégorie et titre dans un MÊME conteneur positionné : placés en absolu
   chacun de son côté, un titre sur deux lignes remontait dans la catégorie.
   Sur photo, toujours la police de texte : les filets d'une didone
   disparaissent sur un fond chargé, même sous le voile. */
.gv2-mosaic-cap {
  position: absolute; z-index: 2; left: 0; right: 0; bottom: 0;
  padding: 0 clamp(14px, 1.4vw, 20px) clamp(13px, 1.3vw, 18px);
}
.gv2-mosaic-cap .wp-block-post-terms {
  margin: 0 0 5px; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; color: #fff; opacity: .84;
}
.gv2-mosaic-cap .wp-block-post-title {
  margin: 0; font-family: var(--gv2-meta); font-size: clamp(15px, 1.35vw, 19px);
  font-weight: 700; line-height: 1.26; letter-spacing: calc(-.02em * var(--gv2-track, 1)); text-wrap: pretty;
}
.gv2-mosaic-cap a { color: #fff; }
.gv2-mosaic .wp-block-post:nth-child(1) .gv2-mosaic-cap .wp-block-post-title { font-size: clamp(18px, 1.7vw, 24px); }

/* ── Manifeste ──────────────────────────────────────────────────────────── */
/* La phrase du média quand elle passe sous l'ouverture au lieu de la tenir. */
.gv2-manifeste { position: relative; padding: clamp(44px, 5.4vw, 80px) var(--gv2-gut); background: var(--gv2-deep); overflow: hidden; }
.gv2-manifeste-img { position: absolute; inset: 0; }
.gv2-manifeste-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-manifeste-photo .gv2-manifeste-img::after {
  content: ""; position: absolute; inset: 0;
  background: color-mix(in srgb, var(--gv2-deep) 76%, transparent);
}
.gv2-manifeste-text { position: relative; z-index: 2; max-width: 760px; }
.gv2-manifeste .gv2-lbl { color: var(--gv2-gold); }
.gv2-manifeste h1 { margin: 14px 0 0; color: #fff; font-size: clamp(27px, 3.4vw, 46px); line-height: 1.08; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-manifeste p { margin: 18px 0 0; font-size: clamp(16px, 1.4vw, 18.5px); line-height: 1.66; color: color-mix(in srgb, #fff 78%, var(--gv2-deep)); max-width: 620px; }

/* ── Rubriques en tuiles décalées ───────────────────────────────────────── */
/* Formats et hauteurs inégaux, départs décalés : c'est le décalage qui la
   distingue d'une grille de cartes. Chaque tuile porte une accroche courte —
   un compteur d'articles ne dit pas ce qu'on trouve dans la rubrique. */
.gv2-rubtiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: clamp(12px, 1.6vw, 22px); align-items: start; margin-top: 26px; }
.gv2-rubtile { position: relative; display: block; overflow: hidden; }
.gv2-rubtile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-rubtile-0 { aspect-ratio: 3 / 4; }
.gv2-rubtile-1 { aspect-ratio: 4 / 3; margin-top: clamp(18px, 2.8vw, 46px); }
.gv2-rubtile-2 { aspect-ratio: 3 / 4; margin-top: clamp(34px, 5vw, 82px); }
.gv2-rubtile-3 { aspect-ratio: 4 / 3; margin-top: clamp(8px, 1.2vw, 18px); }
.gv2-rubtile::after {
  content: ""; position: absolute; inset: 40% 0 0; pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(12, 12, 10, .74));
}
.gv2-rubtile-cap { position: absolute; z-index: 2; left: 0; right: 0; bottom: clamp(14px, 1.4vw, 20px); padding: 0 clamp(14px, 1.4vw, 20px); }
.gv2-rubtile-cap b { display: block; font-family: var(--gv2-meta); font-size: clamp(19px, 1.9vw, 25px); font-weight: 800; letter-spacing: calc(-.04em * var(--gv2-track, 1)); color: #fff; line-height: 1.1; }
.gv2-rubtile-cap .gv2-lbl { margin-top: 5px; color: var(--gv2-gold); }

/* ── Une section par rubrique ──────────────────────────────────────────── */
/* Quatre articles, sans cadre ni ombre : sur un fond uniforme l'image et le
   titre suffisent — c'est ce qui fait tenir la grille de leanova. */
.gv2-catsec .gv2-rule-h h2 a { color: var(--gv2-ink); }
.gv2-catgrid .wp-block-post-template.wp-block-post-template {
  list-style: none; margin: 22px 0 0; padding: 0; width: 100%; max-width: none;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(14px, 1.8vw, 26px);
}
.gv2-catgrid .wp-block-post { margin: 0; }
.gv2-catgrid .wp-block-post-featured-image { margin: 0; }
.gv2-catgrid .wp-block-post-featured-image img { width: 100%; height: clamp(130px, 13vw, 172px); object-fit: cover; display: block; }
.gv2-catgrid .wp-block-post-title { margin: 12px 0 0; font-family: var(--gv2-meta); font-size: 16.5px; font-weight: 700; line-height: 1.32; letter-spacing: calc(-.025em * var(--gv2-track, 1)); }
.gv2-catgrid .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-catgrid .wp-block-post-date { margin: 7px 0 0; font-size: 14px; color: var(--gv2-muted); }

@media (max-width: 780px) {
  .gv2-mosaic .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 40vw, 200px); }
  .gv2-mosaic .wp-block-post:nth-child(1),
  .gv2-mosaic .wp-block-post:nth-child(6) { grid-column: span 2; }
  .gv2-rubtile-1, .gv2-rubtile-2, .gv2-rubtile-3 { margin-top: 0; }
  .gv2-rubtile-0, .gv2-rubtile-1, .gv2-rubtile-2, .gv2-rubtile-3 { aspect-ratio: 16 / 10; }
}

/* ── Chrome : variantes de header et de footer ──────────────────────────── */
/* Ces deux fichiers sont propres à chaque site : c'est là que l'empreinte du
   parc se voit en premier si tout le monde a la même forme. Le contrat
   d'information ne bouge pas (bandeau daté, marque, nav, ours, ligne légale),
   seule la disposition change. */

/* Header « marque centrée » : le wordmark prend toute la largeur, la nav passe
   dessous sur un filet. Forme de titre de presse — pour les sites dont la
   marque porte le design plutôt qu'une photo. */
.gv2-header-centre { flex-direction: column; gap: 15px; padding-top: 26px; padding-bottom: 0; }
.gv2-header-centre .gv2-brand { flex-direction: column; gap: 9px; text-align: center; }
.gv2-header-centre .gv2-brand img { width: 44px; height: 44px; }
.gv2-header-centre .gv2-brand-name b { font-size: clamp(27px, 3.2vw, 42px); }
.gv2-header-centre .gv2-brand-name span { letter-spacing: .42em; margin-top: 5px; }
.gv2-header-centre .gv2-nav {
  width: 100%; justify-content: center; gap: clamp(16px, 2.4vw, 36px);
  border-top: 1px solid var(--gv2-rule); padding: 14px 0;
}
.gv2-header-centre .gv2-nav-cta { color: var(--gv2-green); font-weight: 700; }

/* Footer « ours continu » : pas de colonnes. Le wordmark en grand, l'ours en
   texte suivi comme un pavé de mentions de presse, les liens sur une ligne. */
.gv2-footer-continu .gv2-brand-xl .gv2-brand-name b { font-size: clamp(29px, 4vw, 50px); }
.gv2-footer-continu .gv2-brand-xl img { width: 46px; height: 46px; }
.gv2-footer-blurb { margin: 16px 0 0; font-size: 16px; line-height: 1.7; max-width: 560px; color: #BAB6A8; }
.gv2-ours-run {
  margin: 26px 0 0; padding: 20px 0; border-top: 1px solid #2B2D22; border-bottom: 1px solid #2B2D22;
  font-size: 14.5px; line-height: 1.85; color: #BAB6A8; max-width: 940px;
}
.gv2-ours-run b {
  font-family: var(--gv2-ui); font-size: 10px; font-weight: 700; letter-spacing: .2em;
  text-transform: uppercase; color: var(--gv2-gold);
}
.gv2-footer-links { display: flex; flex-wrap: wrap; gap: 11px 24px; padding: 20px 0 2px; }

/* Footer « minimal » : une marque, une ligne de liens, une ligne légale.
   L'ours complet reste sur la page mentions légales. */
.gv2-footer-min { padding-bottom: 26px; }
.gv2-footer-min .gv2-footer-links { padding: 18px 0 4px; border-bottom: 1px solid #2B2D22; }
.gv2-footer-min .gv2-legal { padding-top: 16px; }

/* ── Page de rubrique ───────────────────────────────────────────────────── */
/* Elle n'ouvre pas sur une grille de cartes : quatre dernières parutions, puis
   tout le fonds listé par année. Sur 131 guides, la grille paginée ne montre
   rien du volume ; la liste le montre en un écran, et maille tout le fonds. */
.gv2-rub-head { padding-top: 10px; padding-bottom: clamp(26px, 3vw, 38px); }
.gv2-rub-head h1 { margin: 0; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.04; letter-spacing: calc(-.045em * var(--gv2-track, 1)); }
.gv2-rub-head p { margin: 16px 0 0; font-size: clamp(16px, 1.4vw, 18.5px); line-height: 1.66; color: var(--gv2-text); max-width: 620px; }
.gv2-rub-head .gv2-rub-count { margin-top: 14px; color: var(--gv2-green); font-size: 10px; }

.gv2-archive { margin-top: 4px; }
.gv2-arch-year { padding: 22px 0 4px; border-top: 1px solid var(--gv2-rule); }
.gv2-arch-year h3 {
  margin: 0 0 12px; font-size: clamp(19px, 1.8vw, 23px); letter-spacing: calc(-.04em * var(--gv2-track, 1));
  color: var(--gv2-muted); font-weight: 800;
}
/* Colonnes, pas grille : le lecteur balaie une colonne du regard, et le
   nombre de colonnes suit la largeur sans qu'on ait à le décider. */
.gv2-arch-list { column-width: 310px; column-gap: clamp(22px, 3vw, 46px); }
.gv2-arch-list a {
  display: flex; gap: 12px; align-items: baseline; break-inside: avoid;
  padding: 7px 0; border-bottom: 1px solid var(--gv2-rule-soft); color: var(--gv2-ink);
}
.gv2-arch-list a:hover .gv2-arch-title { color: var(--gv2-green); }
.gv2-arch-date {
  flex: 0 0 22px; text-align: right; font-family: var(--gv2-meta); font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--gv2-muted); padding-top: 3px;
}
.gv2-arch-title { font-size: 15.5px; line-height: 1.42; text-wrap: pretty; }

@media (max-width: 780px) {
  .gv2-arch-list { column-width: auto; columns: 1; }
}

/* ── Ouverture « photo voilée » ─────────────────────────────────────────── */
/* Photo pleine largeur, voile, titre posé dessus. Pour les sites qui ont une
   photo forte et rien à mettre à côté — et pour un fond sombre, où le voile
   prolonge la page au lieu de la trouer. */
.gv2-veiled { position: relative; overflow: hidden; display: flex; align-items: flex-end;
  min-height: clamp(360px, 46vw, 620px); padding: clamp(34px, 4.4vw, 64px) var(--gv2-gut); }
.gv2-veiled-img { position: absolute; inset: 0; }
.gv2-veiled-img img { width: 100%; height: 100%; object-fit: cover;
  object-position: var(--gv2-hero-pos, center); display: block; }
.gv2-veiled-img::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,11,14,.88) 0%, rgba(10,11,14,.62) 46%, rgba(10,11,14,.28) 100%); }
.gv2-veiled-text { position: relative; z-index: 2; max-width: 760px; }
.gv2-veiled h1 { margin: 14px 0 0; color: #fff; font-size: clamp(30px, 3.9vw, 54px);
  line-height: 1.05; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-veiled p { margin: 18px 0 0; font-size: clamp(16px, 1.4vw, 18.5px); line-height: 1.66;
  color: rgba(255,255,255,.82); max-width: 620px; text-wrap: pretty; }

/* ── Fond sombre : ce que les blocs ne peuvent pas deviner ──────────────── */
/* Le bandeau daté est écrit clair sur --gv2-ink. Sur un fond sombre, --gv2-ink
   DEVIENT clair : la bande passait en clair-sur-clair et « Proposer un sujet »
   devenait illisible. Deux jetons dédiés, que le fond redéfinit. */
.gv2-ours { background: var(--gv2-ours-bg, var(--gv2-ink)); color: var(--gv2-ours-fg, #EDE9DC); }
.gv2-ours .gv2-lbl { color: inherit; }
.gv2-ours a.gv2-lbl { color: var(--gv2-gold); }

/* Les libellés et les paragraphes des blocs suivent désormais les jetons du
   site : ils étaient écrits en dur avec les valeurs de kolb (fond papier). */
.gv2-g3 > div > .gv2-lbl, .gv2-repere > .gv2-lbl { color: var(--gv2-muted); }
.gv2-g3 > div > p { color: var(--gv2-text); }

/* La nav mérite un filet : sur fond sombre, une rangée de mots sans repère
   flotte. Le trait la rattache au bandeau daté au-dessus. */
.gv2-header { border-top: 1px solid var(--gv2-rule); }
.gv2-nav a { position: relative; padding-bottom: 4px; }
.gv2-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: var(--gv2-gold); transform: scaleX(0); transform-origin: left;
  transition: transform .18s ease;
}
.gv2-nav a:hover::after { transform: scaleX(1); }

/* Footer « ours continu » : il se bridait à 940 px dans un conteneur de 1280,
   ce qui coupait la ligne légale en deux. Il prend toute la bande. */
.gv2-footer-continu .gv2-ours-run { max-width: none; }
.gv2-footer-continu .gv2-footer-blurb { max-width: 720px; }

/* La bande de rubriques du header centré : c'est elle qui porte la structure,
   pas le logo. Filets au-dessus et en dessous, séparateurs entre les entrées,
   et la rubrique courante soulignée — quatre mots flottant au milieu d'une
   bande large se lisaient comme un remplissage. */
.gv2-header-centre .gv2-nav {
  border-top: 1px solid var(--gv2-rule); border-bottom: 1px solid var(--gv2-rule);
  padding: 0; gap: 0; margin-top: 4px;
}
.gv2-header-centre .gv2-nav a {
  padding: 14px clamp(15px, 1.9vw, 30px); font-size: 14px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; border-left: 1px solid var(--gv2-rule-soft);
}
.gv2-header-centre .gv2-nav a:first-child { border-left: 0; }
.gv2-header-centre .gv2-nav a::after { bottom: -1px; height: 2px; }
/* Logique de couleur : l'OR signifie une action, pas un état. La rubrique
   courante se marque par son trait et son blanc plein ; l'or est réservé au
   seul lien qui demande un geste. Sans ça, « Nous écrire » se perdait au
   milieu des rubriques. */
.gv2-header-centre .gv2-nav a[aria-current] { color: var(--gv2-ink); font-weight: 700; }
.gv2-header-centre .gv2-nav a[aria-current]::after { transform: scaleX(1); background: var(--gv2-gold); }
.gv2-header-centre .gv2-nav-cta { color: var(--gv2-gold); font-weight: 700; }
.gv2-header-centre .gv2-nav-cta::before {
  content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 9px;
  background: var(--gv2-gold); transform: rotate(45deg); vertical-align: .12em;
}

/* Encadré hérité d'un autre pipeline (cf. functions.php) : le contenu portait
   sa couleur en dur. Repris aux jetons du site pour tenir sur tous les fonds. */
.gv2-article .wp-block-post-content .gv2-encadre {
  background: color-mix(in srgb, var(--gv2-green) 12%, var(--gv2-paper));
  border-left: 3px solid var(--gv2-green);
  padding: 20px 24px; margin: 30px 0; max-width: none;
  font-size: 16.5px; line-height: 1.66; color: var(--gv2-ink);
}

/* Vidéos embarquées : WordPress sort une iframe à sa taille d'origine (500 px
   ici), qui flotte dans une colonne de 720. Elles prennent la largeur de
   lecture et gardent leur rapport. */
.gv2-article .wp-block-post-content iframe,
.gv2-article .wp-block-post-content .wp-block-embed__wrapper iframe {
  width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; display: block;
}
.gv2-article .wp-block-post-content figure.wp-block-embed { margin: 30px 0; max-width: none; }

/* Un embarquement TikTok est un <blockquote> par convention, pas une citation :
   la mise en forme des exergues en faisait un pavé de hashtags en gros corps.
   Il reprend une apparence neutre et se centre sur la colonne de lecture. */
.single .gv2-article .wp-block-post-content blockquote.tiktok-embed,
.single .gv2-article .wp-block-post-content blockquote[cite*="tiktok.com"] {
  border: 0; padding: 0; margin: 30px auto; font-family: var(--gv2-serif);
  font-size: 16px; font-weight: 400; line-height: 1.7; letter-spacing: 0;
  color: var(--gv2-text); max-width: 605px;
}
.single .gv2-article .wp-block-post-content blockquote.tiktok-embed a { color: var(--gv2-green); }

/* Les vidéos posées en <iframe> nue, sans figure autour, n'avaient aucun
   rythme vertical : elles collaient au paragraphe suivant. */
.gv2-article .wp-block-post-content > iframe { margin: 30px 0; }

/* Les vidéos arrivent enveloppées dans un <p> (le contenu n'est pas en blocs) :
   elles héritaient de la marge d'un paragraphe et collaient au texte. */
.gv2-article .wp-block-post-content p:has(> iframe) {
  margin: 34px 0; max-width: none; line-height: 0;
}

/* ── Tableaux ───────────────────────────────────────────────────────────── */
/* Le contenu en pose sans aucune classe : ils rendaient sans bordure ni
   rythme. Traitement de tableau de presse — filet fort sous l'en-tête, filets
   fins entre les lignes, aucun quadrillage vertical. */
.gv2-article .wp-block-post-content table,
.gv2-article .wp-block-post-content figure.wp-block-table table {
  width: 100%; max-width: none; margin: 32px 0; border-collapse: collapse;
  font-size: 15.5px; line-height: 1.55; color: var(--gv2-body);
}
.gv2-article .wp-block-post-content table th {
  text-align: left; font-family: var(--gv2-meta); font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--gv2-muted);
  padding: 0 14px 10px 0; border-bottom: 2px solid var(--gv2-ink);
}
.gv2-article .wp-block-post-content table td {
  padding: 12px 14px 12px 0; border-bottom: 1px solid var(--gv2-rule-soft);
  vertical-align: top;
}
.gv2-article .wp-block-post-content table tr > *:last-child { padding-right: 0; }
.gv2-article .wp-block-post-content table strong { color: var(--gv2-ink); }
/* Un tableau large ne doit jamais élargir la page : il défile dans son cadre. */
.gv2-article .wp-block-post-content figure.wp-block-table { overflow-x: auto; margin: 32px 0; max-width: none; }

/* Page simple : la colonne de lecture de l'article, sans le rail. */
.gv2-page { padding: 10px var(--gv2-gut) clamp(48px, 5vw, 76px); }
.gv2-page .gv2-article { max-width: 720px; }
.gv2-page .gv2-article .wp-block-post-title { margin: 8px 0 26px; }

/* ── Formulaire de contact ──────────────────────────────────────────────── */
/* WPForms impose ses couleurs (texte en rgba(0,0,0,.7), étiquettes en .85) :
   illisible dès que le fond n'est pas blanc. Tout repasse aux jetons, avec le
   traitement du reste du design — des filets plutôt que des boîtes arrondies. */
/* WPForms 1.8 se pilote par variables CSS : les régler vaut mieux que lutter
   contre ses sélecteurs, qui gagnent presque toujours. */
.gv2-page .wpforms-container {
  --wpforms-field-border-color: var(--gv2-rule-strong, var(--gv2-muted));
  --wpforms-field-background-color: color-mix(in srgb, var(--gv2-ink) 6%, var(--gv2-paper));
  --wpforms-field-text-color: var(--gv2-ink);
  --wpforms-field-border-radius: 0px;
  --wpforms-label-color: var(--gv2-muted);
  --wpforms-label-sublabel-color: var(--gv2-muted);
  --wpforms-label-error-color: #E0776A;
  --wpforms-button-background-color: var(--gv2-green);
  --wpforms-button-text-color: #ffffff;
  --wpforms-button-border-radius: 0px;
  --wpforms-field-size-large-spacing: 12px;
}
.gv2-page .wpforms-container,
.gv2-page .wpforms-container * { color: var(--gv2-body); }
.gv2-page .wpforms-container .wpforms-field-label,
.gv2-page .wpforms-container label.wpforms-field-label {
  font-family: var(--gv2-meta); font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--gv2-muted); margin-bottom: 8px;
}
.gv2-page .wpforms-container input[type="text"],
.gv2-page .wpforms-container input[type="email"],
.gv2-page .wpforms-container textarea {
  width: 100%; background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper));
  border: 1px solid color-mix(in srgb, var(--gv2-muted) 55%, transparent); border-radius: 0; box-shadow: none;
  padding: 12px 14px; font-family: var(--gv2-serif); font-size: 16.5px;
  line-height: 1.5; color: var(--gv2-ink);
}
.gv2-page .wpforms-container input:focus,
.gv2-page .wpforms-container textarea:focus {
  outline: 0; border-color: var(--gv2-gold); background: color-mix(in srgb, var(--gv2-ink) 8%, var(--gv2-paper));
}
.gv2-page .wpforms-container ::placeholder { color: var(--gv2-muted); opacity: 1; }
.gv2-page .wpforms-container button[type="submit"],
.gv2-page .wpforms-container .wpforms-submit {
  font-family: var(--gv2-meta); font-size: 13px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: #fff; background: var(--gv2-green);
  border: 0; border-radius: 0; padding: 14px 30px; cursor: pointer;
}
.gv2-page .wpforms-container button[type="submit"]:hover { background: var(--gv2-deep); }
.gv2-page .wpforms-container .wpforms-required-label { color: var(--gv2-gold); }
.gv2-page .wpforms-container .wpforms-error { color: #E0776A; font-size: 14px; }

/* ── Ouverture « wordmark en grand » ────────────────────────────────────── */
/* Aucune photo : le nom du média occupe la largeur, la déclaration vient
   dessous sur deux colonnes. Pour les sujets dont l'imagerie disponible est un
   cliché — mieux vaut ne rien montrer. */
.gv2-wordmark { padding: clamp(28px, 3.4vw, 48px) var(--gv2-gut) clamp(34px, 4vw, 58px); }
.gv2-wordmark-mark {
  display: flex; align-items: baseline; gap: clamp(8px, 1vw, 16px);
  margin: 14px 0 0; line-height: .82; letter-spacing: calc(-.055em * var(--gv2-track, 1)); color: var(--gv2-ink);
  font-family: var(--gv2-ui); font-weight: 800;
  font-size: clamp(56px, 13.5vw, 190px);
}
.gv2-wordmark-mark i {
  font-style: normal; font-weight: 400; letter-spacing: .02em;
  font-size: clamp(16px, 1.9vw, 30px); color: var(--gv2-muted); align-self: flex-end;
  padding-bottom: .35em;
}
.gv2-wordmark-say {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(20px, 3vw, 48px);
  margin-top: clamp(22px, 2.6vw, 38px); padding-top: clamp(20px, 2.4vw, 32px);
  border-top: 2px solid var(--gv2-ink);
}
.gv2-wordmark-say h1 {
  margin: 0; font-size: clamp(22px, 2.5vw, 34px); line-height: 1.14;
  letter-spacing: calc(-.04em * var(--gv2-track, 1)); text-wrap: balance;
}
.gv2-wordmark-say p {
  margin: 0; font-size: clamp(16px, 1.35vw, 18px); line-height: 1.68;
  color: var(--gv2-text); text-wrap: pretty;
}
@media (max-width: 780px) { .gv2-wordmark-say { grid-template-columns: minmax(0, 1fr); } }

/* Le libellé de la signature était trop sombre sur le pavé de l'encart : une
   couleur d'accent foncée (brique, orange brûlé) sur un fond déjà foncé ne
   passe pas à 10 px. Il est éclairci à partir de l'accent du site, donc il
   reste juste quelle que soit la palette. */
.gv2-authorbox .wp-block-post-author__byline {
  font-size: 11px; letter-spacing: .18em;
  color: color-mix(in srgb, var(--gv2-gold) 62%, #fff);
}

/* ── Ouverture « une » ──────────────────────────────────────────────────── */
/* Le dernier article en grand, et rien d'autre : le site montre ce qu'il fait
   avant de dire ce qu'il est. La déclaration vient dans le bloc suivant. */
.gv2-lead-open { padding: clamp(20px, 2.4vw, 32px) var(--gv2-gut) clamp(34px, 4vw, 54px); }
.gv2-lead-open > .gv2-lbl { color: var(--gv2-muted); }
.gv2-lead-open .wp-block-post-template { list-style: none; margin: 12px 0 0; padding: 0; }
.gv2-lead-open .wp-block-post-featured-image { margin: 0; }
.gv2-lead-open .wp-block-post-featured-image img {
  width: 100%; height: clamp(240px, 34vw, 520px); object-fit: cover;
  object-position: var(--gv2-hero-pos, center); display: block;
}
.gv2-lead-open .wp-block-post-terms {
  margin: 20px 0 0; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green);
}
.gv2-lead-open .wp-block-post-title {
  margin: 10px 0 0; font-size: clamp(28px, 3.6vw, 50px); line-height: 1.06;
  letter-spacing: calc(-.045em * var(--gv2-track, 1)); max-width: 15ch; text-wrap: balance;
}
.gv2-lead-open .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-lead-open .wp-block-post-excerpt {
  margin: 16px 0 0; font-size: clamp(16px, 1.4vw, 18.5px); line-height: 1.66;
  color: var(--gv2-text); max-width: 620px;
}
/* Sous une image pleine largeur, un titre et un chapô empilés à gauche
   laissaient 650 px de vide à droite. Ils se répartissent en deux colonnes :
   le titre porte, le chapô accompagne, et il se cale sur la dernière ligne du
   titre plutôt que sur la première. */
@media (min-width: 900px) {
  .gv2-lead-open .wp-block-post {
    display: grid; grid-template-columns: 1.35fr 1fr;
    column-gap: clamp(26px, 3.4vw, 60px);
  }
  .gv2-lead-open .wp-block-post-featured-image { grid-column: 1 / -1; }
  .gv2-lead-open .wp-block-post-terms  { grid-column: 1; grid-row: 2; }
  .gv2-lead-open .wp-block-post-title  { grid-column: 1; grid-row: 3; max-width: none; }
  .gv2-lead-open .wp-block-post-excerpt {
    grid-column: 2; grid-row: 2 / span 2; align-self: end;
    max-width: none; margin: 0;
  }
}

/* ── Les questions qui reviennent ───────────────────────────────────────── */
/* Bloc dense qui se remplit depuis le corpus : beaucoup de surface, beaucoup
   de liens internes, et rien à tenir — ce sont les articles du site. */
.gv2-questions { column-width: 330px; column-gap: clamp(24px, 3vw, 52px); margin-top: 24px; }
.gv2-questions a {
  display: flex; gap: 12px; align-items: baseline; break-inside: avoid;
  padding: 11px 0; border-bottom: 1px solid var(--gv2-rule-soft);
  color: var(--gv2-ink); font-size: 16px; line-height: 1.42; text-wrap: pretty;
}
.gv2-questions a:hover { color: var(--gv2-green); }
.gv2-q-mark {
  flex: 0 0 auto; font-family: var(--gv2-ui); font-weight: 800; font-size: 15px;
  color: var(--gv2-gold); line-height: 1.4;
}

/* ── Les chiffres du fonds ──────────────────────────────────────────────── */
.gv2-chiffres {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: clamp(22px, 2.8vw, 44px); margin-top: 34px;
}
/* Pas de filet sur les cellules : le filet de section est déjà 30 px au-dessus,
   et trois traits empilés font du bruit. Les nombres portent seuls. */
.gv2-chiffre { padding-top: 4px; }
.gv2-chiffre .gv2-lbl { color: var(--gv2-green); }
.gv2-chiffre:nth-child(even) .gv2-lbl { color: var(--gv2-gold); }
.gv2-chiffre-n {
  font-family: var(--gv2-ui); font-size: clamp(34px, 4vw, 54px); font-weight: 800;
  letter-spacing: calc(-.05em * var(--gv2-track, 1)); line-height: 1; color: var(--gv2-ink); margin-bottom: 8px;
}
.gv2-chiffre p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--gv2-text); }

/* ── Bandeau en filigrane ───────────────────────────────────────────────── */
/* Le nom du média en très grand derrière, presque invisible, et les rubriques
   par-dessus. Une respiration sombre au milieu d'une page claire, et beaucoup
   de surface pour deux mots par rubrique. */
.gv2-filigrane {
  position: relative; overflow: hidden; background: var(--gv2-deep);
  padding: clamp(48px, 6vw, 92px) var(--gv2-gut);
}
.gv2-filigrane-mark {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  font-family: var(--gv2-ui); font-weight: 800; letter-spacing: calc(-.06em * var(--gv2-track, 1));
  font-size: clamp(120px, 22vw, 330px); line-height: 1; white-space: nowrap;
  color: color-mix(in srgb, #fff 7%, transparent); pointer-events: none; user-select: none;
}
.gv2-filigrane-grid {
  position: relative; z-index: 2; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: clamp(22px, 3vw, 46px);
}
.gv2-filigrane-grid a { display: block; }
.gv2-filigrane-grid b {
  display: block; font-family: var(--gv2-serif); font-weight: 400;
  font-size: clamp(24px, 2.6vw, 36px); line-height: 1.12; letter-spacing: calc(-.02em * var(--gv2-track, 1));
  color: #fff; padding-bottom: 14px; border-bottom: 1px solid color-mix(in srgb, #fff 26%, transparent);
}
.gv2-filigrane-grid span {
  display: block; margin-top: 12px; font-family: var(--gv2-meta); font-size: 11px;
  font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: color-mix(in srgb, var(--gv2-gold) 76%, #fff);
}
.gv2-filigrane-grid a:hover b { color: var(--gv2-gold); }

/* ── Appel ──────────────────────────────────────────────────────────────── */
.gv2-appel {
  padding: clamp(40px, 5vw, 76px) var(--gv2-gut);
  border-top: 2px solid var(--gv2-ink); border-bottom: 1px solid var(--gv2-rule);
}
.gv2-appel .gv2-lbl { color: var(--gv2-muted); }
.gv2-appel h2 {
  margin: 14px 0 0; font-size: clamp(26px, 3.2vw, 44px); line-height: 1.1;
  letter-spacing: calc(-.045em * var(--gv2-track, 1)); max-width: 18ch; text-wrap: balance;
}
.gv2-appel-liens { display: flex; flex-wrap: wrap; gap: 14px 34px; margin-top: 26px; }
.gv2-appel-liens a { font-family: var(--gv2-meta); font-size: 13px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--gv2-green); }

/* ── Le fonds, variante « cartes » ──────────────────────────────────────── */
/* Même donnée que la variante en colonnes, autre page : cartes détachées sur
   un fond teinté, comme sur good-in. */
.gv2-cartes-band {
  background: color-mix(in srgb, var(--gv2-green) 9%, var(--gv2-paper));
  padding: clamp(38px, 4.6vw, 68px) var(--gv2-gut);
}
.gv2-cartes {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: clamp(16px, 2vw, 28px);
}
.gv2-carte {
  background: var(--gv2-paper); padding: clamp(22px, 2.4vw, 30px);
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 12px 28px -18px rgba(0,0,0,.35);
}
.gv2-carte .gv2-lbl { color: var(--gv2-green); }
.gv2-carte p { margin: 12px 0 0; font-size: 15.5px; line-height: 1.62; color: var(--gv2-text); }

/* ── Mise en avant ──────────────────────────────────────────────────────── */
.gv2-avant {
  display: grid; grid-template-columns: 1fr 1fr; align-items: stretch;
  min-height: clamp(300px, 34vw, 480px);
}
.gv2-avant-img { position: relative; min-height: 260px; }
.gv2-avant-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-avant-texte {
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(30px, 4vw, 64px) var(--gv2-gut) clamp(30px, 4vw, 64px) clamp(30px, 4vw, 64px);
  background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper));
}
.gv2-avant-flip { direction: rtl; }
.gv2-avant-flip > * { direction: ltr; }
.gv2-avant-texte .gv2-lbl { color: var(--gv2-gold); }
.gv2-avant-texte h2 { margin: 14px 0 0; font-size: clamp(24px, 2.8vw, 38px); line-height: 1.12; letter-spacing: calc(-.04em * var(--gv2-track, 1)); max-width: 16ch; }
.gv2-avant-texte p { margin: 14px 0 0; font-size: 16.5px; line-height: 1.68; color: var(--gv2-text); max-width: 46ch; }
.gv2-avant-texte .gv2-cta { align-self: flex-start; margin-top: 26px; }
@media (max-width: 780px) {
  .gv2-avant { grid-template-columns: minmax(0, 1fr); }
  .gv2-avant-texte { padding-left: var(--gv2-gut); padding-right: var(--gv2-gut); }
}

/* Filigrane : intitulé nécessaire dès que les entrées ne sont plus des rubriques
   (le lecteur ne devine pas de quoi la liste parle). */
.gv2-filigrane-lbl{position:relative;z-index:1;display:block;margin-bottom:26px;color:var(--gv2-meta-color,inherit);opacity:.72}

/* ══ SQUELETTES (07/09/2026) ═══════════════════════════════════════════════
   Six squelettes de home, validés sur le canvas. Les blocs « site » (cartes,
   présentation, accordéon, pourquoi, portrait, étapes) ne dépendent d'aucun
   article. Tout suit les jetons : un fond sombre n'oblige à rien réécrire.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Icônes et cartes à icône ───────────────────────────────────────────── */
.gv2-ico { display: inline-block; width: 28px; height: 28px; color: var(--gv2-green); }
.gv2-ico svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; display: block; }
.gv2-icard {
  border: 1px solid var(--gv2-rule); padding: clamp(18px, 2vw, 26px) clamp(16px, 1.8vw, 22px);
  background: color-mix(in srgb, var(--gv2-ink) 2%, var(--gv2-paper));
}
.gv2-icard b { display: block; margin-top: 14px; font-family: var(--gv2-ui); font-size: 16.5px; font-weight: 800; letter-spacing: calc(-.03em * var(--gv2-track, 1)); line-height: 1.2; color: var(--gv2-ink); }
.gv2-icard p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--gv2-text); }
.gv2-icard-soft { border: 0; background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); }
.gv2-icard-soft .gv2-ico { color: var(--gv2-gold); }
.gv2-icards { padding-top: clamp(26px, 3vw, 40px); padding-bottom: clamp(30px, 3.6vw, 48px); }
.gv2-icards-lbl { color: var(--gv2-muted); margin-bottom: 16px; }
.gv2-icards .gv2-rule-h { margin-bottom: 22px; }
.gv2-icards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
.gv2-icards-2 .gv2-icards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ── Étiquettes (filtres, rail) ─────────────────────────────────────────── */
.gv2-filtres { padding-bottom: clamp(20px, 2.4vw, 30px); }
.gv2-filtres-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 0; border-top: 1px solid var(--gv2-rule); border-bottom: 1px solid var(--gv2-rule); }
.gv2-pill {
  display: inline-block; padding: 6px 14px; border: 1px solid var(--gv2-rule); border-radius: 999px;
  font-family: var(--gv2-meta); font-size: 13px; font-weight: 600; letter-spacing: calc(-.01em * var(--gv2-track, 1)); color: var(--gv2-text);
}
.gv2-pill:hover { border-color: var(--gv2-ink); color: var(--gv2-ink); }
.gv2-pill-on { background: var(--gv2-ink); border-color: var(--gv2-ink); color: var(--gv2-paper); }
.gv2-filtres-note { margin-left: auto; font-size: 13px; color: var(--gv2-muted); }

/* ── Ticker ─────────────────────────────────────────────────────────────── */
.gv2-ticker { display: flex; align-items: center; gap: 18px; padding: 9px var(--gv2-gut); border-bottom: 1px solid var(--gv2-rule); overflow: hidden; }
.gv2-ticker > .gv2-lbl { flex: 0 0 auto; color: var(--gv2-green); }
.gv2-ticker-q { min-width: 0; flex: 1 1 auto; }
.gv2-ticker-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; white-space: nowrap; overflow: hidden; max-width: none; }
.gv2-ticker-q .wp-block-post { margin: 0; flex: 0 0 auto; display: flex; align-items: center; }
.gv2-ticker-q .wp-block-post + .wp-block-post::before { content: ""; width: 5px; height: 5px; margin: 0 16px; background: var(--gv2-gold); transform: rotate(45deg); flex: 0 0 auto; }
.gv2-ticker-q .wp-block-post-title { margin: 0; font-family: var(--gv2-serif); font-size: 14.5px; font-weight: 400; letter-spacing: 0; line-height: 1.4; }
.gv2-ticker-q .wp-block-post-title a { color: var(--gv2-ink); }

/* ── À la une « lead + les plus lus » ───────────────────────────────────── */
.gv2-unelus-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: clamp(22px, 3vw, 44px); margin-top: 22px; }
.gv2-lead-big .wp-block-post { position: relative; margin: 0; }
.gv2-lead-big .wp-block-post-featured-image img { height: clamp(260px, 34vw, 480px); }
.gv2-lead-big .gv2-lead-cap {
  position: relative; margin: -70px clamp(16px, 2.4vw, 32px) 0; padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2vw, 26px);
  background: var(--gv2-paper); border: 1px solid var(--gv2-rule);
}
.gv2-lead-big .wp-block-post-title { margin: 8px 0 0; font-size: clamp(22px, 2.5vw, 34px); line-height: 1.1; letter-spacing: calc(-.04em * var(--gv2-track, 1)); }
.gv2-lead-big .wp-block-post-excerpt { margin: 10px 0 0; font-size: 15.5px; }
.gv2-pluslus > .gv2-lbl { display: block; padding-bottom: 10px; border-bottom: 2px solid var(--gv2-ink); color: var(--gv2-ink); }
.gv2-lus { list-style: none; margin: 0; padding: 0; counter-reset: lus; }
.gv2-lus li { counter-increment: lus; }
.gv2-lus a { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--gv2-rule-soft); color: var(--gv2-ink); align-items: baseline; }
.gv2-lus a::before { content: "0" counter(lus); font-family: var(--gv2-ui); font-weight: 800; font-size: 20px; letter-spacing: calc(-.04em * var(--gv2-track, 1)); color: var(--gv2-muted); }
.gv2-lus-t { display: block; font-size: 15.5px; line-height: 1.32; font-family: var(--gv2-meta); font-weight: 700; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-lus-m { display: block; grid-column: 2; margin-top: -8px; font-size: 12.5px; color: var(--gv2-muted); }
.gv2-lus a:hover .gv2-lus-t { color: var(--gv2-green); }

/* ── Tuiles ─────────────────────────────────────────────────────────────── */
.gv2-tuiles.gv2-mosaic { padding-left: 0; padding-right: 0; }
.gv2-tuiles .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(170px, 18vw, 230px); gap: clamp(12px, 1.4vw, 18px); }
.gv2-tuiles .wp-block-post:nth-child(1), .gv2-tuiles .wp-block-post:nth-child(6) { grid-column: auto; }
.gv2-tuiles-cartes .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.gv2-tuiles-cartes .wp-block-post-featured-image img { height: clamp(150px, 15vw, 210px); }
.gv2-tuiles-cartes .wp-block-post-terms { margin: 12px 0 0; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); }
.gv2-tuiles-cartes .wp-block-post-title { margin: 6px 0 0; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(17px, 1.5vw, 20px); letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-uneplus .gv2-rule-h { margin-bottom: 22px; }

/* ── Par rubrique, dense ────────────────────────────────────────────────── */
.gv2-dense { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3.4vw, 52px); }
.gv2-dense-col { margin: 0; }
.gv2-rule-h-s h2 { font-size: clamp(20px, 2vw, 24px); }
.gv2-rule-h-s h2 a { color: var(--gv2-ink); }
.gv2-rule-h-s .gv2-side { font-family: var(--gv2-meta); font-size: 12px; font-weight: 600; color: var(--gv2-green); }
.gv2-dense .gv2-brief .wp-block-post { grid-template-columns: 96px 1fr; align-items: center; padding: 13px 0; }
.gv2-dense .gv2-brief .wp-block-post-featured-image img { width: 96px; height: 64px; }
.gv2-dense .gv2-brief .wp-block-post-title { margin: 0; font-size: 15.5px; }
.gv2-dense .gv2-brief .wp-block-post-date { margin: 4px 0 0; font-family: var(--gv2-serif); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--gv2-muted); }

/* ── Mise en avant, variante sombre ─────────────────────────────────────── */
.gv2-avant-dark .gv2-avant-texte { background: var(--gv2-deep); }
.gv2-avant-dark .gv2-avant-texte h2 { color: #fff; }
.gv2-avant-dark .gv2-avant-texte p { color: color-mix(in srgb, #fff 76%, var(--gv2-deep)); }
.gv2-avant-dark .gv2-cta { background: var(--gv2-gold); color: var(--gv2-deep) !important; }

/* ── Présentation : texte + 2×2 ─────────────────────────────────────────── */
.gv2-pres { display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(26px, 4vw, 60px); align-items: center; padding-top: clamp(30px, 3.6vw, 48px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-pres-flip { direction: rtl; } .gv2-pres-flip > * { direction: ltr; }
.gv2-pres-text .gv2-lbl { color: var(--gv2-muted); }
.gv2-pres-text h2 { margin: 12px 0 0; font-size: clamp(26px, 3vw, 40px); line-height: 1.08; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-pres-text p { margin: 16px 0 0; font-size: 16.5px; line-height: 1.68; color: var(--gv2-text); max-width: 46ch; }
.gv2-pres-text .gv2-cta { display: inline-block; margin-top: 22px; }
.gv2-pres-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 18px); }

/* ── Accordéon « ce qu'il faut savoir » ─────────────────────────────────── */
.gv2-faq { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(26px, 4vw, 60px); align-items: stretch; padding-top: clamp(30px, 3.6vw, 48px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-faq-solo { grid-template-columns: minmax(0, 1fr); }
.gv2-faq-solo .gv2-faq-text { max-width: 820px; }
.gv2-faq-flip { direction: rtl; } .gv2-faq-flip > * { direction: ltr; }
.gv2-faq-img { position: relative; min-height: 320px; }
.gv2-faq-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-faq-text { display: flex; flex-direction: column; justify-content: center; }
.gv2-faq-text .gv2-lbl { color: var(--gv2-muted); }
.gv2-faq-text h2 { margin: 10px 0 16px; font-size: clamp(26px, 3vw, 38px); line-height: 1.1; letter-spacing: calc(-.045em * var(--gv2-track, 1)); }
.gv2-faq-item { border: 1px solid var(--gv2-rule); margin-top: 8px; background: color-mix(in srgb, var(--gv2-ink) 2%, var(--gv2-paper)); }
.gv2-faq-item summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 14px 18px; font-family: var(--gv2-meta); font-size: 15.5px; font-weight: 600; letter-spacing: calc(-.01em * var(--gv2-track, 1)); color: var(--gv2-ink);
}
.gv2-faq-item summary::-webkit-details-marker { display: none; }
.gv2-faq-plus { position: relative; flex: 0 0 14px; width: 14px; height: 14px; }
.gv2-faq-plus::before, .gv2-faq-plus::after { content: ""; position: absolute; background: var(--gv2-gold); left: 0; top: 6px; width: 14px; height: 2px; }
.gv2-faq-plus::after { transform: rotate(90deg); transition: transform .18s ease; }
.gv2-faq-item[open] .gv2-faq-plus::after { transform: rotate(0); }
.gv2-faq-item p { margin: 0; padding: 0 18px 16px; font-size: 15.5px; line-height: 1.66; color: var(--gv2-text); }

/* ── Pourquoi ce site ───────────────────────────────────────────────────── */
.gv2-pourquoi { display: grid; grid-template-columns: minmax(200px, 280px) 1fr; gap: clamp(24px, 3.4vw, 48px); align-items: start; padding-top: clamp(30px, 3.6vw, 48px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-pourquoi-head h2 { margin: 0; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.02; letter-spacing: calc(-.05em * var(--gv2-track, 1)); }
.gv2-pourquoi-head p { margin: 14px 0 0; font-size: 15px; line-height: 1.66; color: var(--gv2-muted); }
.gv2-pourquoi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 18px); }

/* ── Étapes ─────────────────────────────────────────────────────────────── */
.gv2-etapes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(16px, 2vw, 28px); margin-top: 26px; }
.gv2-etape { border-top: 3px solid var(--gv2-ink); padding-top: 14px; }
.gv2-etape b { font-family: var(--gv2-ui); font-size: 34px; font-weight: 800; letter-spacing: calc(-.05em * var(--gv2-track, 1)); line-height: 1; color: var(--gv2-gold); }
.gv2-etape h3 { margin: 8px 0 0; font-size: 17px; letter-spacing: calc(-.03em * var(--gv2-track, 1)); }
.gv2-etape p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--gv2-text); }

/* ── Manchette (header) et article en colonnes (La Revue) ───────────────── */
.gv2-header-manchette { padding-top: 14px; }
.gv2-issue { display: flex; justify-content: space-between; width: 100%; color: var(--gv2-muted); }
.gv2-header-manchette .gv2-brand-name b { font-size: clamp(44px, 8.6vw, 116px); line-height: .92; letter-spacing: calc(-.05em * var(--gv2-track, 1)); text-transform: uppercase; }
.gv2-header-manchette .gv2-brand-name span { letter-spacing: .5em; margin-top: 10px; }
.gv2-header-manchette .gv2-nav { border-top: 3px double var(--gv2-ink); border-bottom: 1px solid var(--gv2-ink); }
/* Le filet du bas tombait pile sur la photo d'une ouverture plein cadre (reussirpro, 22/10/2026). */
body:has(.wp-block-post-content > :first-child:is(.gv2-affiche-photo, .gv2-veiled, .gv2-veiled-centre, .gv2-veiled-roi, .gv2-sylve, .gv2-beton)) .gv2-header-manchette .gv2-nav { border-bottom-color: transparent; } /* pas de :has() dans un :has() : invalide, la règle entière sautait */
.gv2-colonnes-lbl { color: var(--gv2-muted); }
.gv2-colonnes-q .wp-block-post-template { list-style: none; margin: 14px 0 0; padding: 0; }
.gv2-colonnes-q .wp-block-post { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: clamp(22px, 3vw, 44px); align-items: start; margin: 0; }
.gv2-colonnes-q .wp-block-post-featured-image { margin: 0; }
.gv2-colonnes-q .wp-block-post-featured-image img { width: 100%; height: clamp(260px, 30vw, 420px); object-fit: cover; display: block; }
.gv2-colonnes-txt .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 0; }
.gv2-colonnes-txt .wp-block-post-title { margin: 8px 0 0; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; letter-spacing: calc(-.02em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-colonnes-txt .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-colonnes-by { display: flex; gap: 8px; margin: 10px 0 0; font-size: 13.5px; color: var(--gv2-muted); }
.gv2-colonnes-by .wp-block-post-author-name::after { content: " ·"; }
.gv2-colonnes-txt .wp-block-post-excerpt { margin: 16px 0 0; column-width: 200px; column-gap: 26px; column-rule: 1px solid var(--gv2-rule-soft); font-size: 15px; line-height: 1.58; color: var(--gv2-body); text-align: justify; hyphens: auto; }
.gv2-colonnes-txt .wp-block-post-excerpt__excerpt::first-letter { font-family: var(--gv2-ui); font-weight: 800; font-size: 3em; float: left; line-height: .82; padding: 4px 8px 0 0; color: var(--gv2-ink); }
.gv2-colonnes-txt .wp-block-post-excerpt__more-text { display: none; }

/* ── Sommaire ───────────────────────────────────────────────────────────── */
.gv2-som-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(18px, 2.4vw, 34px); margin-top: 18px; }
.gv2-som-col { margin: 0; }
.gv2-som-lbl { display: block; padding-bottom: 8px; border-bottom: 1px solid var(--gv2-ink); color: var(--gv2-ink); }
.gv2-som-list .wp-block-post-template.wp-block-post-template { gap: 0; margin: 0; }
.gv2-som-list .wp-block-post { padding: 11px 0; border-bottom: 1px solid var(--gv2-rule-soft); margin: 0; }
.gv2-som-list .wp-block-post-title { font-size: 16px; }
.gv2-som-list .wp-block-post-date { margin: 4px 0 0; font-size: 12.5px; color: var(--gv2-muted); }

/* ── Que voulez-vous faire ? ────────────────────────────────────────────── */
.gv2-gestes { text-align: center; padding-top: clamp(34px, 4.4vw, 64px); padding-bottom: clamp(30px, 3.6vw, 48px); }
.gv2-gestes > .gv2-lbl { color: var(--gv2-muted); }
.gv2-gestes h1 { margin: 12px auto 0; font-size: clamp(30px, 4vw, 52px); line-height: 1.04; letter-spacing: calc(-.045em * var(--gv2-track, 1)); max-width: 20ch; text-wrap: balance; }
.gv2-gestes > p { margin: 14px auto 0; font-size: clamp(16px, 1.4vw, 18px); line-height: 1.66; color: var(--gv2-text); max-width: 56ch; }
.gv2-gestes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: clamp(12px, 1.6vw, 22px); margin-top: clamp(24px, 3vw, 40px); }
.gv2-geste { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: clamp(22px, 2.6vw, 34px) 18px; border: 1.5px solid var(--gv2-ink); color: var(--gv2-ink); }
.gv2-geste .gv2-ico { width: 40px; height: 40px; color: var(--gv2-ink); }
.gv2-geste b { font-family: var(--gv2-ui); font-size: clamp(19px, 1.8vw, 24px); font-weight: 800; letter-spacing: calc(-.04em * var(--gv2-track, 1)); }
.gv2-geste .gv2-lbl { color: var(--gv2-muted); }
.gv2-geste:hover { background: var(--gv2-ink); color: var(--gv2-paper); }
.gv2-geste:hover .gv2-ico, .gv2-geste:hover .gv2-lbl { color: var(--gv2-gold); }

/* ── Zigzag ─────────────────────────────────────────────────────────────── */
.gv2-zigzag .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; max-width: none; width: 100%; }
.gv2-zigzag .wp-block-post { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(22px, 3.4vw, 52px); align-items: center; padding: clamp(22px, 2.8vw, 36px) 0; border-bottom: 1px solid var(--gv2-rule); margin: 0; }
.gv2-zigzag .wp-block-post:nth-child(even) .wp-block-post-featured-image { order: 2; }
.gv2-zigzag .wp-block-post-featured-image { margin: 0; }
.gv2-zigzag .wp-block-post-featured-image img { width: 100%; height: clamp(200px, 24vw, 320px); object-fit: cover; display: block; }
.gv2-zz-txt .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 0; }
.gv2-zz-txt .wp-block-post-title { margin: 8px 0 0; font-size: clamp(22px, 2.3vw, 30px); line-height: 1.12; letter-spacing: calc(-.04em * var(--gv2-track, 1)); }
.gv2-zz-txt .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-zz-txt .wp-block-post-excerpt { margin: 12px 0 0; font-size: 15.5px; line-height: 1.64; color: var(--gv2-text); }
.gv2-zz-txt .wp-block-post-excerpt__more-text { display: none; }
.gv2-zz-txt .wp-block-post-date { margin: 10px 0 0; font-size: 13.5px; color: var(--gv2-muted); }

/* ── Ouvertures sur photo : centrée / photo-roi ─────────────────────────── */
.gv2-veiled-centre { align-items: center; justify-content: center; text-align: center; min-height: clamp(400px, 52vw, 640px); }
.gv2-veiled-centre .gv2-veiled-text { max-width: 820px; }
.gv2-veiled-centre .gv2-veiled-text p { margin-left: auto; margin-right: auto; }
.gv2-veiled-centre .gv2-veiled-img::after { background: linear-gradient(to top, rgba(10,11,14,.78), rgba(10,11,14,.5) 60%, rgba(10,11,14,.42)); }
.gv2-veiled-roi { min-height: clamp(480px, 68vw, 800px); }
.gv2-veiled-roi h1 { font-size: clamp(34px, 5vw, 72px); max-width: 16ch; }

/* ── Une + quatre, une + trois ──────────────────────────────────────────── */
.gv2-uneplus .gv2-mosaic { padding-left: 0; padding-right: 0; }
.gv2-mosaic-14 .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 15vw, 210px); gap: clamp(12px, 1.4vw, 18px); }
.gv2-mosaic-14 .wp-block-post:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gv2-mosaic-14 .wp-block-post:nth-child(6) { grid-column: auto; }
.gv2-mosaic-13 .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 17vw, 250px); gap: clamp(12px, 1.4vw, 18px); }
.gv2-mosaic-13 .wp-block-post:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gv2-mosaic-13 .wp-block-post:nth-child(2) { grid-column: span 2; }
.gv2-mosaic-13 .wp-block-post:nth-child(6) { grid-column: auto; }
.gv2-mosaic-14 .wp-block-post:nth-child(1) .gv2-mosaic-cap .wp-block-post-title,
.gv2-mosaic-13 .wp-block-post:nth-child(1) .gv2-mosaic-cap .wp-block-post-title { font-size: clamp(22px, 2.4vw, 34px); }

/* ── Portrait ───────────────────────────────────────────────────────────── */
.gv2-portrait { display: grid; grid-template-columns: minmax(240px, 360px) 1fr; gap: clamp(24px, 3.4vw, 52px); align-items: center; padding-top: clamp(30px, 3.6vw, 48px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-portrait-img { aspect-ratio: 1; overflow: hidden; }
.gv2-portrait-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-portrait-txt .gv2-lbl { color: var(--gv2-muted); }
.gv2-portrait-txt h2 { margin: 10px 0 0; font-size: clamp(28px, 3.2vw, 42px); letter-spacing: calc(-.045em * var(--gv2-track, 1)); line-height: 1.06; }
.gv2-portrait-txt > p { margin: 14px 0 0; font-size: 16.5px; line-height: 1.68; color: var(--gv2-text); max-width: 56ch; }
.gv2-manies-lbl { margin-top: 22px; color: var(--gv2-green); }
.gv2-manies { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 18px; margin-top: 12px; }
.gv2-manies div { border-top: 2px solid var(--gv2-ink); padding-top: 10px; font-size: 15px; line-height: 1.5; }
.gv2-portrait-link { margin: 20px 0 0; }
.gv2-portrait-link a { color: var(--gv2-green); }

/* ── Série numérotée ────────────────────────────────────────────────────── */
.gv2-serie { display: grid; grid-template-columns: 36px 1fr; gap: clamp(14px, 2vw, 28px); }
.gv2-serie-lbl { writing-mode: vertical-rl; transform: rotate(180deg); color: var(--gv2-muted); align-self: end; }
.gv2-serie-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; max-width: none; width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: clamp(16px, 2vw, 28px); counter-reset: serie; }
.gv2-serie-q .wp-block-post { margin: 0; counter-increment: serie; }
.gv2-serie-q .wp-block-post::before { content: "0" counter(serie); display: block; font-family: var(--gv2-ui); font-weight: 800; font-size: 26px; letter-spacing: calc(-.04em * var(--gv2-track, 1)); color: var(--gv2-ink); margin-bottom: 10px; }
.gv2-serie-q .wp-block-post-featured-image { margin: 0; }
.gv2-serie-q .wp-block-post-featured-image img { width: 100%; height: clamp(150px, 15vw, 200px); object-fit: cover; display: block; }
.gv2-serie-q .wp-block-post-terms { margin: 12px 0 0; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); }
.gv2-serie-q .wp-block-post-title { margin: 6px 0 0; font-family: var(--gv2-serif); font-weight: 400; font-size: 18px; letter-spacing: calc(-.01em * var(--gv2-track, 1)); line-height: 1.3; }
.gv2-serie-q .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-serie-q .wp-block-post-date { margin: 6px 0 0; font-size: 13px; color: var(--gv2-muted); }

/* ── Présentation sur photo ─────────────────────────────────────────────── */
.gv2-pres-photo { position: relative; overflow: hidden; padding: clamp(36px, 4.8vw, 72px) var(--gv2-gut); }
.gv2-pres-photo-img { position: absolute; inset: 0; }
.gv2-pres-photo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-pres-photo-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,11,14,.72), rgba(10,11,14,.46)); }
.gv2-pres-photo-in { position: relative; z-index: 2; }
.gv2-pres-photo-in > .gv2-lbl { color: var(--gv2-gold); }
.gv2-pres-photo-in h2 { margin: 12px 0 0; color: #fff; font-size: clamp(26px, 3.2vw, 42px); line-height: 1.08; letter-spacing: calc(-.045em * var(--gv2-track, 1)); max-width: 18ch; text-wrap: balance; }
.gv2-pres-photo-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(12px, 1.6vw, 22px); margin-top: clamp(24px, 3vw, 40px); }
.gv2-pres-photo-cards .gv2-icard { background: #fff; border-color: #fff; }
.gv2-pres-photo-cards .gv2-icard b { color: #16180F; }
.gv2-pres-photo-cards .gv2-icard p { color: #45473C; }
.gv2-pres-photo-cards .gv2-ico { color: var(--gv2-gold); }

/* ── Décalés ────────────────────────────────────────────────────────────── */
.gv2-decales .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; max-width: none; width: 100%; }
.gv2-decales .wp-block-post { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(24px, 3.6vw, 56px); align-items: center; padding: clamp(24px, 3vw, 40px) 0; margin: 0; }
.gv2-decales .wp-block-post:nth-child(odd) .wp-block-post-featured-image { order: 2; }
.gv2-decales .wp-block-post:nth-child(even) { grid-template-columns: 0.8fr 1fr; }
.gv2-decales .wp-block-post:nth-child(even) .gv2-dec-txt { padding-top: clamp(20px, 5vw, 80px); }
.gv2-decales .wp-block-post-featured-image { margin: 0; }
.gv2-decales .wp-block-post-featured-image img { width: 100%; height: clamp(240px, 30vw, 440px); object-fit: cover; display: block; }
.gv2-decales .wp-block-post:nth-child(even) .wp-block-post-featured-image img { height: clamp(220px, 26vw, 380px); width: 82%; }
.gv2-dec-txt .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 0; }
.gv2-dec-txt .wp-block-post-title { margin: 8px 0 0; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(26px, 3vw, 40px); line-height: 1.1; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-dec-txt .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-dec-txt .wp-block-post-excerpt { margin: 12px 0 0; font-size: 15.5px; line-height: 1.64; color: var(--gv2-text); max-width: 46ch; }
.gv2-dec-txt .wp-block-post-excerpt__more-text { display: none; }

/* ── Une large + deux ───────────────────────────────────────────────────── */
.gv2-l2 .wp-block-post-template.wp-block-post-template { list-style: none; margin: 22px 0 0; padding: 0; max-width: none; width: 100%; display: grid; grid-template-columns: 1.9fr 1fr; grid-template-rows: auto 1fr; gap: clamp(16px, 2vw, 28px); }
.gv2-l2 .wp-block-post { margin: 0; }
.gv2-l2 .wp-block-post:nth-child(1) { grid-row: span 2; }
.gv2-l2 .wp-block-post-featured-image { margin: 0; }
.gv2-l2 .wp-block-post:nth-child(1) .wp-block-post-featured-image img { width: 100%; height: clamp(280px, 34vw, 460px); object-fit: cover; display: block; }
/* Colonne de droite empilée EN HAUT (14/09/2026). Avec `rows: auto auto`, la
   grande carte (span 2) partageait sa hauteur en deux moitiés égales et chaque
   vignette flottait au milieu de la sienne — deux grands vides sur shamea et
   la-delicieuse. `auto 1fr` + `align-self: start` les colle l'une sous l'autre. */
.gv2-l2 .wp-block-post:nth-child(n+2) { display: grid; grid-template-columns: 140px 1fr; gap: 14px; align-items: start; align-self: start; }
.gv2-l2 .wp-block-post:nth-child(3) { border-top: 1px solid var(--gv2-rule-soft); padding-top: clamp(16px, 2vw, 28px); }
.gv2-l2 .wp-block-post:nth-child(n+2) .wp-block-post-featured-image img { width: 140px; height: 96px; object-fit: cover; display: block; }
.gv2-l2-cap .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); margin: 12px 0 0; }
.gv2-l2 .wp-block-post:nth-child(n+2) .gv2-l2-cap .wp-block-post-terms { margin: 0; }
.gv2-l2-cap .wp-block-post-title { margin: 6px 0 0; font-family: var(--gv2-serif); font-weight: 400; font-size: 17px; line-height: 1.3; letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-l2 .wp-block-post:nth-child(1) .gv2-l2-cap .wp-block-post-title { font-size: clamp(22px, 2.3vw, 30px); }
.gv2-l2-cap .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-l2-cap .wp-block-post-date { margin: 4px 0 0; font-size: 13px; color: var(--gv2-muted); }

/* ── Rail horizontal ────────────────────────────────────────────────────── */
.gv2-hrail-wrap .gv2-filtres-row { border-top: 0; padding-top: 0; }
.gv2-hrail .wp-block-post-template.wp-block-post-template { list-style: none; margin: 22px 0 0; padding: 0 0 10px; max-width: none; width: 100%; display: flex; gap: clamp(14px, 1.8vw, 22px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--gv2-rule) transparent; }
.gv2-hrail .wp-block-post { flex: 0 0 clamp(220px, 24vw, 290px); scroll-snap-align: start; margin: 0; }
.gv2-hrail .wp-block-post-featured-image { margin: 0; }
.gv2-hrail .wp-block-post-featured-image img { width: 100%; height: clamp(140px, 14vw, 180px); object-fit: cover; display: block; }
.gv2-hrail .wp-block-post-terms { margin: 12px 0 0; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gv2-green); }
.gv2-hrail .wp-block-post-title { margin: 6px 0 0; font-family: var(--gv2-serif); font-weight: 400; font-size: 17px; line-height: 1.3; letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-hrail .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-hrail .wp-block-post-date { margin: 5px 0 0; font-size: 13px; color: var(--gv2-muted); }

/* ── Chiffres en bande ──────────────────────────────────────────────────── */
.gv2-chiffres-bande { padding-top: clamp(20px, 2.4vw, 32px); padding-bottom: clamp(30px, 3.6vw, 48px); }
.gv2-chiffres-bande .gv2-chiffres { margin-top: 0; gap: 0; border-top: 1px solid var(--gv2-ink); border-bottom: 1px solid var(--gv2-ink); }
.gv2-chiffres-bande .gv2-chiffre { padding: clamp(18px, 2vw, 28px) clamp(14px, 1.6vw, 22px); border-left: 1px solid var(--gv2-rule); }
.gv2-chiffres-bande .gv2-chiffre:first-child { border-left: 0; }
.gv2-chiffres-bande .gv2-chiffre p { display: none; }

/* ── Responsive des squelettes ──────────────────────────────────────────── */
@media (max-width: 780px) {
  .gv2-unelus-grid, .gv2-dense, .gv2-pres, .gv2-faq, .gv2-pourquoi, .gv2-portrait,
  .gv2-colonnes-q .wp-block-post, .gv2-zigzag .wp-block-post, .gv2-decales .wp-block-post,
  .gv2-decales .wp-block-post:nth-child(even), .gv2-l2 .wp-block-post-template.wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
  .gv2-pres-cards, .gv2-pourquoi-grid, .gv2-tuiles .wp-block-post-template.wp-block-post-template,
  .gv2-tuiles-cartes .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gv2-mosaic-14 .wp-block-post-template.wp-block-post-template, .gv2-mosaic-13 .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 36vw, 190px); }
  .gv2-mosaic-14 .wp-block-post:nth-child(1), .gv2-mosaic-13 .wp-block-post:nth-child(1) { grid-column: span 2; grid-row: span 1; }
  .gv2-mosaic-13 .wp-block-post:nth-child(2) { grid-column: span 2; }
  .gv2-zigzag .wp-block-post:nth-child(even) .wp-block-post-featured-image, .gv2-decales .wp-block-post:nth-child(odd) .wp-block-post-featured-image { order: 0; }
  .gv2-decales .wp-block-post:nth-child(even) .wp-block-post-featured-image img { width: 100%; }
  .gv2-decales .wp-block-post:nth-child(even) .gv2-dec-txt { padding-top: 0; }
  .gv2-l2 .wp-block-post:nth-child(1) { grid-row: auto; }
  .gv2-l2 .wp-block-post:nth-child(n+2) { grid-template-columns: 96px minmax(0, 1fr); }
  .gv2-l2 .wp-block-post:nth-child(n+2) .wp-block-post-featured-image img { width: 96px; height: 72px; }
  .gv2-serie { grid-template-columns: minmax(0, 1fr); }
  .gv2-serie-lbl { writing-mode: horizontal-tb; transform: none; margin-bottom: 12px; }
  .gv2-faq-img { min-height: 220px; }
  .gv2-portrait-img { max-width: 260px; }
  .gv2-ticker { display: none; }
  .gv2-lead-big .gv2-lead-cap { margin: -30px 12px 0; }
  .gv2-chiffres-bande .gv2-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gv2-chiffres-bande .gv2-chiffre:nth-child(3) { border-left: 0; }
  .gv2-header-manchette .gv2-brand-name b { font-size: clamp(38px, 12vw, 60px); }
}

/* ── Retours du 07/09 (soir) ────────────────────────────────────────────── */
/* Ticker : WP pose un margin-block-start de 24 px sur le 2e enfant d'un groupe
   « is-layout-flow » — la liste tombait sous l'étiquette. */
.gv2.gv2-ticker > * + * { margin-block-start: 0 !important; }
/* Tuiles : la mosaïque grossit le titre de la 1re tuile ; en tuiles égales,
   les trois titres ont la même taille. */
.gv2-tuiles .wp-block-post:nth-child(1) .gv2-mosaic-cap .wp-block-post-title { font-size: clamp(15px, 1.35vw, 19px); }
/* Header centré / manchette : la nav porte déjà ses filets ; celui du header
   dépassait en dessous, plus long que la bande des rubriques. */
.gv2-header-centre { border-bottom: 0; }
/* Ouverture « que voulez-vous faire ? » sur photo : le voile prolonge la page,
   les tuiles deviennent des cartes claires posées dessus. */
.gv2-gestes-photo { position: relative; overflow: hidden; color: #fff; }
.gv2-gestes-photo .gv2-gestes-img { position: absolute; inset: 0; }
.gv2-gestes-photo .gv2-gestes-img img { width: 100%; height: 100%; object-fit: cover; object-position: var(--gv2-hero-pos, center); display: block; }
.gv2-gestes-photo .gv2-gestes-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,11,14,.62), rgba(10,11,14,.74)); }
.gv2-gestes-photo > * { position: relative; z-index: 2; }
.gv2-gestes-photo > .gv2-lbl { color: var(--gv2-gold); }
.gv2-gestes-photo h1 { color: #fff; }
.gv2-gestes-photo > p { color: rgba(255,255,255,.84); }
.gv2-gestes-photo .gv2-geste { background: #fff; border-color: #fff; color: #16180F; }
.gv2-gestes-photo .gv2-geste .gv2-ico { color: #16180F; }
.gv2-gestes-photo .gv2-geste .gv2-lbl { color: #7C7A6C; }
.gv2-gestes-photo .gv2-geste:hover { background: var(--gv2-gold); border-color: var(--gv2-gold); color: #16180F; }
.gv2-gestes-photo .gv2-geste:hover .gv2-ico, .gv2-gestes-photo .gv2-geste:hover .gv2-lbl { color: #16180F; }

/* Repères et étapes : chaque cellule porte déjà son filet coloré en tête ; le
   filet de section juste au-dessus faisait deux lignes (kolb, 07/09). Le titre
   garde sa place, le trait disparaît. */
.gv2-reperes .gv2-rule-h, .gv2-etapes-wrap .gv2-rule-h { border-bottom: 0; padding-bottom: 0; }
.gv2-reperes .gv2-g3-wide { margin-top: 18px !important; }
.gv2-etapes { margin-top: 18px; }

/* Ouvertures sur photo : la hauteur suit l'écran. Sur un 13 pouces (≈ 750 px
   utiles), une photo-roi de 800 px repoussait le titre sous le pli
   (la-delicieuse, 07/09). Plafond = la fenêtre moins l'ours et le header. */
.gv2-veiled-roi { min-height: min(clamp(480px, 68vw, 800px), calc(100svh - 170px)); }
.gv2-veiled-centre { min-height: min(clamp(400px, 52vw, 640px), calc(100svh - 170px)); }
.gv2-veiled-roi h1 { font-size: clamp(30px, 4.4vw, 60px); }

/* Rubrique en cours de constitution : une phrase sous la rangée, pas un trou. */
.gv2-rub-placeholder { margin: 18px 0 0; padding: 16px 20px; border: 1px dashed var(--gv2-rule); font-size: 15px; line-height: 1.6; color: var(--gv2-muted); max-width: 720px; }

/* ══ BLOCS « SITE » relevés sur les homes Elementor du parc (08/09) ═══════ */
.gv2-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: color-mix(in srgb, var(--gv2-gold) 22%, var(--gv2-paper)); color: var(--gv2-ink); font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gv2-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gv2-ink); }

/* Fiche pratique */
.gv2-fiche { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(26px, 4vw, 64px); align-items: start; padding-top: clamp(34px, 4.4vw, 64px); padding-bottom: clamp(34px, 4.4vw, 64px); }
.gv2-fiche h2 { margin: 0; font-size: clamp(34px, 4.6vw, 64px); line-height: .98; letter-spacing: calc(-.05em * var(--gv2-track, 1)); text-transform: uppercase; max-width: 12ch; }
.gv2-fiche-body p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--gv2-text); max-width: 52ch; }
.gv2-faits { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 22px; margin-top: 26px; }
.gv2-fait { display: flex; gap: 12px; align-items: flex-start; }
.gv2-fait .gv2-ico { width: 24px; height: 24px; flex: 0 0 24px; color: var(--gv2-gold); }
.gv2-fait b { display: block; font-family: var(--gv2-ui); font-size: 15px; font-weight: 800; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-fait span { display: block; margin-top: 3px; font-size: 14px; color: var(--gv2-muted); }

/* Encart photo arrondie */
.gv2-encart { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(26px, 4vw, 64px); align-items: center; padding-top: clamp(30px, 3.6vw, 48px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-encart-flip { direction: rtl; } .gv2-encart-flip > * { direction: ltr; }
.gv2-encart-txt h2 { margin: 16px 0 0; font-size: clamp(26px, 3.2vw, 42px); line-height: 1.06; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-encart-txt p { margin: 16px 0 0; font-size: 16.5px; line-height: 1.68; color: var(--gv2-text); max-width: 46ch; }
.gv2-encart-txt .gv2-cta { display: inline-block; margin-top: 22px; }
.gv2-encart-img { overflow: hidden; aspect-ratio: 5 / 4; }
.gv2-encart-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-encart-organic .gv2-encart-img { border-radius: 24px 120px 24px 120px; }
.gv2-encart-round .gv2-encart-img { border-radius: 28px; }
.gv2-encart-square .gv2-encart-img { border-radius: 0; }

/* Liste à icônes sur photo */
.gv2-listeicones { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(26px, 4vw, 64px); align-items: center; background: var(--gv2-deep); color: #fff; padding: clamp(34px, 4.4vw, 64px) var(--gv2-gut); }
.gv2-listeicones-flip { direction: rtl; } .gv2-listeicones-flip > * { direction: ltr; }
.gv2-li-img { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 6px; }
.gv2-li-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-listeicones .gv2-badge { background: color-mix(in srgb, var(--gv2-gold) 30%, var(--gv2-deep)); color: #fff; }
.gv2-listeicones .gv2-badge::before { background: var(--gv2-gold); }
.gv2-li-txt h2 { margin: 16px 0 6px; color: #fff; font-size: clamp(24px, 2.8vw, 36px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); line-height: 1.1; }
.gv2-li-row { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; border-top: 1px solid color-mix(in srgb, #fff 16%, transparent); }
.gv2-li-row .gv2-ico { flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; background: #fff; color: var(--gv2-deep); border-radius: 8px; }
.gv2-li-row b { display: block; font-family: var(--gv2-ui); font-size: 16px; font-weight: 800; letter-spacing: calc(-.02em * var(--gv2-track, 1)); color: #fff; }
.gv2-li-row span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.55; color: color-mix(in srgb, #fff 72%, var(--gv2-deep)); }

/* Cartes numérotées avec photo, sur bande teintée */
.gv2-numband { background: color-mix(in srgb, var(--gv2-gold) 26%, var(--gv2-paper)); padding: clamp(36px, 4.8vw, 72px) var(--gv2-gut); }
.gv2-numband-head { text-align: center; max-width: 720px; margin: 0 auto; }
.gv2-numband-head h2 { margin: 14px 0 0; font-size: clamp(26px, 3.2vw, 40px); letter-spacing: calc(-.045em * var(--gv2-track, 1)); line-height: 1.08; }
.gv2-numband-head p { margin: 12px 0 0; font-size: 15.5px; line-height: 1.66; color: var(--gv2-text); }
.gv2-numcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin-top: clamp(24px, 3vw, 40px); }
.gv2-numcard { display: grid; grid-template-columns: 1fr 140px; gap: 16px; background: var(--gv2-paper); padding: 8px 8px 8px 22px; align-items: center; color: var(--gv2-ink); border-radius: 12px; }
.gv2-numcard-txt b { display: block; font-family: var(--gv2-ui); font-size: 22px; font-weight: 800; letter-spacing: calc(-.04em * var(--gv2-track, 1)); color: var(--gv2-muted); }
.gv2-numcard-txt h3 { margin: 10px 0 0; font-size: 18px; letter-spacing: calc(-.03em * var(--gv2-track, 1)); line-height: 1.2; }
.gv2-numcard-txt p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; color: var(--gv2-text); }
.gv2-numcard img { width: 140px; height: 140px; object-fit: cover; display: block; border-radius: 8px; }
a.gv2-numcard:hover h3 { color: var(--gv2-green); }

/* Colonnes à filets */
.gv2-filets { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; gap: clamp(24px, 3.4vw, 52px); align-items: start; padding-top: clamp(34px, 4.4vw, 64px); padding-bottom: clamp(34px, 4.4vw, 64px); }
.gv2-filets-head h2 { margin: 0; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.02; letter-spacing: calc(-.05em * var(--gv2-track, 1)); }
.gv2-filets-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gv2-filcol { padding: 4px clamp(16px, 2vw, 28px); border-left: 1px solid var(--gv2-rule); }
.gv2-filcol h3 { margin: 0; font-size: 19px; letter-spacing: calc(-.03em * var(--gv2-track, 1)); font-weight: 700; }
.gv2-filcol p { margin: 10px 0 0; font-size: 14.5px; line-height: 1.62; color: var(--gv2-text); }

/* Ouverture illustrée */
.gv2-illus { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(26px, 4vw, 64px); align-items: center; padding-top: clamp(34px, 4.4vw, 64px); padding-bottom: clamp(30px, 3.6vw, 48px); }
.gv2-illus h1 { margin: 16px 0 0; font-size: clamp(32px, 4.2vw, 56px); line-height: 1.02; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-illus p { margin: 18px 0 0; font-size: clamp(16px, 1.4vw, 18.5px); line-height: 1.66; color: var(--gv2-text); max-width: 540px; }
.gv2-illus .gv2-cta { display: inline-block; margin-top: 24px; }
.gv2-illus-art svg { width: 100%; max-width: 460px; height: auto; display: block; margin: 0 auto; }

/* Bandeau d'appel avec photo */
.gv2-appel-photo { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(26px, 4vw, 64px); align-items: center; background: var(--gv2-deep); color: #fff; padding: clamp(36px, 4.8vw, 72px) var(--gv2-gut); margin-top: 60px; }
.gv2-appel-photo .gv2-lbl { color: var(--gv2-gold); }
.gv2-appel-photo h2 { margin: 14px 0 0; color: #fff; font-size: clamp(28px, 3.6vw, 48px); line-height: 1.06; letter-spacing: calc(-.045em * var(--gv2-track, 1)); max-width: 16ch; text-wrap: balance; }
.gv2-appel-photo p { margin: 14px 0 0; font-size: 16px; line-height: 1.66; color: color-mix(in srgb, #fff 76%, var(--gv2-deep)); max-width: 46ch; }
.gv2-appel-photo .gv2-cta { display: inline-block; margin-top: 24px; background: var(--gv2-gold); color: var(--gv2-deep) !important; }
.gv2-appel-photo-img { margin-top: -120px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 120px 24px 120px 24px; box-shadow: 0 24px 60px -24px rgba(0,0,0,.6); }
.gv2-appel-photo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Chiffres à icônes (les icônes sont posées par le thème, cf. functions.php) */
.gv2-chiffres-icones { background: var(--gv2-ink); color: var(--gv2-paper); padding-top: clamp(26px, 3vw, 40px); padding-bottom: clamp(26px, 3vw, 40px); }
.gv2-chiffres-icones .gv2-chiffres { margin-top: 0; }
.gv2-chiffres-icones .gv2-chiffre { display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; align-items: center; }
.gv2-chiffres-icones .gv2-chiffre .gv2-ico { grid-row: 1 / span 2; width: 34px; height: 34px; color: var(--gv2-gold); }
.gv2-chiffres-icones .gv2-chiffre-n { font-size: clamp(26px, 2.6vw, 34px); color: var(--gv2-paper); margin: 0; }
.gv2-chiffres-icones .gv2-chiffre .gv2-lbl { color: color-mix(in srgb, var(--gv2-paper) 70%, var(--gv2-ink)); }
.gv2-chiffres-icones .gv2-chiffre p { display: none; }

@media (max-width: 780px) {
  .gv2-fiche, .gv2-encart, .gv2-listeicones, .gv2-filets, .gv2-illus, .gv2-appel-photo, .gv2-numcards { grid-template-columns: minmax(0, 1fr); }
  .gv2-filets-cols { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gv2-filcol { border-left: 0; border-top: 1px solid var(--gv2-rule); padding: 14px 0 0; }
  .gv2-appel-photo-img { margin-top: 0; }
  .gv2-illus-art svg { max-width: 260px; }
}

/* Encart long (le-spot) : la photo prend toute la hauteur du texte */
.gv2-encart-long { align-items: stretch; }
.gv2-encart-long .gv2-encart-img { aspect-ratio: auto; min-height: 420px; }
.gv2-encart-items { margin-top: 18px; display: grid; gap: 10px; }
.gv2-encart-items h3 { margin: 0; font-size: 17px; letter-spacing: calc(-.03em * var(--gv2-track, 1)); }
.gv2-encart-items p { margin: 4px 0 0; font-size: 14.5px; line-height: 1.58; color: var(--gv2-text); max-width: 52ch; }
/* Bande-titre */
.gv2-bandetitre { display: flex; align-items: baseline; justify-content: center; gap: 18px; flex-wrap: wrap; text-align: center; background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); padding: clamp(22px, 2.6vw, 34px) var(--gv2-gut); }
.gv2-bandetitre h2 { margin: 0; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(24px, 3vw, 40px); letter-spacing: .04em; }
.gv2-bandetitre .gv2-side { font-size: 15px; color: var(--gv2-muted); }

/* Liste à cocher (creatine-academie) */
.gv2-checklist { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(26px, 4vw, 64px); align-items: center; padding-top: clamp(30px, 3.6vw, 48px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-checklist-flip { direction: rtl; } .gv2-checklist-flip > * { direction: ltr; }
.gv2-check-img { aspect-ratio: 1; overflow: hidden; }
.gv2-check-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-check-txt h2 { margin: 14px 0 0; font-size: clamp(24px, 2.8vw, 36px); letter-spacing: calc(-.04em * var(--gv2-track, 1)); line-height: 1.1; }
.gv2-check-txt > p { margin: 12px 0 0; font-size: 15.5px; line-height: 1.66; color: var(--gv2-text); max-width: 52ch; }
.gv2-check-rows { display: grid; gap: 8px; margin-top: 20px; }
.gv2-check-row { display: flex; gap: 12px; align-items: center; padding: 12px 16px; background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); font-family: var(--gv2-meta); font-size: 15px; font-weight: 600; letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-check-row .gv2-ico { width: 20px; height: 20px; flex: 0 0 20px; color: var(--gv2-gold); }
/* Décor : arcs qui débordent (l'ouverture doit être `position: relative`) */
.gv2-has-decor { position: relative; overflow: hidden; }
.gv2-decor { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; opacity: .9; }
.gv2-has-decor > *:not(.gv2-decor) { position: relative; z-index: 1; }
@media (max-width: 780px) { .gv2-checklist { grid-template-columns: minmax(0, 1fr); } .gv2-check-img { max-width: 320px; } .gv2-decor { display: none; } }

/* ══════════════════════════════════════════════════════════════════════════
   Squelettes du 11/09/2026 — affiche, collage, vitrine
   Registres relevés sur ~/Cowork-Gather/design-v2/refs/metricsbooster/.
   Point commun : aucun de ces blocs ne lit la boucle WordPress, donc ils
   rendent pleins sur un site qui vient d'être lancé.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Affiche : le nom du média en fond perdu ─────────────────────────────── */
/* « Grand titre » (14/09/2026) — retenu sur planche contre un titre centré et
   un texte + photo côte à côte. Le voile part de gauche (où est le texte) et
   laisse la photo respirer à droite. Texte TOUJOURS clair sur ce voile : pas
   `--gv2-paper`, qui vaut le fond de PAGE et passe à #14151A sur fond sombre. */
.gv2-affiche { position: relative; overflow: hidden; display: flex; align-items: flex-end; min-height: clamp(520px, 84vh, 1040px); }
.gv2-affiche-img { position: absolute; inset: 0; z-index: 0; }
.gv2-affiche-img img { width: 100%; height: 100%; object-fit: cover; object-position: var(--gv2-hero-pos, center); display: block; }
.gv2-affiche-photo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8,9,12,.86) 0%, rgba(8,9,12,.55) 42%, rgba(8,9,12,.08) 72%), linear-gradient(0deg, rgba(8,9,12,.7) 0%, rgba(8,9,12,0) 45%); }
/* Pleine largeur AVEC les gouttières, et la largeur de lecture portée par les
   enfants. Une largeur max sur ce conteneur + border-box faisait tenir les deux
   gouttières (640 px chacune sur un 24 pouces) dans 64 rem : zéro place pour le
   texte, un mot par ligne (vu en rendu local le 14/09, jamais servi). */
.gv2-affiche-in { position: relative; z-index: 2; width: 100%; box-sizing: border-box; padding: clamp(96px, 12vw, 180px) var(--gv2-gut) clamp(56px, 7vw, 120px); }
.gv2-affiche-in h1 { max-width: 16ch; }
/* Surtitre : l'étiquette standard fait 10 px, trop discrète au-dessus d'un titre de 108 px. Un cran de plus, pas davantage (Antoine, 14/09). */
.gv2-affiche-kick { font-size: clamp(12px, .8vw, 14px); letter-spacing: .16em; }
.gv2-affiche-in h1 { margin: 18px 0 0; font-size: clamp(40px, 5.6vw, 108px); line-height: .98; letter-spacing: calc(-.045em * var(--gv2-track, 1)); color: var(--gv2-ink); }
.gv2-affiche-in > p { margin: 22px 0 0; font-size: clamp(17px, 1.3vw, 22px); line-height: 1.6; max-width: 38rem; color: var(--gv2-text); }
.gv2-affiche-photo .gv2-affiche-in h1 { color: #F4F2EC; }
.gv2-affiche-photo .gv2-affiche-in > p { color: rgba(244,242,236,.86); }
.gv2-affiche-btns { display: flex; gap: 14px; flex-wrap: wrap; align-items: stretch; margin-top: 32px; }
/* Un seul gabarit pour les deux boutons. « Lire le journal » héritait du bouton
   générique (13 px, texte calé en haut, sans bordure) et « Nos rubriques » avait
   le sien (15 px, centré, bordure) : côte à côte ils n'étaient pas alignés (14/09). */
.gv2-affiche-btns > a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; padding: 0 24px; border: 1px solid transparent; font-family: var(--gv2-meta); font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; }
.gv2-affiche-cta { background: var(--gv2-gold); color: #14151A !important; }
.gv2-affiche-cta:hover { background: color-mix(in srgb, var(--gv2-gold) 82%, #fff); }
.gv2-affiche-ghost { border-color: rgba(244,242,236,.45) !important; color: #F4F2EC; }
.gv2-affiche-ghost:hover { border-color: #F4F2EC; }
.gv2-affiche-note { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 28px; color: #F4F2EC; font-family: var(--gv2-meta); }
.gv2-affiche-note b { font-size: 15px; font-weight: 700; }
.gv2-affiche-note .gv2-lbl { color: rgba(244,242,236,.7); }
/* Nom géant : n'est plus posé par les profils de lancement, gardé pour un profil qui le demande. */
.gv2-affiche-mark { position: absolute; z-index: 2; left: 0; right: 0; bottom: -.08em; font-family: var(--gv2-ui); font-weight: 700; font-size: 17vw; line-height: .8; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-align: center; white-space: nowrap; color: rgba(244,242,236,.14); pointer-events: none; }

/* ── Rubriques « une grande + deux » (14/09/2026) ─────────────────────────── */
.gv2-rub12-sec { padding-top: clamp(48px, 5vw, 88px); padding-bottom: clamp(48px, 5vw, 88px); }
.gv2-rub12 { display: grid; gap: clamp(12px, 1.4vw, 22px); margin-top: 28px; }
.gv2-rub12-2 { grid-template-columns: 1.5fr 1fr; height: clamp(360px, 34vw, 600px); }
.gv2-rub12-3 { grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr; height: clamp(420px, 42vw, 720px); }
.gv2-rub12-4 { grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr 1fr; height: clamp(480px, 46vw, 780px); }
.gv2-rub12-3 .gv2-rub12-lead { grid-row: 1 / 3; }
.gv2-rub12-4 .gv2-rub12-lead { grid-row: 1 / 4; }
.gv2-rub12-grille { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); grid-auto-rows: clamp(220px, 20vw, 340px); }
.gv2-rub12-card { position: relative; overflow: hidden; border-radius: 6px; text-decoration: none; min-height: 0; }
.gv2-rub12-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.gv2-rub12-card:hover img { transform: scale(1.04); }
.gv2-rub12-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.66), rgba(0,0,0,0) 55%); pointer-events: none; }
.gv2-rub12-cap { position: absolute; z-index: 1; left: clamp(16px, 1.8vw, 30px); right: 16px; bottom: clamp(14px, 1.6vw, 26px); color: #fff; }
.gv2-rub12-cap b { display: block; font-family: var(--gv2-ui); font-size: clamp(22px, 2.2vw, 40px); font-weight: 700; line-height: 1.05; letter-spacing: calc(-.03em * var(--gv2-track, 1)); }
.gv2-rub12-lead .gv2-rub12-cap b { font-size: clamp(28px, 3vw, 56px); }
.gv2-rub12-cap em { display: block; margin-top: 6px; font-style: normal; font-size: 15px; line-height: 1.45; opacity: .88; max-width: 30rem; }
@media (prefers-reduced-motion: reduce) { .gv2-rub12-card img { transition: none; } }
.gv2-collage + .gv2-preuve-cartouche, .gv2-vitrine + .gv2-preuve-cartouche { margin-top: clamp(-12px, -1vw, 0px); }

/* ── Collage : aplats, onglets, carte photo inclinée ─────────────────────── */
.gv2-collage { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(26px, 4vw, 64px); align-items: center; padding: clamp(44px, 6vw, 96px) var(--gv2-gut) clamp(40px, 5vw, 80px); }
.gv2-collage-txt { position: relative; z-index: 2; }
.gv2-collage-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.gv2-collage-txt h1 { margin: 0; font-family: var(--gv2-ui); font-weight: 800; font-size: clamp(32px, 5vw, 64px); line-height: .98; letter-spacing: calc(-.045em * var(--gv2-track, 1)); }
.gv2-collage-txt p { margin: 18px 0 0; font-size: 16.5px; line-height: 1.65; color: var(--gv2-text); max-width: 46ch; }
.gv2-collage-card { position: relative; z-index: 2; transform: rotate(-2.5deg); box-shadow: 0 24px 60px rgba(0,0,0,.16); }
.gv2-collage-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gv2-collage-shape { position: absolute; z-index: 1; pointer-events: none; }
/* Aplats placés par rapport à la PHOTO (.gv2-collage-media), plus à la section :
   en pleine largeur sur un 24 pouces, « right: 2% » envoyait le carré vert au bord
   de l'écran, loin de la photo (tablesetsaveurs, 14/09). */
.gv2-collage-media { position: relative; }
.gv2-collage-s1 { width: clamp(110px, 11vw, 200px); aspect-ratio: 1; background: var(--gv2-aplat-1, var(--gv2-gold)); top: -9%; right: -7%; transform: rotate(9deg); }
.gv2-collage-s2 { width: clamp(90px, 9vw, 160px); aspect-ratio: 1; background: var(--gv2-aplat-2, var(--gv2-green)); bottom: -11%; left: -8%; transform: rotate(-6deg); }
.gv2-collage-s3 { left: 8%; right: -4%; height: 14px; background: var(--gv2-aplat-3, var(--gv2-deep)); bottom: -8%; }

/* ── Vitrine : sujet sur halo, cartes flottantes ─────────────────────────── */
.gv2-vitrine { overflow-x: clip; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 70px); align-items: center; padding: clamp(44px, 6vw, 92px) var(--gv2-gut); }
/* Titre à l'échelle d'un grand écran (58 px plafonnait sur un 24 pouces), comme l'affiche. */
.gv2-vitrine-txt h1 { margin: 16px 0 0; font-size: clamp(36px, 3.8vw, 80px); line-height: 1; letter-spacing: calc(-.045em * var(--gv2-track, 1)); }
.gv2-vitrine-kick { font-size: clamp(12px, .8vw, 14px); letter-spacing: .16em; }
.gv2-vitrine-txt p { margin: 20px 0 0; font-size: clamp(16.5px, 1.2vw, 21px); line-height: 1.62; color: var(--gv2-text); max-width: 46ch; }
/* Un seul gabarit pour les deux boutons (même bug que l'affiche : le premier
   héritait du bouton générique de 13 px, texte calé en haut). */
.gv2-vitrine-cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: stretch; margin-top: 30px; }
.gv2-vitrine-cta > a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; padding: 0 24px; border: 1px solid transparent; font-family: var(--gv2-meta); font-size: 15px; font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; }
.gv2-vitrine-cta > .gv2-vitrine-ghost { border-color: var(--gv2-rule); color: var(--gv2-ink); }
.gv2-vitrine-cta > .gv2-vitrine-ghost:hover { border-color: var(--gv2-ink); }
.gv2-vitrine-media { position: relative; }
.gv2-vitrine-media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 18px 18px; }
.gv2-vitrine-halo { position: absolute; inset: -6% -10% 10% -10%; z-index: 0; border-radius: 50%; background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--gv2-green) 34%, transparent) 0%, transparent 70%); }
/* Fond et texte en jetons qui basculent ENSEMBLE : un #fff en dur avec un
   texte en --gv2-ink donnait du blanc sur blanc sur fond sombre. */
.gv2-vitrine-card { position: absolute; z-index: 2; display: grid; gap: 2px; min-width: 168px; padding: 14px 18px; background: var(--gv2-paper); border: 1px solid var(--gv2-rule-soft); box-shadow: 0 18px 44px rgba(0,0,0,.18); }
.gv2-vitrine-card b { font-family: var(--gv2-ui); font-size: 22px; font-weight: 700; letter-spacing: calc(-.03em * var(--gv2-track, 1)); color: var(--gv2-ink); }
.gv2-vitrine-card em { font-style: normal; font-size: 13.5px; color: var(--gv2-muted); }
.gv2-vitrine-card-1 { top: 16%; left: -18px; }
.gv2-vitrine-card-2 { bottom: 14%; right: -18px; }

/* ── Défilé : marquee CSS pur, sans JS ───────────────────────────────────── */
/* La piste est écrite deux fois et translatée de -50 % : la boucle est
   invisible quel que soit le nombre d'entrées. */
.gv2-defile { overflow: hidden; padding-block: clamp(12px, 1.4vw, 18px); background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); border-block: 1px solid var(--gv2-rule-soft); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.gv2-defile-track { display: flex; width: max-content; animation: gv2-defile-scroll var(--gv2-defile-duree, 38s) linear infinite; }
.gv2-defile:hover .gv2-defile-track, .gv2-defile:focus-within .gv2-defile-track { animation-play-state: paused; }
.gv2-defile-half { display: flex; align-items: center; }
.gv2-defile-item { font-family: var(--gv2-meta); font-size: 14px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--gv2-ink); text-decoration: none; white-space: nowrap; padding-inline: 22px; }
.gv2-defile-item:hover { color: var(--gv2-green); }
.gv2-defile-sep { color: var(--gv2-gold); }
@keyframes gv2-defile-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* Un bandeau qui bouge sans arrêt est une gêne pour qui l'a désactivé côté
   système : il devient alors une simple bande défilable à la main. */
@media (prefers-reduced-motion: reduce) {
  .gv2-defile { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .gv2-defile-track { animation: none; }
  .gv2-defile-half + .gv2-defile-half { display: none; }
}

/* ── Mosaïque : bande d'images, jamais d'articles ────────────────────────── */
.gv2-mosaique { overflow: hidden; }
.gv2-mosaique-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.gv2-mosaique-cell { position: relative; margin: 0; height: var(--gv2-mosaique-h, clamp(180px, 22vw, 300px)); overflow: hidden; }
.gv2-mosaique-cell img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Le nom de rubrique portait la classe `gv2-lbl`, donc sa taille d'étiquette :
   10 px en capitales espacées, illisible posé sur une photo (Antoine, 14/09).
   Titrage du site à la place, et un voile en bas de tuile pour que le blanc
   tienne sur n'importe quelle image. */
.gv2-mosaique-cell::after { content: ""; position: absolute; inset: auto 0 0 0; height: 60%; background: linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0)); pointer-events: none; }
.gv2-mosaique-cell figcaption { position: absolute; z-index: 1; left: clamp(14px, 1.6vw, 24px); bottom: clamp(12px, 1.4vw, 20px); color: #fff; font-family: var(--gv2-ui); font-size: clamp(18px, 1.9vw, 28px); font-weight: 700; letter-spacing: calc(-.02em * var(--gv2-track, 1)); text-transform: none; line-height: 1.1; text-shadow: 0 1px 12px rgba(0,0,0,.4); }

/* ── Formes par site (option gather_v2_forme → classe body .gv2-forme-*) ──
   Les aplats du collage et l'arche de la vitrine étaient codés en dur : quatre
   sites chacun, reconnaissables au premier regard (Antoine, 22/09/2026). Sans
   option, le rendu reste celui d'avant (carrés / arche). */
/* vitrine · galet : rectangle arrondi, halo en bas à droite, cartes inversées */
.gv2-forme-galet .gv2-vitrine-media img { border-radius: 28px; }
.gv2-forme-galet .gv2-vitrine-halo { inset: 12% -14% -8% 10%; border-radius: 40% 60% 55% 45%; background: radial-gradient(ellipse at 70% 70%, color-mix(in srgb, var(--gv2-gold) 30%, transparent) 0%, transparent 68%); }
.gv2-forme-galet .gv2-vitrine-card-1 { top: auto; bottom: 12%; left: -18px; }
.gv2-forme-galet .gv2-vitrine-card-2 { bottom: auto; top: 10%; right: -18px; }
/* vitrine · biseau : coins coupés, cadre décalé au lieu du halo */
.gv2-forme-biseau .gv2-vitrine-media img { position: relative; z-index: 1; border-radius: 0; clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% 100%, 64px 100%, 0 calc(100% - 64px)); }
.gv2-forme-biseau .gv2-vitrine-halo { display: none; }
.gv2-forme-biseau .gv2-vitrine-media::before { content: ""; position: absolute; inset: 16px -16px -16px 16px; z-index: 0; border: 2px solid color-mix(in srgb, var(--gv2-ink) 24%, transparent); clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% 100%, 64px 100%, 0 calc(100% - 64px)); }
/* vitrine · lune : arche renversée, halo bas, cartes croisées */
.gv2-forme-lune .gv2-vitrine-media img { border-radius: 18px 18px 999px 999px; }
.gv2-forme-lune .gv2-vitrine-halo { inset: 10% -10% -6% -10%; background: radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--gv2-green) 30%, transparent) 0%, transparent 70%); }
.gv2-forme-lune .gv2-vitrine-card-1 { top: 8%; left: auto; right: -18px; }
.gv2-forme-lune .gv2-vitrine-card-2 { bottom: 22%; right: auto; left: -18px; }
/* collage · ronds : deux disques, couleurs inversées, photo penchée à droite */
.gv2-forme-ronds .gv2-collage-card { transform: rotate(2deg); }
.gv2-forme-ronds .gv2-collage-s1 { border-radius: 50%; background: var(--gv2-aplat-2, var(--gv2-green)); top: -12%; right: -9%; transform: none; }
.gv2-forme-ronds .gv2-collage-s2 { border-radius: 50%; background: var(--gv2-aplat-1, var(--gv2-gold)); width: clamp(70px, 7vw, 120px); bottom: -9%; left: -10%; transform: none; }
.gv2-forme-ronds .gv2-collage-s3 { display: none; }
/* collage · bande : une bande verticale derrière la photo, un disque en bas à droite */
.gv2-forme-bande .gv2-collage-card { transform: rotate(-1.5deg); }
.gv2-forme-bande .gv2-collage-s1 { width: 26%; aspect-ratio: auto; top: -12%; bottom: -12%; left: -9%; right: auto; transform: none; background: var(--gv2-aplat-1, var(--gv2-gold)); }
.gv2-forme-bande .gv2-collage-s2 { width: clamp(70px, 7vw, 120px); border-radius: 50%; bottom: -10%; left: auto; right: -6%; transform: none; background: var(--gv2-aplat-2, var(--gv2-green)); }
.gv2-forme-bande .gv2-collage-s3 { display: none; }
/* collage · cadre : un cadre filaire décalé, la barre en haut */
.gv2-forme-cadre .gv2-collage-card { transform: rotate(1.5deg); }
.gv2-forme-cadre .gv2-collage-s1 { inset: 16px -16px -16px 16px; width: auto; aspect-ratio: auto; background: transparent; border: 3px solid var(--gv2-aplat-1, var(--gv2-gold)); transform: none; }
.gv2-forme-cadre .gv2-collage-s2 { display: none; }
.gv2-forme-cadre .gv2-collage-s3 { top: -8%; bottom: auto; left: -4%; right: 40%; }
@media (max-width: 860px) {
  .gv2-forme-biseau .gv2-vitrine-media img, .gv2-forme-biseau .gv2-vitrine-media::before { clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 36px 100%, 0 calc(100% - 36px)); }
  .gv2-forme-galet .gv2-vitrine-media img, .gv2-forme-lune .gv2-vitrine-media img { border-radius: 18px; }
  .gv2-forme-bande .gv2-collage-s1 { display: block; }
}

/* ── Teintes des aplats (option gather_v2_teinte → classe body .gv2-teinte-*) ──
   Même palette, rôles différents : sans ça deux collages en « bande » ont la même
   bande dorée et le même disque vert (Antoine, 22/09/2026). `franc` = défaut. */
.gv2-teinte-pastel { --gv2-aplat-1: color-mix(in srgb, var(--gv2-gold) 42%, var(--gv2-paper)); --gv2-aplat-2: color-mix(in srgb, var(--gv2-green) 38%, var(--gv2-paper)); --gv2-aplat-3: color-mix(in srgb, var(--gv2-deep) 55%, var(--gv2-paper)); }
.gv2-teinte-encre { --gv2-aplat-1: var(--gv2-ink); --gv2-aplat-2: var(--gv2-gold); --gv2-aplat-3: var(--gv2-gold); }
.gv2-teinte-nuit { --gv2-aplat-1: var(--gv2-deep); --gv2-aplat-2: color-mix(in srgb, var(--gv2-green) 55%, var(--gv2-paper)); --gv2-aplat-3: var(--gv2-gold); }
/* neutre (12/11/2026) — FOND SOMBRE SEULEMENT, posé à la main (jamais tiré par variety.mjs).
   Sur fond sombre, --gv2-deep (primary assombri) et les bandes « teintées » (accent mêlé
   au papier noir) donnaient du marron sur noir dès que l'accent est chaud (artisans47,
   gd-elec, lartdebatir, maisonideale, tendances-habitat). Ici : bandes et panneaux en
   anthracite neutre, l'accent ne reste que sur les boutons, chiffres et petits signes. */
.gv2-teinte-neutre { --gv2-deep: #1E2027; --gv2-aplat-1: #1E2027; --gv2-aplat-2: #24262D; --gv2-aplat-3: var(--gv2-gold); }
.gv2-teinte-neutre :is(.gv2-numband, .gv2-gmots-c3, .gv2-quiz, .gv2-outil, .gv2-garanties) { background: #1C1E24; }
.gv2-teinte-neutre .gv2-chiffres-icones { background: #1C1E24; color: var(--gv2-ink); }
.gv2-teinte-neutre .gv2-cocon .gv2-pk-btn-2, .gv2-teinte-neutre .gv2-offre:not(.gv2-offre-1) .gv2-offre-btn { background: #24262D; }
/* la vitrine suit : son halo prend la 2e teinte */
.gv2-teinte-pastel .gv2-vitrine-halo, .gv2-teinte-nuit .gv2-vitrine-halo { background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--gv2-aplat-2) 60%, transparent) 0%, transparent 70%); }
.gv2-teinte-encre .gv2-vitrine-halo { background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--gv2-gold) 30%, transparent) 0%, transparent 70%); }

/* ── Responsive des trois squelettes ─────────────────────────────────────── */
@media (max-width: 860px) {
  .gv2-collage, .gv2-vitrine { grid-template-columns: minmax(0, 1fr); }
  .gv2-collage-card { transform: none; }
  .gv2-collage-s2, .gv2-collage-s3 { display: none; }
  .gv2-vitrine-media img { aspect-ratio: 4 / 3; border-radius: 18px; }
  .gv2-vitrine-card-1 { top: auto; bottom: -14px; left: 8px; }
  .gv2-vitrine-card-2 { display: none; }
  .gv2-affiche-mark { font-size: 21vw; }
  .gv2-affiche { min-height: clamp(520px, 92vh, 760px); }
  .gv2-affiche-photo::after { background: linear-gradient(0deg, rgba(8,9,12,.9) 0%, rgba(8,9,12,.55) 55%, rgba(8,9,12,.25) 100%); }
  .gv2-rub12-2, .gv2-rub12-3, .gv2-rub12-4 { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; height: auto; }
  .gv2-rub12-3 .gv2-rub12-lead, .gv2-rub12-4 .gv2-rub12-lead { grid-row: auto; }
  .gv2-rub12-card { height: clamp(200px, 56vw, 320px); }
}

/* ── Preuve : note + volume ──────────────────────────────────────────────── */
.gv2-preuve { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-family: var(--gv2-meta); }
.gv2-preuve b { font-size: 15px; font-weight: 700; letter-spacing: calc(-.01em * var(--gv2-track, 1)); color: var(--gv2-ink); }
.gv2-preuve-stars { display: inline-flex; gap: 2px; }
.gv2-preuve-stars i { width: 14px; height: 14px; display: block; color: var(--gv2-rule); }
.gv2-preuve-stars i.gv2-on { color: var(--gv2-gold); }
.gv2-preuve-stars svg { width: 100%; height: 100%; fill: currentColor; display: block; }
.gv2-preuve-ligne { padding: 14px var(--gv2-gut) 0; }
.gv2-preuve-ligne .gv2-lbl { color: var(--gv2-muted); }
.gv2-preuve-cartouche { margin: 0 var(--gv2-gut) clamp(30px, 3.4vw, 48px); padding: 12px 18px; background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper)); border: 1px solid var(--gv2-rule-soft); width: fit-content; }
.gv2-preuve-cartouche b { font-size: 19px; }
.gv2-preuve-txt { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gv2-preuve-faces { display: inline-flex; }
.gv2-preuve-faces img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gv2-paper); }
.gv2-preuve-faces img + img { margin-left: -10px; }

/* ── Section d'articles vide : masquée ───────────────────────────────────── */
/* Un site qui vient d'être lancé n'a publié aucun article : « À la une » (et
   les rails, séries, tuiles des autres squelettes) rendaient leur titre au-dessus
   d'une grande bande vide — constaté sur marvina le 14/09. La section réapparaît
   d'elle-même au premier article publié, sans repousser la home. `.wp-block-post`
   est la classe que WordPress pose sur chaque article d'une boucle. */
.gv2-sec:has(.wp-block-query):not(:has(.wp-block-post)) { display: none; }

/* ── Cartes numérotées : 3 cartes = 3 colonnes, pas de colonne d'image vide ── */
/* À 2 colonnes, la 3e carte restait seule sur sa ligne ; et chaque carte réservait
   140 px à une image absente (tablesetsaveurs, 14/09). */
.gv2-numcards.gv2-numcards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gv2-numcard.gv2-numcard-sans-image { grid-template-columns: minmax(0, 1fr); padding: 22px 24px 24px; align-items: start; }
@media (max-width: 780px) { .gv2-numcards.gv2-numcards-3 { grid-template-columns: minmax(0, 1fr); } }

/* ── Vitrine : la note dans la première carte flottante (14/09/2026) ──────── */
.gv2-vitrine-card-note { gap: 6px; max-width: 260px; }
.gv2-vitrine-card-note .gv2-preuve-stars i { width: 15px; height: 15px; }
.gv2-vitrine-card-note b { font-size: 26px; }
.gv2-vitrine-card-note em { font-size: 13px; line-height: 1.4; }

/* ══ Deuxième série de blocs (22/09/2026, lib/design-v2/blocks-plus.mjs) ══════
   Relevés sur trois homes concurrentes montrées par Antoine. Chaque bloc suit
   les jetons du fond (paper/ink/rule), donc tient sur les trois grounds. */

/* ── Édito signé ─────────────────────────────────────────────────────────── */
.gv2-edito { padding-top: clamp(44px, 5.4vw, 84px); padding-bottom: clamp(44px, 5.4vw, 84px); text-align: center; }
.gv2-edito-in { max-width: 880px; margin: 0 auto; }
.gv2-edito .gv2-lbl { color: var(--gv2-muted); }
.gv2-edito-q {
  display: block; width: clamp(40px, 4.2vw, 58px); height: clamp(30px, 3.2vw, 44px); margin: 16px auto 0; background: var(--gv2-gold);
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36'%3E%3Cpath d='M0 36V21C0 9 6.5 1.6 19 0l2.2 5.4C14 7.4 11 11.3 11 17h9v19zm27 0V21C27 9 33.5 1.6 46 0l2 5.4C41 7.4 38 11.3 38 17h9v19z'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36'%3E%3Cpath d='M0 36V21C0 9 6.5 1.6 19 0l2.2 5.4C14 7.4 11 11.3 11 17h9v19zm27 0V21C27 9 33.5 1.6 46 0l2 5.4C41 7.4 38 11.3 38 17h9v19z'/%3E%3C/svg%3E");
}
.gv2-edito blockquote { margin: 20px 0 0; padding: 0; border: 0; }
.gv2-edito blockquote p { margin: 0; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(21px, 2.3vw, 31px); line-height: 1.38; color: var(--gv2-ink); text-wrap: balance; }
.gv2-edito-sig { margin: 28px 0 0; display: inline-flex; align-items: center; gap: 14px; text-align: left; }
.gv2-edito-sig img { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; display: block; }
.gv2-edito-sig b { display: block; font-family: var(--gv2-meta); font-size: 15px; font-weight: 700; color: var(--gv2-ink); letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-edito-sig span { display: block; font-family: var(--gv2-meta); font-size: 13px; line-height: 1.4; color: var(--gv2-muted); }
.gv2-edito-bande { background: var(--gv2-deep); }
.gv2-edito-bande blockquote p, .gv2-edito-bande .gv2-edito-sig b { color: #fff; }
.gv2-edito-bande .gv2-lbl, .gv2-edito-bande .gv2-edito-sig span { color: rgba(255,255,255,.72); }
/* edito:photo (06/10/2026) — grande photo encadrée, citation, lien vers la bio. Fond profond comme la bande ;
   le cadre décalé prend l'accent du site, le rayon suit le squelette (--gv2-r). Citation en romain : l'italique
   reste réservé à l'accroche. */
.gv2-edito-photo { background: var(--gv2-deep); text-align: left; }
.gv2-edito-photo .gv2-edito-in { max-width: 1040px; display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.gv2-edito-cadre { position: relative; width: 100%; max-width: 220px; aspect-ratio: 220 / 260; }
.gv2-edito-cadre::before { content: ""; position: absolute; inset: 0; transform: translate(14px, 14px); border: 2px solid var(--gv2-gold); border-radius: var(--gv2-r, 0); }
.gv2-edito-cadre img { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--gv2-r, 0); }
.gv2-edito-photo .gv2-lbl { color: var(--gv2-gold); }
.gv2-edito-photo blockquote { margin: 16px 0 0; padding: 0; border: 0; }
.gv2-edito-photo blockquote p { margin: 0; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(22px, 2.5vw, 34px); line-height: 1.3; color: #fff; text-wrap: balance; }
.gv2-edito-photo .gv2-edito-sig { margin: 22px 0 0; display: block; font-family: var(--gv2-meta); font-size: 15px; color: rgba(255,255,255,.76); }
.gv2-edito-photo .gv2-edito-sig b { display: inline; font-size: 15px; color: #fff; }
.gv2-edito-photo .gv2-edito-sig span { display: inline; font-size: 15px; color: rgba(255,255,255,.76); }
.gv2-edito-photo .gv2-edito-sig span::before { content: " · "; }
.gv2-edito-lien { display: inline-block; margin-top: 16px; font-family: var(--gv2-meta); font-size: 15px; font-weight: 700; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.gv2-edito-lien:hover { color: var(--gv2-gold); }
@media (max-width: 640px) {
  .gv2-edito-photo .gv2-edito-in { grid-template-columns: 1fr; }
  .gv2-edito-cadre { max-width: 180px; }
}

/* ── Quatuor : quatre photos décalées + lettre en filigrane ──────────────── */
.gv2-quatuor { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 4.6vw, 76px); align-items: center; padding-top: clamp(40px, 5vw, 80px); padding-bottom: clamp(40px, 5vw, 80px); overflow: hidden; }
.gv2-quatuor-flip > .gv2-quatuor-grid { order: 2; }
.gv2-quatuor-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(10px, 1.3vw, 18px); align-items: start; }
.gv2-quatuor-p { overflow: hidden; border-radius: 6px; background: var(--gv2-rule-soft); }
.gv2-quatuor-p img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-quatuor-p1 { grid-column: 1 / 8; aspect-ratio: 1 / 1; }
.gv2-quatuor-p2 { grid-column: 8 / 13; aspect-ratio: 3 / 4; margin-top: 16%; }
.gv2-quatuor-p3 { grid-column: 1 / 6; aspect-ratio: 3 / 4; margin-top: -8%; }
.gv2-quatuor-p4 { grid-column: 6 / 13; aspect-ratio: 5 / 4; }
/* moins de quatre images : grille régulière, sans case vide */
.gv2-quatuor-n2 .gv2-quatuor-p, .gv2-quatuor-n3 .gv2-quatuor-p { grid-column: span 6; aspect-ratio: 3 / 4; margin-top: 0; }
.gv2-quatuor-n3 .gv2-quatuor-p3 { grid-column: 1 / 13; aspect-ratio: 16 / 9; }
.gv2-quatuor-txt { position: relative; }
.gv2-quatuor-txt > *:not(.gv2-quatuor-lettre) { position: relative; z-index: 1; }
.gv2-quatuor-lettre {
  position: absolute; z-index: 0; right: -4%; top: 50%; transform: translateY(-50%);
  font-family: var(--gv2-ui); font-weight: 800; font-size: clamp(240px, 28vw, 440px); line-height: .78;
  color: color-mix(in srgb, var(--gv2-green) 9%, transparent); pointer-events: none; user-select: none;
}
.gv2-quatuor-txt h2 { margin: 14px 0 0; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.06; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-quatuor-txt p { margin: 16px 0 0; font-size: 16.5px; line-height: 1.7; color: var(--gv2-text); max-width: 50ch; }
.gv2-quatuor-txt .gv2-cta { display: inline-block; margin-top: 26px; }

/* ── Chiffres sur photo ──────────────────────────────────────────────────── */
.gv2-chiffres-photo { position: relative; overflow: hidden; padding: clamp(64px, 8vw, 132px) var(--gv2-gut) clamp(44px, 5vw, 76px); text-align: center; }
.gv2-chiffres-photo-img { position: absolute; inset: 0; }
.gv2-chiffres-photo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-chiffres-photo-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,11,14,.52) 0%, rgba(10,11,14,.78) 100%); }
.gv2-chiffres-photo-in { position: relative; z-index: 1; }
.gv2-chiffres-photo-in > .gv2-lbl { color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; padding: 6px 14px; }
.gv2-chiffres-photo h2 { margin: 18px auto 0; color: #fff; font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; letter-spacing: calc(-.04em * var(--gv2-track, 1)); max-width: 20ch; text-wrap: balance; }
.gv2-chiffres-photo .gv2-cta { display: inline-block; margin-top: 24px; background: #fff; color: #16180F !important; }  /* sur photo : jamais l'encre du fond (claire en ground dark) */
.gv2-chiffres-photo .gv2-cta:hover { background: var(--gv2-gold); }
.gv2-chiffres-photo .gv2-chiffres { margin-top: clamp(40px, 5vw, 76px); padding-top: clamp(24px, 3vw, 38px); border-top: 1px solid rgba(255,255,255,.3); max-width: var(--gv2-max); margin-left: auto; margin-right: auto; }
.gv2-chiffres-photo .gv2-chiffre-n { color: #fff; }
.gv2-chiffres-photo .gv2-chiffre .gv2-lbl, .gv2-chiffres-photo .gv2-chiffre:nth-child(even) .gv2-lbl { color: rgba(255,255,255,.78); }
.gv2-chiffres-photo .gv2-chiffre p { display: none; }

/* ── Pastilles : composition ronde + dernières parutions en pastilles ────── */
.gv2-pilules { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 4.6vw, 76px); align-items: center; padding-top: clamp(40px, 5vw, 80px); padding-bottom: clamp(40px, 5vw, 80px); }
.gv2-pilules-flip > .gv2-pilules-art { order: 2; }
.gv2-pilules-art { position: relative; width: 100%; max-width: 520px; aspect-ratio: 1 / 1; justify-self: center; }
.gv2-pilules-trame { position: absolute; inset: -4% 34% 34% -4%; border-radius: 50%; background-image: radial-gradient(color-mix(in srgb, var(--gv2-green) 55%, transparent) 1.5px, transparent 1.8px); background-size: 15px 15px; opacity: .75; }
.gv2-pilules-disque { position: absolute; inset: 9% 0 0 9%; border-radius: 50%; overflow: hidden; background: var(--gv2-rule-soft); }
.gv2-pilules-disque img, .gv2-pilules-mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-pilules-mini { position: absolute; left: 0; top: 2%; width: 31%; aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; border: 6px solid var(--gv2-paper); }
.gv2-pilules-pastille { position: absolute; right: 3%; bottom: 0; width: 19%; aspect-ratio: 1 / 1; border-radius: 50%; background: var(--gv2-aplat-2, var(--gv2-green)); }
.gv2-pilules-txt .gv2-lbl { color: var(--gv2-muted); }
.gv2-pilules-txt h2 { margin: 12px 0 0; font-size: clamp(26px, 3vw, 40px); line-height: 1.08; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-pilules-txt > p { margin: 14px 0 0; font-size: 16px; line-height: 1.65; color: var(--gv2-text); max-width: 46ch; }
.gv2-pilules-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; max-width: none; }
.gv2-pilules-q .wp-block-post { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 16px; align-items: center; margin: 0; padding: 9px 26px 9px 9px; border: 1.5px solid var(--gv2-rule); border-radius: 999px; background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); transition: border-color .2s; }
.gv2-pilules-q .wp-block-post:hover { border-color: var(--gv2-green); }
.gv2-pilules-q .wp-block-post-featured-image { margin: 0; width: 68px; height: 68px; border-radius: 50%; overflow: hidden; }
.gv2-pilules-q .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-pilule-txt { min-width: 0; }
.gv2-pilules-q .wp-block-post-terms { margin: 0; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gv2-green); }
.gv2-pilules-q .wp-block-post-terms a { color: inherit; }
.gv2-pilules-q .wp-block-post-title { margin: 3px 0 0; font-family: var(--gv2-meta); font-size: clamp(15px, 1.25vw, 17px); font-weight: 700; line-height: 1.3; letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-pilules-q .wp-block-post-title a { color: var(--gv2-ink); }

/* ── Cartes à cheval sur deux fonds ──────────────────────────────────────── */
/* La bande s'arrête à mi-hauteur des vignettes : sa hauteur suit le padding,
   le titre et la moitié d'une image (même clamp que l'image ci-dessous). */
.gv2-cheval {
  --gv2-cheval-img: clamp(170px, 16vw, 230px);
  padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px);
  background: linear-gradient(color-mix(in srgb, var(--gv2-green) 13%, var(--gv2-paper)), color-mix(in srgb, var(--gv2-green) 13%, var(--gv2-paper))) no-repeat top / 100% calc(clamp(40px, 5vw, 72px) + var(--gv2-cheval-head, 150px) + var(--gv2-cheval-img) * .55);
}
.gv2-cheval-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 48px); align-items: end; min-height: calc(var(--gv2-cheval-head, 150px) - 34px); padding-bottom: 34px; }
.gv2-cheval-head h2 { margin: 0; font-size: clamp(26px, 3vw, 40px); line-height: 1.08; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-cheval-head p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--gv2-text); max-width: 46ch; }
.gv2-cheval-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 26px); max-width: none; }
.gv2-cheval-q .wp-block-post { margin: 0; padding: 12px 12px 22px; background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper)); border: 1px solid var(--gv2-rule); border-radius: 14px; }
.gv2-cheval-q .wp-block-post-featured-image { margin: 0; }
.gv2-cheval-q .wp-block-post-featured-image img { width: 100%; height: var(--gv2-cheval-img); object-fit: cover; display: block; border-radius: 9px; }
.gv2-cheval-q .wp-block-post-terms { margin: 16px 8px 0; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gv2-green); }
.gv2-cheval-q .wp-block-post-terms a { color: inherit; }
.gv2-cheval-q .wp-block-post-title { margin: 6px 8px 0; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.25; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-cheval-q .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-cheval-q .wp-block-post-excerpt { margin: 8px 8px 0; font-size: 14.5px; line-height: 1.6; color: var(--gv2-text); }
.gv2-cheval-q .wp-block-post-excerpt__more-link { display: none; }

@media (max-width: 860px) {
  .gv2-quatuor, .gv2-pilules { grid-template-columns: minmax(0, 1fr); }
  .gv2-quatuor-flip > .gv2-quatuor-grid, .gv2-pilules-flip > .gv2-pilules-art { order: 0; }
  .gv2-quatuor-lettre { font-size: 62vw; right: -8%; }
  .gv2-pilules-art { max-width: 360px; }
  .gv2-cheval { --gv2-cheval-head: 190px; }
  .gv2-cheval-head { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .gv2-cheval-q .wp-block-post-template.wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
  .gv2-chiffres-photo .gv2-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ══ Troisième série (22/09/2026 nuit, relevée sur le réseau ARESEO) ═════════
   Formes génériques et variantes de nos blocs (blocks-plus.mjs). Les signatures
   de l'auteur des maquettes metricsbooster ne sont PAS reprises (manifeste en
   capitales géantes, nom en fond perdu, signature manuscrite). */

/* ── Phrase-sommaire ─────────────────────────────────────────────────────── */
.gv2-phrase { padding-top: clamp(48px, 6vw, 96px); padding-bottom: clamp(48px, 6vw, 96px); }
.gv2-phrase p { margin: 0; max-width: 32ch; font-family: var(--gv2-ui); font-weight: 500; font-size: clamp(27px, 3.5vw, 50px); line-height: 1.24; letter-spacing: calc(-.03em * var(--gv2-track, 1)); color: var(--gv2-ink); text-wrap: balance; }
.gv2-phrase b { font-weight: 800; }
.gv2-phrase a { color: inherit; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .14em; text-decoration-color: var(--gv2-gold); }
.gv2-phrase a:hover { color: var(--gv2-green); }
.gv2-phrase-bande { background: var(--gv2-deep); }
.gv2-phrase-bande p { color: #fff; }
.gv2-phrase-bande a:hover { color: var(--gv2-gold); }

/* ── Rubriques en alternance ─────────────────────────────────────────────── */
.gv2-alterne { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: clamp(20px, 3.4vw, 56px); align-items: center; padding-top: clamp(26px, 3.2vw, 46px); padding-bottom: clamp(26px, 3.2vw, 46px); }
.gv2-alterne-flip > .gv2-alterne-tete { order: 2; }
.gv2-alterne-tete h2 { margin: 0; font-size: clamp(28px, 3.4vw, 48px); line-height: 1.02; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.gv2-alterne-tete h2 a { color: var(--gv2-ink); }
.gv2-alterne-tete p { margin: 12px 0 0; font-size: 15.5px; line-height: 1.6; color: var(--gv2-text); max-width: 36ch; }
.gv2-alterne-tete .gv2-cta { display: inline-block; margin-top: 18px; }
.gv2-alterne-q { background: var(--gv2-deep); padding: clamp(14px, 2.2vw, 30px); border-radius: 4px; }
.gv2-alterne-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; max-width: none; }
.gv2-alterne-q .wp-block-post { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 18px; align-items: center; margin: 0; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.gv2-alterne-q .wp-block-post:last-child { border-bottom: 0; }
.gv2-alterne-q .wp-block-post-featured-image { margin: 0; order: 2; }
.gv2-alterne-q .wp-block-post-featured-image img { width: 120px; height: 84px; object-fit: cover; display: block; }
.gv2-alterne-txt { order: 1; min-width: 0; }
.gv2-alterne-q .wp-block-post-title { margin: 0; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.25; letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-alterne-q .wp-block-post-title a { color: #fff; }
.gv2-alterne-q .wp-block-post-excerpt { margin: 6px 0 0; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.74); }
.gv2-alterne-q .wp-block-post-excerpt p { margin: 0; }
.gv2-alterne-q .wp-block-post-excerpt__more-link { display: none; }

/* ── Colonnes par rubrique ───────────────────────────────────────────────── */
.gv2-colrub { padding-top: clamp(30px, 3.6vw, 52px); padding-bottom: clamp(30px, 3.6vw, 52px); }
.gv2-colrub .gv2-rule-h { margin-bottom: 24px; }
.gv2-colrub-grid { display: grid; grid-template-columns: repeat(var(--gv2-n, 4), minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); }
.gv2-colrub-n2 { --gv2-n: 2; } .gv2-colrub-n3 { --gv2-n: 3; } .gv2-colrub-n4 { --gv2-n: 4; }
.gv2-colrub-col { background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper)); border: 1px solid var(--gv2-rule-soft); padding: 16px; border-radius: 6px; min-width: 0; }
.gv2-colrub-h { margin: 0 0 14px; padding-left: 10px; border-left: 3px solid var(--gv2-gold); font-size: 20px; line-height: 1.15; }
.gv2-colrub-h a { color: var(--gv2-ink); }
.gv2-colrub-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; max-width: none; }
.gv2-colrub-q .wp-block-post { margin: 0; }
.gv2-colrub-q .wp-block-post-featured-image { margin: 0; }
.gv2-colrub-q .wp-block-post-featured-image img { width: 100%; height: clamp(110px, 9vw, 140px); object-fit: cover; display: block; border-radius: 4px; }
.gv2-colrub-q .wp-block-post-title { margin: 8px 0 0; font-family: var(--gv2-meta); font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.gv2-colrub-q .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-colrub-q .wp-block-post-date { margin-top: 4px; font-family: var(--gv2-meta); font-size: 12px; color: var(--gv2-muted); }

/* ── Liste numérotée à filets ────────────────────────────────────────────── */
.gv2-listenum { padding-top: clamp(30px, 3.6vw, 52px); padding-bottom: clamp(30px, 3.6vw, 52px); }
.gv2-listenum-q .wp-block-post-template.wp-block-post-template { list-style: none; margin: 10px 0 0; padding: 0; counter-reset: gv2num; max-width: none; display: block; }
.gv2-listenum-q .wp-block-post { counter-increment: gv2num; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 128px; gap: 18px; align-items: baseline; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--gv2-rule); }
.gv2-listenum-q .wp-block-post::before { content: counter(gv2num, decimal-leading-zero); font-family: var(--gv2-ui); font-weight: 800; font-size: 22px; line-height: 1; color: var(--gv2-gold); }
.gv2-listenum-q .wp-block-post-title { margin: 0; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.25; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-listenum-q .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-listenum-q .wp-block-post-title a:hover { color: var(--gv2-green); }
.gv2-listenum-q .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gv2-green); white-space: nowrap; }
.gv2-listenum-q .wp-block-post-terms a { color: inherit; }
.gv2-listenum-q .wp-block-post-date { font-family: var(--gv2-meta); font-size: 12.5px; color: var(--gv2-muted); white-space: nowrap; text-align: right; }

/* ── Mosaïque bento ──────────────────────────────────────────────────────── */
.gv2-bento { padding-top: clamp(36px, 4.4vw, 64px); padding-bottom: clamp(36px, 4.4vw, 64px); }
.gv2-bento-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(18px, 3vw, 48px); align-items: end; margin-bottom: clamp(18px, 2.4vw, 30px); }
.gv2-bento-head .gv2-lbl { color: var(--gv2-muted); }
.gv2-bento-head h2 { margin: 8px 0 0; font-size: clamp(26px, 3vw, 40px); line-height: 1.08; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-bento-head p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--gv2-text); max-width: 48ch; }
.gv2-bento-head .gv2-cta { display: inline-block; margin-top: 14px; }
.gv2-bento-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: clamp(150px, 15vw, 230px) clamp(150px, 15vw, 230px); gap: clamp(10px, 1.2vw, 16px); }
.gv2-bento-grid figure { margin: 0; overflow: hidden; border-radius: 14px; background: var(--gv2-rule-soft); }
.gv2-bento-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-bento-1 { grid-row: 1 / 3; }
.gv2-bento-2 { grid-column: 2 / 4; }
.gv2-bento-n3 .gv2-bento-3 { grid-column: 2 / 4; }

/* ── Rubriques en cartes à pastille ──────────────────────────────────────── */
.gv2-rubpast { padding-top: clamp(30px, 3.6vw, 52px); padding-bottom: clamp(30px, 3.6vw, 52px); }
.gv2-rubpast .gv2-rule-h { margin-bottom: 24px; }
.gv2-rubpast-grid { display: grid; grid-template-columns: repeat(var(--gv2-n, 3), minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 26px); }
.gv2-rubpast-n2 { --gv2-n: 2; } .gv2-rubpast-n3 { --gv2-n: 3; } .gv2-rubpast-n4 { --gv2-n: 4; }
.gv2-rubpast-card { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; background: color-mix(in srgb, var(--gv2-ink) 3%, var(--gv2-paper)); border: 1px solid var(--gv2-rule-soft); border-radius: 16px; overflow: hidden; padding-bottom: 22px; color: var(--gv2-ink); transition: border-color .2s; }
.gv2-rubpast-card:hover { border-color: var(--gv2-green); }
.gv2-rubpast-img { display: block; width: 100%; height: clamp(140px, 14vw, 200px); }
.gv2-rubpast-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-rubpast-ico { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; margin-top: -28px; border-radius: 50%; background: var(--gv2-paper); border: 1px solid var(--gv2-rule-soft); }
.gv2-rubpast-ico .gv2-ico { width: 26px; height: 26px; }
.gv2-rubpast-card b { margin-top: 10px; font-family: var(--gv2-ui); font-size: 19px; font-weight: 700; letter-spacing: calc(-.01em * var(--gv2-track, 1)); }
.gv2-rubpast-card em { margin: 6px 18px 0; font-style: normal; font-size: 14px; line-height: 1.5; color: var(--gv2-text); }

/* ── Rubriques en panneau + grille ───────────────────────────────────────── */
.gv2-rubpan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
.gv2-rubpan-panel { display: flex; flex-direction: column; justify-content: center; background: var(--gv2-deep); color: #fff; padding: clamp(40px, 5vw, 80px) clamp(24px, 4vw, 64px) clamp(40px, 5vw, 80px) var(--gv2-gut); }
.gv2-rubpan-panel .gv2-lbl { color: var(--gv2-gold); }
.gv2-rubpan-panel h2 { margin: 12px 0 0; color: #fff; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.06; letter-spacing: calc(-.045em * var(--gv2-track, 1)); text-wrap: balance; }
.gv2-rubpan-panel p { margin: 14px 0 0; color: rgba(255,255,255,.8); font-size: 16px; line-height: 1.65; max-width: 42ch; }
.gv2-rubpan-panel .gv2-cta { align-self: flex-start; margin-top: 22px; background: #fff; color: #16180F !important; }
.gv2-rubpan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: clamp(20px, 2.8vw, 40px); padding: clamp(36px, 4.4vw, 72px) var(--gv2-gut) clamp(36px, 4.4vw, 72px) clamp(24px, 4vw, 64px); background: color-mix(in srgb, var(--gv2-gold) 10%, var(--gv2-paper)); }
.gv2-rubpan-item { display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; align-items: start; color: var(--gv2-ink); }
.gv2-rubpan-item img { grid-row: 1 / 3; width: 76px; height: 76px; object-fit: cover; border-radius: 6px; display: block; }
.gv2-rubpan-item b { font-family: var(--gv2-ui); font-size: 18px; font-weight: 700; line-height: 1.2; }
.gv2-rubpan-item em { margin-top: 4px; font-style: normal; font-size: 14px; line-height: 1.5; color: var(--gv2-text); }
.gv2-rubpan-item:hover b { color: var(--gv2-green); }

/* ── Rubriques en tuiles sur le bas de l'ouverture ───────────────────────── */
/* L'ouverture qui les précède garde son contenu : on lui ajoute en bas la hauteur
   du débordement (affiche et voilées posent leur texte en bas de la photo). */
.gv2-rubsh { position: relative; z-index: 3; margin-top: calc(-1 * clamp(56px, 6vw, 96px)); padding: 0 var(--gv2-gut) clamp(30px, 3.6vw, 52px); }
.gv2-affiche:has(+ .gv2-rubsh) .gv2-affiche-in { padding-bottom: calc(clamp(56px, 7vw, 120px) + clamp(56px, 6vw, 96px)); }
:is(.gv2-veiled, .gv2-veiled-centre, .gv2-veiled-roi):has(+ .gv2-rubsh) { padding-bottom: calc(clamp(34px, 4.4vw, 64px) + clamp(56px, 6vw, 96px)); }
.gv2-rubsh-grid { display: grid; grid-template-columns: repeat(var(--gv2-n, 3), minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 20px); }
.gv2-rubsh-n2 { --gv2-n: 2; } .gv2-rubsh-n3 { --gv2-n: 3; } .gv2-rubsh-n4 { --gv2-n: 4; }
.gv2-rubsh-card { position: relative; display: block; height: clamp(150px, 14vw, 210px); overflow: hidden; border-radius: 10px; border: 3px solid var(--gv2-paper); box-shadow: 0 18px 40px -18px rgba(0,0,0,.45); }
.gv2-rubsh-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.gv2-rubsh-card:hover img { transform: scale(1.04); }
.gv2-rubsh-card::after { content: ""; position: absolute; inset: 40% 0 0 0; background: linear-gradient(to top, rgba(0,0,0,.66), rgba(0,0,0,0)); pointer-events: none; }
.gv2-rubsh-card span { position: absolute; z-index: 1; left: 14px; right: 14px; bottom: 12px; color: #fff; }
.gv2-rubsh-card b { display: block; font-family: var(--gv2-ui); font-size: clamp(17px, 1.5vw, 22px); font-weight: 700; line-height: 1.15; }
.gv2-rubsh-card em { display: block; margin-top: 4px; font-style: normal; font-family: var(--gv2-meta); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }

/* ── Portrait à cadres décalés ───────────────────────────────────────────── */
.gv2-cadres { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 4.6vw, 76px); align-items: center; padding-top: clamp(36px, 4.4vw, 64px); padding-bottom: clamp(40px, 5vw, 72px); }
.gv2-cadres-photos { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(14px, 2vw, 28px); align-items: start; }
.gv2-cadres-photos figure { position: relative; margin: 0; aspect-ratio: 3 / 4; }
.gv2-cadres-photos figure::before { content: ""; position: absolute; inset: 12px -12px -12px 12px; border: 2px solid var(--gv2-gold); z-index: 0; }
.gv2-cadres-photos img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-cadres-2 { margin-top: 22% !important; }
.gv2-cadres-2::before { border-color: var(--gv2-green) !important; inset: -12px 12px 12px -12px !important; }
.gv2-cadres-photos:has(> figure:only-child) { grid-template-columns: minmax(0, .7fr); }

/* ── Bords de section par site (option gather_v2_bord → body.gv2-bord-*) ────
   Les bandes pleine largeur ne finissent plus à l'horizontale : biais ou vague.
   Un axe par site, comme la forme et la teinte du hero. La bande s'agrandit d'une
   bordure transparente (le fond y passe), que la découpe mange — le contenu ne
   bouge pas. Sans option : bords droits, rendu d'avant. */
.gv2-bord-biais { --gv2-bord: clamp(22px, 3.2vw, 52px); }
.gv2-bord-vague { --gv2-bord: clamp(16px, 2.2vw, 36px); }
:is(.gv2-bord-biais, .gv2-bord-vague) :is(.gv2-band, .gv2-filigrane, .gv2-cartes-band, .gv2-listeicones, .gv2-numband, .gv2-chiffres-icones, .gv2-edito-bande, .gv2-edito-photo, .gv2-chiffres-photo, .gv2-phrase-bande, .gv2-listenum-sombre) {
  border-block: var(--gv2-bord) solid transparent; background-clip: border-box;
}
/* la photo des chiffres est un <img> positionné : il doit couvrir la bordure aussi */
:is(.gv2-bord-biais, .gv2-bord-vague) .gv2-chiffres-photo-img { inset: calc(-1 * var(--gv2-bord)) 0; }
.gv2-bord-biais :is(.gv2-band, .gv2-filigrane, .gv2-cartes-band, .gv2-listeicones, .gv2-numband, .gv2-chiffres-icones, .gv2-edito-bande, .gv2-edito-photo, .gv2-chiffres-photo, .gv2-phrase-bande, .gv2-listenum-sombre) {
  clip-path: polygon(0 var(--gv2-bord), 100% 0, 100% calc(100% - var(--gv2-bord)), 0 100%);
}
.gv2-bord-biais .gv2-footer { border-top: var(--gv2-bord) solid transparent; background-clip: border-box; clip-path: polygon(0 var(--gv2-bord), 100% 0, 100% 100%, 0 100%); }
.gv2-bord-vague :is(.gv2-band, .gv2-filigrane, .gv2-cartes-band, .gv2-listeicones, .gv2-numband, .gv2-chiffres-icones, .gv2-edito-bande, .gv2-edito-photo, .gv2-chiffres-photo, .gv2-phrase-bande, .gv2-listenum-sombre) {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20C150 0 300 0 450 20S750 40 900 20S1050 0 1200 20V40H0Z'/%3E%3C/svg%3E") top / 100% var(--gv2-bord) no-repeat,
    linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--gv2-bord) + 2px) no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1200V20C1050 40 900 40 750 20S450 0 300 20S150 40 0 20Z'/%3E%3C/svg%3E") bottom / 100% var(--gv2-bord) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20C150 0 300 0 450 20S750 40 900 20S1050 0 1200 20V40H0Z'/%3E%3C/svg%3E") top / 100% var(--gv2-bord) no-repeat,
    linear-gradient(#000 0 0) center / 100% calc(100% - 2 * var(--gv2-bord) + 2px) no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1200V20C1050 40 900 40 750 20S450 0 300 20S150 40 0 20Z'/%3E%3C/svg%3E") bottom / 100% var(--gv2-bord) no-repeat;
}
.gv2-bord-vague .gv2-footer {
  border-top: var(--gv2-bord) solid transparent; background-clip: border-box;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20C150 0 300 0 450 20S750 40 900 20S1050 0 1200 20V40H0Z'/%3E%3C/svg%3E") top / 100% var(--gv2-bord) no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--gv2-bord) + 1px) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20C150 0 300 0 450 20S750 40 900 20S1050 0 1200 20V40H0Z'/%3E%3C/svg%3E") top / 100% var(--gv2-bord) no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--gv2-bord) + 1px) no-repeat;
}

@media (max-width: 860px) {
  .gv2-alterne, .gv2-rubpan, .gv2-cadres, .gv2-bento-head { grid-template-columns: minmax(0, 1fr); }
  .gv2-alterne-flip > .gv2-alterne-tete { order: 0; }
  .gv2-rubpan-panel { padding: 40px var(--gv2-gut); }
  .gv2-rubpan-grid { padding: 32px var(--gv2-gut); grid-template-columns: minmax(0, 1fr); }
  .gv2-colrub-grid, .gv2-rubpast-grid, .gv2-rubsh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gv2-listenum-q .wp-block-post { grid-template-columns: 44px minmax(0, 1fr); row-gap: 6px; }
  .gv2-listenum-q .wp-block-post-terms, .gv2-listenum-q .wp-block-post-date { grid-column: 2; text-align: left; }
  .gv2-bento-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: repeat(3, clamp(120px, 34vw, 200px)); }
  .gv2-bento-1 { grid-row: auto; grid-column: 1 / 3; }
  .gv2-bento-2 { grid-column: 1 / 3; }
  .gv2-alterne-q .wp-block-post { grid-template-columns: minmax(0, 1fr) 88px; }
  .gv2-alterne-q .wp-block-post-featured-image img { width: 88px; height: 66px; }
}
@media (max-width: 520px) {
  .gv2-colrub-grid, .gv2-rubpast-grid, .gv2-rubsh-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ── Quatrième série de blocs (24/09/2026, relevée sur BayouJuju) ────────────
   Garanties (bande cochée sous l'ouverture), recherche (vrai formulaire ?s=),
   sujet (bandeau de fin vers le contact), méta des cartes (auteur + lecture). */
.gv2-garanties { padding: 14px var(--gv2-gut); border-bottom: 1px solid var(--gv2-rule-soft); background: color-mix(in srgb, var(--gv2-green) 5%, var(--gv2-paper)); }
.gv2-garanties-l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 10px 28px; }
.gv2-garanties-n2 { --n: 2; } .gv2-garanties-n3 { --n: 3; }
.gv2-garanties-l li { display: flex; align-items: center; gap: 10px; font-family: var(--gv2-meta); font-size: 13.5px; font-weight: 600; color: var(--gv2-ink); line-height: 1.3; }
.gv2-garanties-l .gv2-ico { width: 22px; height: 22px; flex: none; color: var(--gv2-green); }

.gv2-recherche { padding-top: clamp(34px, 4vw, 56px); padding-bottom: clamp(34px, 4vw, 56px); }
.gv2-recherche-in { max-width: 860px; margin: 0 auto; text-align: center; }
.gv2-recherche h2 { font-family: var(--gv2-ui); font-size: clamp(26px, 3vw, 38px); line-height: 1.12; margin: 10px 0 22px; color: var(--gv2-ink); letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-recherche-f { display: flex; align-items: center; gap: 8px; padding: 8px 8px 8px 18px; background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper)); border: 1px solid var(--gv2-rule); box-shadow: 0 10px 30px -18px color-mix(in srgb, var(--gv2-ink) 45%, transparent); }
.gv2-recherche-f input { flex: 1; min-width: 0; border: 0; background: transparent; font-family: var(--gv2-meta); font-size: 16px; color: var(--gv2-ink); padding: 10px 4px; outline: none; }
.gv2-recherche-f input::placeholder { color: var(--gv2-muted); }
.gv2-recherche-f button { font-family: var(--gv2-meta); font-size: 14px; font-weight: 600; color: #fff; background: var(--gv2-green); border: 0; padding: 12px 22px; cursor: pointer; white-space: nowrap; }
.gv2-recherche-f button:hover { background: var(--gv2-deep); }
.gv2-recherche-f:focus-within { border-color: var(--gv2-green); }
.gv2-recherche-ico { width: 18px; height: 18px; flex: none; background: var(--gv2-muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%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='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") center / contain no-repeat; }
.gv2-recherche-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.gv2-recherche-chip { font-family: var(--gv2-meta); font-size: 13px; font-weight: 600; color: var(--gv2-ink); padding: 7px 14px; border: 1px solid var(--gv2-rule); background: var(--gv2-paper); }
.gv2-recherche-chip:hover { border-color: var(--gv2-green); color: var(--gv2-green); }

.gv2-sujet { background: color-mix(in srgb, var(--gv2-deep) 78%, #000); padding: clamp(44px, 5.4vw, 80px) var(--gv2-gut); text-align: center; }
.gv2-sujet-in { max-width: 720px; margin: 0 auto; }
.gv2-sujet .gv2-lbl { color: color-mix(in srgb, var(--gv2-gold) 45%, #fff); }
.gv2-sujet h2 { font-family: var(--gv2-ui); font-size: clamp(28px, 3.4vw, 44px); line-height: 1.1; color: #fff; margin: 12px 0 14px; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-sujet p { color: color-mix(in srgb, #fff 76%, var(--gv2-deep)); font-size: 17px; line-height: 1.6; margin: 0 0 26px; }
.gv2-sujet .gv2-cta { display: inline-block; background: #fff; color: color-mix(in srgb, var(--gv2-deep) 78%, #000) !important; }
.gv2-sujet .gv2-cta:hover { background: var(--gv2-gold); }

/* Méta des cartes d'articles : option `gather_v2_carte_meta` (functions.php).
   Jamais dans les listes en tableau ni dans le ticker, où elle casserait la ligne. */
.gv2-search-head .gv2-recherche-f { max-width: 640px; margin-top: 18px; }
.gv2-search-empty { font-size: 17px; color: var(--gv2-text); padding: 24px 0; }
.gv2-pagination { margin-top: 36px; gap: 14px; font-family: var(--gv2-meta); font-size: 14px; }
.gv2-pagination a, .gv2-pagination .current { color: var(--gv2-ink); padding: 6px 10px; }
.gv2-pagination .current { background: var(--gv2-green); color: #fff; }
.gv2-cardmeta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; font-family: var(--gv2-meta); font-size: 12.5px; color: var(--gv2-muted); line-height: 1.3; }
.gv2-cardmeta img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; flex: none; }
.gv2-cardmeta b { font-weight: 600; color: var(--gv2-ink); }
.gv2-cardmeta .gv2-cm-sep { width: 3px; height: 3px; border-radius: 50%; background: currentColor; opacity: .6; }
.gv2-tbl-body .gv2-cardmeta, .gv2-ticker .gv2-cardmeta, .gv2-listenum-q .gv2-cardmeta { display: contents; }
.gv2-tbl-body .gv2-cardmeta > :not(time), .gv2-ticker .gv2-cardmeta > :not(time), .gv2-listenum-q .gv2-cardmeta > :not(time) { display: none; }

@media (max-width: 860px) {
  .gv2-garanties-l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .gv2-garanties-l { grid-template-columns: minmax(0, 1fr); }
  .gv2-recherche-f { flex-wrap: wrap; padding: 8px; }
  .gv2-recherche-ico { display: none; }
  .gv2-recherche-f input { flex-basis: 100%; padding: 10px; }
  .gv2-recherche-f button { flex: 1; }
}

/* ── Squelettes du pack (24/09/2026) : écrin, sylve, béton, bilan, cocon ─────
   blocks-pack.mjs. Les bandes volontairement noires (manifeste, triptyque)
   restent noires sur tous les fonds ; tout le reste passe par les jetons. */
.gv2-acc { font-family: var(--gv2-serif); font-style: italic; font-weight: 500; letter-spacing: 0; color: color-mix(in srgb, var(--gv2-green) 78%, var(--gv2-ink)); }
.gv2-pk-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.gv2-pk-btn { font-family: var(--gv2-meta); font-size: 14px; font-weight: 600; padding: 14px 26px; border-radius: 999px; background: var(--gv2-green); color: #fff !important; box-shadow: 0 12px 28px -16px color-mix(in srgb, var(--gv2-green) 80%, transparent); transition: transform .2s ease, background .2s ease; }
.gv2-pk-btn:hover { background: var(--gv2-deep); transform: translateY(-1px); }
.gv2-pk-btn-2 { background: transparent; color: var(--gv2-ink) !important; border: 1px solid var(--gv2-rule); box-shadow: none; }
.gv2-pk-btn-2:hover { background: color-mix(in srgb, var(--gv2-ink) 6%, transparent); }

/* Cohérence par squelette (option gather_v2_squelette → body.gv2-sk-*) :
   un rayon et une couleur d'action pour toute la page, en-tête compris. */
body.gv2-sk-ecrin .gv2-cta, body.gv2-sk-cocon .gv2-cta, body.gv2-sk-ecrin .gv2-recherche-f, body.gv2-sk-cocon .gv2-recherche-f,
body.gv2-sk-ecrin .gv2-recherche-f button, body.gv2-sk-cocon .gv2-recherche-f button { border-radius: 999px; }
body.gv2-sk-ecrin .gv2-recherche-f, body.gv2-sk-cocon .gv2-recherche-f { padding-left: 22px; }
body.gv2-sk-ecrin .gv2-badge, body.gv2-sk-cocon .gv2-badge { border-radius: 999px; }
body.gv2-sk-bilan .gv2-cta, body.gv2-sk-bilan .gv2-recherche-f, body.gv2-sk-bilan .gv2-recherche-f button { border-radius: 6px; }
body.gv2-sk-bilan .gv2-cta, body.gv2-sk-bilan .gv2-recherche-f button { background: linear-gradient(135deg, color-mix(in srgb, var(--gv2-gold) 78%, #000), var(--gv2-gold)); color: #fff !important; }
body.gv2-sk-bilan .gv2-acc, body.gv2-sk-bilan .gv2-header-centre .gv2-nav-cta { color: var(--gv2-gold); }
body.gv2-sk-bilan .gv2-sujet-panneau .gv2-sujet-in { background: linear-gradient(135deg, color-mix(in srgb, var(--gv2-gold) 62%, #000), color-mix(in srgb, var(--gv2-gold) 88%, #000)); }
body.gv2-sk-bilan .gv2-sujet-panneau .gv2-lbl { color: #fff; opacity: .8; }
body.gv2-sk-bilan .gv2-sujet-panneau .gv2-cta { background: #fff; color: color-mix(in srgb, var(--gv2-gold) 55%, #000) !important; }
body.gv2-sk-bilan .gv2-faq-plus { color: var(--gv2-gold); }
body.gv2-sk-sylve .gv2-cta, body.gv2-sk-sylve .gv2-recherche-f, body.gv2-sk-sylve .gv2-recherche-f button { border-radius: 6px; }
/* Un rayon par squelette pour TOUTES les boîtes (cartes, photos, panneaux,
   vignettes d'articles) — les blocs posaient chacun le leur (bistrot-auguste :
   boutons à 4, tuiles à 8, panneau à 32, photos carrées, 24/09/2026). */
body.gv2-sk-ecrin { --gv2-r: 24px; } body.gv2-sk-cocon { --gv2-r: 26px; } body.gv2-sk-bilan { --gv2-r: 16px; }
body.gv2-sk-sylve { --gv2-r: 6px; } body.gv2-sk-beton { --gv2-r: 0px; }
/* collage (12/11/2026, inspiredeco) : photo inclinée et aplats découpés, donc tout
   carré — pastilles d'onglets, badges et cartes de rubrique étaient ronds sous des
   photos et des cartes d'articles à angle droit (Antoine : « il faut une unité »). */
body.gv2-sk-collage { --gv2-r: 0px; }
body.gv2-sk-collage .gv2-pill, body.gv2-sk-collage .gv2-badge, body.gv2-sk-collage .gv2-cta,
body.gv2-sk-collage .gv2-rubpast-card, body.gv2-sk-collage .gv2-rubpast-ico, body.gv2-sk-collage .gv2-encart-img { border-radius: 0; }
body[class*="gv2-sk-"] .gv2-coll-t, body[class*="gv2-sk-"] .gv2-numcard, body[class*="gv2-sk-"] .gv2-check-row,
body[class*="gv2-sk-"] .gv2-check-img img, body[class*="gv2-sk-"] .gv2-faq-img img, body[class*="gv2-sk-"] .gv2-faq-item,
body[class*="gv2-sk-"] .gv2-sujet-panneau .gv2-sujet-in, body[class*="gv2-sk-"] .gv2-sujet-photo .gv2-sujet-bg,
body[class*="gv2-sk-"] .gv2-pk-btn, body[class*="gv2-sk-"] .gv2-offre-btn,
body[class*="gv2-sk-"] .gv2-vedette-img img, body[class*="gv2-sk-"] .gv2-essence-media img, body[class*="gv2-sk-"] .gv2-ecrin-media > img,
body[class*="gv2-sk-"] .gv2-bilan-media > img, body[class*="gv2-sk-"] .gv2-bento2-c, body[class*="gv2-sk-"] .gv2-offre, body[class*="gv2-sk-"] .gv2-gmots-c,
body[class*="gv2-sk-"] .gv2-cocon-t, body[class*="gv2-sk-"] .gv2-ecrin-card, body[class*="gv2-sk-"] .gv2-bilan-stat,
body[class*="gv2-sk-"] .gv2 .wp-block-post-featured-image img, body[class*="gv2-sk-"] .gv2 .wp-block-post-featured-image a { border-radius: var(--gv2-r); }
body[class*="gv2-sk-"] .gv2-essence-media::before { border-radius: calc(var(--gv2-r) + 6px); }
body.gv2-sk-ecrin .gv2-faq-item, body.gv2-sk-cocon .gv2-faq-item { border-radius: 18px; }
body.gv2-sk-ecrin .gv2-pk-btn, body.gv2-sk-cocon .gv2-pk-btn, body.gv2-sk-cocon .gv2-offre-btn { border-radius: 999px; }
body.gv2-sk-beton .gv2-cta, body.gv2-sk-beton .gv2-recherche-f, body.gv2-sk-beton .gv2-recherche-f button, body.gv2-sk-beton .gv2-badge { border-radius: 0; }
body.gv2-sk-beton .gv2-cta { background: var(--gv2-ink); color: var(--gv2-paper) !important; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; }

/* L'italique ne sert qu'à l'accroche (retour d'Antoine sur vitalitemag, 24/09) :
   ailleurs, l'accent garde sa couleur, en romain. */
.gv2-acc { font-style: normal; font-family: inherit; }
.gv2-ecrin h1 .gv2-acc, .gv2-sylve h1 .gv2-acc, .gv2-beton h1 .gv2-acc, .gv2-bilan h1 .gv2-acc, .gv2-cocon h1 .gv2-acc { font-family: var(--gv2-serif); font-style: italic; }
.gv2-vedettes-head h2, .gv2-ecrin-card b, .gv2-sujet-panneau h2, .gv2-numband-sombre .gv2-numband-head h2, .gv2-coll-cap b, .gv2-faq-pilule h2, .gv2-numband-sombre .gv2-numcard b { font-style: normal; }
.gv2-vedettes-head h2, .gv2-sujet-panneau h2 { font-family: var(--gv2-ui); font-weight: 600; }
.gv2-ecrin-card b { font-family: var(--gv2-ui); font-weight: 600; font-size: 17px; }

/* Écrin */
.gv2-ecrin { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 64px); align-items: center; padding-top: clamp(40px, 5vw, 80px); padding-bottom: clamp(64px, 7vw, 110px); }
.gv2-ecrin h1 { font-family: var(--gv2-ui); font-weight: 500; font-size: clamp(44px, 5.8vw, 86px); line-height: 1.02; letter-spacing: calc(-.03em * var(--gv2-track, 1)); color: var(--gv2-ink); margin: 14px 0 22px; }
.gv2-ecrin h1 .gv2-acc { display: block; }
.gv2-ecrin-txt > p { font-size: 18px; line-height: 1.6; color: var(--gv2-text); max-width: 440px; }
.gv2-ecrin-media { position: relative; }
.gv2-ecrin-media > img { width: 100%; aspect-ratio: 4 / 3.1; object-fit: cover; border-radius: 30px; display: block; }
.gv2-ecrin-card { position: absolute; left: clamp(-56px, -3vw, -24px); bottom: -40px; width: min(290px, 62%); padding: 24px 24px 22px; border-radius: 22px; background: color-mix(in srgb, var(--gv2-ink) 2%, var(--gv2-paper)); box-shadow: 0 24px 50px -22px color-mix(in srgb, var(--gv2-ink) 40%, transparent); }
.gv2-ecrin-card .gv2-ico { width: 22px; height: 22px; color: var(--gv2-green); }
.gv2-ecrin-card b { display: block; margin: 10px 0 6px; font-family: var(--gv2-serif); font-style: italic; font-weight: 500; font-size: 19px; color: var(--gv2-ink); }
.gv2-ecrin-card p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--gv2-text); }
.gv2-vedettes { padding-top: clamp(52px, 6vw, 92px); padding-bottom: clamp(56px, 6vw, 96px); background: color-mix(in srgb, var(--gv2-ink) 3%, var(--gv2-paper)); }
.gv2-vedettes-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 40px; }
.gv2-vedettes-head h2 { font-family: var(--gv2-serif); font-style: italic; font-weight: 500; font-size: clamp(30px, 3.2vw, 44px); margin: 8px 0 0; color: var(--gv2-ink); }
.gv2-vedettes-head .gv2-arrow { color: var(--gv2-green); }
.gv2-vedettes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 34px); align-items: start; }
.gv2-vedettes-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gv2-vedette:nth-child(2) { margin-top: 44px; }
.gv2-vedette-img { position: relative; }
.gv2-vedette-img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 26px; display: block; transition: transform .4s ease; }
.gv2-vedette:hover .gv2-vedette-img img { transform: scale(1.015); }
.gv2-vedette-badge { position: absolute; top: 16px; right: 16px; padding: 6px 12px; border-radius: 999px; background: color-mix(in srgb, var(--gv2-paper) 92%, transparent); font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--gv2-ink); }
.gv2-vedette-cap { padding-top: 16px; }
.gv2-vedette-cap b { display: block; font-family: var(--gv2-serif); font-weight: 500; font-size: 22px; color: var(--gv2-ink); }
.gv2-vedette-cap span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--gv2-muted); }
.gv2-essence { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding-top: clamp(60px, 7vw, 110px); padding-bottom: clamp(60px, 7vw, 110px); }
.gv2-essence-media { position: relative; padding: 0 0 26px 26px; }
.gv2-essence-media::before { content: ""; position: absolute; inset: 26px 26px 0 0; border-radius: 34px; background: color-mix(in srgb, var(--gv2-green) 12%, var(--gv2-paper)); }
.gv2-essence-media img { position: relative; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; display: block; box-shadow: 0 30px 60px -30px color-mix(in srgb, var(--gv2-ink) 45%, transparent); }
.gv2-essence h2 { font-family: var(--gv2-ui); font-weight: 500; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.1; margin: 12px 0 20px; color: var(--gv2-ink); }
.gv2-essence h2 .gv2-acc { display: block; }
.gv2-essence-txt > p { font-size: 17px; line-height: 1.7; color: var(--gv2-text); }
.gv2-essence-mots { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--gv2-rule); }
.gv2-essence-mots b { display: block; font-family: var(--gv2-ui); font-weight: 600; font-size: clamp(18px, 1.6vw, 21px); color: color-mix(in srgb, var(--gv2-green) 78%, var(--gv2-ink)); line-height: 1.2; }
.gv2-essence-mots p { margin: 8px 0 0; font-size: 14.5px; line-height: 1.55; color: var(--gv2-text); }
.gv2-essence-mots span { display: block; margin-top: 6px; font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gv2-muted); }

/* Sylve */
.gv2-sylve { position: relative; min-height: clamp(540px, 74vh, 780px); display: flex; align-items: center; overflow: hidden; }
.gv2-sylve-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gv2-sylve::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, color-mix(in srgb, var(--gv2-deep) 88%, transparent) 0%, color-mix(in srgb, var(--gv2-deep) 55%, transparent) 45%, transparent 80%); }
.gv2-sylve-in { position: relative; z-index: 2; max-width: 700px; padding: 60px var(--gv2-gut); }
.gv2-sylve .gv2-lbl { color: var(--gv2-acc-photo, var(--gv2-gold)); }
.gv2-sylve h1 { font-family: var(--gv2-serif); font-style: italic; font-weight: 500; font-size: clamp(46px, 6.2vw, 96px); line-height: 1; color: #fff; margin: 14px 0 22px; letter-spacing: -.01em; }
.gv2-sylve h1 .gv2-acc { color: var(--gv2-acc-photo, color-mix(in srgb, var(--gv2-gold) 85%, #fff)); } /* `opening.accentPhoto` du profil : accent lisible sur la photo quand celui du site ne l'est pas (gd-elec, 22/10/2026) */
.gv2-sylve-in > p { font-size: 18px; line-height: 1.6; color: color-mix(in srgb, #fff 84%, transparent); max-width: 520px; }
.gv2-sylve .gv2-pk-btn { border-radius: 4px; background: var(--gv2-green); }
.gv2-sylve .gv2-pk-btn-2 { background: transparent; border-color: color-mix(in srgb, #fff 45%, transparent); color: #fff !important; }
.gv2-collection { padding-top: clamp(56px, 6vw, 96px); padding-bottom: clamp(56px, 6vw, 96px); }
.gv2-coll-h { text-align: center; font-family: var(--gv2-serif); font-weight: 500; font-size: clamp(30px, 3.4vw, 46px); color: var(--gv2-ink); margin: 0 0 42px; }
.gv2-coll-h::after { content: ""; display: block; width: 56px; height: 2px; margin: 16px auto 0; background: var(--gv2-gold); }
.gv2-coll-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gv2-coll-t { position: relative; display: block; overflow: hidden; border-radius: 8px; height: clamp(260px, 30vw, 420px); }
.gv2-coll-t img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.gv2-coll-t:hover img { transform: scale(1.03); }
.gv2-coll-t1, .gv2-coll-t4 { grid-column: span 2; }
.gv2-coll-n3 .gv2-coll-t3 { grid-column: span 3; }
.gv2-coll-n2 .gv2-coll-t2 { grid-column: span 1; }
.gv2-coll-t::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, color-mix(in srgb, #000 62%, transparent) 0%, transparent 55%); }
.gv2-coll-cap { position: absolute; z-index: 1; left: 24px; right: 24px; bottom: 22px; color: #fff; }
.gv2-coll-cap .gv2-lbl { display: block; font-style: normal; color: var(--gv2-gold); margin-top: 10px; }
.gv2-coll-cap b { display: block; font-family: var(--gv2-serif); font-style: italic; font-weight: 500; font-size: clamp(22px, 2.2vw, 30px); }
.gv2-coll-cap span { display: block; margin-top: 6px; font-size: 14px; color: color-mix(in srgb, #fff 82%, transparent); max-width: 420px; }
.gv2-numband-sombre { background: var(--gv2-deep); }
.gv2-numband-sombre .gv2-numband-head h2 { color: #fff; font-family: var(--gv2-serif); font-style: italic; font-weight: 500; }
.gv2-numband-sombre .gv2-numband-head p { color: color-mix(in srgb, #fff 72%, transparent); }
.gv2-numband-sombre .gv2-badge { background: color-mix(in srgb, #fff 12%, transparent); color: #fff; }
.gv2-numband-sombre .gv2-numcard { background: color-mix(in srgb, #fff 7%, transparent); border: 1px solid color-mix(in srgb, #fff 12%, transparent); }
.gv2-numband-sombre .gv2-numcard b { font-family: var(--gv2-serif); font-style: italic; font-weight: 400; color: var(--gv2-gold); }
.gv2-numband-sombre .gv2-numcard h3 { color: #fff; }
.gv2-numband-sombre .gv2-numcard p { color: color-mix(in srgb, #fff 72%, transparent); }

/* FAQ en pastilles (cocon) */
.gv2-faq-pilule .gv2-faq-item { border: 0; border-radius: 20px; margin-bottom: 10px; padding: 0 22px; background: color-mix(in srgb, var(--gv2-green) 6%, var(--gv2-paper)); }
.gv2-faq-pilule .gv2-faq-item summary { padding: 18px 0; }
.gv2-faq-pilule h2 { font-family: var(--gv2-serif); font-style: italic; font-weight: 500; }

/* Bandeau final en panneau / sur photo */
.gv2-sujet-panneau { background: transparent; padding: clamp(40px, 5vw, 80px) var(--gv2-gut); position: relative; }
.gv2-sujet-panneau .gv2-sujet-in { max-width: none; position: relative; z-index: 1; padding: clamp(44px, 5vw, 76px) clamp(24px, 5vw, 80px); border-radius: 32px; background: linear-gradient(135deg, var(--gv2-deep), var(--gv2-green)); overflow: hidden; }
.gv2-sujet-panneau h2 { font-family: var(--gv2-serif); font-style: italic; font-weight: 500; }
.gv2-sujet-panneau .gv2-cta { border-radius: 999px; background: #fff; color: var(--gv2-deep) !important; }
.gv2-sujet-photo .gv2-sujet-in { background: linear-gradient(90deg, color-mix(in srgb, var(--gv2-deep) 90%, transparent) 0%, color-mix(in srgb, var(--gv2-deep) 70%, transparent) 60%, color-mix(in srgb, var(--gv2-deep) 45%, transparent) 100%); text-align: left; }
.gv2-sujet-photo .gv2-lbl { color: rgba(255,255,255,.82); }
.gv2-sujet-photo .gv2-sujet-bg { position: absolute; z-index: 0; top: clamp(40px, 5vw, 80px); bottom: clamp(40px, 5vw, 80px); left: var(--gv2-gut); right: var(--gv2-gut); width: calc(100% - 2 * var(--gv2-gut)); height: calc(100% - 2 * clamp(40px, 5vw, 80px)); object-fit: cover; border-radius: 32px; }
.gv2-sujet-photo .gv2-cta { border-radius: 4px; background: var(--gv2-gold); color: var(--gv2-deep) !important; }

/* Bandeau « sujet » en trait (béton) : papier, filet d'encre, bouton plein encre. */
.gv2-sujet-trait { background: var(--gv2-paper); border-top: 6px solid var(--gv2-ink); text-align: left; }
.gv2-sujet-trait .gv2-sujet-in { max-width: none; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 12px 56px; align-items: end; }
.gv2-sujet-trait .gv2-lbl { color: var(--gv2-muted); grid-column: 1 / -1; }
.gv2-sujet-trait h2 { color: var(--gv2-ink); text-transform: uppercase; font-weight: 800; font-size: clamp(32px, 4.4vw, 64px); line-height: .95; margin: 0; }
.gv2-sujet-trait p { color: var(--gv2-text); margin: 0 0 14px; }
.gv2-sujet-trait .gv2-cta { justify-self: start; background: var(--gv2-ink); color: var(--gv2-paper) !important; letter-spacing: .12em; text-transform: uppercase; font-size: 12px; padding: 16px 26px; }
.gv2-sujet-trait .gv2-cta:hover { background: var(--gv2-green); color: #fff !important; }
@media (max-width: 860px) { .gv2-sujet-trait .gv2-sujet-in { grid-template-columns: minmax(0, 1fr); } }

/* Béton */
.gv2-beton { position: relative; min-height: clamp(560px, 78vh, 820px); display: flex; align-items: flex-end; overflow: hidden; background: #111; }
.gv2-beton-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); opacity: .82; }
.gv2-beton::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(10,10,10,.88) 0%, rgba(10,10,10,.35) 55%, rgba(10,10,10,.15) 100%); }
.gv2-beton-in { position: relative; z-index: 2; width: 100%; padding: 60px var(--gv2-gut) clamp(40px, 5vw, 64px); }
.gv2-beton .gv2-lbl { color: color-mix(in srgb, var(--gv2-green) 55%, #fff); letter-spacing: .3em; }
.gv2-beton h1 { font-family: var(--gv2-ui); font-weight: 800; text-transform: uppercase; font-size: clamp(52px, 8.4vw, 132px); line-height: .9; letter-spacing: calc(-.045em * var(--gv2-track, 1)); color: #fff; margin: 16px 0 30px; max-width: 12ch; }
.gv2-beton h1 .gv2-acc { display: block; text-transform: uppercase; font-weight: 600; color: color-mix(in srgb, var(--gv2-green) 70%, #fff); letter-spacing: -.02em; }
.gv2-beton-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 48px; }
.gv2-beton-foot p { margin: 0; max-width: 460px; font-size: 17px; line-height: 1.6; color: color-mix(in srgb, #fff 82%, transparent); }
.gv2-beton-btn { font-family: var(--gv2-meta); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #fff !important; padding: 16px 26px; border: 1px solid color-mix(in srgb, #fff 55%, transparent); }
.gv2-beton-btn:hover { background: #fff; color: #111 !important; }
.gv2-mnoir { position: relative; overflow: hidden; background: #141414; padding: clamp(64px, 8vw, 120px) var(--gv2-gut); }
.gv2-mnoir-lettre { position: absolute; right: 4%; top: 50%; transform: translateY(-50%); font-family: var(--gv2-serif); font-size: clamp(260px, 34vw, 520px); line-height: .8; color: rgba(255,255,255,.05); pointer-events: none; }
.gv2-mnoir-in { position: relative; max-width: 980px; }
.gv2-mnoir h2 { font-family: var(--gv2-ui); font-weight: 800; text-transform: uppercase; font-size: clamp(30px, 4.2vw, 60px); line-height: 1; letter-spacing: calc(-.03em * var(--gv2-track, 1)); color: #fff; margin: 0 0 40px; }
.gv2-mnoir-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 56px; max-width: 760px; }
.gv2-mnoir-cols .gv2-lbl { color: color-mix(in srgb, var(--gv2-green) 55%, #fff); }
.gv2-mnoir-cols p { color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.65; margin: 10px 0 0; }
.gv2-tript { padding-top: clamp(56px, 6vw, 96px); padding-bottom: clamp(56px, 6vw, 96px); background: var(--gv2-paper); }
.gv2-tript-head { padding: 0 var(--gv2-gut) 40px; }
.gv2-tript-head h2 { font-family: var(--gv2-ui); font-weight: 800; text-transform: uppercase; font-size: clamp(34px, 4.4vw, 62px); line-height: .95; letter-spacing: calc(-.03em * var(--gv2-track, 1)); color: var(--gv2-ink); margin: 10px 0 0; max-width: 12ch; }
.gv2-tript-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 var(--gv2-gut); }
.gv2-tript-c { padding: clamp(34px, 4vw, 60px) clamp(22px, 3vw, 48px); min-height: 280px; }
.gv2-tript-c1 { background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); }
.gv2-tript-c2 { background: color-mix(in srgb, var(--gv2-ink) 11%, var(--gv2-paper)); }
.gv2-tript-c3 { background: #151515; }
.gv2-tript-c b { display: block; font-family: var(--gv2-serif); font-size: 44px; font-weight: 500; color: color-mix(in srgb, var(--gv2-ink) 25%, transparent); }
.gv2-tript-c3 b { color: rgba(255,255,255,.28); }
.gv2-tript-c h3 { font-family: var(--gv2-ui); font-weight: 800; text-transform: uppercase; font-size: 19px; letter-spacing: -.01em; color: var(--gv2-ink); margin: 18px 0 12px; }
.gv2-tript-c p { font-size: 15px; line-height: 1.6; color: var(--gv2-text); margin: 0 0 22px; }
.gv2-tript-c3 h3 { color: #fff; } .gv2-tript-c3 p { color: rgba(255,255,255,.72); }
.gv2-tript-c a { color: var(--gv2-ink); border-bottom: 2px solid currentColor; padding-bottom: 3px; }
.gv2-tript-c3 a { color: #fff; }

/* Bilan */
.gv2-bilan { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(28px, 4vw, 70px); align-items: center; padding-top: clamp(48px, 6vw, 96px); padding-bottom: clamp(56px, 6vw, 100px); }
.gv2-bilan .gv2-lbl { color: var(--gv2-gold); }
.gv2-bilan h1 { font-family: var(--gv2-ui); font-weight: 700; font-size: clamp(44px, 5.6vw, 84px); line-height: 1.02; letter-spacing: calc(-.03em * var(--gv2-track, 1)); color: var(--gv2-ink); margin: 16px 0 22px; }
.gv2-bilan h1 .gv2-acc { color: var(--gv2-gold); }
.gv2-bilan-txt > p { font-size: 19px; line-height: 1.55; color: var(--gv2-text); max-width: 520px; }
.gv2-bilan .gv2-pk-btn { border-radius: 6px; background: linear-gradient(135deg, color-mix(in srgb, var(--gv2-gold) 78%, #000), var(--gv2-gold)); box-shadow: none; }
.gv2-bilan .gv2-pk-btn-2 { background: color-mix(in srgb, var(--gv2-ink) 7%, var(--gv2-paper)); border: 0; }
.gv2-bilan-media { position: relative; }
.gv2-bilan-media > img { width: 100%; aspect-ratio: 4 / 5; max-height: 600px; object-fit: cover; border-radius: 18px; display: block; box-shadow: 0 40px 80px -40px color-mix(in srgb, var(--gv2-ink) 55%, transparent); }
.gv2-bilan-stat { position: absolute; left: clamp(-60px, -3vw, -20px); bottom: 48px; width: 210px; padding: 18px 20px; border-radius: 12px; background: color-mix(in srgb, var(--gv2-ink) 2%, var(--gv2-paper)); box-shadow: 0 24px 50px -24px color-mix(in srgb, var(--gv2-ink) 45%, transparent); }
.gv2-bilan-stat .gv2-lbl { color: var(--gv2-muted); font-size: 9px; }
.gv2-bilan-stat b { display: block; margin: 8px 0 12px; font-family: var(--gv2-serif); font-size: 26px; font-weight: 600; color: var(--gv2-ink); line-height: 1.1; }
.gv2-bilan-bars { display: flex; align-items: flex-end; gap: 5px; height: 36px; }
.gv2-bilan-bars i { flex: 1; border-radius: 2px 2px 0 0; background: linear-gradient(180deg, var(--gv2-gold), color-mix(in srgb, var(--gv2-gold) 60%, #000)); }
.gv2-bilan-bars i:nth-child(1) { height: 30%; } .gv2-bilan-bars i:nth-child(2) { height: 48%; } .gv2-bilan-bars i:nth-child(3) { height: 40%; }
.gv2-bilan-bars i:nth-child(4) { height: 66%; } .gv2-bilan-bars i:nth-child(5) { height: 58%; } .gv2-bilan-bars i:nth-child(6) { height: 100%; }
.gv2-mots { padding: clamp(36px, 4vw, 56px) var(--gv2-gut); text-align: center; background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper)); }
.gv2-mots .gv2-lbl { color: var(--gv2-muted); letter-spacing: .28em; }
.gv2-mots-l { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px clamp(28px, 5vw, 72px); margin-top: 18px; }
.gv2-mots-l a { font-family: var(--gv2-serif); font-style: italic; font-size: clamp(22px, 2.4vw, 32px); color: color-mix(in srgb, var(--gv2-ink) 55%, transparent); transition: color .2s ease; }
.gv2-mots-l a:hover { color: var(--gv2-gold); }
.gv2-bento2 { padding-top: clamp(56px, 6vw, 96px); padding-bottom: clamp(56px, 6vw, 96px); }
.gv2-bento2-h { font-family: var(--gv2-ui); font-weight: 700; font-size: clamp(32px, 3.6vw, 52px); line-height: 1.05; color: var(--gv2-ink); margin: 0 0 40px; max-width: 16ch; }
.gv2-bento2-h::after { content: ""; display: block; width: 64px; height: 3px; margin-top: 20px; background: var(--gv2-gold); }
.gv2-bento2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gv2-bento2-c { position: relative; overflow: hidden; border-radius: 22px; padding: clamp(26px, 3vw, 40px); min-height: 250px; background: color-mix(in srgb, var(--gv2-ink) 4%, var(--gv2-paper)); }
.gv2-bento2-a { grid-column: span 2; }
.gv2-bento2-b { background: color-mix(in srgb, var(--gv2-ink) 3%, var(--gv2-paper)); box-shadow: 0 1px 0 var(--gv2-rule) inset, 0 0 0 1px var(--gv2-rule-soft); }
.gv2-bento2-c3 { background: #1d1d1d; }
.gv2-bento2-d { grid-column: span 2; padding: 0; display: flex; align-items: flex-end; }
.gv2-bento2-c .gv2-ico { width: 28px; height: 28px; color: var(--gv2-gold); }
.gv2-bento2-c h3 { font-family: var(--gv2-serif); font-weight: 600; font-size: clamp(21px, 2vw, 27px); color: var(--gv2-ink); margin: 18px 0 10px; }
.gv2-bento2-c p { font-size: 15px; line-height: 1.6; color: var(--gv2-text); margin: 0 0 16px; max-width: 460px; }
.gv2-bento2-c .gv2-arrow { font-family: var(--gv2-meta); font-size: 13px; font-weight: 600; color: var(--gv2-gold); }
.gv2-bento2-meta { display: block; margin-top: 16px; font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--gv2-muted); }
a.gv2-bento2-c { display: block; transition: transform .2s ease, box-shadow .2s ease; }
a.gv2-bento2-c:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -24px color-mix(in srgb, var(--gv2-ink) 45%, transparent); }
.gv2-bento2-c3 .gv2-bento2-meta { color: rgba(255,255,255,.6); }
.gv2-bento2-c3 h3 { color: #fff; } .gv2-bento2-c3 p { color: rgba(255,255,255,.7); }
.gv2-bento2-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gv2-bento2-d::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--gv2-paper) 92%, transparent) 0%, color-mix(in srgb, var(--gv2-paper) 70%, transparent) 50%, transparent 100%); }
.gv2-bento2-d-in { position: relative; z-index: 1; padding: clamp(26px, 3vw, 40px); max-width: 520px; }

/* Cocon */
.gv2-cocon { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; padding-top: clamp(40px, 5vw, 80px); padding-bottom: clamp(56px, 6vw, 96px); background: color-mix(in srgb, var(--gv2-green) 5%, var(--gv2-paper)); }
.gv2-cocon h1 { font-family: var(--gv2-ui); font-weight: 700; font-size: clamp(42px, 5.4vw, 80px); line-height: 1.02; letter-spacing: calc(-.035em * var(--gv2-track, 1)); color: var(--gv2-ink); margin: 14px 0 22px; }
.gv2-cocon-txt > p { font-size: 18px; line-height: 1.6; color: var(--gv2-text); max-width: 470px; }
.gv2-cocon .gv2-pk-btn-2 { background: color-mix(in srgb, var(--gv2-green) 12%, var(--gv2-paper)); border: 0; color: var(--gv2-ink) !important; }
.gv2-cocon-note { display: flex; align-items: center; gap: 10px; margin-top: 26px; font-size: 13px; color: var(--gv2-muted); }
.gv2-cocon-note b { color: var(--gv2-ink); }
.gv2-cocon-stars { color: var(--gv2-gold); letter-spacing: 2px; }
.gv2-cocon-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 110px 170px 110px 150px; gap: 16px; }
.gv2-cocon-t { overflow: hidden; border-radius: 30px; }
.gv2-cocon-t img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-cocon-t1 { grid-column: 1; grid-row: 1 / 4; }
.gv2-cocon-mot { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; justify-content: center; padding: 16px 22px; background: color-mix(in srgb, var(--gv2-ink) 2%, var(--gv2-paper)); box-shadow: 0 16px 36px -22px color-mix(in srgb, var(--gv2-ink) 40%, transparent); }
.gv2-cocon-mot b { font-family: var(--gv2-ui); font-size: clamp(20px, 2vw, 27px); font-weight: 700; color: var(--gv2-green); line-height: 1.1; }
.gv2-cocon-mot span { font-size: 12.5px; color: var(--gv2-muted); margin-top: 4px; }
.gv2-cocon-t2 { grid-column: 2; grid-row: 2 / 5; }
.gv2-cocon-t3 { grid-column: 1; grid-row: 4; }
.gv2-offres { padding-top: clamp(56px, 6vw, 96px); padding-bottom: clamp(56px, 6vw, 96px); }
.gv2-offres-head { max-width: 640px; margin-bottom: 36px; }
.gv2-offres-head h2 { font-family: var(--gv2-ui); font-weight: 700; font-size: clamp(30px, 3.4vw, 46px); color: var(--gv2-ink); margin: 8px 0 12px; letter-spacing: calc(-.025em * var(--gv2-track, 1)); }
.gv2-offres-head p { font-size: 17px; color: var(--gv2-text); }
.gv2-offres-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gv2-offre { padding: clamp(26px, 3vw, 38px); border-radius: 30px; background: color-mix(in srgb, var(--gv2-ink) 3%, var(--gv2-paper)); box-shadow: 0 0 0 1px var(--gv2-rule-soft); display: flex; flex-direction: column; }
.gv2-offre-top { display: flex; justify-content: space-between; align-items: center; }
.gv2-offre-top .gv2-ico { width: 46px; height: 46px; padding: 11px; border-radius: 14px; background: color-mix(in srgb, var(--gv2-green) 14%, var(--gv2-paper)); color: var(--gv2-green); box-sizing: border-box; }
.gv2-offre-badge { font-family: var(--gv2-meta); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 6px 11px; border-radius: 999px; background: var(--gv2-ink); color: var(--gv2-paper); }
.gv2-offre h3 { font-family: var(--gv2-ui); font-weight: 700; font-size: 24px; color: var(--gv2-ink); margin: 22px 0 8px; }
.gv2-offre > p { font-size: 15px; line-height: 1.6; color: var(--gv2-text); margin: 0 0 16px; }
.gv2-offre ul { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 10px; }
.gv2-offre li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--gv2-ink); }
.gv2-offre li .gv2-ico { width: 20px; height: 20px; color: var(--gv2-green); }
.gv2-offre-btn { margin-top: auto; text-align: center; font-family: var(--gv2-meta); font-size: 14px; font-weight: 600; padding: 14px 20px; border-radius: 999px; background: color-mix(in srgb, var(--gv2-green) 12%, var(--gv2-paper)); color: var(--gv2-ink) !important; }
.gv2-offre-1 .gv2-offre-btn { background: var(--gv2-green); color: #fff !important; }
.gv2-gmots { padding-top: clamp(48px, 5vw, 80px); padding-bottom: clamp(48px, 5vw, 80px); }
.gv2-gmots-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: minmax(190px, auto) minmax(190px, auto); gap: 18px; }
.gv2-gmots-c { border-radius: 30px; padding: clamp(24px, 2.8vw, 36px); display: flex; flex-direction: column; justify-content: flex-end; background: color-mix(in srgb, var(--gv2-ink) 3%, var(--gv2-paper)); box-shadow: 0 0 0 1px var(--gv2-rule-soft); }
.gv2-gmots-c .gv2-ico { width: 26px; height: 26px; color: var(--gv2-green); margin-bottom: auto; }
.gv2-gmots-c b { font-family: var(--gv2-ui); font-weight: 700; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.08; color: var(--gv2-ink); margin-top: 18px; }
.gv2-gmots-c span { font-size: 14px; color: var(--gv2-muted); margin-top: 6px; }
.gv2-gmots-c p { font-size: 15px; line-height: 1.6; margin: 12px 0 0; }
.gv2-gmots-a { grid-row: 1 / 3; background: linear-gradient(160deg, color-mix(in srgb, var(--gv2-green) 82%, #fff), var(--gv2-green)); box-shadow: none; }
.gv2-gmots-a b { font-size: clamp(30px, 3.2vw, 44px); color: #fff; } .gv2-gmots-a span, .gv2-gmots-a p { color: rgba(255,255,255,.82); } .gv2-gmots-a .gv2-ico { color: #fff; }
.gv2-gmots-c3 { background: color-mix(in srgb, var(--gv2-gold) 22%, var(--gv2-paper)); box-shadow: none; }
.gv2-gmots-d { grid-column: 2 / 4; background: var(--gv2-deep); box-shadow: none; }
.gv2-gmots-d b { color: #fff; } .gv2-gmots-d span, .gv2-gmots-d p { color: rgba(255,255,255,.72); } .gv2-gmots-d .gv2-ico { color: var(--gv2-gold); }

@media (max-width: 860px) {
  .gv2-ecrin, .gv2-essence, .gv2-bilan, .gv2-cocon { grid-template-columns: minmax(0, 1fr); }
  .gv2-ecrin-card { position: relative; left: auto; bottom: auto; width: auto; margin: -40px 16px 0; }
  .gv2-bilan-stat { left: 16px; bottom: 16px; }
  .gv2-vedettes-grid, .gv2-vedettes-n2 { grid-template-columns: minmax(0, 1fr); }
  .gv2-vedette:nth-child(2) { margin-top: 0; }
  .gv2-vedette-img img { aspect-ratio: 4 / 3; }
  .gv2-coll-grid { grid-template-columns: minmax(0, 1fr); }
  .gv2-coll-t1, .gv2-coll-t4, .gv2-coll-n3 .gv2-coll-t3 { grid-column: auto; }
  .gv2-mnoir-cols, .gv2-tript-grid { grid-template-columns: minmax(0, 1fr); }
  .gv2-bento2-grid { grid-template-columns: minmax(0, 1fr); }
  .gv2-bento2-a, .gv2-bento2-d { grid-column: auto; }
  .gv2-offres-grid { grid-template-columns: minmax(0, 1fr); }
  .gv2-gmots-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .gv2-gmots-a { grid-row: auto; grid-column: 1 / 3; }
  .gv2-gmots-d { grid-column: 1 / 3; }
  .gv2-cocon-grid { grid-template-rows: 90px 130px 90px 120px; }
}
@media (max-width: 520px) {
  .gv2-vedettes-head { flex-direction: column; align-items: flex-start; }
  .gv2-gmots-grid { grid-template-columns: minmax(0, 1fr); }
  .gv2-gmots-a, .gv2-gmots-d { grid-column: auto; }
  .gv2-beton h1 { font-size: clamp(42px, 13vw, 64px); }
}

/* ── Italique réservée à l'accroche (24/09/2026) — en fin de fichier exprès :
   placée plus haut, les règles d'origine des blocs du pack (déclarées après)
   reprenaient la main à spécificité égale. */
.gv2-vedettes-head h2, .gv2-ecrin-card b, .gv2-sujet-panneau h2, .gv2-sujet-photo h2, .gv2-numband-sombre .gv2-numband-head h2,
.gv2-coll-cap b, .gv2-faq-pilule h2, .gv2-numband-sombre .gv2-numcard b, .gv2-essence h2 .gv2-acc, .gv2-bento2-h .gv2-acc { font-style: normal; }
.gv2-sujet-panneau h2, .gv2-numband-sombre .gv2-numband-head h2, .gv2-coll-cap b, .gv2-faq-pilule h2 { font-family: var(--gv2-ui); font-weight: 600; }

/* ── En-têtes et pieds supplémentaires (25/09/2026, blocks-pack.mjs) ─────── */
.gv2-header .gv2-cta, .gv2-hflot .gv2-cta, .gv2-htrans .gv2-cta, .gv2-hrech .gv2-cta { font-size: 15px; padding: 11px 22px; }
/* Flottant */
.gv2-hflot { position: sticky; top: 12px; z-index: 50; padding: 14px var(--gv2-gut) 0; background: transparent; }
.gv2-hflot-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 10px 10px 24px; border-radius: 999px; background: color-mix(in srgb, var(--gv2-paper) 88%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 10px 34px -18px color-mix(in srgb, var(--gv2-ink) 45%, transparent), 0 0 0 1px var(--gv2-rule-soft); }
.gv2-hflot .gv2-cta { border-radius: 999px; }
.gv2-hflot .gv2-brand-name span { display: none; }
body.admin-bar .gv2-hflot { top: 44px; }
/* Transparent sur la photo d'ouverture (home seulement) */
.gv2-htrans { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 20px var(--gv2-gut); background: var(--gv2-paper); border-bottom: 1px solid var(--gv2-rule); }
body.home .gv2-htrans { position: absolute; left: 0; right: 0; top: 0; z-index: 20; background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, transparent 100%); border-bottom: 0; }
body.home.admin-bar .gv2-htrans { top: 32px; }
body.home .gv2-htrans .gv2-brand-name b, body.home .gv2-htrans .gv2-nav a { color: #fff; }
body.home .gv2-htrans .gv2-brand-name span { color: rgba(255,255,255,.72); }
body.home .gv2-htrans .gv2-nav a:hover { color: var(--gv2-gold); }
body.home .gv2-htrans .gv2-cta { background: #fff; color: #16180F !important; } /* encre fixe : sur fond sombre --gv2-ink est clair, le bouton blanc devenait illisible (tendances-habitat, 12/11/2026) */
body.home:has(.gv2-htrans) .gv2-sylve-in, body.home:has(.gv2-htrans) .gv2-beton-in { padding-top: 120px; }
/* Recherche */
.gv2-hrech { background: var(--gv2-paper); border-bottom: 1px solid var(--gv2-rule); }
.gv2-hrech-top { display: flex; align-items: center; gap: 24px; padding: 16px var(--gv2-gut); }
.gv2-hrech-f { flex: 1; max-width: 460px; margin-left: auto; display: flex; align-items: center; gap: 10px; padding: 0 16px; height: 44px; background: color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper)); border: 1px solid var(--gv2-rule); }
.gv2-hrech-f input { flex: 1; min-width: 0; border: 0; background: transparent; font-family: var(--gv2-meta); font-size: 14px; color: var(--gv2-ink); outline: none; }
.gv2-hrech-f:focus-within { border-color: var(--gv2-green); }
.gv2-hrech-nav { padding: 12px var(--gv2-gut); border-top: 1px solid var(--gv2-rule-soft); }
.gv2-hrech-nav a { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
body.gv2-sk-ecrin .gv2-hrech-f, body.gv2-sk-cocon .gv2-hrech-f { border-radius: 999px; }
body.gv2-sk-bilan .gv2-hrech-f { border-radius: 8px; }
/* Double */
.gv2-hdouble-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px var(--gv2-gut); background: var(--gv2-ours-bg, var(--gv2-ink)); }
.gv2-hdouble-nav { display: flex; gap: clamp(14px, 2vw, 28px); overflow-x: auto; scrollbar-width: none; }
.gv2-hdouble-nav a, .gv2-hdouble-cta { font-family: var(--gv2-meta); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; color: var(--gv2-ours-fg, #EDE9DC); }
.gv2-hdouble-nav a:hover { color: var(--gv2-gold); }
.gv2-hdouble-cta { color: var(--gv2-gold); }
.gv2-hdouble-main { display: flex; justify-content: center; padding: 22px var(--gv2-gut); background: var(--gv2-paper); border-bottom: 1px solid var(--gv2-rule); }
.gv2-hdouble-main .gv2-brand { flex-direction: column; gap: 8px; text-align: center; }
.gv2-hdouble-main .gv2-brand-name b { font-size: clamp(26px, 3vw, 36px); }
/* Pied en cartes */
.gv2-fcartes-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 16px; margin-bottom: 30px; }
.gv2-fcarte { padding: 26px; border-radius: var(--gv2-r, 18px); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.gv2-fcarte p { margin: 14px 0 0; font-size: 14.5px; line-height: 1.65; }
.gv2-fcarte .gv2-lbl { color: var(--gv2-gold); }
.gv2-fcarte-l { display: grid; gap: 8px; margin-top: 14px; }
.gv2-fcarte-c + .gv2-fcarte-c { margin-top: 14px; }
.gv2-fcarte-c p { margin-top: 4px; }
/* Pied index */
.gv2-findex-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 40px; padding-bottom: 30px; }
.gv2-findex-top p { margin: 16px 0 0; font-size: 15px; line-height: 1.7; max-width: 360px; }
.gv2-findex-l { display: grid; }
.gv2-findex-l a { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-family: var(--gv2-ui); font-size: clamp(22px, 2.6vw, 34px) !important; font-weight: 600; color: #F4F2EC !important; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-findex-l a:hover { color: var(--gv2-gold) !important; }
.gv2-findex-ours { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 20px 0; font-size: 13px; }
.gv2-findex-ours b { font-family: var(--gv2-meta); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--gv2-gold); margin-right: 6px; }
@media (max-width: 860px) {
  .gv2-hflot-in { flex-wrap: wrap; border-radius: 24px; padding: 12px 14px 10px 18px; }
  .gv2-hflot .gv2-nav, .gv2-htrans .gv2-nav { order: 3; flex-basis: 100%; }
  .gv2-hrech-top { flex-wrap: wrap; } .gv2-hrech-f { order: 3; max-width: none; flex-basis: 100%; }
  body.home:has(.gv2-htrans) .gv2-sylve-in, body.home:has(.gv2-htrans) .gv2-beton-in { padding-top: 200px; }
  .gv2-fcartes-grid, .gv2-findex-top { grid-template-columns: minmax(0, 1fr); }
}

/* ── Menu mobile en burger (25/09/2026) — <details>, sans JavaScript ────────── */
.gv2-burger { display: none; }
@media (max-width: 860px) {
  .gv2-header, .gv2-htrans, .gv2-hflot-in, .gv2-hrech-top, .gv2-hdouble-main { position: relative; flex-wrap: nowrap; }
  .gv2-hrech-top { flex-wrap: wrap; row-gap: 12px; }
  .gv2-hrech-top .gv2-hrech-f { order: 3; flex-basis: 100%; max-width: none; margin-left: 0; }
  .gv2-header .gv2-nav, .gv2-header .gv2-cta, .gv2-header-centre .gv2-nav,
  .gv2-hflot .gv2-nav, .gv2-hflot .gv2-cta, .gv2-htrans .gv2-nav, .gv2-htrans .gv2-cta,
  .gv2-hrech .gv2-cta, .gv2-hrech-nav, .gv2-hdouble-top { display: none !important; }
  .gv2-header-centre { flex-direction: row; justify-content: space-between; padding-bottom: 18px; }
  .gv2-header-centre .gv2-brand { flex-direction: row; text-align: left; }
  .gv2-hdouble-main { justify-content: space-between; }
  .gv2-hdouble-main .gv2-brand { flex-direction: row; text-align: left; }
  .gv2-burger { display: block; margin-left: auto; }
  .gv2-burger summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--gv2-rule); border-radius: var(--gv2-r, 0); background: var(--gv2-paper); font-family: var(--gv2-meta); font-size: 13px; font-weight: 600; color: var(--gv2-ink); }
  .gv2-burger summary::-webkit-details-marker { display: none; }
  .gv2-burger-ico { position: relative; width: 18px; height: 2px; background: currentColor; }
  .gv2-burger-ico::before, .gv2-burger-ico::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; transition: transform .2s ease; }
  .gv2-burger-ico::before { top: -6px; } .gv2-burger-ico::after { top: 6px; }
  .gv2-burger[open] .gv2-burger-ico { background: transparent; }
  .gv2-burger[open] .gv2-burger-ico::before { transform: translateY(6px) rotate(45deg); }
  .gv2-burger[open] .gv2-burger-ico::after { transform: translateY(-6px) rotate(-45deg); }
  .gv2-burger-nav { position: absolute; z-index: 60; left: 12px; right: 12px; top: calc(100% + 6px); display: grid; padding: 8px; border-radius: var(--gv2-r, 0); background: var(--gv2-paper); box-shadow: 0 24px 50px -20px color-mix(in srgb, var(--gv2-ink) 55%, transparent), 0 0 0 1px var(--gv2-rule); }
  .gv2-burger-nav a { padding: 14px 16px; font-family: var(--gv2-ui); font-size: 18px; font-weight: 600; color: var(--gv2-ink); border-bottom: 1px solid var(--gv2-rule-soft); }
  .gv2-burger-nav a:last-child { border-bottom: 0; }
  .gv2-burger-cta { margin-top: 6px; text-align: center; background: var(--gv2-green); color: #fff !important; border-radius: var(--gv2-r, 0); }
  body.gv2-sk-bilan .gv2-burger-cta { background: linear-gradient(135deg, color-mix(in srgb, var(--gv2-gold) 78%, #000), var(--gv2-gold)); }
  body.gv2-sk-ecrin .gv2-burger summary, body.gv2-sk-cocon .gv2-burger summary, .gv2-hflot .gv2-burger summary { border-radius: 999px; }
  body.home .gv2-htrans .gv2-burger summary { background: rgba(0,0,0,.28); border-color: rgba(255,255,255,.45); color: #fff; }
  .gv2-hflot-in { border-radius: 999px; padding: 8px 8px 8px 18px; }
  body.home:has(.gv2-htrans) .gv2-sylve-in, body.home:has(.gv2-htrans) .gv2-beton-in { padding-top: 110px; }
}
@media (max-width: 860px) {
  /* Le nom du site rétrécit, le burger jamais : en manchette (nom en 52 px) il
     poussait le bouton hors de l'écran (gourmandiva, 92 px de débordement, 25/09). */
  .gv2-burger { flex: none; }
  .gv2-header .gv2-brand, .gv2-htrans .gv2-brand, .gv2-hflot-in .gv2-brand, .gv2-hrech-top .gv2-brand, .gv2-hdouble-main .gv2-brand { min-width: 0; flex: 1 1 auto; }
  .gv2-brand-name { min-width: 0; }
  .gv2-brand-name b { overflow-wrap: anywhere; }
  .gv2-header-manchette .gv2-brand-name b, .gv2-header-centre .gv2-brand-name b, .gv2-hdouble-main .gv2-brand-name b { font-size: clamp(20px, 6.4vw, 28px); }
  .gv2-header-manchette .gv2-issue { display: none; }
  .gv2-burger:not([open]) .gv2-burger-nav { display: none; }
}
@media (max-width: 860px) {
  /* Refermer en touchant à côté (25/09/2026, retour d'Antoine sur gourmandiva) :
     un voile plein écran porté PAR le summary — le toucher revient à toucher le
     bouton, donc le <details> se ferme, toujours sans JavaScript. */
  .gv2-burger[open] > summary::before { content: ""; position: fixed; inset: 0; z-index: 55; background: rgba(0, 0, 0, .18); cursor: default; }
  /* Le summary ne crée PAS de contexte d'empilement : sinon son voile (z 55)
     passait au-dessus des liens (z 60) et le menu devenait intouchable. */
  /* Un flou d'arrière-plan fait du parent le repère des éléments « fixed » : le
     voile de l'en-tête flottant ne couvrait que la pastille. Coupé menu ouvert. */
  .gv2-hflot-in:has(.gv2-burger[open]) { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--gv2-paper); }
  .gv2-burger-nav { z-index: 60; }
}

/* ── Cinquième série (25/09/2026, lesfables) : du jour, quiz, recherche par termes ── */
/* Aucune couleur en dur : cartes au fond du site (--gv2-paper), section teintée vers l'encre —
   un #fff rendait le texte clair illisible sur fond sombre (passion-elagage, 25/09). */
.gv2-dujour { padding-top: clamp(44px, 5vw, 72px); padding-bottom: clamp(44px, 5vw, 72px); background: color-mix(in srgb, var(--gv2-green) 7%, color-mix(in srgb, var(--gv2-ink) 5%, var(--gv2-paper))); }
.gv2-dujour-in { max-width: 980px; margin: 0 auto; text-align: center; }
.gv2-dujour-in > .gv2-lbl { color: color-mix(in srgb, var(--gv2-green) 72%, var(--gv2-ink)); }
.gv2-dujour h2 { font-family: var(--gv2-ui); font-size: clamp(26px, 3vw, 38px); line-height: 1.12; margin: 10px 0 26px; color: var(--gv2-ink); letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-dujour-carte { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); text-align: left; background: var(--gv2-paper); border-radius: var(--gv2-r, 0); overflow: hidden; box-shadow: 0 18px 44px -28px color-mix(in srgb, var(--gv2-ink) 55%, transparent); }
.gv2-dujour-txt { position: relative; padding: clamp(28px, 3.4vw, 48px); padding-top: clamp(52px, 5vw, 70px); display: flex; flex-direction: column; justify-content: center; }
.gv2-dujour-txt::before { content: "\201C"; position: absolute; top: 6px; left: clamp(22px, 3vw, 42px); font-family: var(--gv2-serif); font-size: 96px; line-height: 1; color: color-mix(in srgb, var(--gv2-gold) 70%, transparent); }
.gv2-dujour-date { font-family: var(--gv2-meta); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gv2-muted); }
.gv2-dujour-txt h3 { font-family: var(--gv2-ui); font-size: clamp(22px, 2.3vw, 30px); line-height: 1.18; margin: 10px 0 12px; letter-spacing: calc(-.015em * var(--gv2-track, 1)); }
.gv2-dujour-txt h3 a { color: var(--gv2-ink); }
.gv2-dujour-txt h3 a:hover { color: var(--gv2-green); }
.gv2-dujour-txt p { font-size: 16px; line-height: 1.6; color: var(--gv2-text); margin: 0 0 18px; }
.gv2-dujour-lien { font-family: var(--gv2-meta); font-size: 14px; font-weight: 700; color: color-mix(in srgb, var(--gv2-green) 72%, var(--gv2-ink)); align-self: flex-start; }
.gv2-dujour-img { position: relative; display: block; min-height: 280px; }
.gv2-dujour:not(:has(.gv2-dujour-carte)) { display: none; }
.gv2-dujour-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.gv2-quiz { padding-top: clamp(48px, 5.4vw, 80px); padding-bottom: clamp(48px, 5.4vw, 80px); background: color-mix(in srgb, var(--gv2-gold) 20%, var(--gv2-paper)); }
.gv2-quiz-in { max-width: 720px; margin: 0 auto; text-align: center; }
.gv2-quiz-in > .gv2-lbl { color: color-mix(in srgb, var(--gv2-gold) 55%, var(--gv2-ink)); }
.gv2-quiz h2 { text-wrap: balance; font-family: var(--gv2-ui); font-size: clamp(28px, 3.3vw, 42px); line-height: 1.1; margin: 10px 0 10px; color: var(--gv2-ink); letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-quiz-chapo { font-size: 16.5px; line-height: 1.6; color: var(--gv2-text); margin: 0 auto 26px; max-width: 560px; }
.gv2-quiz-prog { position: relative; display: flex; align-items: center; gap: 12px; max-width: 320px; margin: 0 auto 26px; }
.gv2-quiz-prog::before { content: ""; flex: 1; height: 4px; border-radius: 4px; background: color-mix(in srgb, var(--gv2-ink) 12%, transparent); }
.gv2-quiz-prog span { position: absolute; left: 0; top: 50%; height: 4px; margin-top: -2px; width: 0; max-width: calc(100% - 40px); border-radius: 4px; background: var(--gv2-green); transition: width .3s; }
.gv2-quiz-prog em { font-style: normal; font-family: var(--gv2-meta); font-size: 12px; font-weight: 700; color: var(--gv2-muted); min-width: 28px; }
.gv2-quiz-q { border: 0; margin: 0; padding: 0; min-width: 0; }
.gv2-quiz-q legend { width: 100%; padding: 0; font-family: var(--gv2-ui); font-size: clamp(19px, 2vw, 23px); font-weight: 600; color: var(--gv2-ink); margin-bottom: 16px; line-height: 1.3; }
.gv2-quiz-rep { display: grid; gap: 10px; }
.gv2-quiz-rep button { font: 500 16px/1.35 var(--gv2-meta); color: var(--gv2-ink); text-align: left; background: var(--gv2-paper); border: 1px solid var(--gv2-rule); border-radius: var(--gv2-r, 0); padding: 15px 20px; cursor: pointer; transition: border-color .15s, transform .15s; }
.gv2-quiz-rep button:hover, .gv2-quiz-rep button:focus-visible { border-color: var(--gv2-green); transform: translateX(3px); outline: none; }
/* Sans JavaScript : pas de questions mortes, les rubriques en liens directs. */
.gv2-quiz:not(.gv2-quiz-js) .gv2-quiz-prog, .gv2-quiz:not(.gv2-quiz-js) .gv2-quiz-qs, .gv2-quiz:not(.gv2-quiz-js) .gv2-quiz-again { display: none; }
.gv2-quiz:not(.gv2-quiz-js) .gv2-quiz-out { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.gv2-quiz:not(.gv2-quiz-js) .gv2-quiz-direct { grid-column: 1 / -1; }
.gv2-quiz-js .gv2-quiz-out, .gv2-quiz-js .gv2-quiz-direct { display: none; }
.gv2-quiz-js.gv2-quiz-fini .gv2-quiz-out { display: block; }
.gv2-quiz-direct { font-family: var(--gv2-meta); font-size: 14px; font-weight: 600; color: var(--gv2-muted); }
.gv2-quiz-res { display: grid; grid-template-columns: 180px minmax(0, 1fr); text-align: left; background: var(--gv2-paper); border-radius: var(--gv2-r, 0); overflow: hidden; box-shadow: 0 16px 40px -26px color-mix(in srgb, var(--gv2-ink) 55%, transparent); }
.gv2-quiz-res[hidden] { display: none; }
.gv2-quiz-res img { width: 100%; height: 100%; min-height: 170px; object-fit: cover; display: block; }
.gv2-quiz-res-txt { padding: 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.gv2-quiz-res-lbl { font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: color-mix(in srgb, var(--gv2-green) 72%, var(--gv2-ink)); }
.gv2-quiz-res b { font-family: var(--gv2-ui); font-size: 26px; line-height: 1.15; color: var(--gv2-ink); }
.gv2-quiz-res-txt > span:not([class]) { font-size: 15.5px; line-height: 1.5; color: var(--gv2-text); }
.gv2-quiz-res-cta { margin-top: 6px; font-family: var(--gv2-meta); font-size: 14px; font-weight: 700; color: color-mix(in srgb, var(--gv2-green) 72%, var(--gv2-ink)); }
.gv2-quiz-again { margin-top: 16px; font: 600 13px var(--gv2-meta); color: var(--gv2-muted); background: none; border: 0; text-decoration: underline; cursor: pointer; }

.gv2-recherche-terme { border-radius: var(--gv2-r, 0); background: color-mix(in srgb, var(--gv2-green) 7%, var(--gv2-paper)); border-color: transparent; }
.gv2-recherche-terme::before { content: "#"; margin-right: 3px; color: var(--gv2-green); opacity: .7; }

@media (max-width: 760px) {
  .gv2-dujour-carte { grid-template-columns: minmax(0, 1fr); }
  .gv2-dujour-img { order: -1; min-height: 0; aspect-ratio: 16 / 10; }
  .gv2-quiz-res { grid-template-columns: minmax(0, 1fr); }
  .gv2-quiz-res img { aspect-ratio: 16 / 9; min-height: 0; }
}

/* ── Outil (06/10/2026) : calculateur d'une page-outil sur la home ──────────────
   Photo + accroche à gauche, outil à droite. Le widget porte son propre style
   (gris, system-ui, scopé .gather-widget-*) : on le rhabille aux couleurs du site,
   à spécificité plus forte (deux classes) puisque son <style> arrive après v2.css.
   Son titre et son intro font doublon avec l'accroche : masqués ici seulement. */
.gv2-outil { background: color-mix(in oklab, var(--gv2-gold) 12%, var(--gv2-paper)); padding: 0 !important; }
.gv2-outil-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); max-width: var(--gv2-max); margin: 0 auto; }
.gv2-outil-visuel { position: relative; min-height: 420px; overflow: hidden; }
.gv2-outil-visuel > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-outil-accroche { position: absolute; left: clamp(20px, 3vw, 40px); right: clamp(20px, 3vw, 40px); bottom: clamp(20px, 3vw, 40px); padding: 22px 24px; background: rgba(20, 22, 26, .74); color: #fff; border-radius: var(--gv2-r, 0); }
.gv2-outil-accroche .gv2-lbl { color: var(--gv2-gold); }
.gv2-outil-accroche h2 { margin: 8px 0; font-family: var(--gv2-ui); font-weight: 800; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.12; color: #fff; }
.gv2-outil-accroche p { margin: 0; font-family: var(--gv2-serif); font-size: 17px; line-height: 1.5; color: rgba(255,255,255,.86); }
.gv2-outil-calc { padding: clamp(28px, 4vw, 52px) var(--gv2-pad); display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.gv2-outil .gather-widget { background: transparent; border: 0; padding: 0; max-width: none; font-family: var(--gv2-ui); color: var(--gv2-ink); }
.gv2-outil .gather-widget > h3, .gv2-outil .gather-widget .gw-intro { display: none; }
.gv2-outil .gather-widget .gwc-field label { font-family: var(--gv2-ui); font-size: 14px; font-weight: 700; color: var(--gv2-ink); }
.gv2-outil .gather-widget input, .gv2-outil .gather-widget select { font-family: var(--gv2-ui); font-size: 18px; font-weight: 600; border: 1.5px solid var(--gv2-ink); border-radius: var(--gv2-r, 0); background: var(--gv2-paper); color: var(--gv2-ink); }
.gv2-outil .gather-widget input:focus, .gv2-outil .gather-widget select:focus { border-color: var(--gv2-green); box-shadow: 0 0 0 3px color-mix(in oklab, var(--gv2-green) 22%, transparent); }
.gv2-outil .gather-widget .gwc-result { background: var(--gv2-paper); border: 1.5px solid var(--gv2-ink); border-radius: var(--gv2-r, 0); }
.gv2-outil .gather-widget .gwc-result-label { font-family: var(--gv2-meta); color: var(--gv2-muted); }
.gv2-outil .gather-widget .gwc-result-value { font-family: var(--gv2-serif); color: var(--gv2-text); }
.gv2-outil .gather-widget .gwc-result-value strong { font-family: var(--gv2-ui); color: var(--gv2-deep); }
.gv2-outil-cta { align-self: flex-start; }
/* États du résultat (13/11/2026) : le widget peint ok/warn/alert en vert, jaune ou
   rouge pâle codés en dur, illisibles sur fond sombre (toutrenov, maisonideale). On
   garde le fond du site et on ne signale l'état que par la bordure. */
.gv2-outil .gather-widget .gwc-result:is(.gwc-ok, .gwc-warn, .gwc-alert) { background: var(--gv2-paper); }
.gv2-outil .gather-widget .gwc-result.gwc-ok { border-color: var(--gv2-green); }
.gv2-outil .gather-widget .gwc-result.gwc-warn { border-color: #D9A400; }
.gv2-outil .gather-widget .gwc-result.gwc-alert { border-color: #D0574F; }
.gv2-outil .gather-widget .gwc-result .gwc-result-value strong { color: var(--gv2-ink); }
@media (max-width: 860px) {
  .gv2-outil-in { grid-template-columns: 1fr; }
  .gv2-outil-visuel { min-height: 320px; }
}

/* ── Sixième série (22/10/2026, 21st.dev) : ouvertures éditoriale / pile / scindée,
   lamelles, à la une en liste, liste sombre. CSS seul. ── */

/* Ouverture éditoriale : surtitre à gauche, titre à empattements, photo en fondu */
.gv2-editorial { padding-top: clamp(40px, 6vw, 96px); }
.gv2-editorial-in { display: block; padding: 0 var(--gv2-gut); }
.gv2-editorial-txt { max-width: 980px; }
.gv2-editorial .gv2-lbl { color: var(--gv2-green); }
.gv2-editorial h1 { margin: 14px 0 22px; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(38px, 5vw, 78px); line-height: 1.05; letter-spacing: calc(-.02em * var(--gv2-track, 1)); color: var(--gv2-ink); }
.gv2-editorial h1 .gv2-acc { font-family: var(--gv2-serif); font-style: italic; }
.gv2-editorial-txt > p { margin: 0; max-width: 56ch; font-size: 18px; line-height: 1.65; color: var(--gv2-text); }
.gv2-editorial-img { margin-top: clamp(20px, 3vw, 40px); height: clamp(260px, 36vw, 560px); }
.gv2-editorial-img img { width: 100%; height: 100%; object-fit: cover; display: block; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 42%); mask-image: linear-gradient(to bottom, transparent 0%, #000 42%); }

/* Ouverture en pile : mot d'accent au feutre, trois photos inclinées */
.gv2-pile { overflow-x: clip; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding-top: clamp(44px, 6vw, 96px); padding-bottom: clamp(44px, 6vw, 96px); }
.gv2-pile h1 { margin: 14px 0 22px; font-size: clamp(38px, 5vw, 74px); line-height: 1.04; color: var(--gv2-ink); }
.gv2-pile h1 .gv2-acc { color: inherit; padding: 0 .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
  background: linear-gradient(176deg, transparent 58%, color-mix(in srgb, var(--gv2-gold) 75%, transparent) 58% 88%, transparent 88%); }
.gv2-pile-txt > p { margin: 0; max-width: 50ch; font-size: 18px; line-height: 1.65; color: var(--gv2-text); }
.gv2-pile-media { position: relative; aspect-ratio: 6 / 5; }
.gv2-pile-p { position: absolute; margin: 0; width: 58%; aspect-ratio: 4 / 5; overflow: hidden; border: 7px solid #fff; border-radius: var(--gv2-r, 6px); box-shadow: 0 28px 56px -28px rgba(0,0,0,.5); transition: transform .5s cubic-bezier(.2, .75, .2, 1); }
.gv2-pile-p img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-pile-p1 { left: 21%; top: 9%; z-index: 3; transform: rotate(-2deg); }
.gv2-pile-p2 { left: 0; top: 16%; z-index: 2; transform: rotate(-10deg); }
.gv2-pile-p3 { left: 42%; top: 1%; z-index: 1; transform: rotate(8deg); }
.gv2-pile-media:hover .gv2-pile-p2 { transform: translateX(-7%) rotate(-14deg); }
.gv2-pile-media:hover .gv2-pile-p3 { transform: translateX(8%) rotate(12deg); }
/* Le mot d'accent porte déjà son trait de feutre : les mouvements « trait » et
   « surligne » du titre en posaient un second sur le dernier mot. */
.gv2-pile h1 .gv2-mw-fin { background: none !important; animation: none !important; }
@media (max-width: 780px) { .gv2-pile { grid-template-columns: minmax(0, 1fr); } .gv2-pile-media { max-width: 460px; width: 100%; margin: 0 auto; } .gv2-pile-p { width: 54%; border-width: 5px; } }
@media (prefers-reduced-motion: reduce) { .gv2-pile-p { transition: none; } }

/* Ouverture scindée : bande sombre, photo à droite, rubriques en onglets */
.gv2-scinde { background: color-mix(in oklab, var(--gv2-deep) 32%, #0d0d0b); color: #EDE9DC; }
.gv2-scinde-in { padding-left: var(--gv2-gut); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); min-height: clamp(440px, 42vw, 640px); }
.gv2-scinde-txt { padding: clamp(40px, 6vw, 88px) clamp(24px, 4vw, 64px) clamp(36px, 5vw, 72px) 0; display: flex; flex-direction: column; justify-content: center; }
.gv2-scinde .gv2-lbl { color: var(--gv2-gold); }
.gv2-scinde h1 { margin: 16px 0 20px; font-family: var(--gv2-serif); font-weight: 400; font-size: clamp(38px, 4.6vw, 70px); line-height: 1.04; letter-spacing: calc(-.02em * var(--gv2-track, 1)); color: #fff; }
.gv2-scinde h1 .gv2-acc { font-family: var(--gv2-serif); font-style: italic; color: var(--gv2-gold); }
.gv2-scinde-txt > p { margin: 0; max-width: 44ch; font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.72); }
.gv2-scinde .gv2-pk-btn-2 { color: #fff !important; border-color: rgba(255,255,255,.4); }
.gv2-scinde-img { position: relative; min-height: 300px; }
.gv2-scinde-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.gv2-scinde-tabs { display: flex; padding: 0 var(--gv2-gut); border-top: 1px solid rgba(255,255,255,.14); overflow-x: auto; scrollbar-width: none; }
.gv2-scinde-tabs a { flex: 1 0 auto; padding: 18px 26px 20px 0; margin-top: -1px; border-top: 2px solid transparent; font-family: var(--gv2-meta); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.62); white-space: nowrap; transition: color .2s ease, border-color .2s ease; }
.gv2-scinde-tabs a span { margin-right: 10px; color: var(--gv2-gold); }
.gv2-scinde-tabs a:first-child, .gv2-scinde-tabs a:is(:hover, :focus-visible) { color: #fff; border-top-color: var(--gv2-gold); }
@media (max-width: 780px) { .gv2-scinde-in { grid-template-columns: minmax(0, 1fr); padding-left: 0; } .gv2-scinde-txt { padding-left: var(--gv2-gut); padding-right: var(--gv2-gut); } .gv2-scinde-img { aspect-ratio: 4 / 3; min-height: 0; } }

/* Lamelles de rubriques : la bande survolée s'élargit (flex-grow) */
.gv2-lamelles { padding-top: clamp(30px, 3.6vw, 52px); padding-bottom: clamp(30px, 3.6vw, 52px); }
.gv2-lamelles .gv2-rule-h { margin-bottom: 24px; }
.gv2-lamelles .gv2-rule-h .gv2-lbl { display: block; margin-bottom: 6px; color: var(--gv2-green); }
.gv2-lam-row { display: flex; gap: clamp(8px, 1vw, 14px); height: clamp(320px, 34vw, 480px); }
.gv2-lam { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: var(--gv2-r, 14px); background: var(--gv2-deep); transition: flex-grow .55s cubic-bezier(.2, .75, .2, 1); }
.gv2-lam img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.gv2-lam::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,0) 55%); }
.gv2-lam::after { content: attr(data-nom); position: absolute; left: 50%; bottom: 18px; z-index: 2; writing-mode: vertical-rl; transform: translateX(-50%) rotate(180deg); font-family: var(--gv2-meta); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; white-space: nowrap; transition: opacity .25s ease; }
.gv2-lam-txt { position: absolute; left: 22px; right: 22px; bottom: 20px; z-index: 2; opacity: 0; transform: translateY(8px); transition: opacity .3s ease .1s, transform .3s ease .1s; color: #fff; }
.gv2-lam-txt b { display: block; font-family: var(--gv2-ui); font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; letter-spacing: calc(-.03em * var(--gv2-track, 1)); white-space: nowrap; }
.gv2-lam-txt em { display: block; margin-top: 6px; font-style: normal; font-family: var(--gv2-meta); font-size: 13px; color: rgba(255,255,255,.8); }
.gv2-lam-row:not(:hover):not(:focus-within) .gv2-lam:first-child, .gv2-lam:is(:hover, :focus-visible) { flex-grow: 3.4; }
.gv2-lam-row:not(:hover):not(:focus-within) .gv2-lam:first-child .gv2-lam-txt, .gv2-lam:is(:hover, :focus-visible) .gv2-lam-txt { opacity: 1; transform: none; }
.gv2-lam-row:not(:hover):not(:focus-within) .gv2-lam:first-child::after, .gv2-lam:is(:hover, :focus-visible)::after { opacity: 0; }
.gv2-lam:is(:hover, :focus-visible) img { transform: scale(1.04); }
@media (max-width: 780px) {
  .gv2-lam-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; }
  .gv2-lam { aspect-ratio: 3 / 4; }
  .gv2-lam::after { display: none; }
  .gv2-lam .gv2-lam-txt { opacity: 1; transform: none; left: 14px; right: 14px; bottom: 14px; }
  .gv2-lam-txt b { font-size: 19px; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .gv2-lam, .gv2-lam img, .gv2-lam-txt { transition: none; } }

/* À la une en liste : photo de la dernière parution + quatre lignes à filets */
.gv2-choix { padding-top: clamp(30px, 3.6vw, 52px); padding-bottom: clamp(30px, 3.6vw, 52px); }
.gv2-choix-head { margin-bottom: clamp(20px, 2.6vw, 32px); }
.gv2-choix-badge { display: inline-block; padding: 5px 11px; border-radius: var(--gv2-r, 0); background: var(--gv2-ink); color: var(--gv2-paper); font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.gv2-choix-head h2 { margin: 12px 0 0; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.08; }
.gv2-choix-head p { margin: 8px 0 0; color: var(--gv2-muted); font-size: 16px; }
.gv2-choix-in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(22px, 3.6vw, 52px); align-items: stretch; }
/* WordPress pose une marge de flux sur le 2e enfant : la liste partait 24 px plus bas que la photo (gd-elec, 22/10). */
.gv2-choix-in > * { margin: 0 !important; }
.gv2-choix-img, .gv2-choix-img .wp-block-post-template, .gv2-choix-img .wp-block-post, .gv2-choix-img .wp-block-post-featured-image, .gv2-choix-img .wp-block-post-featured-image a { height: 100%; }
.gv2-choix .wp-block-post-template.wp-block-post-template { list-style: none; margin: 0; padding: 0; max-width: none; display: block; }
.gv2-choix .wp-block-post { margin: 0; }
.gv2-choix-img .wp-block-post-featured-image { margin: 0; }
.gv2-choix-img img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; border-radius: var(--gv2-r, 0); }
.gv2-choix-q .wp-block-post { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--gv2-rule); }
.gv2-choix-q .wp-block-post:first-child { border-top: 1px solid var(--gv2-rule); }
.gv2-choix-q .wp-block-post > * { grid-column: 1; }
.gv2-choix-q .wp-block-post::after { content: ""; grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 16px; height: 16px; background: var(--gv2-muted);
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E"); }
.gv2-choix-q .wp-block-post-terms { font-family: var(--gv2-meta); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gv2-green); }
.gv2-choix-q .wp-block-post-terms a { color: inherit; }
.gv2-choix-q .wp-block-post-title { margin: 5px 0 0; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.25; letter-spacing: calc(-.02em * var(--gv2-track, 1)); }
.gv2-choix-q .wp-block-post-title a { color: var(--gv2-ink); }
.gv2-choix-q .wp-block-post:first-child .wp-block-post-title a, .gv2-choix-q .wp-block-post-title a:hover { color: var(--gv2-green); }
.gv2-choix-q .wp-block-post-date { margin-top: 6px; font-family: var(--gv2-meta); font-size: 12.5px; color: var(--gv2-muted); }
@media (max-width: 780px) { .gv2-choix-in { grid-template-columns: minmax(0, 1fr); } .gv2-choix-img img { height: auto; min-height: 0; aspect-ratio: 4 / 3; } }

/* Liste numérotée, variante sombre */
.gv2-listenum-sombre { background: color-mix(in oklab, var(--gv2-deep) 30%, #0c0c0b); }
.gv2-listenum-sombre .gv2-rule-h { border-bottom-color: rgba(255,255,255,.22); }
.gv2-listenum-sombre .gv2-rule-h h2 { color: #fff; }
.gv2-listenum-sombre .gv2-rule-h .gv2-side { color: rgba(255,255,255,.6); }
.gv2-listenum-sombre .gv2-listenum-q .wp-block-post { border-bottom-color: rgba(255,255,255,.12); }
.gv2-listenum-sombre .gv2-listenum-q .wp-block-post::before { color: rgba(255,255,255,.34); }
.gv2-listenum-sombre .gv2-listenum-q .wp-block-post-title a { color: var(--gv2-gold); }
.gv2-listenum-sombre .gv2-listenum-q .wp-block-post-title a:hover { color: #fff; }
.gv2-listenum-sombre .gv2-listenum-q :is(.wp-block-post-terms, .wp-block-post-date) { color: rgba(255,255,255,.55); }

/* ── Mouvement par site (option gather_v2_mouvement → body.gv2-mv-*) ────────
   Animations légères, CSS seul : aucun script, aucune requête. Une variante par
   famille et par site (titre, photo d'ouverture, défilement, filets, survol),
   tirée comme les bords ; sans option, rien ne bouge. Tout est sous
   prefers-reduced-motion: no-preference, et les animations liées au défilement
   sous @supports : un navigateur qui ne les connaît pas affiche la page immobile,
   entière. Le premier écran n'est jamais caché plus d'~1 s : titre en
   ~0,9 s, volet de la photo en 1 s (le recul part d'une image visible). */
@media (prefers-reduced-motion: no-preference) {
  /* Titre d'ouverture — mots découpés au rendu (functions.php), --k = rang du mot */
  :is(.gv2-mv-titre-masque, .gv2-mv-titre-flou, .gv2-mv-titre-point) .gv2-mi { display: inline-block; }
  .gv2-mv-titre-masque .gv2-mw { display: inline-block; overflow: hidden; vertical-align: top; padding-block: .1em; margin-block: -.1em; }
  .gv2-mv-titre-masque .gv2-mi { animation: gv2-mv-monte .75s cubic-bezier(.2, .75, .2, 1) both; animation-delay: calc(min(var(--k), 9) * 50ms + 60ms); }
  .gv2-mv-titre-flou .gv2-mi { animation: gv2-mv-flou .75s ease-out both; animation-delay: calc(min(var(--k), 9) * 55ms + 60ms); }
  .gv2-mv-titre-point .gv2-mi { animation: gv2-mv-fondu .55s ease-out both; animation-delay: calc(min(var(--k), 9) * 35ms + 40ms); }
  .gv2-mv-titre-point .gv2-mdot { display: inline-block; color: var(--gv2-gold); animation: gv2-mv-tombe .7s cubic-bezier(.3, 1.6, .5, 1) both; animation-delay: calc(min(var(--k), 9) * 35ms + 380ms); }
  .gv2-mv-titre-trait .gv2-mw-fin { background: linear-gradient(var(--gv2-gold), var(--gv2-gold)) left 96% / 100% .07em no-repeat; animation: gv2-mv-trait .9s cubic-bezier(.6, 0, .2, 1) .25s both; }
  .gv2-mv-titre-surligne .gv2-mw-fin { background: linear-gradient(color-mix(in srgb, var(--gv2-gold) 40%, transparent), color-mix(in srgb, var(--gv2-gold) 40%, transparent)) left 88% / 100% .36em no-repeat; animation: gv2-mv-surligne .8s cubic-bezier(.6, 0, .2, 1) .25s both; }
  @keyframes gv2-mv-monte { from { transform: translateY(105%); } }
  @keyframes gv2-mv-flou { from { opacity: 0; filter: blur(8px); transform: translateY(.12em); } }
  @keyframes gv2-mv-fondu { from { opacity: 0; } }
  @keyframes gv2-mv-tombe { from { opacity: 0; transform: translateY(-1.4em); } 30% { opacity: 1; } }
  @keyframes gv2-mv-trait { from { background-size: 0% .07em; } }
  @keyframes gv2-mv-surligne { from { background-size: 0% .36em; } }

  /* Photo d'ouverture (première section de la home) */
  /* Un cadre qui porte aussi une carte qui déborde (écrin) n'est pas coupé : la
     carte sortait tronquée (le-domanial, 22/10/2026) ; sa photo ne recule pas. */
  .gv2-mv-photo-recul .wp-block-post-content > :first-child :has(> img):not(:has(> :not(img))) { overflow: clip; }
  .gv2-mv-photo-recul .wp-block-post-content > :first-child :has(> img):not(:has(> :not(img))) > img { animation: gv2-mv-recul 2.4s cubic-bezier(.15, .6, .3, 1) both; }
  .gv2-mv-photo-volet .wp-block-post-content > :first-child img { animation: gv2-mv-volet 1s cubic-bezier(.7, 0, .2, 1) .1s backwards; }
  @keyframes gv2-mv-recul { from { transform: scale(1.08); } }
  @keyframes gv2-mv-volet { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }

  /* Au défilement — liés au scroll, sans script ; jamais la première section */
  @supports (animation-timeline: view()) {
    :is(.gv2-mv-defil-cascade, .gv2-mv-defil-fondu) .wp-block-post-content > :not(:first-child) :is(.wp-block-post-template > li, .gv2-numcard, .gv2-carte, .gv2-repere, .gv2-rubrow, .gv2-etape, .gv2-rubpan-item, .gv2-chiffre, .gv2-listenum li, .gv2-dec-txt, .gv2-icard, .gv2-side, .gv2-vitrine-card) {
      animation: gv2-mv-entre linear both; animation-timeline: view(); animation-range: entry 0% entry 75%;
    }
    .gv2-mv-defil-cascade .wp-block-post-content > :not(:first-child) :is(.wp-block-post-template > li, .gv2-numcard, .gv2-carte, .gv2-repere, .gv2-etape, .gv2-chiffre):nth-child(3n+2) { animation-range: entry 10% entry 85%; }
    .gv2-mv-defil-cascade .wp-block-post-content > :not(:first-child) :is(.wp-block-post-template > li, .gv2-numcard, .gv2-carte, .gv2-repere, .gv2-etape, .gv2-chiffre):nth-child(3n) { animation-range: entry 20% entry 95%; }
    .gv2-mv-defil-cascade { --gv2-mv-dy: 26px; }
    .gv2-mv-defil-fondu { --gv2-mv-dy: 0px; }
    @keyframes gv2-mv-entre { from { opacity: 0; transform: translateY(var(--gv2-mv-dy, 0px)); } }

    .gv2-mv-defil-parallaxe .wp-block-post-content > :not(:first-child) :has(> img) { overflow: clip; }
    .gv2-mv-defil-parallaxe .wp-block-post-content > :not(:first-child) img { animation: gv2-mv-parallaxe linear both; animation-timeline: view(); animation-range: cover; }
    @keyframes gv2-mv-parallaxe { from { transform: scale(1.1) translateY(-3.5%); } to { transform: scale(1.1) translateY(3.5%); } }

    .gv2-mv-filets .wp-block-post-content > :not(:first-child) .gv2-rule-h {
      border-bottom-color: transparent; background: linear-gradient(var(--gv2-ink), var(--gv2-ink)) left bottom / 100% 2px no-repeat;
      animation: gv2-mv-filet linear both; animation-timeline: view(); animation-range: entry 20% cover 40%;
    }
    @keyframes gv2-mv-filet { from { background-size: 0% 2px; } }
  }

  /* Barre de lecture — articles seuls (classe posée sur single post), liée au défilement */
  @supports (animation-timeline: scroll()) {
    :is(.gv2-mv-lecture-fine, .gv2-mv-lecture-epaisse, .gv2-mv-lecture-bas)::after {
      content: ""; position: fixed; left: 0; right: 0; top: 0; z-index: 60; height: 3px; pointer-events: none;
      background: var(--gv2-gold); transform-origin: 0 50%;
      animation: gv2-mv-lecture linear both; animation-timeline: scroll(root);
    }
    .gv2-mv-lecture-epaisse::after { height: 6px; background: var(--gv2-green); }
    .gv2-mv-lecture-bas::after { top: auto; bottom: 0; height: 4px; background: var(--gv2-ink); }
    body.admin-bar:is(.gv2-mv-lecture-fine, .gv2-mv-lecture-epaisse)::after { top: 32px; }
    @keyframes gv2-mv-lecture { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  }

  /* Survol — tout le site */
  .gv2-mv-survol-souligne :is(.wp-block-post-title, .gv2-rubrow h3) a { background: linear-gradient(currentColor, currentColor) left 100% / 0% 1px no-repeat; transition: background-size .35s ease; text-decoration: none; }
  .gv2-mv-survol-souligne :is(.wp-block-post-title, .gv2-rubrow h3) a:is(:hover, :focus-visible) { background-size: 100% 1px; }
  .gv2-mv-survol-fleche .gv2-arrow::after { transition: transform .25s ease; }
  .gv2-mv-survol-fleche :is(a:hover, a:focus-visible) .gv2-arrow::after, .gv2-mv-survol-fleche .gv2-arrow:is(:hover, :focus-visible)::after { transform: translateX(5px); }
  .gv2-mv-survol-incline .wp-block-post-template > li { transition: transform .3s cubic-bezier(.2, .75, .2, 1); }
  .gv2-mv-survol-incline .wp-block-post-template > li:hover { transform: translateY(-4px) rotate(-.5deg); }
}

/* ── Quiz d'article (lib/quiz-wizard-template.mjs) aux couleurs du site (12/11/2026) ──
   Le gabarit embarque son CSS dans chaque article, en bleu #2563eb codé en dur et
   souvent en !important : sur inspiredeco (terracotta) la barre bleue jurait. On
   le rhabille ici avec la couleur d'action du site, ce qui couvre aussi les
   articles déjà publiés. */
.gv2-article .gather-widget-quiz .gwq-progress-bar-fill { background: var(--gv2-green) !important; }
.gv2-article .gather-widget-quiz .gwq-option:hover { border-color: var(--gv2-green) !important; }
.gv2-article .gather-widget-quiz .gwq-option:focus-visible,
.gv2-article .gather-widget-quiz .gwq-nav-btn:focus-visible { outline-color: var(--gv2-green) !important; border-color: var(--gv2-green) !important; }
.gv2-article .gather-widget-quiz .gwq-option:focus-visible,
.gv2-article .gather-widget-quiz .gwq-option[aria-pressed="true"] { border-color: var(--gv2-green) !important; background: color-mix(in srgb, var(--gv2-green) 10%, #fff) !important; background-color: color-mix(in srgb, var(--gv2-green) 10%, #fff) !important; }
.gv2-article .gather-widget-quiz .gwq-option[aria-pressed="true"] { color: color-mix(in srgb, var(--gv2-green) 70%, #000) !important; }
.gv2-article .gather-widget-quiz .gwq-result-extra:not(:empty) { background: color-mix(in srgb, var(--gv2-green) 8%, #fff); border-color: color-mix(in srgb, var(--gv2-green) 30%, #fff); color: color-mix(in srgb, var(--gv2-green) 70%, #000); }

/* Chapô d'article (single-v2.html) : le gabarit le colore en #45473C en dur, le gris
   texte du fond papier. Sur fond sombre il devenait gris foncé sur noir, quasi
   invisible (maisonideale et les 12 autres sites sombres, 12/11/2026). Même valeur
   sur fond papier, donc rien ne change pour les sites clairs. */
.gv2-chapo, .gv2-chapo .wp-block-post-excerpt__excerpt { color: var(--gv2-text) !important; }

@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/dmsans-latin.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/dmsans-latin.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/dmsans-latin.woff2') format('woff2');}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/dmsans-latin.woff2') format('woff2');}
@font-face{font-family:'GV2 Display';font-style:normal;font-weight:400 600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/archivo-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'GV2 Display';font-style:normal;font-weight:400 600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/archivo-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'GV2 Text';font-style:normal;font-weight:400 600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/newsreader-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'GV2 Text';font-style:normal;font-weight:400 600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/newsreader-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'GV2 Text';font-style:italic;font-weight:400 600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/newsreader-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'GV2 Text';font-style:italic;font-weight:400 600;font-display:swap;src:url('https://eitp.fr/wp-content/themes/gather-theme/assets/fonts/newsreader-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gv2-ui:'GV2 Display',-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--gv2-serif:'GV2 Text',Georgia, 'Times New Roman', serif;--gv2-meta:'GV2 Display',-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--wp--preset--font-family--body:'GV2 Text',Georgia, 'Times New Roman', serif}:root{--gv2-paper:#FFFFFF;--gv2-ink:#14161A;--gv2-text:#3E424A;--gv2-muted:#83878F;--gv2-rule:#E3E3E7;--gv2-rule-soft:#EFEFF2}