/*
Theme Name: Confluence
Theme URI: https://confluence-skatepark.fr
Author: Hugo Giorgi — HG*
Description: Thème sur mesure de Confluence Skatepark. Design system à trois couches (tokens.css), composants (site.css), interactions (site.js).
Version: 0.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: Propriétaire
Text Domain: confluence
*/

/* Les styles vivent dans tokens.css et site.css, chargés depuis functions.php.
   Ce fichier ne sert qu'à l'en-tête de thème et aux correctifs WordPress. */

.wp-contenu{max-width:72ch;margin-inline:auto;padding-inline:var(--gouttiere)}
.wp-contenu > * + *{margin-top:var(--e-5)}
.wp-contenu h2{font-size:var(--t-m);margin-top:var(--e-8)}
.wp-contenu img{width:100%;height:auto;filter:var(--photo)}
.alignwide{width:min(100%,1280px);margin-inline:auto}
.alignfull{width:100%}
.wp-caption-text,figcaption{font-size:var(--t-petit);color:var(--texte-faible);margin-top:var(--e-2)}
.admin-bar .nav{top:32px}
@media(max-width:782px){.admin-bar .nav{top:46px}}

/* ── Photos dans la boutique (les dessins restent le repli) ── */
.produit__vue img,.scene img{width:100%;height:100%;object-fit:cover;filter:var(--photo);
  transition:transform var(--d-ample) var(--courbe),filter var(--d-ample) var(--courbe)}
.produit--photo:hover .produit__vue img{transform:scale(1.04);filter:var(--photo-active)}
.produit--photo .produit__vue::after{display:none}
.scene img{position:absolute;inset:0}
.vignettes img{width:100%;height:100%;object-fit:cover;filter:var(--photo)}
.vignettes button{overflow:hidden;padding:0}
.options__ligne b{font:600 var(--t-label)/1 var(--f-ui);letter-spacing:var(--ls-label);text-transform:uppercase}

/* ── Contenu libre (éditeur) ── */
.wp-contenu--fiche{max-width:none;padding-inline:0;margin-inline:0}
.wp-contenu ul,.wp-contenu ol{padding-left:1.2em}
.wp-contenu li+li{margin-top:var(--e-2)}
.wp-contenu a{text-decoration:underline;text-underline-offset:.2em}
.wp-contenu blockquote{border-left:2px solid var(--accent);padding-left:var(--e-5);font-size:var(--t-s)}
.wp-contenu figure{margin-block:var(--e-6)}
.tete--article p{max-width:60ch}
.pagination{display:flex;gap:var(--e-3);margin-top:var(--e-7);font:600 var(--t-label)/1 var(--f-ui);letter-spacing:var(--ls-label);text-transform:uppercase}
.pagination .page-numbers{padding:var(--e-3) var(--e-4);border:1px solid var(--bordure-faible)}
.pagination .current{background:var(--texte);color:var(--texte-inverse)}
.galerie figcaption{position:absolute;left:var(--e-3);bottom:var(--e-3);font:600 var(--t-label)/1 var(--f-ui);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--sur-media);background:var(--voile-plat);padding:var(--e-2) var(--e-3)}
.galerie figure{position:relative}

