/*
Theme Name: ConFestMag
Author: Alpax Production
Description: Thème « Chambre noire » pour ConFestMag — concerts, festivals, photo live. Typographie éditoriale, légendes façon tirage, planche-contact. Thème à blocs, sans constructeur de pages.
Version: 2.2.2
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: confestmag
*/

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
img{height:auto;max-width:100%}
a{text-underline-offset:.18em}
:where(a,button,input,summary):focus-visible{outline:2px solid var(--wp--preset--color--accent);outline-offset:3px}
.cfm-accent{color:var(--wp--preset--color--accent)}
.cfm-wrap{max-width:1240px;margin-inline:auto;padding-inline:32px;box-sizing:border-box}
main{counter-reset:cfmsec}

/* Petites capitales « machine à écrire » : légendes, rubriques, navigation */
.cfm-label,.cfm-label a,.cfm-meta,.cfm-meta a,.wp-block-post-date,.cfm-nav,.cfm-footer,.cfm-footer a,.cfm-more,.cfm-more a,.cfm-section-head p,.cfm-section-head p a,.wp-block-query-pagination{font-family:var(--wp--preset--font-family--mono);font-size:.75rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.cfm-label,.cfm-label a,.cfm-meta,.cfm-meta a,.wp-block-post-date,.cfm-footer,.cfm-footer a{color:var(--wp--preset--color--muted)}
.cfm-label{margin:0;line-height:1.5}
.cfm-label a:hover,.cfm-meta a:hover,.cfm-footer a:hover{color:var(--wp--preset--color--accent)}
.cfm-num::before{counter-increment:cfmsec;content:counter(cfmsec,decimal-leading-zero) " — ";color:var(--wp--preset--color--accent)}
.cfm-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0}
.cfm-meta > *{margin:0}
.cfm-meta > * + *::before{content:"·";margin-right:10px}
.cfm-meta .wp-block-post-author-name::before{content:"© "}
.cfm-row.cfm-meta > * + *::before{content:none;margin:0}

/* Cadre de tirage */
.cfm-frame,.cfm-contact .wp-block-post-featured-image{margin:0}
.cfm-frame{padding:10px;border:1px solid var(--wp--preset--color--frame)}
.cfm-frame > *{margin:0}
.cfm-frame:not(:has(img)){display:none}
.wp-block-post-featured-image{margin:0}
.wp-block-post-featured-image img{display:block;width:100%;object-fit:cover}
.wp-block-post-title a{text-decoration:none;color:inherit}
.wp-block-post-title a:hover{color:var(--wp--preset--color--accent)}

/* ---------- En-tête ---------- */
.cfm-header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 40px;padding-block:14px;border-bottom:1px solid var(--wp--preset--color--line)}
.cfm-logo{margin:0;line-height:1}
.cfm-logo img{display:block;height:80px;width:auto}
.cfm-nav .wp-block-navigation-item__content{padding-block:14px}
.cfm-nav.wp-block-navigation{gap:4px 30px}
.cfm-nav a:hover{color:var(--wp--preset--color--accent)}
.cfm-header .wp-block-search__button{background:transparent;color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--frame);border-radius:0;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;margin:0}
.cfm-header .wp-block-search__input{background:var(--wp--preset--color--surface);color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--frame);border-radius:0;padding:10px 14px;font-family:var(--wp--preset--font-family--mono);font-size:.8125rem}

/* ---------- Rangées de légende ---------- */
.cfm-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px}
.cfm-row > *{margin:0}

