/*
Theme Name: PKO Renaissance
Theme URI: https://www.patricia-kaas-online.fr/
Author: Nicolas ROBIN / Projet Renaissance
Description: Thème sur mesure pour Patricia Kaas-Online — Les archives d'une carrière (2003–2017).
Version: 0.4.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: pko-renaissance
*/

:root{
  --pko-paper:#FAFAF8;
  --pko-white:#FFFFFF;
  --pko-ink:#27272A;
  --pko-muted:#687078;
  --pko-line:#E2E6E9;
  --pko-blue:#B6CFE4;
  --pko-lavender:#C1C1EE;
  --pko-lavender-dark:#66648A;
  --pko-soft:#EEF1F3;
  --pko-max:1240px;
  --pko-read:790px;
  --pko-radius:8px;
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--pko-paper);
  color:var(--pko-ink);
  font-family:Inter, "Segoe UI", Arial, sans-serif;
  font-size:17px;
  line-height:1.68;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--pko-lavender-dark)}
a:hover,a:focus{text-decoration-thickness:2px;text-underline-offset:3px}

.pko-container{width:min(calc(100% - 56px), var(--pko-max));margin-inline:auto}
.pko-reading{max-width:var(--pko-read)}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(250,250,248,.96);
  border-bottom:1px solid var(--pko-line);
  backdrop-filter:blur(8px);
}

.pko-header-inner{padding:17px 0 11px}
.pko-brand-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.pko-brand{text-decoration:none;color:var(--pko-ink)}
.pko-brand-main{
  font-family:"Source Serif 4", Georgia, serif;
  font-size:27px;
  font-weight:600;
  line-height:1;
  letter-spacing:.02em;
}
.pko-brand-online{color:var(--pko-lavender-dark)}
.pko-brand-sub{
  margin-top:7px;
  color:var(--pko-muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pko-nav{
  border-top:1px solid var(--pko-line);
  margin-top:14px;
  padding-top:10px;
}
.pko-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:11px 24px;
  list-style:none;
  margin:0;
  padding:0;
}
.pko-nav a{
  color:var(--pko-ink);
  text-decoration:none;
  font-size:14px;
}
.pko-nav a:hover,.pko-nav a:focus{color:var(--pko-lavender-dark);text-decoration:underline}

.pko-main{padding:38px 0 80px}
.pko-breadcrumbs{
  color:var(--pko-muted);
  font-size:13px;
  margin-bottom:28px;
}
.pko-breadcrumbs a{color:var(--pko-lavender-dark)}

h1,h2,h3,h4,h5,h6{
  font-family:"Source Serif 4", Georgia, serif;
  line-height:1.14;
  color:var(--pko-ink);
}
h1{font-size:clamp(2.35rem,5vw,3.55rem)}
h2{font-size:clamp(1.85rem,3.4vw,2.45rem)}
h3{font-size:1.45rem}

.pko-eyebrow{
  color:var(--pko-lavender-dark);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:700;
}
.pko-muted{color:var(--pko-muted)}

.pko-button{
  display:inline-block;
  padding:11px 16px;
  border:1px solid var(--pko-lavender-dark);
  border-radius:6px;
  color:var(--pko-lavender-dark);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}
.pko-button--primary{background:var(--pko-lavender-dark);color:#fff}

.pko-hero{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);
  min-height:520px;
  background:var(--pko-white);
  border:1px solid var(--pko-line);
}
.pko-hero-media{
  min-height:520px;
  background:linear-gradient(135deg,var(--pko-blue),var(--pko-lavender));
  display:flex;
  align-items:end;
  padding:22px;
}
.pko-hero-media img{width:100%;height:100%;object-fit:cover}
.pko-hero-caption{
  background:rgba(17,17,17,.65);
  color:#fff;
  padding:6px 8px;
  font-size:11px;
}
.pko-hero-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}
.pko-hero-copy p{font-size:18px;color:#45484c}
.pko-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

.pko-section{padding-top:78px}
.pko-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--pko-line);
  padding-bottom:18px;
  margin-bottom:32px;
}
.pko-section-head p{max-width:520px;margin:0;color:var(--pko-muted);font-size:15px}

