/*
Theme Name: Astra Child - La Tour a l'envers
Template: astra
Description: Charte graphique La Tour a l'envers
Version: 3.5
Author: Dahutius
*/

@font-face { font-family:'Lilita One'; src:url('assets/fonts/lilita-one.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Manrope'; src:url('assets/fonts/manrope-variable.woff2') format('woff2-variations'); font-weight:400 800; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('assets/fonts/jetbrains-mono-variable.woff2') format('woff2-variations'); font-weight:400 700; font-style:normal; font-display:swap; }

h1,h2,h3,h4,h5,h6,.entry-content :where(h1,h2,h3,h4,h5,h6),.site-title,.site-title a{ font-family:'Lilita One',cursive !important; font-weight:400 !important; text-transform:uppercase; letter-spacing:0.01em; }
body, .entry-content, p{ font-family:'Manrope',sans-serif; }
/* ===== La Tour a l'envers - v5 : reecriture propre, sans conflits de priorite ===== */

.section-inner{ max-width:1100px; margin:0 auto; padding:56px 24px; }
.section-inner.tight{ padding-top:40px; padding-bottom:40px; }
.full-bleed{ width:100vw; position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; }

.bg-marine{ background:#161A45; } .bg-marine-profond{ background:#0B0D28; } .bg-encre{ background:#0A0A0F; }
.bg-jaune{ background:#FFD23F; } .bg-papier{ background:#F2EFE6; } .bg-blanc{ background:#FBF9F4; }

.eyebrow{ font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#FFD23F; font-weight:800; margin-bottom:8px; font-family:'Manrope',sans-serif; }
.eyebrow-dark{ font-size:12px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:#FF5A3C; margin-bottom:6px; font-family:'Manrope',sans-serif; }

/* --- Titres : corail par defaut --- */
h1, h2, h3, .wp-block-heading { color:#FF5A3C; }
.hero-ltae h1, .hero-ltae h2, .hero-ltae h3,
.stats-section h2,
.gallery-section h2 { color:#FBF9F4; }
.vision-card h3, .artist-card .name { color:#FBF9F4; }
.edition-card h3 { color:#161A45; }

/* ---- HERO ---- */
.hero-ltae{
  background:#161A45 url('/wp-content/uploads/2026/03/header-site-scaled.jpg') center/cover no-repeat;
  position:relative; color:#FBF9F4;
}
.hero-ltae::before{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(11,13,40,0.55) 0%, rgba(11,13,40,0.88) 75%, #0B0D28 100%),
    radial-gradient(ellipse at 85% -10%, rgba(255,90,60,0.35), transparent 55%);
}
.hero-ltae .section-inner{ position:relative; z-index:1; padding-top:80px; padding-bottom:64px; text-align:center; max-width:760px; }
.hero-ltae h1{ font-size:clamp(2.6rem,7vw,4.4rem); margin:0 0 14px; }
.hero-ltae .a-l-envers{
  display:inline-block; transform:rotate(180deg);
  -webkit-text-stroke: 1.5px #FF5A3C; color:transparent;
}
.hero-note{ background:rgba(255,255,255,0.1); border:1.5px dashed #FFD23F; border-radius:12px; padding:14px 18px; font-size:14px; color:#FFD23F; font-weight:700; margin:20px auto; max-width:520px; }
.hero-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:26px; }

/* ---- BOUTONS ---- */
.wp-block-button__link{ font-family:'Lilita One',cursive; font-weight:400; text-transform:none; border-radius:100px !important; padding:0.9rem 2rem !important; }
.wp-block-buttons .wp-block-button:not([class*="is-style-pointille"]) .wp-block-button__link{
  background:#FF5A3C; color:#FBF9F4; border:none;
}
.wp-block-button.is-style-pointille-jaune .wp-block-button__link,
.wp-block-button.is-style-pointille-corail .wp-block-button__link,
.wp-block-button.is-style-pointille-noir .wp-block-button__link{
  background:transparent; border:2.5px dashed; border-radius:100px; transform:rotate(-3deg); display:inline-block;
}
.wp-block-button.is-style-pointille-jaune .wp-block-button__link{ color:#FFD23F; border-color:#FFD23F; }
.wp-block-button.is-style-pointille-corail .wp-block-button__link{ color:#FF5A3C; border-color:#FF5A3C; }
.wp-block-button.is-style-pointille-noir .wp-block-button__link{ color:#0A0A0F; border-color:#0A0A0F; }
.btn-tilt-r{ transform:rotate(2.5deg) !important; }

/* ---- HEADER : logo + menu (rangee Primary), sticky, responsive ---- */
.site-header{ position:sticky; top:0; z-index:99; }
.ast-primary-header-bar{ display:flex; align-items:center; justify-content:space-between; }
.site-title, .site-title a{ white-space:nowrap; font-size:clamp(14px, 3vw, 26px) !important; }

/* Menu texte blanc, item actif = pastille pointillee corail proche du texte, legerement obliqu, comme les boutons */
.main-header-menu .menu-link{ color:#FBF9F4 !important; font-weight:700; }
.main-header-menu .menu-item.current-menu-item > .menu-link,
.main-header-menu .menu-item.current_page_item > .menu-link{
  display:inline-block; border:2px dashed #FF5A3C; border-radius:100px;
  padding:4px 14px !important; color:#FBF9F4 !important; transform:rotate(-3deg);
  line-height:normal;
}

/* ---- PROGRAMMATION ---- */
.day-block{ margin-bottom:36px; }
.day-header{ display:flex; align-items:baseline; gap:10px; margin-bottom:18px; }
.day-badge{ font-size:11px; font-weight:800; text-transform:uppercase; color:#FBF9F4; background:#161A45; padding:5px 10px; border-radius:100px; font-family:'Manrope',sans-serif; }
.artist-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:16px; }
.artist-card{
  aspect-ratio:4/5; border-radius:16px; overflow:hidden; position:relative; border:3px solid #0A0A0F;
  display:flex; flex-direction:column; justify-content:flex-end;
  background:
    linear-gradient(165deg, rgba(22,26,69,0.9), rgba(255,90,60,0.55)),
    repeating-linear-gradient(55deg, #2b2b3a 0 3px, #404058 3px 6px);
  box-shadow:0 14px 30px -14px rgba(10,10,15,0.5);
}
.artist-card:nth-child(2n){ transform:rotate(1.2deg); }
.artist-card:nth-child(2n+1){ transform:rotate(-1deg); }
.artist-card-inner{ position:relative; padding:18px; background:linear-gradient(0deg, rgba(10,10,15,0.75), transparent 65%); }
.artist-card .name{ font-size:28px; line-height:1.05; margin:0 0 4px; font-family:'Lilita One',cursive; text-transform:uppercase; }
.artist-card .genre{ color:#FFD23F; font-size:12px; font-weight:700; margin:0; font-family:'Manrope',sans-serif; }
@media (max-width:480px){ .artist-card .name{ font-size:22px; } }

/* ---- MARCHE DES CREATEURS ---- */
.marche-vignette{ background:#FBF9F4; border:2px dashed #161A45; border-radius:18px; padding:28px; transform:rotate(-0.6deg); box-shadow:0 16px 40px -22px rgba(22,26,69,0.35); }
.marche-grid{ display:grid; grid-template-columns:1fr 3fr; gap:28px; align-items:center; }
@media (max-width:640px){ .marche-grid{ grid-template-columns:1fr; } }
.marche-grid img{ border-radius:12px; display:block; width:100%; height:auto; }

/* ---- STATS ---- */
.stats-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:28px 24px; margin-top:28px; justify-items:start; }
@media (max-width:820px){ .stats-grid{ grid-template-columns:repeat(2,1fr); } }
.stat-card{ text-align:left; }
.stat-num{ font-family:'Lilita One',cursive; font-size:clamp(48px, 6vw, 76px); line-height:1; margin:0; }
.stat-card:nth-child(1) .stat-num{ color:#FF5A3C; }
.stat-card:nth-child(2) .stat-num{ color:#FFD23F; }
.stat-card:nth-child(3) .stat-num{ color:#E8348C; }
.stat-card:nth-child(4) .stat-num{ color:#5CD6C0; }
.stat-label{ font-size:13px; text-transform:uppercase; letter-spacing:0.05em; font-weight:700; color:#C9C9D6; margin-top:8px; font-family:'Manrope',sans-serif; }

/* ---- NOTRE VISION : 3 blocs identiques, meme trame que les artistes ---- */
.vision-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:24px; align-items:stretch; }
@media (max-width:820px){ .vision-grid{ grid-template-columns:1fr; } }
.vision-card{
  border-radius:14px; padding:24px; border:3px solid #0A0A0F; box-shadow:0 14px 30px -14px rgba(10,10,15,0.5);
  background:
    linear-gradient(165deg, rgba(22,26,69,0.9), rgba(255,90,60,0.55)),
    repeating-linear-gradient(55deg, #2b2b3a 0 3px, #404058 3px 6px);
}
.vision-card h3{ font-family:'Lilita One',cursive; font-size:19px; margin:0 0 10px; color:#FBF9F4; text-transform:uppercase; }
.vision-card p{ color:#FBF9F4; }

/* ---- EDITIONS PRECEDENTES ---- */
.editions-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:24px; }
@media (max-width:820px){ .editions-grid{ grid-template-columns:1fr; } }
.edition-card{ background:#FBF9F4; border-radius:14px; padding:24px; border:1px solid #E6E1D2; }
.edition-card p{ color:#3A3A3A; }

/* ---- GALERIE : recadrage complet ---- */
.gallery-section h2, .gallery-section .eyebrow-dark, .gallery-section p{ color:#0A0A0F; }
.gallery-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; margin-top:22px; }
@media (max-width:820px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
.g-item{ border-radius:14px; overflow:hidden; position:relative; aspect-ratio:1; box-shadow:0 12px 28px -16px rgba(10,10,15,0.5); }
.g-item .wp-block-image, .g-item figure{ height:100%; margin:0; }
.g-item img{ width:100%; height:100%; object-fit:cover; display:block; }
.g-item .credit{ position:absolute; bottom:6px; left:8px; font-size:10px; color:#FBF9F4; font-weight:700; text-shadow:0 1px 3px rgba(0,0,0,0.6); }
.gallery-grid .g-item:nth-child(2n){ transform:rotate(1.5deg); }
.gallery-grid .g-item:nth-child(2n+1){ transform:rotate(-1.5deg); }

.partners-hidden{ display:none !important; }

/* ---- FOOTER : meme trame que les cartes artistes ---- */
.site-footer, footer.site-footer, #colophon{
  background:
    linear-gradient(165deg, rgba(22,26,69,0.92), rgba(255,90,60,0.6)),
    repeating-linear-gradient(55deg, #2b2b3a 0 3px, #404058 3px 6px) !important;
}
.site-footer *, footer.site-footer *, #colophon *{ color:#FBF9F4 !important; }
/* ===== PATCH v6 : menu fond fonce, couleurs, menu actif corail ===== */

/* Fond du menu (barre + popup mobile) : degrade tramé identique aux artistes/footer */
#ast-desktop-header .ast-primary-header-bar,
#ast-mobile-header .ast-primary-header-bar,
.ast-mobile-header-content{
  background:
    linear-gradient(165deg, rgba(22,26,69,0.95), rgba(255,90,60,0.6)),
    repeating-linear-gradient(55deg, #2b2b3a 0 3px, #404058 3px 6px) !important;
}

/* Plus de jaune dans les titres/eyebrow : tout en corail */
.eyebrow{ color:#FF5A3C; }

/* Menu actif : texte corail (le contour pointille reste) */
.main-header-menu .menu-item.current-menu-item > .menu-link,
.main-header-menu .menu-item.current_page_item > .menu-link{
  color:#FF5A3C !important;
}
/* ===== PATCH v7 : tagline blanche, burger droite sans fond, popup mobile fonce ===== */

/* Petite phrase sous le titre : visible en blanc */
.site-description{ color:#FBF9F4 !important; }

/* Bouton burger : justifie a droite, traits blancs, sans fond/carre */
.site-header-primary-section-right{ margin-left:auto; }
.ast-mobile-menu-buttons{ justify-content:flex-end !important; margin-left:auto; }
.ast-mobile-menu-trigger-minimal,
.ast-menu-toggle,
button.ast-mobile-menu-trigger-minimal{
  background:transparent !important; border:none !important; box-shadow:none !important;
}
.ast-mobile-menu-trigger-minimal .ast-hamburger,
.ast-mobile-menu-trigger-minimal .ast-hamburger::before,
.ast-mobile-menu-trigger-minimal .ast-hamburger::after,
.ast-menu-toggle .ast-icon svg,
.ast-menu-toggle .ast-icon path{
  background-color:#FBF9F4 !important; fill:#FBF9F4 !important; stroke:#FBF9F4 !important; color:#FBF9F4 !important;
}

/* Popup mobile ouvert : fond violet fonce uni, texte blanc, uniquement les entrees principales */
.ast-mobile-header-content{
  background:#161A45 !important;
}
.ast-mobile-header-content .main-header-menu .menu-link{ color:#FBF9F4 !important; }
.ast-mobile-header-content .main-header-menu .sub-menu{ display:none; }
.ast-mobile-header-content .main-header-menu > .menu-item.menu-item-has-children > .menu-link .ast-header-navigation-arrow{ display:inline-flex !important; }
/* ===== PATCH v8 : burger blanc+droite, item actif propre, sous-menu qui se deroule ===== */

/* Burger : la vraie icone utilise fill=currentColor sur un svg, pas un hamburger CSS */
.menu-toggle.ast-mobile-menu-trigger-minimal{
  color:#FBF9F4 !important; background:transparent !important; border:none !important; box-shadow:none !important;
  margin-left:auto;
}
.menu-toggle.ast-mobile-menu-trigger-minimal svg{ fill:#FBF9F4 !important; color:#FBF9F4 !important; }
.site-header-primary-section-right,
.ast-builder-menu-1{ margin-left:auto !important; justify-content:flex-end !important; }

/* Item de menu actif : pilule discrete qui colle au texte, pas de fond hérité d'Astra */
.main-header-menu .menu-item.current-menu-item > .menu-link,
.main-header-menu .menu-item.current_page_item > .menu-link{
  display:inline-block !important; width:fit-content !important;
  background:transparent !important; background-color:transparent !important;
  border:2px dashed #FF5A3C !important; border-radius:100px !important;
  padding:4px 14px !important; color:#FF5A3C !important; transform:rotate(-3deg);
}
.ast-mobile-header-content .main-header-menu .menu-item.current-menu-item > .menu-link,
.ast-mobile-header-content .main-header-menu .menu-item.current_page_item > .menu-link{
  color:#FBF9F4 !important; border-color:#FF5A3C !important;
}

/* Sous-menu (Archives) : replie par defaut, s'ouvre via la classe qu'Astra ajoute au clic */
.ast-mobile-header-content .main-header-menu .sub-menu{ display:none; }
.ast-mobile-header-content .main-header-menu .menu-item.ast-submenu-expanded > .sub-menu{
  display:block !important; background:rgba(255,255,255,0.06);
}
.ast-mobile-header-content .main-header-menu .sub-menu .menu-link{ color:#FBF9F4 !important; padding-left:2em !important; }
/* Fleche "Archives" (bouton sous-menu) : icone blanche, pas de carre blanc */
.ast-mobile-header-content .ast-menu-toggle{
  background:transparent !important; border:none !important;
}
.ast-mobile-header-content .ast-menu-toggle .ast-icon svg,
.ast-mobile-header-content .ast-menu-toggle .ast-icon path,
.ast-mobile-header-content .dropdown-menu-toggle svg,
.ast-mobile-header-content .dropdown-menu-toggle path{
  fill:#FBF9F4 !important;
}
/* ===== PATCH v9 : chevron propre, pointilles non rognes, sous-menu accessible ===== */

/* Remplace l'icone flechee (carre blanc) par un chevron CSS propre */
.ast-mobile-header-content .dropdown-menu-toggle .ast-icon svg{ display:none !important; }
.ast-mobile-header-content .dropdown-menu-toggle{
  position:relative; width:24px; height:24px; display:inline-flex !important; align-items:center; justify-content:center;
}
.ast-mobile-header-content .dropdown-menu-toggle::after{
  content:''; display:block; width:9px; height:9px;
  border-right:2px solid #FBF9F4; border-bottom:2px solid #FBF9F4;
  transform:rotate(45deg); transition:transform 0.2s ease;
}
.ast-mobile-header-content .menu-item.ast-submenu-expanded > .menu-link .dropdown-menu-toggle::after{
  transform:rotate(-135deg);
}

/* Empeche le cadre du menu de rogner les pointilles de la pilule active */
.ast-mobile-header-content,
.ast-mobile-header-content .main-header-menu,
.ast-mobile-header-content .main-header-menu li{
  overflow:visible !important;
}
.ast-mobile-header-content .main-header-menu{ padding-left:6px; padding-right:6px; }
/* ===== Animations d'apparition au scroll ===== */
.ltae-reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity 0.6s ease, transform 0.6s ease;
}
.ltae-reveal.ltae-in{ opacity:1; transform:translateY(0); }

.artist-grid .ltae-reveal:nth-child(2){ transition-delay:0.08s; }
.artist-grid .ltae-reveal:nth-child(3){ transition-delay:0.16s; }
.vision-grid .ltae-reveal:nth-child(2){ transition-delay:0.08s; }
.vision-grid .ltae-reveal:nth-child(3){ transition-delay:0.16s; }
.stats-grid .ltae-reveal:nth-child(2){ transition-delay:0.08s; }
.stats-grid .ltae-reveal:nth-child(3){ transition-delay:0.16s; }
.stats-grid .ltae-reveal:nth-child(4){ transition-delay:0.24s; }
.gallery-grid .ltae-reveal:nth-child(2){ transition-delay:0.08s; }
.gallery-grid .ltae-reveal:nth-child(3){ transition-delay:0.16s; }
.gallery-grid .ltae-reveal:nth-child(4){ transition-delay:0.24s; }

@media (prefers-reduced-motion: reduce){
  .ltae-reveal{ opacity:1; transform:none; transition:none; }
}
/* ===== PATCH v10 : 2e bouton (hors du lien), fond rouge plein retire ===== */

/* Le vrai bouton toggle (en dehors du <a>) : meme traitement chevron que l'autre */
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle{
  background:transparent !important; border:none !important; box-shadow:none !important;
  position:relative; width:24px; height:24px; padding:0 !important;
}
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle .ast-icon svg{ display:none !important; }
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle::after{
  content:''; display:block; width:9px; height:9px; margin:auto;
  border-right:2px solid #FBF9F4; border-bottom:2px solid #FBF9F4;
  transform:rotate(45deg); transition:transform 0.2s ease;
}
.ast-mobile-header-content li.ast-submenu-expanded > button.ast-menu-toggle::after{
  transform:rotate(-135deg);
}

/* Retire le fond rouge plein qu'Astra applique par defaut a l'item deroule */
.ast-mobile-header-content .main-header-menu li.ast-submenu-expanded,
.ast-mobile-header-content .main-header-menu li.ast-submenu-expanded > .menu-link{
  background:transparent !important; background-color:transparent !important;
}
/* ===== PATCH v11 : un seul chevron, aucun fond possible sur l'item deroule ===== */

/* Un seul bouton visible : on masque completement celui a l'interieur du lien */
.ast-mobile-header-content .menu-item-has-children > a.menu-link > .dropdown-menu-toggle{
  display:none !important;
}

/* Le bouton restant (hors du lien) : chevron simple, jamais de fond, sur toutes les couches possibles */
.ast-mobile-header-content li.menu-item-has-children,
.ast-mobile-header-content li.menu-item-has-children.ast-submenu-expanded,
.ast-mobile-header-content li.menu-item-has-children > a.menu-link,
.ast-mobile-header-content li.menu-item-has-children.ast-submenu-expanded > a.menu-link,
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle,
.ast-mobile-header-content li.menu-item-has-children.ast-submenu-expanded > button.ast-menu-toggle{
  background:transparent !important; background-color:transparent !important; background-image:none !important;
}
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle .ast-icon svg{ display:none !important; }
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle{
  position:relative; width:24px; height:24px; padding:0 !important; border:none !important; box-shadow:none !important;
}
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle::after{
  content:''; display:block; width:9px; height:9px; margin:auto;
  border-right:2px solid #FBF9F4; border-bottom:2px solid #FBF9F4;
  transform:rotate(45deg); transition:transform 0.2s ease;
}
.ast-mobile-header-content li.ast-submenu-expanded > button.ast-menu-toggle::after{
  transform:rotate(-135deg);
}
/* ===== PATCH v12 : sous-menu desktop lisible, photos artistes avec trame filtre ===== */

/* Sous-menu Archives en desktop : fond violet fonce, texte blanc (etait blanc sur blanc) */
#ast-desktop-header .main-header-menu .sub-menu{
  background-color:#161A45 !important;
}
#ast-desktop-header .main-header-menu .sub-menu .menu-link{
  color:#FBF9F4 !important;
}
#ast-desktop-header .main-header-menu .sub-menu .menu-link:hover{
  color:#FFD23F !important;
}

/* Cartes artistes avec vraie photo : trame en filtre par-dessus l'image */
.artist-card.has-photo{
  background-size:cover; background-position:center;
}
.artist-card.has-photo::before{
  content:''; position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(165deg, rgba(22,26,69,0.72), rgba(255,90,60,0.5)),
    repeating-linear-gradient(55deg, rgba(43,43,58,0.35) 0 3px, rgba(64,64,88,0.35) 3px 6px);
}
.artist-card.has-photo .artist-card-inner{ position:relative; z-index:1; }
/* ===== PATCH v13 : inversion, on garde le chevron de gauche (dans le lien), on degage celui de droite ===== */

/* On re-affiche celui de gauche et on masque celui de droite (inverse du patch precedent) */
.ast-mobile-header-content .menu-item-has-children > a.menu-link > .dropdown-menu-toggle{
  display:inline-flex !important;
}
.ast-mobile-header-content li.menu-item-has-children > button.ast-menu-toggle{
  display:none !important;
}

/* Chevron propre sur celui de gauche */
.ast-mobile-header-content .dropdown-menu-toggle .ast-icon svg{ display:none !important; }
.ast-mobile-header-content .dropdown-menu-toggle{
  position:relative; width:20px; height:20px; display:inline-flex !important;
  align-items:center; justify-content:center; margin-left:6px; background:transparent !important;
}
.ast-mobile-header-content .dropdown-menu-toggle::after{
  content:''; display:block; width:9px; height:9px;
  border-right:2px solid #FBF9F4; border-bottom:2px solid #FBF9F4;
  transform:rotate(45deg); transition:transform 0.2s ease;
}
.ast-mobile-header-content li.ast-submenu-expanded .dropdown-menu-toggle::after{
  transform:rotate(-135deg);
}
/* ===== PATCH v14 : pages internes (Infos pratiques, Qui sommes-nous) ===== */

.page-hero{ padding-top:16px; }
.page-hero h1{ margin:0 0 12px; }

.info-card{ background:#FBF9F4; border-radius:14px; padding:24px; border:1px solid #E6E1D2; box-shadow:0 10px 30px -18px rgba(22,26,69,0.2); }
.info-card h3{ color:#161A45; margin:0 0 10px; font-size:19px; }
.info-card p{ color:#3A3A3A; margin:0; }
.info-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:24px; }
@media (max-width:820px){ .info-grid{ grid-template-columns:1fr; } }

.quote-block{ background:#FFD23F; border-radius:16px; padding:28px 32px; transform:rotate(-0.5deg); margin:24px 0; box-shadow:0 14px 30px -18px rgba(22,26,69,0.3); }
.quote-block p{ font-family:'Lilita One',cursive; font-size:22px; color:#161A45; margin:0 0 8px; line-height:1.3; }
.quote-block .quote-author{ font-family:'Manrope',sans-serif; font-size:13px; font-weight:700; color:#161A45; opacity:0.75; }

.history-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
@media (max-width:820px){ .history-grid{ grid-template-columns:1fr; } }
.history-grid img{ border-radius:16px; width:100%; height:auto; display:block; box-shadow:0 20px 40px -20px rgba(0,0,0,0.5); }
/* ===== PATCH v15 : intro Qui sommes-nous en collage photo, galerie 5e image paysage ===== */

.history-columns{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
@media (max-width:820px){ .history-columns{ grid-template-columns:1fr; } }
.history-text p{ margin-bottom:1em; }
.history-collage{ position:relative; padding:20px 10px; }
.history-collage::before{
  content:''; position:absolute; top:10%; right:-6%; width:70%; height:80%;
  background:#FFD23F; border-radius:24px; transform:rotate(4deg); z-index:0;
}
.history-collage-imgs{ position:relative; z-index:1; display:flex; flex-direction:column; gap:16px; }
.history-collage-imgs img{
  border-radius:18px; width:100%; height:auto; display:block;
  box-shadow:0 18px 40px -16px rgba(10,10,15,0.5); border:3px solid #0A0A0F;
}
.history-collage-imgs .collage-1{ transform:rotate(-3deg); max-width:82%; }
.history-collage-imgs .collage-2{ transform:rotate(2.5deg); max-width:82%; align-self:flex-end; margin-top:-40px; }
.history-credit{ position:relative; z-index:1; font-size:11px; color:#0A0A0F; opacity:0.6; text-align:right; margin-top:8px; }

/* Galerie Qui sommes-nous : 5e photo en paysage pleine largeur */
.gallery-grid .g-item-wide{ grid-column:1 / -1; aspect-ratio:21/6; }
@media (max-width:820px){ .gallery-grid .g-item-wide{ aspect-ratio:16/9; } }
/* ===== PATCH v16 : elimination definitive du decalage 1er bloc de grille + recadrage photo large ===== */

/* WordPress applique par defaut un margin-top automatique entre blocs "flow" (sauf le premier).
   Dans nos grilles, ca cree un decalage visuel entre carte 1 et les suivantes. On neutralise tout
   et on reprend la main totale sur l'espacement interne des cartes. */
.vision-card, .info-card, .edition-card, .stat-card, .artist-card-inner, .g-item{
  display:flow-root;
}
.vision-card > *, .info-card > *, .edition-card > *, .stat-card > *, .artist-card-inner > *{
  margin-top:0 !important; margin-bottom:0 !important;
}
.vision-card h3, .info-card h3, .edition-card h3{ margin-bottom:10px !important; }
.stat-card .stat-num{ margin-bottom:0 !important; }
.stat-card .stat-label{ margin-top:8px !important; }
.artist-card-inner .name{ margin-bottom:4px !important; }

/* Meme logique appliquee par securite a toutes les grilles de la home */
.stats-grid > *, .artist-grid > *, .editions-grid > .wp-block-column, .info-grid > *{
  margin-top:0 !important;
}

/* Recadrage de la photo paysage (5e photo) : on voit desormais mieux le bas (les gens en entier) */
.gallery-grid .g-item-wide{ aspect-ratio:21/9; }
.gallery-grid .g-item-wide img{ object-position:center 35%; }
@media (max-width:820px){ .gallery-grid .g-item-wide{ aspect-ratio:4/3; } }
/* ===== PATCH v17 : Infos pratiques - smart flat funky ===== */

.access-columns{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
@media (max-width:820px){ .access-columns{ grid-template-columns:1fr; } }
.access-vignette{
  position:relative; border-radius:20px; overflow:hidden; transform:rotate(-2deg);
  border:4px solid #0A0A0F; box-shadow:0 22px 44px -18px rgba(22,26,69,0.5);
}
.access-vignette img{ display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.access-vignette::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(22,26,69,0.35), rgba(255,90,60,0.15));
}

/* Cartes infos : accent plat colore + rotation alternee, look flat funky */
.info-grid{ align-items:stretch; }
.info-card{ position:relative; overflow:hidden; padding-top:30px; }
.info-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:8px;
}
.info-card:nth-child(1){ transform:rotate(-1.2deg); }
.info-card:nth-child(2){ transform:rotate(1deg); }
.info-card:nth-child(3){ transform:rotate(-0.8deg); }
.info-card:nth-child(4){ transform:rotate(1.3deg); }
.info-card:nth-child(5){ transform:rotate(-1deg); }
.info-card:nth-child(1)::before{ background:#FF5A3C; }
.info-card:nth-child(2)::before{ background:#FFD23F; }
.info-card:nth-child(3)::before{ background:#E8348C; }
.info-card:nth-child(4)::before{ background:#5CD6C0; }
.info-card:nth-child(5)::before{ background:#161A45; }
.info-card:hover{ transform:rotate(0deg) translateY(-4px); transition:transform 0.25s ease; }

/* Bandeau ambiance : photos reelles du festival en filmstrip funky */
.ambiance-strip{ display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; justify-content:center; }
.ambiance-strip img{
  width:220px; height:280px; object-fit:cover; border-radius:16px; border:3px solid #0A0A0F;
  box-shadow:0 16px 34px -16px rgba(10,10,15,0.5);
}
.ambiance-strip img:nth-child(1){ transform:rotate(-3deg); }
.ambiance-strip img:nth-child(2){ transform:rotate(2deg); margin-top:20px; }
.ambiance-strip img:nth-child(3){ transform:rotate(-2deg); }
@media (max-width:600px){ .ambiance-strip img{ width:150px; height:190px; } }