/* ---------- À la une ---------- */
.cfm-hero{margin-top:36px}
.cfm-hero .wp-block-post-template{list-style:none;margin:0;padding:0}
.cfm-hero .wp-block-post > *{margin-block:0}
.cfm-hero .cfm-row:first-child{padding-bottom:12px}
.cfm-hero .cfm-frame + .cfm-row{padding-top:12px}
.cfm-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px 64px;align-items:end;padding-top:36px}
.cfm-hero-grid > *{margin:0}
.cfm-hero .wp-block-post-title{font-size:clamp(2.4rem,5.4vw,4.25rem);line-height:1.04;letter-spacing:-.01em}
.cfm-hero .wp-block-post-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.cfm-hero-side{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.cfm-hero-side > *{margin:0}
.cfm-hero .wp-block-post-excerpt{font-size:1.125rem;color:var(--wp--preset--color--soft)}
.cfm-hero .wp-block-post-excerpt p{margin:0}
.cfm-more,.cfm-more a{color:var(--wp--preset--color--contrast)}
a.cfm-more,.cfm-more a,.cfm-section-head p a{display:inline-block;padding:14px 0 6px;border-bottom:1px solid currentColor;color:var(--wp--preset--color--contrast)}
a.cfm-more:hover,.cfm-more a:hover,.cfm-section-head p a:hover{color:var(--wp--preset--color--accent)}

/* ---------- Sections ---------- */
.cfm-section{margin-top:96px}
.cfm-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:16px}
.cfm-section-head > *{margin:0}
.cfm-section-head h2.cfm-label{font-family:var(--wp--preset--font-family--mono);font-size:.75rem;font-weight:400;line-height:1.5}

/* ---------- Planche-contact ---------- */
.cfm-strip{background:var(--wp--preset--color--surface);border-top:8px dashed #2e2e2e;border-bottom:8px dashed #2e2e2e;padding:22px 18px}
.cfm-contact .wp-block-post-template{list-style:none;margin:0;padding:0;gap:26px 14px;counter-reset:cfmframe 1}
.cfm-contact .wp-block-post{display:flex;flex-direction:column;gap:10px;counter-increment:cfmframe}
.cfm-contact .wp-block-post > *{margin:0}
.cfm-contact .wp-block-post-featured-image img{border:1px solid var(--wp--preset--color--frame);box-sizing:border-box}
.cfm-contact .wp-block-post-date{font-size:.6875rem;letter-spacing:.12em}
.cfm-contact .wp-block-post-date::before{content:counter(cfmframe,decimal-leading-zero) "A · "}
.cfm-contact .wp-block-post-title{font-size:1.25rem;font-weight:600;line-height:1.18}
.cfm-contact .wp-block-post-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
@media (max-width:1100px){.cfm-contact .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.cfm-contact .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Grand format (Festivals) ---------- */
.cfm-feature .wp-block-post-template{list-style:none;margin:0;padding:0}
.cfm-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px 72px;align-items:center}
.cfm-feature-grid > *{margin:0}
.cfm-feature-side{display:flex;flex-direction:column;gap:22px}
.cfm-feature-side > *{margin:0}
.cfm-feature-side > .wp-block-post-title{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.06}
.cfm-feature-side > .wp-block-post-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.cfm-index{border-top:1px solid var(--wp--preset--color--line)}
.cfm-index .wp-block-post-template{list-style:none;margin:0;padding:0}
.cfm-index .wp-block-post{margin:0}
.cfm-index-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--wp--preset--color--line)}
.cfm-index-row > *{margin:0}
.cfm-index-row .wp-block-post-title{font-size:1.375rem;font-weight:600;line-height:1.15}
.cfm-index-row .wp-block-post-date{white-space:nowrap;font-size:.6875rem}

/* ---------- Cartes ---------- */
.cfm-cards .wp-block-post-template{gap:48px 28px;list-style:none;padding:0;margin:0}
.cfm-card{display:flex;flex-direction:column;gap:12px}
.cfm-card > *{margin:0}
.cfm-card .wp-block-post-featured-image img{border:1px solid var(--wp--preset--color--frame);box-sizing:border-box}
.cfm-card .wp-block-post-title{font-size:1.625rem;font-weight:600;line-height:1.16}
.cfm-card .wp-block-post-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.cfm-card .cfm-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
.cfm-card .cfm-meta{font-size:.6875rem}
@media (max-width:980px){.cfm-cards .wp-block-post-template.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cfm-cards .wp-block-post-template.is-layout-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- Radio ---------- */
.cfm-radio{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:36px;border:1px solid var(--wp--preset--color--frame)}
.cfm-radio > *{margin:0}
.cfm-radio-text{flex:1 1 320px;display:flex;flex-direction:column;gap:8px}
.cfm-radio-text > *{margin:0}
.cfm-radio-text h2{font-size:2.5rem}
.cfm-radio-text p:last-child{color:var(--wp--preset--color--soft)}
.cfm-live::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--wp--preset--color--accent);margin-right:10px}