.pko-grid{display:grid;gap:16px}
.pko-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pko-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

.pko-card{
  background:var(--pko-white);
  border:1px solid var(--pko-line);
  padding:22px;
  text-decoration:none;
  color:var(--pko-ink);
}
.pko-card:hover,.pko-card:focus{border-color:var(--pko-lavender-dark)}
.pko-card h3{margin:.4rem 0}
.pko-card p{margin:.5rem 0 0;color:var(--pko-muted);font-size:14px}
.pko-card-meta{
  color:var(--pko-lavender-dark);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pko-archive-label{
  display:inline-flex;
  align-items:center;
  background:rgba(193,193,238,.2);
  border-left:4px solid var(--pko-lavender-dark);
  color:var(--pko-lavender-dark);
  padding:9px 13px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.pko-note{
  background:var(--pko-soft);
  border-left:4px solid var(--pko-lavender-dark);
  padding:20px 22px;
}
.pko-note strong{
  display:block;
  color:var(--pko-lavender-dark);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:8px;
}

.pko-content-layout{
  display:grid;
  grid-template-columns:minmax(0,var(--pko-read)) 300px;
  gap:60px;
  align-items:start;
}
.pko-sidebar-box{
  background:var(--pko-white);
  border:1px solid var(--pko-line);
  padding:20px;
  margin-bottom:16px;
}
.pko-ad-placeholder{
  border:1px dashed #bcc1c6;
  background:#f6f7f8;
  color:var(--pko-muted);
  padding:32px 12px;
  text-align:center;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.entry-content > *{max-width:var(--pko-read)}
.entry-content > .alignwide{max-width:1100px}
.entry-content > .alignfull{max-width:none;width:100%}
.entry-content p{margin:0 0 1.35em}
.entry-content figure{margin:2rem 0}

.post-list{display:grid;gap:14px}
.post-list article{
  background:var(--pko-white);
  border:1px solid var(--pko-line);
  padding:22px;
}
.post-list h2{font-size:1.7rem;margin:.25rem 0 .4rem}
.post-list .meta{font-size:12px;color:var(--pko-muted)}

.site-footer{
  border-top:1px solid var(--pko-line);
  padding:34px 0 46px;
  color:var(--pko-muted);
  font-size:13px;
}
.pko-footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pko-footer-brand strong{color:var(--pko-ink)}
.pko-footer-links{display:flex;gap:10px 18px;flex-wrap:wrap}

.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}
.screen-reader-text:focus{
  position:fixed!important;top:10px;left:10px;width:auto;height:auto;
  clip:auto;background:#fff;color:#000;padding:10px;z-index:9999
}

@media(max-width:920px){
  .pko-hero{grid-template-columns:1fr}
  .pko-hero-media{min-height:420px}
  .pko-content-layout{grid-template-columns:1fr}
  .pko-grid--4{grid-template-columns:repeat(2,1fr)}
  .pko-grid--3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .pko-container{width:min(calc(100% - 36px),var(--pko-max))}
  .pko-brand-main{font-size:23px}
  .pko-nav{overflow:auto}
  .pko-nav ul{flex-wrap:nowrap;white-space:nowrap;padding-bottom:4px}
  .pko-main{padding-top:24px}
  .pko-hero-media{min-height:330px}
  .pko-hero-copy{padding:30px 24px}
  .pko-section{padding-top:58px}
  .pko-section-head{display:block}
  .pko-section-head p{margin-top:10px}
  .pko-grid--3,.pko-grid--4{grid-template-columns:1fr}
}


/* === Album dossier documentaire — v0.3.0 === */
.pko-album-cover{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:54px;
  align-items:center;
  padding:36px;
  background:var(--pko-white);
  border:1px solid var(--pko-line);
}
.pko-album-cover-media img{width:100%;height:auto}
.pko-album-cover-copy h1{margin:.35rem 0 .55rem}
.pko-album-subtitle{font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem;color:#50535a;margin:.4rem 0 1.2rem}
.pko-album-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--pko-line);
  margin-top:28px;
}
.pko-album-fact{padding:16px;background:var(--pko-white);border-right:1px solid var(--pko-line);border-bottom:1px solid var(--pko-line)}
.pko-album-fact:nth-child(3n){border-right:0}
.pko-album-fact b{display:block;color:var(--pko-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.pko-dossier-nav{
  position:sticky;
  top:104px;
  z-index:20;
  display:flex;
  gap:6px;
  overflow:auto;
  margin:28px 0 0;
  padding:10px;
  border:1px solid var(--pko-line);
  background:rgba(250,250,248,.96);
}
.pko-dossier-nav a{white-space:nowrap;text-decoration:none;color:var(--pko-ink);font-size:13px;padding:7px 10px;border-radius:5px}
.pko-dossier-nav a:hover,.pko-dossier-nav a:focus{background:var(--pko-soft);color:var(--pko-lavender-dark)}
.pko-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pko-document-card{background:var(--pko-white);border:1px solid var(--pko-line);padding:20px;text-decoration:none;color:var(--pko-ink)}
.pko-document-card:hover{border-color:var(--pko-lavender-dark)}
.pko-document-card .count{font-family:"Source Serif 4",Georgia,serif;font-size:2rem;display:block}
.pko-timeline{border-left:2px solid var(--pko-lavender);margin-left:10px;padding-left:28px}
.pko-timeline-item{position:relative;margin:0 0 26px}
.pko-timeline-item:before{content:"";position:absolute;left:-35px;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--pko-lavender-dark)}
.pko-timeline-item time{font-size:12px;color:var(--pko-lavender-dark);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.pko-source-box{background:var(--pko-white);border:1px solid var(--pko-line);padding:24px}
.pko-project-accent{height:5px;background:var(--pko-lavender-dark);margin-bottom:22px}
@media(max-width:850px){
  .pko-album-cover{grid-template-columns:1fr}
  .pko-album-cover-media{max-width:430px}
  .pko-document-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .pko-album-cover{padding:22px;gap:28px}
  .pko-album-facts{grid-template-columns:1fr}
  .pko-album-fact,.pko-album-fact:nth-child(3n){border-right:0}
  .pko-document-grid{grid-template-columns:1fr}
  .pko-dossier-nav{top:82px}
}


/* === Projet documentaire — v0.4.0 === */
.pko-project-hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:38px;
  padding:42px;
  background:var(--pko-white);
  border:1px solid var(--pko-line);
}
.pko-project-hero-media img{width:100%;height:100%;max-height:520px;object-fit:cover}
.pko-project-summary{font-size:18px;color:#484b50}
.pko-project-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.pko-project-stat{background:var(--pko-white);border:1px solid var(--pko-line);padding:18px}
.pko-project-stat strong{font-family:"Source Serif 4",Georgia,serif;font-size:2rem;display:block}
.pko-project-stat span{font-size:12px;color:var(--pko-muted);text-transform:uppercase;letter-spacing:.07em}
@media(max-width:850px){
  .pko-project-hero{grid-template-columns:1fr}
  .pko-project-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .pko-project-hero{padding:24px}
  .pko-project-stats{grid-template-columns:1fr}
}
/* Encarts partenaires Amazon */
.pko-amazon {
    margin: 2.5rem 0;
    padding: 1.5rem 1.75rem;
    background: var(--pko-soft);
    border-left: 4px solid var(--pko-lavender-dark);
}

.pko-amazon > *:first-child {
    margin-top: 0;
}

.pko-amazon > *:last-child {
    margin-bottom: 0;
}

.pko-amazon a {
    font-weight: 600;
}

.pko-amazon em {
    color: var(--pko-muted);
    font-size: 0.9em;
}
/* Encarts Amazon — priorité sur les styles éditoriaux */
.entry-content .pko-amazon,
main .pko-amazon {
    display: block !important;
    margin: 2.5rem 0 !important;
    padding: 1.5rem 1.75rem !important;
    background: #eef1f3 !important;
    border-left: 4px solid #66648a !important;
}

.entry-content .pko-amazon p,
main .pko-amazon p {
    margin-top: 0.65rem;
    margin-bottom: 0.65rem;
}

.entry-content .pko-amazon > *:first-child,
main .pko-amazon > *:first-child {
    margin-top: 0 !important;
}

.entry-content .pko-amazon > *:last-child,
main .pko-amazon > *:last-child {
    margin-bottom: 0 !important;
}

.entry-content .pko-amazon a,
main .pko-amazon a {
    font-weight: 600;
}

.entry-content .pko-amazon em,
main .pko-amazon em {
    color: #687078;
    font-size: 0.9em;
}
/* Image principale de la page d'accueil */
.pko-hero-media {
    overflow: hidden;
    padding: 0;
}

.pko-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* Correction définitive du visuel d'accueil */
.pko-hero .pko-hero-media {
    padding: 0 !important;
    overflow: hidden;
    background: none;
}

.pko-hero .pko-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 610px;
    object-fit: cover;
    object-position: center center;
    margin: 0;
}
/* Navigation mobile PKO */
.pko-menu-toggle {
	display: none;
}

@media (max-width: 767px) {

	.pko-menu-toggle {
		display: flex;
		align-items: center;
		gap: 0.45rem;
		margin: 0.75rem 0;
		padding: 0.55rem 0;
		border: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		font-weight: 600;
		cursor: pointer;
	}

	.pko-menu-toggle-icon {
		font-size: 1.25rem;
		line-height: 1;
	}

	.pko-nav {
		display: none;
		width: 100%;
	}

	.pko-nav.is-open {
		display: block;
	}

	.pko-nav .menu {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.pko-nav .menu > li {
		display: block;
		position: relative;
		width: 100%;
		border-top: 1px solid var(--pko-line);
	}

	.pko-nav .menu > li:last-child {
		border-bottom: 1px solid var(--pko-line);
	}

	.pko-nav .menu > li > a {
		display: block;
		width: 100%;
		padding: 0.8rem 0;
		white-space: normal;
	}

	/* Neutralise le menu déroulant de bureau */
	.pko-nav .menu .sub-menu {
		display: none !important;
		position: static;
		width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0 0 0.5rem 1rem;
		border: 0;
		box-shadow: none;
		background: transparent;
	}

	.pko-nav .menu li:hover > .sub-menu,
	.pko-nav .menu li:focus-within > .sub-menu {
		display: none !important;
	}

	/* Sous-menu ouvert par toucher */
	.pko-nav .menu .menu-item-has-children.is-open > .sub-menu {
		display: block !important;
	}

	.pko-nav .sub-menu li {
		display: block;
		width: 100%;
	}

	.pko-nav .sub-menu a {
		display: block;
		padding: 0.55rem 0;
		white-space: normal;
	}
}
/* =========================================================
   NAVIGATION MOBILE PKO — VERSION VERTICALE
   ========================================================= */

@media (max-width: 767px) {

	/* Le bouton Menu reste visible */
	.pko-menu-toggle {
		display: flex !important;
		align-items: center;
		gap: 8px;
		width: 100%;
		padding: 12px 0;
		margin: 0;
		border: 0;
		background: transparent;
		font: inherit;
		font-weight: 600;
		text-align: left;
		cursor: pointer;
	}

	/* Navigation fermée par défaut */
	.pko-nav {
		display: none !important;
		width: 100% !important;
		position: static !important;
		overflow: visible !important;
	}

	/* Navigation ouverte */
	.pko-nav.is-open {
		display: block !important;
	}

	/* FORCE le menu principal en colonne */
	.pko-nav ul,
	.pko-nav .menu {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		list-style: none !important;
	}

	/* Chaque rubrique principale sur sa propre ligne */
	.pko-nav .menu > li {
		display: block !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
		border-top: 1px solid #e2e6e9;
	}

	.pko-nav .menu > li:last-child {
		border-bottom: 1px solid #e2e6e9;
	}

	/* Liens principaux */
	.pko-nav .menu > li > a {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		padding: 13px 8px !important;
		margin: 0 !important;
		white-space: normal !important;
		box-sizing: border-box !important;
	}

	/* Sous-menu complètement neutralisé tant qu'il est fermé */
	.pko-nav .sub-menu {
		display: none !important;
		position: static !important;
		float: none !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 0 8px 20px !important;
		border: 0 !important;
		box-shadow: none !important;
		background: #f7f8fa !important;
		overflow: visible !important;
		transform: none !important;
	}

	/* Le survol de bureau ne doit rien faire sur mobile */
	.pko-nav li:hover > .sub-menu,
	.pko-nav li:focus-within > .sub-menu {
		display: none !important;
	}

	/* Sous-menu ouvert au toucher */
	.pko-nav .menu-item-has-children.is-open > .sub-menu {
		display: block !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	/* Sous-pages également verticales */
	.pko-nav .sub-menu li {
		display: block !important;
		float: none !important;
		width: 100% !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.pko-nav .sub-menu li a {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		padding: 10px 12px !important;
		margin: 0 !important;
		white-space: normal !important;
		box-sizing: border-box !important;
	}

	/* Empêche le menu de déborder horizontalement */
	.pko-header-inner,
	.pko-brand-row,
	.pko-nav,
	.pko-nav ul,
	.pko-nav li {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}
/* =========================================================
   PKO — MENU MOBILE VERTICAL : CORRECTION FINALE
   ========================================================= */

@media screen and (max-width: 767px) {

	/* Conteneur général */
	.pko-nav,
	.pko-nav.is-open {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		overflow-x: hidden !important;
		white-space: normal !important;
	}

	/* MENU PRINCIPAL : colonne verticale */
	#pko-primary-menu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;

		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 0 !important;

		overflow: visible !important;
		overflow-x: hidden !important;
		white-space: normal !important;

		list-style: none !important;
	}

	/* RUBRIQUES PRINCIPALES */
	#pko-primary-menu > li {
		display: block !important;
		float: none !important;
		flex: none !important;

		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;

		position: relative !important;

		border-top: 1px solid #e2e6e9 !important;
	}

	#pko-primary-menu > li:last-child {
		border-bottom: 1px solid #e2e6e9 !important;
	}

	#pko-primary-menu > li > a {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;

		margin: 0 !important;
		padding: 14px 4px !important;

		white-space: normal !important;
		overflow: visible !important;

		box-sizing: border-box !important;
	}

	/* SOUS-MENUS FERMÉS */
	#pko-primary-menu .sub-menu {
		display: none !important;

		position: static !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;

		float: none !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		height: auto !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 5px 0 8px 20px !important;

		overflow: visible !important;
		overflow-x: hidden !important;

		white-space: normal !important;

		background: #f7f8fa !important;
		border: 0 !important;
		box-shadow: none !important;

		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;

		list-style: none !important;
	}

	/* Annule totalement le hover de bureau */
	#pko-primary-menu li:hover > .sub-menu,
	#pko-primary-menu li:focus-within > .sub-menu {
		display: none !important;
	}

	/* SOUS-MENU OUVERT AU TOUCHER */
	#pko-primary-menu .menu-item-has-children.is-open > .sub-menu {
		display: block !important;
	}

	/* PAGES DU SOUS-MENU */
	#pko-primary-menu .sub-menu > li {
		display: block !important;
		float: none !important;

		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;
	}

	#pko-primary-menu .sub-menu > li > a {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;

		margin: 0 !important;
		padding: 10px 8px !important;

		white-space: normal !important;
		line-height: 1.4 !important;

		box-sizing: border-box !important;
	}
}/* =========================================================
   PKO — LIGHTBOX DOCUMENTAIRE
   ========================================================= */