/* ── Carte Leaflet ── */
.carte__leaflet{position:absolute;inset:0;background:var(--surface-alt)}
.carte--leaflet .carte__plan{position:relative;aspect-ratio:1;overflow:hidden;background:var(--surface-alt)}
@media(max-width:900px){.carte--leaflet .carte__plan{aspect-ratio:4/5}}
.leaflet-container{font:inherit;color:var(--texte)}
.leaflet-container .leaflet-tile-pane{filter:grayscale(1) contrast(1.02)}
:root[data-theme="dark"] .leaflet-container .leaflet-tile-pane{filter:grayscale(1) brightness(.9)}
.leaflet-control-zoom{border:1px solid var(--bordure)!important;border-radius:0!important;box-shadow:none!important}
.leaflet-control-zoom a{background:var(--surface)!important;color:var(--texte)!important;border-radius:0!important;border-bottom:1px solid var(--bordure-faible)!important;font-family:var(--f-ui)!important}
.leaflet-control-attribution{background:var(--surface)!important;color:var(--texte-faible)!important;font:9px/1.4 var(--f-ui)!important}
.leaflet-control-attribution a{color:inherit!important}
.mk{width:16px!important;height:16px!important;margin:0!important}
.mk__pt{position:absolute;inset:0;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--accent);transition:transform var(--d-vif) var(--courbe)}
.mk--pump .mk__pt{background:var(--surface);box-shadow:0 0 0 2px var(--accent)}
.mk--rampe .mk__pt,.mk--evenement .mk__pt{border-radius:2px;transform:rotate(45deg);}
.mk__nom{position:absolute;left:22px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 10px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--texte);background:var(--surface);padding:4px 6px;opacity:0;transition:opacity var(--d-vif) var(--courbe);pointer-events:none}
.mk:hover .mk__nom,.mk.est-actif .mk__nom{opacity:1}
.mk.est-actif{z-index:900!important}
.mk.est-actif .mk__pt{transform:scale(1.5)}
.mk--rampe.est-actif .mk__pt,.mk--evenement.est-actif .mk__pt{transform:rotate(45deg) scale(1.5)}
.mk.est-eteint{opacity:.15;pointer-events:none}
.mk-siege{width:14px!important;height:14px!important;margin:0!important}
.mk-siege span{position:absolute;inset:0;background:var(--texte);clip-path:polygon(50% 0,100% 40%,100% 100%,0 100%,0 40%)}
.mk-siege i{position:absolute;left:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 10px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--texte-faible)}
.carte__fonds{position:absolute;z-index:500;top:var(--e-3);left:var(--e-3);display:flex;border:1px solid var(--bordure)}
.carte__fonds button{padding:8px 12px;font:600 10px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;background:var(--surface);color:var(--texte)}
.carte__fonds button[aria-pressed="true"]{background:var(--texte);color:var(--texte-inverse)}
.carte__liste button[hidden]{display:none}

/* ── Lightbox ── */
.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(10,13,14,.94);opacity:0;transition:opacity var(--d-base) var(--courbe)}
.lightbox.est-ouverte{opacity:1}
.lightbox img{max-width:min(92vw,1600px);max-height:86vh;width:auto;height:auto;object-fit:contain;filter:none}
.lightbox button{position:absolute;color:#fff;font:600 var(--t-label)/1 var(--f-ui);letter-spacing:var(--ls-label);text-transform:uppercase;padding:var(--e-4);min-width:var(--cible);min-height:var(--cible)}
.lightbox__fermer{top:var(--e-3);right:var(--e-3)}
.lightbox__prec{left:var(--e-2);top:50%;transform:translateY(-50%);font-size:24px}
.lightbox__suiv{right:var(--e-2);top:50%;transform:translateY(-50%);font-size:24px}
.lightbox__n{position:absolute;bottom:var(--e-4);left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font:600 var(--t-label)/1 var(--f-ui);letter-spacing:var(--ls-label)}
.galerie a{display:block;width:100%;height:100%;cursor:zoom-in}

/* ── Bandeau de page avec image ── */
.tete--media{position:relative;min-height:56svh;display:flex;flex-direction:column;justify-content:flex-end;color:var(--sur-media);overflow:hidden}
.tete__media{position:absolute;inset:0;z-index:0}
.tete__media img{width:100%;height:114%;object-fit:cover;filter:var(--photo)}
.tete__media::after{content:'';position:absolute;inset:0;background:var(--voile)}
.tete--media>*:not(.tete__media){position:relative;z-index:1}
.tete--media .tete__fil,.tete--media p{color:var(--sur-media-faible)}
.tete--media .btn--discret{border-color:var(--bordure-inverse);color:var(--sur-media)}

/* ── Partenaires ── */
.partenaires{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gouttiere);margin-top:var(--e-7);border-top:var(--filet) solid var(--bordure)}
.partenaire{display:grid;place-items:center;aspect-ratio:3/2;padding:var(--e-5);border-bottom:var(--filet) solid var(--bordure-faible);color:var(--texte-faible);transition:color var(--d-base) var(--courbe),background var(--d-base) var(--courbe)}
.partenaire:hover{color:var(--texte);background:var(--surface-alt)}
.partenaire img{max-height:56px;width:auto;object-fit:contain;filter:grayscale(1) contrast(1.1);opacity:.75;transition:opacity var(--d-base) var(--courbe),filter var(--d-base) var(--courbe)}
.partenaire:hover img{opacity:1;filter:none}
.partenaire__nom{font:700 var(--t-s)/1.1 var(--f-display);letter-spacing:var(--ls-serre);text-transform:uppercase;text-align:center}
.liste--temoignages blockquote{margin:0}
.liste--temoignages h3{text-transform:none;font-size:var(--t-m);line-height:1.15}