/* ---------- Article ---------- */
.cfm-article-head{max-width:980px;margin:48px auto 28px;padding-inline:32px;display:flex;flex-direction:column;gap:18px;box-sizing:border-box}
.cfm-article-head > *{margin:0}
.cfm-article-head .wp-block-post-title{font-size:clamp(2.4rem,5.4vw,4.25rem);line-height:.98;letter-spacing:-.01em;padding-bottom:.08em}
.cfm-article-figure{max-width:1240px;margin-inline:auto;padding-inline:32px;box-sizing:border-box}
.wp-block-post-content{font-size:1.125rem;line-height:1.7;margin-top:44px}
.wp-block-post-content > p:first-of-type{font-size:1.3125rem;line-height:1.55}
.wp-block-post-content a{color:var(--wp--preset--color--accent)}
.wp-block-post-content :where(h2,h3,h4){margin-top:1.8em}
.wp-block-post-content figcaption,.wp-element-caption{font-family:var(--wp--preset--font-family--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wp--preset--color--muted);line-height:1.5}
.wp-block-post-content iframe{max-width:100%}
.cfm-tags{max-width:720px;margin:44px auto 0;padding-inline:32px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px}
.cfm-tags a{display:inline-block;padding:11px 16px;border:1px solid var(--wp--preset--color--frame);font-family:var(--wp--preset--font-family--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--wp--preset--color--contrast)}
.cfm-tags a:hover{border-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}
.cfm-tags .wp-block-post-terms__separator{display:none}

/* Contenu ancien : neutraliser les couleurs en dur prévues pour un fond clair */
.wp-block-post-content :where(p,span,li,h1,h2,h3,h4,h5,h6,strong,em,b,i,u,td,th,div,font,blockquote)[style*="color"]{color:inherit !important;background-color:transparent !important}
.wp-block-post-content :where(.has-black-color,.has-text-color){color:inherit !important}
.wp-block-post-content :where(.has-white-background-color,.has-background){background-color:transparent !important}
.wp-block-post-content font{color:inherit}
.wp-block-post-content table{border-collapse:collapse;width:100%;font-size:1rem}
.wp-block-post-content :where(td,th){border:1px solid var(--wp--preset--color--line);padding:8px 10px}
.wp-block-post-content .wp-block-table{overflow-x:auto}
.wp-block-post-content blockquote{border-left:1px solid var(--wp--preset--color--accent);margin-left:0;padding-left:24px;font-family:var(--wp--preset--font-family--display);font-style:italic;font-size:1.5rem;line-height:1.3;color:var(--wp--preset--color--contrast)}

/* Galeries (y compris anciennes galeries Jetpack) */
.wp-block-jetpack-tiled-gallery .tiled-gallery__gallery,.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_swiper-wrapper,.wp-block-jetpack-slideshow ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.wp-block-jetpack-tiled-gallery .tiled-gallery__row,.wp-block-jetpack-tiled-gallery .tiled-gallery__col{display:contents}
.wp-block-jetpack-tiled-gallery figure,.wp-block-jetpack-slideshow figure,.wp-block-jetpack-slideshow li{margin:0}
.wp-block-jetpack-tiled-gallery img,.wp-block-jetpack-slideshow img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.wp-block-jetpack-slideshow_button-prev,.wp-block-jetpack-slideshow_button-next,.wp-block-jetpack-slideshow_button-pause,.wp-block-jetpack-slideshow_pagination{display:none}

/* ---------- Archives ---------- */
.cfm-archive-head{margin:48px 0 36px;padding-bottom:28px;border-bottom:1px solid var(--wp--preset--color--line)}
.cfm-archive-head > *{margin:0}
.cfm-archive-head h1{font-size:clamp(2.6rem,6vw,4.5rem);letter-spacing:-.01em;margin-top:10px}
.cfm-archive-head .wp-block-term-description{color:var(--wp--preset--color--soft);margin-top:14px;max-width:60ch}
.wp-block-query-pagination{margin-top:56px;gap:8px}
.wp-block-query-pagination a,.wp-block-query-pagination .current{display:inline-block;padding:12px 14px;text-decoration:none}
.wp-block-query-pagination .current{border-bottom:1px solid var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}