.pko-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.88);
}

.pko-lightbox.is-open {
	display: flex;
}

.pko-lightbox-inner {
	position: relative;
	max-width: 96vw;
	max-height: 94vh;
	text-align: center;
}

.pko-lightbox-image {
	display: block;
	max-width: 96vw;
	max-height: 82vh;
	margin: 0 auto;
	object-fit: contain;
}

.pko-lightbox-caption {
	margin-top: 12px;
	color: #fff;
	font-size: 0.95rem;
	line-height: 1.5;
}

.pko-lightbox-close,
.pko-lightbox-prev,
.pko-lightbox-next {
	position: absolute;
	z-index: 2;
	border: 0;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	cursor: pointer;
	font-size: 2rem;
	line-height: 1;
}

.pko-lightbox-close {
	top: 12px;
	right: 16px;
	padding: 8px 12px;
}

.pko-lightbox-prev,
.pko-lightbox-next {
	top: 50%;
	transform: translateY(-50%);
	padding: 12px 14px;
}

.pko-lightbox-prev {
	left: 12px;
}

.pko-lightbox-next {
	right: 12px;
}

.entry-content img,
.wp-block-image img,
.wp-block-gallery img {
	cursor: zoom-in;
}

@media (max-width: 767px) {
	.pko-lightbox {
		padding: 12px;
	}

	.pko-lightbox-image {
		max-width: 94vw;
		max-height: 78vh;
	}

	.pko-lightbox-prev,
	.pko-lightbox-next {
		font-size: 1.6rem;
		padding: 10px;
	}
}/* Vidéos d'archives PKO */
.pko-video-archive {
	margin: 2rem 0;
}

