
/* NIF unified finishing: shared footer/chrome and all inside pages. */
:root{--brand-navy:#14345c;--brand-red:#b72430;--brand-ink:#253b58;--brand-muted:#63748a;--brand-surface:#f6f8fb;--brand-border:#e2e8f0}
/* Home hero uses the user's chosen image. Core dimensions/columns stay untouched. */
.hero{background-image:url('../assets/hero.webp');background-position:center 48%}
.hero h1{max-width:720px}
/* Common page refinements beyond existing interior templates */
main:is(.profile-layout,.interior,.social-layout,.directory-shell,.agenda-shell){color:var(--brand-ink)}
main:is(.profile-layout,.interior,.social-layout,.directory-shell,.agenda-shell) button,main:is(.profile-layout,.interior,.social-layout,.directory-shell,.agenda-shell) input,main:is(.profile-layout,.interior,.social-layout,.directory-shell,.agenda-shell) select,main:is(.profile-layout,.interior,.social-layout,.directory-shell,.agenda-shell) textarea{font-family:inherit}
main:is(.profile-layout,.interior,.social-layout,.directory-shell,.agenda-shell) :is(a,button,input,select,textarea):focus-visible{outline:3px solid #bb3944;outline-offset:3px}
main.profile-layout{width:min(1100px,100%);margin-inline:auto;padding-inline:18px;padding-bottom:75px}
main.profile-layout .profile-shell{border-radius:17px;overflow:hidden;box-shadow:0 12px 35px rgba(16,45,84,.07)}
.site-footer{border-top:1px solid var(--brand-border)}
.footer-news .footer-france{font-size:19px;opacity:.95}
.footer-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:9px 21px;justify-content:space-between;min-height:58px}
.footer-bottom>span{float:none}.footer-signature{margin-left:auto;font-size:12px!important;color:#2f4d70;font-weight:600;white-space:nowrap}.footer-signature strong{color:var(--brand-red);font-size:15px}
.footer-credit{color:#375675!important;font-weight:700;font-size:11px;text-decoration:none}.footer-credit:hover{text-decoration:underline}
.footer-news a{color:var(--brand-red);text-decoration:underline}
.back-to-top{position:fixed;z-index:98;right:22px;bottom:20px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #d8e1eb;background:#fff;color:var(--brand-navy);box-shadow:0 9px 28px rgba(12,40,75,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s,transform .18s,visibility .18s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--brand-navy);color:#fff}.back-to-top svg{width:21px;height:21px}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
/* Agenda listings and submission */
.agenda-shell{min-height:65vh;background:var(--brand-surface);padding:34px 17px 80px}
.agenda-container{width:min(1130px,100%);margin:0 auto}.agenda-eyebrow{color:#b72430;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;margin:0 0 11px}
.agenda-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.agenda-heading h1{font:700 clamp(32px,4vw,48px)/1.14 Georgia,serif;color:var(--brand-navy);margin:0 0 9px}.agenda-heading p{line-height:1.7;color:#536981;margin:0;max-width:700px}
.agenda-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;min-height:45px;padding:12px 18px;background:var(--brand-red);color:#fff!important;font-weight:700;text-decoration:none;border:1px solid var(--brand-red);cursor:pointer}.agenda-btn:hover{background:#97212a}.agenda-btn.secondary{color:var(--brand-navy)!important;background:white;border-color:#d6dfe9}
.agenda-panel,.agenda-card{background:white;border:1px solid var(--brand-border);border-radius:15px;box-shadow:0 9px 27px rgba(21,50,83,.045)}.agenda-panel{padding:clamp(17px,2.6vw,29px);margin-bottom:22px}
.agenda-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.agenda-month{display:flex;align-items:center;gap:15px}.agenda-month strong{font-size:19px;color:var(--brand-navy)}.agenda-month a{display:grid;place-items:center;padding:8px 13px;border:1px solid #d7e0ea;border-radius:8px;min-height:42px;background:white}
.agenda-filters{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end}.agenda-filters label{font-size:12px;font-weight:750;color:var(--brand-navy)}.agenda-filters input{display:block;width:min(220px,100%);min-height:43px;padding:9px 12px;border:1px solid #ced8e5;border-radius:8px;margin-top:5px}
.agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:19px}.agenda-weekday{text-align:center;color:#5d7086;font-weight:800;font-size:12px;padding:6px}.agenda-day{border-radius:9px;border:1px solid #e9eef3;background:#fbfcfe;min-height:64px;padding:9px;color:#40556f;text-align:left}.agenda-day.is-outside{color:#c1cbd5;background:#fff}.agenda-day.is-today{border-color:#ac2733;background:#fff6f6}.agenda-day.has-events{background:#eef5fa}.agenda-day b{display:block;font-size:13px}.agenda-day span{display:block;margin-top:5px;color:#ac2330;font-size:10px;font-weight:750}
.agenda-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.agenda-card{padding:22px;display:flex;flex-direction:column;gap:10px}.agenda-date{color:#b72430;font-size:12px;letter-spacing:.03em;font-weight:800}.agenda-card h2{font:700 22px/1.25 Georgia,serif;color:var(--brand-navy);margin:0}.agenda-card p{margin:0;color:#566981;font-size:14px;line-height:1.7}.agenda-card a{color:var(--brand-red);font-weight:700}.agenda-empty{grid-column:1/-1;background:#fff;border:1px solid #e2e8ef;border-radius:14px;padding:36px;text-align:center;color:#536881}.agenda-empty h2{color:var(--brand-navy);font-family:Georgia,serif}
.agenda-form{max-width:730px}.agenda-form .form-row{margin-bottom:17px}.agenda-form label{display:block;font-size:13px;font-weight:700;color:var(--brand-navy);margin-bottom:7px}.agenda-form input,.agenda-form select,.agenda-form textarea{width:100%;min-height:44px;border:1px solid #cdd7e2;border-radius:8px;padding:10px 12px;color:#203855;background:#fff}.agenda-form textarea{min-height:130px}.agenda-form .helptext{display:block;margin-top:4px;color:#62758c;font-size:12px}.agenda-form .errorlist{padding:9px 13px;color:#a52735;background:#fff1f1;border-radius:8px}.agenda-detail{max-width:820px;margin:auto}.agenda-detail h1{font:700 clamp(29px,4vw,43px)/1.18 Georgia,serif;color:var(--brand-navy)}.agenda-detail p{font-size:15px;line-height:1.8;color:#53657b}
@media(max-width:760px){.agenda-results{grid-template-columns:1fr}.agenda-day{min-height:48px;padding:5px}.agenda-day span{font-size:9px}.footer-signature{margin-left:0}.hero{background-position:62% center}.agenda-month strong{font-size:16px}}
@media(max-width:480px){.agenda-day{min-height:38px}.agenda-weekday{font-size:10px}.agenda-day b{font-size:11px}.agenda-panel{padding:14px}.back-to-top{right:13px;bottom:14px;width:42px;height:42px}}
