/* Partageos – Où exposer ?  (styles scoped under .pg-oe, typographie héritée du thème) */

.pg-oe {
	--pg-ink: #262320;
	--pg-muted: #6b665e;
	--pg-line: #d8d4cc;
	--pg-line-soft: #ece9e3;
	--pg-blue: #2d4a8a;          /* actions, liens */
	--pg-blue-dark: #1f3566;
	--pg-red: #a8322e;           /* appel ouvert : le seul signal chaud */
	--pg-red-soft: #f6e6e4;
	--pg-radius: 3px;
	color: var(--pg-ink);
	line-height: 1.5;
	max-width: 72rem;
	margin: 0 auto;
}
.pg-oe *, .pg-oe *::before, .pg-oe *::after { box-sizing: border-box; }
.pg-oe a { color: var(--pg-blue); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.pg-oe a:hover { color: var(--pg-blue-dark); }
.pg-oe :focus-visible { outline: 2px solid var(--pg-blue); outline-offset: 2px; }
.pg-muted { color: var(--pg-muted); font-weight: 400; }

/* ----- Boutons ----- */
.pg-btn {
	display: inline-block; font: inherit; font-weight: 600; line-height: 1.2;
	padding: .7em 1.2em; border-radius: var(--pg-radius); border: 1px solid var(--pg-blue);
	background: var(--pg-blue); color: #fff; cursor: pointer; text-decoration: none;
}
.pg-btn:hover { background: var(--pg-blue-dark); border-color: var(--pg-blue-dark); color: #fff; }
.pg-btn-ghost { background: transparent; color: var(--pg-blue); }
.pg-btn-ghost:hover { background: rgba(45,74,138,.06); color: var(--pg-blue-dark); }

/* ----- Pleine largeur : neutralise la colonne latérale du thème ----- */
body.pg-fullwidth #secondary, body.pg-fullwidth .sidebar, body.pg-fullwidth aside.widget-area,
body.pg-fullwidth #sidebar, body.pg-fullwidth .site-sidebar { display: none !important; }
body.pg-fullwidth #primary, body.pg-fullwidth .content-area, body.pg-fullwidth .site-main,
body.pg-fullwidth .site-content, body.pg-fullwidth main { width: 100% !important; max-width: none !important; float: none !important; flex: 1 1 100% !important; }
.pg-fullwidth-wrap { padding: 0 clamp(1rem, 3vw, 2.5rem); }
.pg-oe.pg-wide { max-width: 78rem; }

/* ----- En-tête de page ----- */
.pg-page-head { padding: 1.5rem 0 1rem; }
.pg-kicker { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--pg-blue); margin: 0 0 .4rem; }
.pg-page-head h1 { margin: 0 0 .4rem; font-size: clamp(2rem, 1.4rem + 2vw, 2.8rem); line-height: 1.1; letter-spacing: -.01em; }
.pg-subtitle { margin: 0; color: var(--pg-muted); max-width: 60ch; font-size: 1.05rem; }

/* ----- Barre de recherche ----- */
.pg-bar { display: grid; grid-template-columns: 1.2fr 1.4fr .9fr .9fr auto; gap: .75rem; align-items: end;
	padding: 1rem; border: 1px solid var(--pg-line); border-radius: 8px; background: #fff; box-shadow: 0 6px 24px rgba(38,35,32,.06); margin: .5rem 0 1rem; }
.pg-bar-field { display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; font-weight: 600; min-width: 0; }
.pg-bar-field > span { color: var(--pg-ink); }
.pg-bar-field input[type=text], .pg-bar-field select { font: inherit; font-weight: 400; padding: .6em .75em; border: 1px solid var(--pg-line); border-radius: 6px; background: #fff; color: var(--pg-ink); width: 100%; }
.pg-bar-where { position: relative; }
.pg-nearme { position: absolute; right: .5rem; bottom: .55rem; font: inherit; font-size: .78rem; font-weight: 500; color: var(--pg-blue); background: #fff; border: 0; cursor: pointer; padding: .1em .3em; }
.pg-bar-where input { padding-right: 6.5rem; }
.pg-bar-radius output { color: var(--pg-blue); font-variant-numeric: tabular-nums; }
.pg-bar input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 38px; background: transparent; margin: 0; }
.pg-bar input[type=range]::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--pg-blue) var(--pg-fill, 17%), var(--pg-line) var(--pg-fill, 17%)); }
.pg-bar input[type=range]::-moz-range-track { height: 3px; background: var(--pg-line); }
.pg-bar input[type=range]::-moz-range-progress { height: 3px; background: var(--pg-blue); }
.pg-bar input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--pg-blue); margin-top: -8px; cursor: grab; }
.pg-bar input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--pg-blue); cursor: grab; }
.pg-bar-submit { padding: .75em 1.4em; border-radius: 6px; }