.pko-video-title {
	margin-bottom: 0.75rem;
	font-weight: 600;
}

.pko-video-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #111;
}

.pko-video-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.pko-video-caption {
	margin-top: 0.65rem;
	font-size: 0.9rem;
	color: var(--pko-muted);
}/* Déclencheur des vidéos d'archives PKO */

.pko-video-launcher {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	padding: 0;
	border: 0;
	background: #202126;
	cursor: pointer;
	overflow: hidden;
}

.pko-video-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	position: absolute;
	inset: 0;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			rgba(65, 64, 92, .95),
			rgba(24, 25, 31, .95)
		);
}

.pko-video-play {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	padding-left: 5px;
	border: 2px solid rgba(255,255,255,.85);
	border-radius: 50%;
	font-size: 30px;
	line-height: 1;
}

.pko-video-watch {
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: .03em;
}

.pko-video-launcher:hover .pko-video-play {
	transform: scale(1.06);
}

.pko-video-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #111;
	overflow: hidden;
}

.pko-video-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}
/* Sommaire documentaire — "Dans cette archive" */
.pko28-sommaire {
	max-width: var(--pko-read);
	margin: 28px auto 36px;
	padding: 24px 30px;
	border: 1px solid var(--pko-line);
	background: #EEF1F3 !important;
	box-sizing: border-box;
}

