/*
Theme Name: La Galerie des Créateurs
Theme URI: https://lagaleriedescreateurs.fr/
Author: La Galerie des Créateurs
Description: Thème sur mesure pour les marchés artisanaux de La Galerie des Créateurs.
Version: 0.4.3
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: lgdc
*/

:root{--rose:#D9148D;--rose-dark:#b60f76;--turquoise:#00A8B5;--ink:#20313a;--cream:#fff9f5;--white:#fff;--muted:#66747b;--radius:24px;--shadow:0 16px 45px rgba(32,49,58,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;line-height:1.65;background:#fff}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ff58b5;outline-offset:3px}img{max-width:100%;height:auto;display:block}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.narrow{width:min(760px,calc(100% - 40px));margin-inline:auto}.section{padding:88px 0}.section--soft{background:var(--cream)}.eyebrow{color:var(--rose);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.hero-eyebrow,.event-eyebrow{color:#fff}.section-title{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;margin:.3rem 0 1rem}.lead{font-size:1.14rem;color:var(--muted);max-width:720px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;border:2px solid transparent;background:var(--rose);color:#fff;font-weight:800;transition:.2s;cursor:pointer}.button:hover{background:var(--rose-dark);transform:translateY(-2px)}.button--light{background:#fff;color:var(--ink)}.button--outline{background:transparent;border-color:var(--turquoise);color:var(--ink)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(32,49,58,.08)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.custom-logo{max-height:64px;width:auto}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:1.15rem;font-weight:bold}.brand-mark{width:48px;height:48px;border-radius:50% 50% 46% 54%;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose),var(--turquoise));color:#fff;font-family:Georgia,serif}.site-nav{display:flex;align-items:center;gap:20px}.site-nav ul{display:flex;list-style:none;gap:22px;align-items:center;margin:0;padding:0}.site-nav a:hover,.current-menu-item>a{color:var(--rose)}.nav-toggle{display:none;border:0;background:transparent;font-size:1.7rem}.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(20,45,50,.94),rgba(35,185,176,.76)),linear-gradient(45deg,#20313a,#23b9b0);color:#fff;min-height:650px;display:grid;align-items:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.hero:before{width:410px;height:410px;background:rgba(232,62,140,.3);right:-100px;top:-140px}.hero:after{width:260px;height:260px;border:2px solid rgba(255,255,255,.24);left:-80px;bottom:-80px}.hero-content{position:relative;z-index:1;padding:100px 0;max-width:830px}.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6rem);line-height:.97;margin:12px 0 24px}.hero .lead{color:rgba(255,255,255,.88);font-size:1.25rem}.hero-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.card{border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}.card-media{aspect-ratio:16/10;background:linear-gradient(135deg,var(--turquoise),var(--rose));display:grid;place-items:center;color:#fff;font-family:Georgia,serif;font-size:2rem;padding:24px;text-align:center}.card-body{padding:26px}.card h3{font-family:Georgia,serif;font-size:1.55rem;line-height:1.2;margin:0 0 10px}.card p{color:var(--muted)}.text-link{font-weight:800;color:var(--rose)}.next-event{display:grid;grid-template-columns:.7fr 1.3fr;background:var(--ink);color:#fff;border-radius:32px;overflow:hidden}.date-block{background:var(--rose);display:grid;place-items:center;padding:48px;text-align:center}.date-block strong{font-family:Georgia,serif;font-size:5rem;line-height:1}.event-copy{padding:48px}.event-copy h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);margin:.2rem 0 1rem}.event-details{display:flex;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.85);margin:20px 0 28px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.feature-panel{padding:45px;border-radius:32px;background:linear-gradient(135deg,#fff0f7,#e9fffd)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat{padding:24px;border-left:4px solid var(--turquoise)}.stat strong{font-family:Georgia,serif;font-size:2rem;display:block}.site-footer{background:var(--ink);color:#fff;padding:64px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer a{color:rgba(255,255,255,.86)}.site-footer h2,.site-footer h3{font-family:Georgia,serif;font-size:1.25rem}.site-footer address{font-style:normal;color:rgba(255,255,255,.86)}.social-links{display:flex;gap:16px;flex-wrap:wrap}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:20px;color:rgba(255,255,255,.72);font-size:.9rem}.page-hero{padding:80px 0;background:linear-gradient(135deg,#e9fffd,#fff0f7)}.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin:0}.content{padding:70px 0}.entry-content>*{max-width:760px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:1160px}.entry-content h2,.entry-content h3{font-family:Georgia,serif}.market-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0}.market-meta div{padding:18px;background:var(--cream);border-radius:16px}.market-meta small{display:block;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field--wide{grid-column:1/-1}.field input,.field textarea,.field select{font:inherit;padding:13px 15px;border:1px solid #8b9a9f;border-radius:12px;background:#fff}.notice{padding:14px 18px;border-radius:12px;background:#e8f8f4}.notice--error{background:#fff0f0}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.pagination{margin-top:40px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.brand-logo{max-height:64px;max-width:230px;width:auto}.market-poster{width:100%;max-height:760px;object-fit:contain;background:var(--cream);border-radius:24px;margin-bottom:36px}.card-poster{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:var(--cream)}.photo-gallery{columns:3 260px;column-gap:18px;margin-top:32px}.photo-gallery img{width:100%;margin:0 0 18px;border-radius:18px;break-inside:avoid;box-shadow:var(--shadow)}.site-nav .menu-item-has-children{position:relative}.site-nav .menu-item-has-children>a:after{content:"⌄";margin-left:6px}.site-nav .sub-menu{position:absolute;top:100%;left:-18px;min-width:250px;padding:14px 0;background:#fff;border-radius:16px;box-shadow:var(--shadow);display:block;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.site-nav .sub-menu li{width:100%}.site-nav .sub-menu a{display:block;padding:9px 18px}.site-nav .menu-item-has-children:hover>.sub-menu,.site-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
@media(max-width:900px){.nav-toggle{display:block}.site-nav{display:none;position:fixed;inset:84px 0 0;background:#fff;padding:30px;align-items:flex-start;flex-direction:column;overflow-y:auto}.nav-open .site-nav{display:flex}.site-nav ul{flex-direction:column;align-items:flex-start;font-size:1.2rem}.site-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:6px 0 6px 18px;font-size:1rem}.cards,.stats{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:35px}.next-event{grid-template-columns:1fr}.date-block{padding:30px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container,.narrow{width:min(100% - 28px,1160px)}.section{padding:62px 0}.hero{min-height:580px}.hero-content{padding:70px 0}.hero-meta{gap:10px;flex-direction:column}.cards,.stats,.footer-grid,.form-grid,.market-meta{grid-template-columns:1fr}.event-copy{padding:30px}.field--wide{grid-column:auto}.site-nav .button{width:100%}.header-inner{min-height:74px}.site-nav{inset:74px 0 0}}
.press-gallery{columns:3 260px;column-gap:18px;margin-top:32px}.press-gallery a{display:block;break-inside:avoid}.press-gallery img{width:100%;margin:0 0 18px;border-radius:18px;box-shadow:var(--shadow)}.podcast-player iframe{display:block;width:100%;border:0;border-radius:24px;background:var(--cream)}
.team-photo{margin:0;border-radius:32px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.team-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.team-photo figcaption{padding:12px 18px;text-align:center;color:var(--muted);font-size:.9rem}.city-carousel{position:relative;max-width:900px;margin:0 auto 58px;border-radius:28px;overflow:hidden;background:var(--ink);box-shadow:var(--shadow)}.carousel-slide{display:none;margin:0}.carousel-slide.is-active{display:block}.carousel-slide img{width:100%;aspect-ratio:16/9;object-fit:cover}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 5px 20px rgba(0,0,0,.2)}.carousel-button--prev{left:16px}.carousel-button--next{right:16px}.carousel-dots{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);display:flex;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(32,49,58,.65)}.carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.carousel-dots button.is-active{background:var(--rose);transform:scale(1.25)}
@media(max-width:620px){.city-carousel{margin-bottom:40px;border-radius:20px}.carousel-slide img{aspect-ratio:4/3}.carousel-button{width:38px;height:38px}.carousel-button--prev{left:10px}.carousel-button--next{right:10px}}
.entry-content .team-photo{max-width:760px;margin:1.5rem auto 2rem}.market-intro{max-width:820px;margin:0 auto 42px;text-align:center}.market-intro h2{font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3rem);margin:0 0 14px}.market-intro p{color:var(--muted);font-size:1.08rem}
.edition-result{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:28px;align-items:center;max-width:900px;margin:2rem auto;padding:28px;border-radius:24px;background:var(--cream)}.edition-result h3{margin-top:0}.edition-result figure{margin:0}.edition-result img{width:100%;border-radius:16px}.edition-result figcaption{text-align:center;color:var(--muted);font-size:.85rem;margin-top:8px}@media(max-width:700px){.edition-result{grid-template-columns:1fr}.edition-result figure{max-width:420px;margin:auto}}
.following-events{margin-top:34px}.following-events>h3{font-family:Georgia,serif;font-size:1.7rem}.following-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.following-grid article{padding:24px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.following-grid time{color:var(--turquoise);font-weight:800}.following-grid h4{font-family:Georgia,serif;font-size:1.35rem;margin:.4rem 0}.following-grid p{color:var(--muted);margin:.3rem 0 1rem}.application-note{max-width:760px;margin:0 auto 30px;padding:22px 25px;border-left:5px solid var(--turquoise);background:var(--cream);border-radius:0 16px 16px 0}.application-note h3{margin-top:0}.market-choices{border:1px solid #cad3d6;border-radius:16px;padding:18px}.market-choices legend{font-weight:800;padding:0 8px}.market-choices label{display:flex;align-items:flex-start;gap:10px;margin:8px 0}.consent label{display:flex;align-items:flex-start;gap:10px}.field small{color:var(--muted)}@media(max-width:620px){.following-grid{grid-template-columns:1fr}}
.privacy-summary{padding:15px 18px;border-radius:14px;background:#f3f7f7;color:var(--muted);font-size:.9rem}.privacy-summary p{margin:0}.privacy-summary a,.embed-notice a{text-decoration:underline;color:var(--rose)}.embed-notice{text-align:center;color:var(--muted);font-size:.85rem;margin-top:10px}
.press-library{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.press-item{overflow:hidden;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.press-visual{display:grid;place-items:center;aspect-ratio:4/5;background:var(--cream);overflow:hidden}.press-visual img{width:100%;height:100%;object-fit:cover;object-position:top}.press-pdf{display:grid;place-items:center;width:110px;height:140px;border-radius:12px;background:var(--rose);color:#fff;font-size:1.6rem;font-weight:900}.press-copy{padding:20px}.press-copy h3{font-family:Georgia,serif;font-size:1.25rem;line-height:1.25;margin:.4rem 0}.press-copy time{color:var(--muted);font-size:.9rem}@media(max-width:900px){.press-library{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.press-library{grid-template-columns:1fr}}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.partner-card{padding:26px;border-radius:22px;background:#fff;box-shadow:var(--shadow);text-align:center}.partner-card>a:first-child{display:grid;place-items:center;min-height:170px}.partner-card img{width:auto;max-width:100%;max-height:150px;object-fit:contain;margin:auto}.partner-card h3{font-family:Georgia,serif;font-size:1.35rem;margin:18px 0 8px}.partner-card p{color:var(--muted)}.partner-placeholder{display:grid;place-items:center;min-height:150px;width:100%;border-radius:16px;background:linear-gradient(135deg,#e9fffd,#fff0f7);font-family:Georgia,serif;font-size:1.25rem}.partner-card .text-link{display:inline-block;margin-top:8px}@media(max-width:900px){.partners-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.partners-grid{grid-template-columns:1fr}}
.contest-intro{text-align:center;margin-bottom:42px}.contest-intro .lead{margin-left:auto;margin-right:auto}.contest-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:60px}.contest-steps article{padding:26px;border-radius:22px;background:var(--cream)}.contest-steps strong{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--turquoise);color:#fff;font-size:1.25rem}.contest-steps h3{font-family:Georgia,serif;font-size:1.35rem}.contest-winners{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-top:55px;padding:34px;border-radius:28px;background:linear-gradient(135deg,#e9fffd,#fff0f7)}.contest-winners ol{padding-left:1.3rem}.contest-winners li{margin:10px 0}.contest-winners figure{margin:0}.contest-winners img{border-radius:20px}.contest-winners figcaption{text-align:center;color:var(--muted);font-size:.85rem;margin-top:8px}.contest-cta{text-align:center;margin-top:55px;padding:35px;border-radius:24px;background:var(--cream)}@media(max-width:800px){.contest-steps,.contest-winners{grid-template-columns:1fr}}
.contest-editions{display:grid;gap:28px;margin-top:34px}.contest-edition{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:30px;padding:32px;border-radius:28px;background:#fff;box-shadow:var(--shadow);border-top:5px solid var(--turquoise)}.contest-edition:nth-child(even){border-top-color:var(--rose)}.contest-edition h3{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem);margin:.35rem 0 1rem}.contest-edition-copy>*:last-child{margin-bottom:0}.contest-voting{padding:14px 17px;border-radius:14px;background:var(--cream)}.contest-edition-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}.contest-edition-photos a:first-child:nth-last-child(1){grid-column:1/-1}.contest-edition-photos img{width:100%;height:180px;object-fit:cover;border-radius:16px}.contest-edition-photos a:first-child:nth-last-child(1) img{height:auto;max-height:390px}@media(max-width:800px){.contest-edition{grid-template-columns:1fr;padding:24px}.contest-edition-photos img{height:150px}}
@media(max-width:620px){
  .container,.narrow{width:calc(100% - 44px)}
  .entry-content>.alignwide{width:100%}
  .entry-content p,.entry-content li{overflow-wrap:anywhere}
  .site-nav{top:74px;right:0;bottom:auto;left:0;height:calc(100dvh - 74px);min-height:calc(100vh - 74px);padding:20px 22px 40px;gap:14px;z-index:100;overscroll-behavior:contain}
  .site-nav>ul{width:100%;gap:0}
  .site-nav>ul>li{width:100%;border-bottom:1px solid rgba(32,49,58,.08)}
  .site-nav>ul>li>a{display:block;width:100%;padding:10px 2px}
  .site-nav .sub-menu{width:100%;padding:0 0 8px 16px}
  .site-nav .sub-menu a{padding:7px 2px}
  .site-nav>.button{flex:0 0 auto;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:hover{transform:none}}
.card h2{font-family:Georgia,serif;font-size:1.55rem;line-height:1.2;margin:0 0 10px}
/* Marges de lecture uniformes pour les pages dont le contenu n'est pas enveloppé dans .container. */
.entry-content>*{width:min(760px,calc(100% - 40px))}
.entry-content>.alignwide{width:min(1160px,calc(100% - 40px))}
.hero{background-size:cover;background-position:center}.hero--photo{background-color:var(--ink)}.card-media--photo{background-size:cover;background-position:center;text-shadow:0 2px 16px rgba(0,0,0,.7)}
@media (min-width:621px) and (max-width:900px){
  .site-nav{top:84px;right:0;bottom:auto;left:0;height:calc(100dvh - 84px);min-height:calc(100vh - 84px);padding:24px 30px 44px;gap:16px;z-index:100;overscroll-behavior:contain}
  .site-nav>ul{width:100%;gap:0}
  .site-nav>ul>li{width:100%;border-bottom:1px solid rgba(32,49,58,.08)}
  .site-nav>ul>li>a{display:block;width:100%;padding:11px 2px}
  .site-nav .sub-menu{width:100%;padding:0 0 9px 18px}
  .site-nav .sub-menu a{padding:8px 2px}
  .site-nav>.button{flex:0 0 auto;margin-top:4px}
}
@media(max-width:620px){
  .entry-content>*,.entry-content>.alignwide{width:calc(100% - 44px)}
}
.date-block--range strong{font-size:clamp(1.65rem,3.2vw,2.8rem);line-height:1.15;max-width:320px}