.pg-quick { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.pg-chip-link { font: inherit; font-size: .9rem; padding: .4em .9em; border: 1px solid var(--pg-line); border-radius: 999px; background: #fff; color: var(--pg-ink); text-decoration: none; cursor: pointer; }
.pg-chip-link:hover { border-color: var(--pg-blue); color: var(--pg-blue); }

.pg-toolbar { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: .5rem 0 1rem; border-bottom: 1px solid var(--pg-line); margin-bottom: 1.5rem; }
.pg-count { margin: 0; flex: 1; font-size: 1.05rem; }
.pg-count strong { color: var(--pg-blue); font-variant-numeric: tabular-nums; }
.pg-count .pg-muted { font-size: .92rem; margin-left: .3em; }
.pg-notice-warn { border-color: #b8860b; background: #fbf4e1; }
.pg-empty h2 { font-size: 1.3rem; margin: 0 0 .5rem; }
.pg-empty .pg-btn { margin-right: .5rem; }

@media (max-width: 900px) {
	.pg-bar { grid-template-columns: 1fr 1fr; }
	.pg-bar-submit { grid-column: span 2; }
}
@media (max-width: 560px) {
	.pg-bar { grid-template-columns: 1fr; }
	.pg-bar-submit { grid-column: auto; }
}

/* ----- Phrase de recherche (ancienne version, conservée pour compatibilité) ----- */
.pg-search { margin: 0 0 2rem; }
.pg-hero { padding: 1.5rem 0 1rem; border-bottom: 1px solid var(--pg-line); }
.pg-hero-line {
	display: block; font-size: clamp(1.35rem, 1rem + 1.6vw, 2.1rem); line-height: 1.55;
	font-weight: 500; letter-spacing: -.01em; margin: 0 0 .75rem; max-width: 40ch;
}
.pg-hero-line > span { white-space: nowrap; }
.pg-inline-select, .pg-inline-input {
	font: inherit; color: var(--pg-blue); background: transparent; border: 0;
	border-bottom: 2px solid var(--pg-blue); border-radius: 0; padding: 0 .1em; margin: 0 .1em;
	min-width: 4ch; max-width: 100%;
}
.pg-inline-select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 1.1em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232d4a8a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .1em center; }
.pg-inline-input { width: 12ch; }
.pg-inline-input::placeholder { color: var(--pg-muted); font-weight: 400; }
.pg-radius-out { color: var(--pg-blue); border-bottom: 2px solid var(--pg-blue); font-variant-numeric: tabular-nums; }

.pg-hero input[type=range] {
	-webkit-appearance: none; appearance: none; width: min(100%, 40ch); height: 24px;
	background: transparent; margin: 0 0 1rem; display: block;
}
.pg-hero input[type=range]::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(90deg, var(--pg-blue) var(--pg-fill, 17%), var(--pg-line) var(--pg-fill, 17%)); }
.pg-hero input[type=range]::-moz-range-track { height: 2px; background: var(--pg-line); }
.pg-hero input[type=range]::-moz-range-progress { height: 2px; background: var(--pg-blue); }
.pg-hero input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--pg-blue); margin-top: -8px; cursor: grab; }
.pg-hero input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid var(--pg-blue); cursor: grab; }
.pg-hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }

/* ----- Filtres ----- */
.pg-filters { padding: 0 0 1.25rem; border-bottom: 1px solid var(--pg-line); display: grid; gap: 1.1rem; margin-bottom: 1.5rem; }
.pg-filter { border: 0; padding: 0; margin: 0; min-width: 0; }
.pg-filter legend, .pg-filter-row label, .pg-field { font-weight: 600; font-size: .92rem; display: block; margin-bottom: .4rem; }
.pg-filter-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.pg-filter-row input, .pg-filter-row select, .pg-field input, .pg-field select, .pg-field textarea {
	display: block; width: 100%; margin-top: .3rem; font: inherit; font-weight: 400; padding: .55em .7em;
	border: 1px solid var(--pg-line); border-radius: var(--pg-radius); background: #fff; color: var(--pg-ink);
}
.pg-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.pg-chip { position: relative; cursor: pointer; }
.pg-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pg-chip span {
	display: inline-block; padding: .3em .75em; border: 1px solid var(--pg-line); border-radius: 999px;
	font-size: .9rem; font-weight: 400; background: #fff; color: var(--pg-ink);
}
.pg-chip input:checked + span { background: var(--pg-blue); border-color: var(--pg-blue); color: #fff; }
.pg-chip input:focus-visible + span { outline: 2px solid var(--pg-blue); outline-offset: 2px; }
.pg-check { display: flex; gap: .5rem; align-items: center; font-weight: 400; margin: .35rem 0; }

/* ----- Intro / vide ----- */
.pg-intro { max-width: 60ch; }
.pg-intro-figures { font-size: 1.1rem; }
.pg-intro-figures strong { color: var(--pg-blue); font-variant-numeric: tabular-nums; }
.pg-empty { padding: 1.5rem 0; max-width: 60ch; }

/* ----- Résultats ----- */
.pg-results-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pg-results-head h2 { margin: 0; font-size: 1.25rem; }
.pg-results-head h2 .pg-muted { display: block; font-size: .95rem; margin-top: .15em; }
.pg-view-switch { display: inline-flex; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); overflow: hidden; }
.pg-view-switch button { font: inherit; font-size: .9rem; padding: .45em 1em; border: 0; background: #fff; color: var(--pg-ink); cursor: pointer; }
.pg-view-switch button[aria-selected=true] { background: var(--pg-ink); color: #fff; }
.pg-group-title { font-size: .95rem; font-weight: 600; color: var(--pg-muted); margin: 1.75rem 0 .75rem; }
.pg-group-title:first-child { margin-top: 0; }

.pg-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1.5rem 2rem; }
.pg-card { border-top: 1px solid var(--pg-ink); padding-top: .9rem; display: flex; flex-direction: column; gap: 0; }
.pg-card-media { display: block; margin: -.9rem 0 .75rem; border-top: 0; }
.pg-card-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.pg-card-body > * { margin: 0 0 .35rem; }
.pg-card-kicker { font-size: .82rem; color: var(--pg-muted); }
.pg-card h3, .pg-card h4 { font-size: 1.1rem; line-height: 1.3; margin: 0 0 .3rem; }
.pg-card h3 a, .pg-card h4 a { color: var(--pg-ink); text-decoration: none; }
.pg-card h3 a:hover, .pg-card h4 a:hover { text-decoration: underline; color: var(--pg-blue); }
.pg-card-place { font-size: .92rem; }
.pg-card-tags { font-size: .85rem; color: var(--pg-muted); }
.pg-card-excerpt { font-size: .92rem; }
.pg-card-opp { border-top-color: var(--pg-red); }
.pg-card.is-active { background: rgba(45,74,138,.05); }

.pg-badges { list-style: none; margin: .2rem 0 .4rem; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.pg-badge { font-size: .78rem; padding: .15em .6em; border-radius: 999px; border: 1px solid var(--pg-blue); color: var(--pg-blue); }
.pg-badge-open { background: var(--pg-red-soft); border-color: var(--pg-red); color: var(--pg-red); font-weight: 600; }
.pg-badge-quiet { border-color: var(--pg-line); color: var(--pg-muted); }

.pg-pagination { display: flex; gap: .4rem; margin: 2rem 0 0; }
.pg-pagination a { padding: .3em .7em; border: 1px solid var(--pg-line); border-radius: var(--pg-radius); text-decoration: none; }
.pg-pagination a[aria-current] { background: var(--pg-ink); border-color: var(--pg-ink); color: #fff; }
.pg-results-foot { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--pg-line); font-size: .92rem; color: var(--pg-muted); }

/* ----- Carte ----- */
#pg-map { width: 100%; height: min(70vh, 560px); border: 1px solid var(--pg-line); border-radius: var(--pg-radius); margin-bottom: 1.5rem; z-index: 0; }
#pg-map.pg-map-small { height: 260px; margin: 0; }
.pg-marker { width: 14px; height: 14px; border-radius: 50%; background: var(--pg-blue); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--pg-blue); }
.pg-marker.is-open { background: var(--pg-red); box-shadow: 0 0 0 1px var(--pg-red); }
.pg-marker.is-origin { width: 10px; height: 10px; background: var(--pg-ink); box-shadow: 0 0 0 1px var(--pg-ink); }
.leaflet-popup-content { font: inherit; font-size: .9rem; line-height: 1.4; }
.leaflet-popup-content a { color: var(--pg-blue); font-weight: 600; }

/* ----- Fiche lieu ----- */
.pg-place-head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: start; margin-bottom: 1.5rem; }
.pg-place-head h1 { margin: .1em 0 .4em; line-height: 1.15; }
.pg-place-address { font-style: normal; color: var(--pg-muted); margin-bottom: .75rem; }
.pg-place-links a { margin-right: 1.25rem; }
.pg-place-visual img { width: 100%; height: auto; display: block; margin-bottom: .75rem; }
.pg-place-nav { display: flex; flex-wrap: wrap; gap: 0 1.5rem; border-top: 1px solid var(--pg-ink); border-bottom: 1px solid var(--pg-line); padding: .6rem 0; margin-bottom: 1rem; position: sticky; top: 0; background: #fff; z-index: 1; }
.pg-place-nav a { text-decoration: none; color: var(--pg-ink); font-size: .92rem; font-weight: 600; padding: .3em 0; }
.pg-place-nav a:hover { color: var(--pg-blue); }
.pg-block { padding: 1.5rem 0; border-bottom: 1px solid var(--pg-line-soft); }
.pg-block h2 { font-size: 1.25rem; margin: 0 0 .9rem; }
.pg-block-artists { border-left: 3px solid var(--pg-red); padding-left: 1.25rem; }
.pg-prose { max-width: 68ch; }
.pg-facts { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1.25rem; margin: 1rem 0 0; font-size: .95rem; max-width: 60ch; }
.pg-facts dt { color: var(--pg-muted); }
.pg-facts dd { margin: 0; }
.pg-simple-list { padding-left: 1.1rem; margin: 0; }
.pg-simple-list li { margin-bottom: .35rem; }
.pg-contrib-links { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-size: .9rem; margin-top: 1rem; }

/* ----- Formulaire ----- */
.pg-propose { max-width: 44rem; }
.pg-propose h2 { margin-top: 0; }
.pg-lead { max-width: 60ch; }
.pg-form { display: grid; gap: 1.1rem; }
.pg-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1.25rem; }
.pg-span-2 { grid-column: span 2; }
.pg-honeypot { position: absolute; left: -9999px; }
.pg-form-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.pg-notice { padding: 1rem 1.25rem; border-left: 3px solid var(--pg-blue); background: rgba(45,74,138,.06); }
.pg-notice-err { border-color: var(--pg-red); background: var(--pg-red-soft); }
.pg-opp-facts { margin-bottom: 1.5rem; }

@media (max-width: 720px) {
	.pg-place-head, .pg-form-grid { grid-template-columns: 1fr; }
	.pg-span-2 { grid-column: auto; }
	.pg-facts { grid-template-columns: 1fr; gap: .1rem; }
	.pg-facts dd { margin-bottom: .6rem; }
	.pg-inline-input { width: 10ch; }
}
@media (prefers-reduced-motion: no-preference) {
	.pg-card { transition: background-color .15s; }
}

.pg-past { margin-top: 1rem; }
.pg-past summary { cursor: pointer; color: var(--pg-blue); font-weight: 600; }
.pg-past ul { margin-top: .6rem; }