.pko28-sommaire strong {
	display: block;
	margin-bottom: 14px;
}

.pko28-sommaire ul {
	margin: 0;
	padding-left: 24px;
}

.pko28-sommaire li {
	margin: 6px 0;
}

.pko28-sommaire p {
	margin: 14px 0 0;
}
/* Introduction documentaire — bloc en retrait avec trait vertical */
.pko28-intro {
	max-width: 900px;
	margin: 28px auto 40px;
	padding: 22px 26px;
	border-left: 4px solid var(--pko-ink);
	background: #F1F1F0;
	box-sizing: border-box;
}

.pko28-intro p {
	margin: 0;
}
.pko-tracklist {
	max-width: var(--pko-read);
	margin: 1.5rem 0 2rem;
	padding-left: 2rem;
}

.pko-tracklist li {
	margin: 0 0 0.85rem;
	line-height: 1.55;
}
/* Tableaux de classements PKO */
.pko-chart-table {
	max-width: var(--pko-read);
	margin: 2rem 0 3rem;
}

.pko-chart-table h3 {
	margin-bottom: 1rem;
}

.pko-table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.pko-chart-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
	background: var(--pko-paper);
}

.pko-chart-table th,
.pko-chart-table td {
	padding: 9px 12px;
	border-bottom: 1px solid var(--pko-line);
	text-align: left;
	vertical-align: top;
}

