/*
Theme Name: Téléthon Lempdes-sur-Allagnon 2026
Author: Collectif associatif du Téléthon
Description: Thème en blocs avec affiche d'accueil et pages modifiables par activité.
Version: 1.1.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: telethon-lempdes
*/
:root{--purple:#7b165c;--dark:#30152f;--yellow:#ffe66b;--paper:#fffaf0;--pink:#f7d6e8}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--dark)}
a{color:var(--purple)}
.site-shell{max-width:1160px;margin-left:auto!important;margin-right:auto!important;padding-left:24px;padding-right:24px}
.site-top{background:var(--dark);color:white;padding:13px 0}
.site-top .top-inner{gap:20px}
.site-top p{margin:0}
.site-top a{color:white;text-decoration:none;font-weight:700}
.site-top a:hover,.site-top a:focus{text-decoration:underline}
.brand{font-size:1.02rem;letter-spacing:.02em}
.brand span{font-size:.8rem;margin-left:5px}
.poster{background:var(--yellow);margin:0}
.poster figure{margin:0}
.poster img{display:block;width:100%;max-width:1440px;height:auto;margin:0 auto}
.welcome{text-align:center;padding-top:56px;padding-bottom:50px}
.eyebrow{font-size:.86rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin:0 0 12px}
.welcome h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.06;max-width:920px;margin:0 auto 16px;color:var(--purple)}
.welcome p:not(.eyebrow){font-size:1.18rem;max-width:690px;margin:0 auto}
.program{padding-bottom:74px}
.program h2{font-size:clamp(1.9rem,3vw,2.8rem);margin:0 0 25px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.card{position:relative;border-radius:22px;min-height:250px;padding:29px;background:#fff;border:2px solid #eadce4;box-shadow:0 10px 27px #30152f0b;display:flex;flex-direction:column}
.card.spotlight{background:var(--purple);color:#fff;border-color:var(--purple)}
.card.dinner{background:#fff1b6;border-color:#eedc83}
.card.friday{background:#fff7fa}
.card.sunday{background:#f7f1ff}
.card-date{text-transform:uppercase;font-weight:900;letter-spacing:.07em;font-size:.82rem;color:var(--purple);margin:0 0 16px}
.card.spotlight .card-date{color:var(--yellow)}
.card h3{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.1;margin:0 0 12px}
.card p{margin-top:0}
.card p:last-child{margin-top:auto;margin-bottom:0;padding-top:16px}
.card-link{display:inline-flex;align-items:center;gap:12px;font-weight:900;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:4px}
.card-link::after{content:"";position:absolute;inset:0}
.card:focus-within{outline:3px solid var(--dark);outline-offset:3px}
.card.spotlight .card-link{color:var(--yellow)}
.card-link:hover,.card-link:focus{gap:19px}
.home-note{background:var(--yellow);padding:28px 24px;text-align:center}
.home-note p{margin:0 auto;max-width:800px;font-weight:650}
.page-shell{padding-top:38px;padding-bottom:88px}
.page-shell .wp-block-post-content{max-width:900px;margin:0 auto}
.backlink{max-width:900px;margin:0 auto 22px}
.backlink a{font-weight:800;text-decoration:none}
.page-shell h1{font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.05;color:var(--purple);margin:0 0 18px}
.page-shell h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:40px 0 12px}
.lead{font-size:1.32rem;line-height:1.5;margin:0 0 30px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}
.facts p{background:white;border:2px solid #eadce4;border-radius:16px;padding:19px;margin:0}
.facts strong{font-size:1.35rem;color:var(--purple)}
.schedule{margin:30px 0}
.schedule p{margin:0;padding:16px 18px;border-bottom:1px solid #e7d4df;background:white}
.schedule p:first-child{border-radius:16px 16px 0 0}
.schedule p:last-child{border:0;border-radius:0 0 16px 16px}
.schedule strong{display:inline-block;min-width:90px;color:var(--purple)}
.info-panel{background:#fff1b6;border-left:5px solid var(--purple);border-radius:0 12px 12px 0;padding:18px 20px}
.fitness-emblem{width:min(100%,420px);height:140px;background:url('assets/lempdes-fitness-embleme.svg') left center/contain no-repeat;margin:26px 0}
.site-footer{background:var(--dark);color:white;padding:28px 0}
.site-footer a{color:white}
.site-footer p{margin:0}
.small-note{font-size:.9rem;opacity:.9}
@media(max-width:700px){.site-shell{padding-left:18px;padding-right:18px}.site-top .top-inner{justify-content:center!important;flex-wrap:wrap;text-align:center}.welcome{padding-top:40px;padding-bottom:37px}.cards{grid-template-columns:1fr}.card{min-height:220px}.program{padding-bottom:50px}.facts{grid-template-columns:1fr}.page-shell{padding-top:26px}.schedule strong{min-width:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