/* ---------- Pied de page ---------- */
.cfm-footer{margin-top:96px}
.cfm-footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding-block:28px 40px;border-top:1px solid var(--wp--preset--color--line)}
.cfm-footer-inner > *{margin:0}
.cfm-footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.cfm-footer-brand > *{margin:0}
.cfm-footer-brand .cfm-logo img{height:56px}
.cfm-footer-brand p:last-child{max-width:44ch;line-height:1.6;font-size:.6875rem}
.cfm-footer-nav.wp-block-navigation{font-family:var(--wp--preset--font-family--mono);font-size:.75rem;gap:4px 26px}
.cfm-footer-nav .wp-block-navigation-item__content{padding-block:12px}

/* ---------- Formulaires ---------- */
.wpcf7 form{display:flex;flex-direction:column;gap:18px;margin-top:8px}
.wpcf7 form p{margin:0}
.wpcf7 label{display:block;font-family:var(--wp--preset--font-family--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--muted)}
.wpcf7 :where(input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select){display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:13px 14px;background:var(--wp--preset--color--surface);color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--frame);border-radius:0;font-family:var(--wp--preset--font-family--body);font-size:1rem;letter-spacing:0;text-transform:none}
.wpcf7 textarea{min-height:180px;resize:vertical}
.wpcf7 input[type=submit]{align-self:flex-start;padding:16px 28px;background:transparent;color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--contrast);border-radius:0;font-family:var(--wp--preset--font-family--mono);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base)}
.wpcf7-not-valid-tip{color:var(--wp--preset--color--accent);font-size:.875rem;margin-top:4px;text-transform:none;letter-spacing:0}
.wpcf7 form .wpcf7-response-output{margin:0;padding:12px 14px;border-color:var(--wp--preset--color--frame)}

/* ---------- Bandeau cookies (Complianz) ---------- */
.cmplz-cookiebanner{background:var(--wp--preset--color--surface) !important;color:var(--wp--preset--color--contrast) !important;border:1px solid var(--wp--preset--color--frame) !important;border-radius:0 !important;box-shadow:0 12px 40px rgba(0,0,0,.6) !important;font-family:var(--wp--preset--font-family--body) !important}
.cmplz-cookiebanner .cmplz-title,.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-category-title,.cmplz-cookiebanner .cmplz-description,.cmplz-cookiebanner .cmplz-always-active{color:var(--wp--preset--color--contrast) !important}
.cmplz-cookiebanner .cmplz-title{font-family:var(--wp--preset--font-family--display) !important;font-weight:600 !important;font-size:1.375rem !important}
.cmplz-cookiebanner a,.cmplz-cookiebanner .cmplz-links a{color:var(--wp--preset--color--accent) !important}
.cmplz-cookiebanner .cmplz-btn{border-radius:0 !important;font-family:var(--wp--preset--font-family--mono) !important;font-weight:400 !important;font-size:.75rem !important;letter-spacing:.14em !important;text-transform:uppercase !important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:var(--wp--preset--color--contrast) !important;border-color:var(--wp--preset--color--contrast) !important;color:var(--wp--preset--color--base) !important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:transparent !important;border:1px solid var(--wp--preset--color--frame) !important;color:var(--wp--preset--color--contrast) !important}
.cmplz-cookiebanner .cmplz-category{background:var(--wp--preset--color--base) !important}
.cmplz-cookiebanner .cmplz-close svg,.cmplz-cookiebanner .cmplz-icon svg{fill:var(--wp--preset--color--contrast) !important}
#cmplz-manage-consent .cmplz-manage-consent{background:var(--wp--preset--color--surface) !important;color:var(--wp--preset--color--contrast) !important;border:1px solid var(--wp--preset--color--frame) !important;border-radius:0 !important}
.cmplz-placeholder-element,.cmplz-blocked-content-container{background-color:var(--wp--preset--color--surface) !important}

