/*
Theme Name: O’Stage
Author: Collectif O’Stage
Description: Thème photographique du Collectif O’Stage. À utiliser avec l’extension O’Stage — Contenus et démarrage.
Version: 1.0.16
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: ostage
*/
.primary-menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:18px;list-style:none;margin:0;padding:0}.primary-menu>li{position:relative;display:flex;align-items:center}.primary-menu a{display:block;padding:10px 0}.primary-menu .current-menu-item>a,.primary-menu .current-menu-ancestor>a{color:var(--accent)}.primary-menu .sub-menu{display:none;position:absolute;top:100%;left:-15px;z-index:50;min-width:200px;background:#22231e;border:1px solid #444;padding:12px 18px;list-style:none}.primary-menu .submenu-open>.sub-menu,.primary-menu>li:focus-within>.sub-menu,.primary-menu>li:hover>.sub-menu{display:block}.submenu-toggle{border:0;background:none;color:inherit;padding:6px 8px}.entry-content{overflow-wrap:anywhere}.entry-content h2{margin-top:40px}.entry-content h3{margin-top:30px}.entry-content a:not(.button){text-decoration:underline;text-underline-offset:3px}.entry-content img{max-width:100%;height:auto}.entry-content .wp-block-image{margin:30px 0}.single-cover{max-width:1000px;margin-bottom:40px}.single-cover img{max-width:100%;height:auto;max-height:620px;object-fit:contain;object-position:left}.single-content .prose{max-width:1000px}.single-actions .button{margin-right:12px}.page-content{padding-top:20px}.page-content .prose{max-width:900px}.archive-content{padding-top:10px}.event-row{padding:35px 0;border-bottom:1px solid #3b3d32}.event-date{color:var(--accent)}.entry-content .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;columns:auto}.gallery-item{margin:0!important;width:auto!important;max-width:100%}.gallery-icon img{display:block;width:100%;height:auto;max-height:450px;object-fit:contain}.gallery-caption{font-size:12px;color:var(--muted)}.gallery br{display:none}.entry-content .wp-block-gallery{margin-top:30px}.image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:#25281f;padding:20px;color:var(--muted)}.form-help{font-size:12px!important;color:var(--muted)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:10px;z-index:100000;background:var(--accent);color:#111;padding:10px}.pagination{margin-top:35px}.page-numbers{margin-right:15px}.navigation .screen-reader-text{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}nav#nav{display:block}.hero .hero-content{padding-bottom:95px}.site-logo{max-width:100%;height:auto}.home-extra{max-width:none}.site-footer{align-items:start}button.button{cursor:pointer}.profile p{line-height:1.85}.news-section .series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1280px) and (min-width:761px){.primary-menu{justify-content:space-between}}
@media(max-width:760px){nav#nav{display:none}nav#nav.open{display:block}.primary-menu{display:block}.primary-menu>li{display:block}.primary-menu>li>a{display:inline-block}.primary-menu .sub-menu{position:static;margin:0 0 10px}.primary-menu>li:hover>.sub-menu{display:none}.primary-menu>li.submenu-open>.sub-menu,.primary-menu>li:focus-within>.sub-menu{display:block}.entry-content .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.news-section .series-grid{grid-template-columns:1fr}.hero .hero-content{padding-top:60px}.single-cover img{width:100%}}

/* Actualités : liste sans couverture. Les images insérées dans le texte restent visibles. */
.news-list{list-style:none;padding:0;margin:0;border-top:1px solid #44483c}.news-list-item{border-bottom:1px solid #44483c}.news-list-link{display:grid;grid-template-columns:115px minmax(0,1fr) 22px;gap:22px;align-items:center;padding:27px 0}.news-list-link time{font-size:12px;color:var(--muted)}.news-list-link h2{font-size:25px;line-height:1.4;letter-spacing:-.5px;margin:0;overflow-wrap:anywhere}.news-list-arrow{color:var(--accent);font-size:23px}.news-list-link:hover h2,.news-list-link:focus-visible h2{color:var(--accent)}
@media(max-width:760px){.news-list-link{grid-template-columns:minmax(0,1fr) 22px;gap:8px 15px;padding:23px 0}.news-list-link time{grid-column:1}.news-list-link h2{grid-column:1;font-size:22px}.news-list-arrow{grid-column:2;grid-row:1 / 3}}

/* Fiche actualité : en-tête compact et lecture de type news. */
.news-detail-head{padding-top:42px;padding-bottom:26px}.news-detail-head .eyebrow{display:inline-block;margin-bottom:15px}.news-detail-head h1{max-width:860px;font-size:36px;line-height:1.25;letter-spacing:-.7px;margin:0 0 13px;overflow-wrap:anywhere}.news-detail-date{display:block;color:var(--muted);font-size:12px}.news-detail-content{padding-top:0}.news-detail-content .prose{max-width:860px}.news-detail-content .prose p,.news-detail-content .prose p:first-child{font-size:17px;line-height:1.8}.news-detail-content .single-actions{max-width:860px;border-top:1px solid #3b3d32;margin-top:32px;padding-top:8px}
@media(max-width:760px){.news-detail-head{padding-top:30px;padding-bottom:22px}.news-detail-head h1{font-size:28px;letter-spacing:-.4px}.news-detail-content .prose p,.news-detail-content .prose p:first-child{font-size:16px}}

/* Petites vignettes dans la rubrique Séries. */
.post-type-archive-ostage_serie .series-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}.post-type-archive-ostage_serie .series-card .image{aspect-ratio:1.5}.post-type-archive-ostage_serie .series-card h3{font-size:19px;margin-top:12px}.post-type-archive-ostage_serie .series-card small{font-size:9px;letter-spacing:1px}.series-detail-content{padding-top:15px}.series-detail-content .prose{max-width:1000px}.series-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 35px;padding:20px 0;border-top:1px solid #3b3d32;border-bottom:1px solid #3b3d32}.series-actions .button{margin:0}.series-detail-gallery{margin-top:0}
@media(max-width:760px){.post-type-archive-ostage_serie .series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.post-type-archive-ostage_serie .series-card h3{font-size:17px}.series-actions{align-items:stretch}.series-actions .button{justify-content:space-between}.series-detail-content{padding-top:0}}

.ostage-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-success{color:var(--accent)!important}.contact-error{color:#ffb5a9!important}.contactbox button:disabled{opacity:.6;cursor:wait}.contactbox .form-help{margin-top:20px}

/* La bannière suit son contenu : aucun bouton coupé sur les écrans bas. */
.hero{display:flex;flex-direction:column;justify-content:space-between;height:auto;max-height:none;min-height:620px}.hero .hero-content{width:100%;padding:clamp(45px,6vw,80px) 7% 38px}.hero h1{font-size:clamp(52px,7.2vw,96px);line-height:1.02}.hero .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:0 7%;padding:0 0 28px;gap:20px}.hero-content .button{white-space:normal;max-width:100%}
@media(max-width:760px){.hero{height:auto;max-height:none;min-height:0}.hero .hero-content{padding:48px 7% 35px}.hero h1{font-size:clamp(48px,12vw,70px)}.hero .hero-bottom{padding-bottom:25px;flex-wrap:wrap}.hero .hero-content .button{margin-top:15px}}

/* Blocs de présentation de l’accueil plus compacts. */
.home-intro,.home-contact{padding-top:38px;padding-bottom:38px}.home-intro{align-items:start}.home-intro .eyebrow,.home-contact .eyebrow{margin-bottom:14px}.home-intro h2{margin-bottom:17px}.home-intro p{margin-top:0;margin-bottom:12px}.home-intro .button{margin-top:8px}.home-contact .section-heading{margin-bottom:14px;align-items:center}.home-contact .section-heading .button{margin-top:0}.home-contact p{margin-top:0;margin-bottom:0}
@media(max-width:760px){.home-intro,.home-contact{padding-top:28px;padding-bottom:28px}.home-contact .section-heading{gap:16px;align-items:flex-start}}

/* En-tête : logo et navigation plus lisibles */
.site-header .brand .site-logo{width:410px}.site-header #nav{font-size:14px}.site-header .primary-menu{gap:20px}
@media(min-width:1500px){.site-header #nav{font-size:15px}}
@media(max-width:760px){.site-header .brand .site-logo{width:260px}.site-header #nav{font-size:16px}.site-header .menu{font-size:14px}}
@media(max-width:440px){.site-header{gap:10px}.site-header .brand .site-logo{width:240px}.site-header .header-social{margin-left:0}.site-header .menu{margin-left:auto}}
@media(max-width:360px){.site-header .brand .site-logo{width:210px}.site-header .menu{font-size:13px}}

/* Navigation sur une ligne ; menu dépliant sur les écrans plus étroits. */
@media(min-width:1101px){
.site-header{flex-wrap:nowrap;gap:14px;padding-left:3%;padding-right:3%}
.site-header .brand .site-logo{width:clamp(240px,25vw,410px)}
.site-header #nav{display:block;flex:1 1 auto;flex-basis:auto;width:auto;font-size:clamp(12px,1vw,15px)}
.site-header .primary-menu{flex-wrap:nowrap;gap:clamp(10px,1.1vw,20px)}
.site-header .primary-menu>li>a{white-space:nowrap}
.site-header .header-social a{width:28px}
}
@media(min-width:761px) and (max-width:1100px){
.site-header .menu{display:block;background:none;border:1px solid #65675d;color:white;padding:8px 14px;font-size:14px;margin-left:auto}
.site-header #nav{display:none;flex-basis:100%;width:100%;font-size:16px}
.site-header #nav.open{display:block}
.site-header .primary-menu{display:block}
.site-header .primary-menu>li{display:block}
.site-header .primary-menu>li>a{display:inline-block}
.site-header .primary-menu .sub-menu{position:static;margin:0 0 10px}
}

/* Biographies inspirées de la présentation Odexpo. */
.photographers-section{padding-top:24px}.photographers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px;align-items:start}
.photographer-bio{display:flow-root;min-width:0;border-bottom:1px solid #393b31;padding-bottom:32px}
.photographer-portrait{float:left;width:clamp(130px,14vw,200px);margin:0 26px 18px 0;shape-outside:circle(50%)}
.photographer-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover}
.photographer-bio:nth-child(even) .photographer-portrait{float:right;margin:0 0 18px 26px}
.photographer-bio h2{font-size:22px;line-height:1.35;letter-spacing:.5px;text-transform:uppercase;margin:14px 0 20px}
.photographer-text{overflow-wrap:anywhere;color:#cecec6;font-size:16px;line-height:1.85}
.photographer-text p{margin:0 0 20px}.photographer-links{clear:both;display:flex;flex-wrap:wrap;gap:20px;padding-top:8px;font-size:14px;color:var(--accent)}
.photographer-links a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.photographers-grid{grid-template-columns:1fr;gap:36px}.photographer-portrait{width:180px}}
@media(max-width:480px){.photographer-portrait{width:120px;margin-right:18px}.photographer-bio:nth-child(even) .photographer-portrait{margin-left:18px}.photographer-bio h2{font-size:19px}.photographer-text{font-size:15px}}

.ostage-text-justify{text-align:justify!important;text-justify:inter-word}