.pko-chart-table th {
	font-weight: 600;
	background: var(--pko-soft);
}

.pko-chart-table th:nth-child(2),
.pko-chart-table th:nth-child(3),
.pko-chart-table td:nth-child(2),
.pko-chart-table td:nth-child(3) {
	text-align: center;
	white-space: nowrap;
}

.pko-chart-table tbody tr:hover {
	background: rgba(238, 241, 243, 0.55);
}

@media (max-width: 767px) {
	.pko-chart-table {
		font-size: 0.9rem;
	}

	.pko-chart-table th,
	.pko-chart-table td {
		padding: 8px;
	}
}
/* =========================================================
   PKO — GALERIES WORDPRESS
   Rétablissement de l'affichage en mosaïque
   ========================================================= */

.entry-content .wp-block-gallery.has-nested-images {
	display: flex;
	flex-wrap: wrap;
	align-items: normal;
	gap: 16px;
	width: 100%;
	max-width: 100%;
}

/* 4 colonnes */
.entry-content .wp-block-gallery.has-nested-images.columns-4 > figure.wp-block-image {
	width: calc((100% - 48px) / 4);
	flex-grow: 0;
	margin: 0;
}

/* 3 colonnes */
.entry-content .wp-block-gallery.has-nested-images.columns-3 > figure.wp-block-image {
	width: calc((100% - 32px) / 3);
	flex-grow: 0;
	margin: 0;
}