/* ---------- Mobile ---------- */
@media (max-width:600px){
.cfm-wrap,.cfm-article-head,.cfm-article-figure,.cfm-tags{padding-inline:20px}
.cfm-logo img{height:52px}
.cfm-section{margin-top:64px}
.cfm-radio{padding:24px}
.cfm-strip{padding:18px 12px}
.cfm-index-row{flex-direction:column;gap:6px}
}

/* ---------- Effet « révélateur » sur la planche-contact ---------- */
.cfm-contact .wp-block-post-featured-image img{filter:grayscale(1) contrast(1.08) brightness(.9);transition:filter .7s ease}
.cfm-contact .wp-block-post:hover .wp-block-post-featured-image img,.cfm-contact .wp-block-post:focus-within .wp-block-post-featured-image img,.cfm-contact .wp-block-post-featured-image img.is-dev{filter:none}
@media (prefers-reduced-motion:reduce){.cfm-contact .wp-block-post-featured-image img{transition:none}}

/* ---------- Visionneuse de reportage ---------- */
.cfm-zoomable{cursor:zoom-in}
html.cfm-lb-open{overflow:hidden}
.cfm-lb{position:fixed;inset:0;z-index:100000;background:rgba(6,6,6,.97);display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);align-items:center;color:var(--wp--preset--color--contrast)}
.cfm-lb[hidden]{display:none}
.cfm-lb-bar{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;font-family:var(--wp--preset--font-family--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--muted)}
.cfm-lb button{background:transparent;border:1px solid var(--wp--preset--color--frame);color:var(--wp--preset--color--contrast);font-family:var(--wp--preset--font-family--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-width:48px;min-height:48px;padding:0 16px}
.cfm-lb button:hover{border-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}
.cfm-lb-nav{margin:0 16px;font-size:1.125rem !important;letter-spacing:0 !important}
.cfm-lb-fig{margin:0;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:0 0 20px;box-sizing:border-box}
.cfm-lb-fig img{max-width:100%;max-height:calc(100% - 44px);width:auto;height:auto;object-fit:contain;border:1px solid var(--wp--preset--color--frame);opacity:0;transition:opacity .25s ease}
.cfm-lb-fig img.is-ready{opacity:1}
.cfm-lb-fig figcaption{font-family:var(--wp--preset--font-family--mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--wp--preset--color--muted);text-align:center;max-width:80ch;padding-inline:16px}
@media (max-width:700px){
.cfm-lb{grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr) auto}
.cfm-lb-fig{grid-column:1 / -1;grid-row:2}
.cfm-lb-nav{grid-row:3;margin:0 12px 14px}
.cfm-lb-prev{justify-self:start}.cfm-lb-next{justify-self:end}
}
@media (prefers-reduced-motion:reduce){.cfm-lb-fig img{transition:none}}

/* ---------- Page photographe ---------- */
.cfm-author-count{margin:14px 0 0}
.cfm-bio{margin:16px 0 0;max-width:62ch;font-size:1.125rem;color:var(--wp--preset--color--soft)}
.cfm-meta .wp-block-post-author-name a{color:inherit;text-decoration:none}

