/* site.css — footer multi-colonnes + teaser agenda */

/* ---------- FOOTER ---------- */
.foot{background:var(--sand-deep);border-top:1px solid var(--line);padding:56px 0 30px;color:var(--ink);position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:32px}
.foot-brand{max-width:320px}
.foot-logo{display:block;width:170px;height:74px;background-repeat:no-repeat;background-position:left center;background-size:contain;margin-bottom:16px}
.foot-blurb{color:var(--ink-soft);font-size:.92rem;line-height:1.6;margin:0}
.foot-col h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
.foot-col nav{display:flex;flex-direction:column;gap:11px}
.foot-col a{color:var(--ink-2);font-size:.95rem;text-decoration:none;transition:.15s;display:inline-flex;align-items:center;gap:8px}
.foot-col a svg{width:16px;height:16px;opacity:.85}
.foot-col a:hover{color:var(--gold)}
.foot-bottom{margin-top:44px;padding-top:20px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1;max-width:none}}

/* ---------- AGENDA (teaser accueil) ---------- */
.ag-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.ag-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.ag-search .field{background:rgba(0,0,0,.18);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:11px 16px;font-family:var(--body);font-size:.92rem}
.ag-search .ag-q{flex:1;min-width:200px}
.ag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.ag-card{display:flex;gap:14px;align-items:center;background:rgba(0,0,0,.16);border:1px solid var(--line-soft);border-radius:14px;padding:13px 15px;text-decoration:none;color:var(--ink);transition:.15s}
.ag-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.ag-date{flex:none;width:58px;text-align:center;font-family:var(--display);line-height:1;text-transform:uppercase}
.ag-date .d{font-size:1.7rem;color:var(--gold)}
.ag-date .m{font-size:.66rem;letter-spacing:.12em;color:var(--ink-soft)}
.ag-info{min-width:0;flex:1}
.ag-name{font-weight:700;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-place{font-size:.82rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-flag{flex:none;font-size:.7rem;letter-spacing:.08em;color:var(--gold);border:1px solid var(--line-soft);border-radius:6px;padding:3px 7px;text-transform:uppercase}
.ag-more{margin-top:24px;text-align:center}
.ag-more a{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#3a0a0b;font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:1.05rem;padding:14px 26px;border-radius:999px;text-decoration:none;transition:.2s}
.ag-more a:hover{background:#fff}
.ag-empty{color:var(--ink-soft);padding:20px 0}

/* ---------- HERO : logo bien plus grand + mobile propre ---------- */
.hero-head>.li-hero{width:clamp(220px,32vw,520px) !important}
@media(max-width:760px){
  .hero-head{grid-template-columns:1fr !important;justify-items:center;text-align:center}
  .hero-head>.li-hero{grid-column:1 !important;grid-row:1 !important;justify-self:center;width:min(74vw,300px) !important;margin-bottom:6px}
  .hero-head>h1{grid-column:1 !important;grid-row:2 !important;max-width:none}
  .hero-head>.sig{grid-column:1 !important;grid-row:3 !important}
  .hero-head>.sub{grid-column:1 !important;grid-row:4 !important;max-width:34ch}
}
/* grand titre qui remplit l'espace du logo */
.hero-head>h1{max-width:none !important;font-size:clamp(30px,4.6vw,62px) !important;line-height:1.04}
.hero-head>.sig{margin-top:18px}
.hero-head>.sig a{color:var(--gold);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--gold) 60%,transparent);transition:.15s}
.hero-head>.sig a:hover{color:#fff;border-color:#fff}

/* ---------- bouton « voir tout » générique ---------- */
.see-all{margin-top:24px;text-align:center}
.see-all a{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#3a0a0b;font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:1.05rem;padding:14px 26px;border-radius:999px;text-decoration:none;transition:.2s}
.see-all a:hover{background:#fff}

/* ---------- en-tête commun aux pages dédiées ---------- */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--sand) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.sh-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding-top:8px;padding-bottom:8px}
.sh-brand{display:flex;align-items:center;flex:none}
.sh-logo{display:block;width:132px;height:50px;background-repeat:no-repeat;background-position:left center;background-size:contain}
.sh-menu{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.sh-link{font-size:.9rem;color:var(--ink-2);text-decoration:none;padding:8px 12px;border-radius:999px;transition:.15s;white-space:nowrap}
.sh-link:hover{color:var(--ink);background:rgba(0,0,0,.14)}
.sh-link.active{background:var(--gold);color:#3a0a0b}
@media(max-width:640px){.sh-logo{width:100px;height:42px}.sh-link{font-size:.8rem;padding:7px 9px}.sh-link .em{display:none}}

/* image optionnelle à droite d'un bloc (pochette CD, visuel agenda…) — vide = bloc inchangé */
.mod-sidehead.has-img{display:grid;grid-template-columns:1fr minmax(190px,300px);gap:28px;align-items:center;margin-bottom:8px}
.msh-media{align-self:center}
.msh-media a{display:block}
.msh-img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,0,0,.28)}
@media(max-width:760px){ .mod-sidehead.has-img{grid-template-columns:1fr;gap:14px} .msh-media{max-width:240px;margin:0} }