/* 2 colonnes */
.entry-content .wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image {
	width: calc((100% - 16px) / 2);
	flex-grow: 0;
	margin: 0;
}

.entry-content .wp-block-gallery.has-nested-images > figure.wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Tablette */
@media (max-width: 900px) {
	.entry-content .wp-block-gallery.has-nested-images.columns-4 > figure.wp-block-image,
	.entry-content .wp-block-gallery.has-nested-images.columns-3 > figure.wp-block-image {
		width: calc((100% - 16px) / 2);
	}
}

/* Téléphone */
@media (max-width: 560px) {
	.entry-content .wp-block-gallery.has-nested-images > figure.wp-block-image {
		width: 100% !important;
	}
}/* =========================================================
   PKO — RECHERCHE DANS LES ARCHIVES
   ========================================================= */

.pko-search-toggle {
	border: 0;
	padding: 0;
	background: transparent;
	color: var(--pko-lavender-dark);
	font: inherit;
	cursor: pointer;
}

.pko-search-toggle:hover,
.pko-search-toggle:focus {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pko-search-panel {
	padding: 18px 0;
	border-top: 1px solid var(--pko-line);
	background: var(--pko-paper);
}

.pko-search-panel[hidden] {
	display: none;
}

.pko-search-panel form {
	width: min(calc(100% - 56px), var(--pko-max));
	margin-inline: auto;
	display: flex;
	gap: 10px;
}

.pko-search-panel input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 12px 14px;
	border: 1px solid var(--pko-line);
	border-radius: var(--pko-radius);
	background: var(--pko-white);
	font: inherit;
	color: var(--pko-ink);
}

.pko-search-panel button {
	padding: 12px 18px;
	border: 0;
	border-radius: var(--pko-radius);
	background: var(--pko-ink);
	color: var(--pko-white);
	font: inherit;
	cursor: pointer;
}

@media (max-width: 600px) {
	.pko-search-panel form {
		flex-direction: column;
	}
}