/* ---------- Ouverture plein écran ---------- */
.cfm-hero{margin-top:0}
.cfm-hero-full{position:relative;min-height:min(84vh,900px);display:flex;flex-direction:column;justify-content:flex-end;margin:0}
.cfm-hero-full > .wp-block-post-featured-image{position:absolute;inset:0;margin:0}
.cfm-hero-full > .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}
.cfm-hero-full::after{content:"";position:absolute;inset:14px;border:1px solid rgba(236,235,230,.28);pointer-events:none}
.cfm-hero-over{position:relative;margin:0;padding:220px 0 44px;background:linear-gradient(to top,rgba(10,10,10,.98) 0%,rgba(10,10,10,.94) 45%,rgba(10,10,10,.6) 72%,rgba(10,10,10,0) 100%)}
.cfm-hero-in{display:flex;flex-direction:column;gap:18px}
.cfm-hero-in > *{margin:0}
.cfm-hero-in .cfm-label,.cfm-hero-in .cfm-label a,.cfm-hero-in .cfm-meta,.cfm-hero-in .cfm-meta a,.cfm-hero-in .wp-block-post-date{color:#d6d3cc}
.cfm-hero .cfm-hero-in .wp-block-post-title{max-width:20ch;font-size:clamp(2.6rem,6vw,5rem);line-height:1;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.cfm-hero-foot{align-items:center}
.cfm-hero-full:not(:has(img)){min-height:0}
.cfm-hero-full:not(:has(img))::after{display:none}
.cfm-hero-full:not(:has(img)) .cfm-hero-over{background:none;padding:48px 0 0}
@media (max-width:600px){.cfm-hero-full{min-height:74vh}.cfm-hero-full::after{inset:8px}.cfm-hero-over{padding:110px 0 28px}}

/* ---------- Lecteur radio permanent ---------- */
body{padding-bottom:64px}
.cfm-player{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;gap:14px;padding:8px max(16px,calc((100vw - 1240px)/2 + 32px));background:rgba(15,15,15,.97);border-top:1px solid var(--wp--preset--color--frame);font-family:var(--wp--preset--font-family--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--muted)}
.cfm-player-btn{flex:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--wp--preset--color--contrast);color:var(--wp--preset--color--contrast);border-radius:50%;cursor:pointer;padding:0}
.cfm-player-btn:hover{border-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}
.cfm-player .cfm-ico-pause,.cfm-player.is-playing .cfm-ico-play{display:none}
.cfm-player.is-playing .cfm-ico-pause{display:block}
.cfm-player.is-playing .cfm-player-btn{border-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}
.cfm-player-txt{flex:1 1 auto;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px;line-height:1.4}
.cfm-player-label{color:var(--wp--preset--color--contrast)}
.cfm-player.is-playing .cfm-player-label::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--wp--preset--color--accent);margin-right:8px;animation:cfm-pulse 1.6s ease-in-out infinite}
.cfm-player-track{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfm-player-link{flex:none;color:var(--wp--preset--color--muted);text-decoration:none;padding:14px 0}
.cfm-player-link:hover{color:var(--wp--preset--color--accent)}
@keyframes cfm-pulse{50%{opacity:.25}}
html.cfm-loading main{opacity:.45;transition:opacity .15s}
.cmplz-cookiebanner{bottom:76px !important}
#cmplz-manage-consent .cmplz-manage-consent{bottom:64px !important}
@media (max-width:600px){.cfm-player-link{display:none}}
@media (prefers-reduced-motion:reduce){.cfm-player.is-playing .cfm-player-label::before{animation:none}}

/* ---------- Agenda ---------- */
.cfm-agenda{list-style:none;margin:0;padding:0;border-top:1px solid var(--wp--preset--color--line)}
.cfm-agenda li{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:8px 28px;align-items:center;padding:18px 0;border-bottom:1px solid var(--wp--preset--color--line)}
.cfm-agenda-date{display:flex;flex-direction:column;line-height:1}
.cfm-agenda-day{font-family:var(--wp--preset--font-family--display);font-weight:500;font-size:3rem;color:var(--wp--preset--color--contrast)}
.cfm-agenda-month{font-family:var(--wp--preset--font-family--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--accent);margin-top:6px}
.cfm-agenda-title{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:1.625rem;line-height:1.15;margin:0}
.cfm-agenda-title a{text-decoration:none;color:inherit}
.cfm-agenda-title a:hover{color:var(--wp--preset--color--accent)}
.cfm-agenda-place{font-family:var(--wp--preset--font-family--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--muted);margin:6px 0 0}
.cfm-agenda-tix{font-family:var(--wp--preset--font-family--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--wp--preset--color--contrast);border:1px solid var(--wp--preset--color--frame);padding:13px 18px;white-space:nowrap}
.cfm-agenda-tix:hover{border-color:var(--wp--preset--color--accent);color:var(--wp--preset--color--accent)}
.cfm-agenda-empty{color:var(--wp--preset--color--soft)}
.cfm-event{margin:0 0 32px;padding:20px 22px;border:1px solid var(--wp--preset--color--frame);font-family:var(--wp--preset--font-family--mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.9}
.cfm-event a{color:var(--wp--preset--color--accent)}
@media (max-width:600px){.cfm-agenda li{grid-template-columns:64px minmax(0,1fr)}.cfm-agenda-day{font-size:2.25rem}.cfm-agenda-tix{grid-column:2;justify-self:start}}
