/* CIVITAS ESPORT — revue d'interface, 2026-11. Feuille unique de surcharge. */
:root { --civitas-edge: rgba(151,181,255,.24); }
/* Page d'entrée : scène vidéo, contraste et fallback poster */
.portal-page { background: #03071b; }
.portal-video-scene { position:fixed; inset:0; z-index:-1; overflow:hidden; background:linear-gradient(180deg,rgba(3,7,27,.40),rgba(2,5,23,.88)),url('../images/Ville-de-Corte-corse.jpg') center/cover no-repeat; pointer-events:none; }
.portal-video-scene::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,5,23,.64),rgba(2,5,23,.48) 46%,rgba(2,5,23,.86)),radial-gradient(ellipse at 50% 40%,transparent 10%,rgba(3,7,27,.42)); }
.portal-background-video { display:block;position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center;filter:saturate(.85) brightness(.78); }
.portal-shell { isolation:isolate;z-index:1; }
.portal-link { background:rgba(4,8,32,.75);backdrop-filter:blur(6px); }
.portal-link--primary { background:linear-gradient(100deg,rgba(18,54,238,.94),rgba(58,34,214,.94)); }
/* Écran d'ouverture : aucun blocage si le JavaScript est désactivé */
.civitas-loader {display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 85%,#12269f 0%,#081341 46%,#030719 90%);color:white;opacity:1;transition:opacity .38s ease,visibility .38s ease;}
.js .civitas-loader {display:flex;}
.civitas-loader.is-hidden {opacity:0;visibility:hidden;pointer-events:none;}
.civitas-loader__inner {display:flex;flex-direction:column;gap:23px;width:min(300px,90vw);text-align:center;align-items:center;}
.civitas-loader__inner img {display:block;width:clamp(110px,25vw,175px);height:auto;max-height:150px;object-fit:contain;filter:drop-shadow(0 0 36px rgba(58,100,255,.35));}
.civitas-loader__line {display:block;width:min(220px,75vw);height:3px;overflow:hidden;background:rgba(255,255,255,.13);border-radius:4px;}
.civitas-loader__line>span {display:block;width:40%;height:100%;background:#7f9bff;box-shadow:0 0 20px #5378ff;animation:civitas-loader-slide 1.2s ease-in-out infinite alternate;}
.civitas-loader__motto {font:700 12px/1.5 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.24em;color:#c2d2ff;}
@keyframes civitas-loader-slide {from{transform:translateX(-100%)}to{transform:translateX(350%)}}
/* Notre histoire */
.civitas-story {border-top:1px solid rgba(121,149,255,.13);padding-block:clamp(62px,8vw,120px);}
.civitas-story__grid {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:clamp(28px,5vw,96px);}
.civitas-story__visual {position:relative;isolation:isolate;overflow:hidden;min-height:clamp(310px,41vw,510px);clip-path:polygon(0 0,96% 0,100% 6%,100% 100%,4% 100%,0 94%);background:linear-gradient(150deg,#0d1e60,#040a27);box-shadow:0 28px 65px #01030d70;}
.civitas-story__visual::after {content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(5,13,50,.18),rgba(3,9,35,.2) 55%,rgba(20,55,170,.52));z-index:0;}
.civitas-story__visual img {height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:center;}
.civitas-story__seal {position:absolute;bottom:22px;left:26px;z-index:1;background:rgba(4,9,32,.75);padding:10px 17px;font:700 16px 'Barlow Condensed',sans-serif;letter-spacing:.23em;border-left:3px solid #5e86ff;}
.civitas-story__seal span {color:#5e86ff;}
.civitas-story__copy .section-title {font-size:clamp(2.8rem,5vw,5.7rem);line-height:.98;max-width:660px;}
.civitas-story__copy>p:not(.section-kicker){color:#cbd5ef;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.8;max-width:650px;}
.civitas-story__actions {display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:30px;}
.civitas-story__actions>span {font:700 .78rem 'Barlow Condensed',sans-serif;letter-spacing:.13em;color:#9db6fa;}
/* Réseaux */
.civitas-follow {padding-block:clamp(60px,7vw,100px);background:linear-gradient(180deg,rgba(4,10,48,.4),rgba(13,26,91,.4));}
.civitas-follow__intro {color:#c7d4fa;max-width:700px;font-size:1.07rem;line-height:1.7;margin:-5px 0 30px;}
.civitas-social-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.civitas-social-card {display:flex;min-width:0;flex-direction:column;gap:9px;min-height:248px;padding:28px;position:relative;overflow:hidden;border:1px solid var(--civitas-edge);background:linear-gradient(145deg,rgba(23,47,130,.7),rgba(4,11,49,.92));}
.civitas-social-card::before {content:"";position:absolute;top:0;left:0;height:3px;width:34%;background:#476dff;}
.civitas-social-card__top {display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:40px;}
.civitas-social-card__icon {display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.07);color:#fff;font:700 20px 'Barlow Condensed',sans-serif;}
.civitas-social-card h3 {font:700 clamp(1.6rem,2.3vw,2.4rem)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:12px 0 0;}
.civitas-social-card p {color:#c4cdee;line-height:1.5;margin:0 0 18px;flex:1;}
.civitas-social-card__link {display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.13);padding-top:13px;text-decoration:none;color:#fff;font-weight:700;}
.civitas-social-card__link:hover {color:#9fb7ff;}
.civitas-social-card__soon {color:#98a9d1;font-size:.85rem;}
.civitas-live-indicator:not([hidden]) {display:inline-flex;align-items:center;gap:7px;color:#fff;background:#db2849;border-radius:3px;padding:7px 9px;font:700 11px 'Barlow Condensed',sans-serif;letter-spacing:.06em;white-space:nowrap;}
.civitas-live-indicator i {width:7px;height:7px;border-radius:50%;background:white;box-shadow:0 0 0 4px #ffffff32;animation:civitas-live-pulse 1.4s ease-in-out infinite;}
@keyframes civitas-live-pulse{50%{opacity:.45;transform:scale(.7)}}
/* Partenaires */
.partners-hero {position:relative;isolation:isolate;overflow:hidden;}
.partners-hero::before {content:"";position:absolute;inset:0 -5vw 0 25%;background:url('../images/Ville-de-Corte-corse.jpg') center/cover no-repeat;opacity:.13;filter:grayscale(.5);z-index:-1;mask-image:linear-gradient(to right,transparent 0%,black 70%);}
.partners-mission {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--civitas-edge);}
.partners-mission__item {padding:26px 30px;background:rgba(10,23,74,.52);border-left:2px solid rgba(79,120,255,.72);}
.partners-mission__item span {display:block;font:700 .8rem 'Barlow Condensed',sans-serif;letter-spacing:.15em;color:#8cafff;text-transform:uppercase;margin-bottom:15px;}
.partners-mission__item strong {display:block;font:700 clamp(1.5rem,2.3vw,2rem)/1.2 'Barlow Condensed',sans-serif;text-transform:uppercase;}
.partners-mission__item p {color:#c3cee8;line-height:1.7;margin-bottom:0;}
.partners-editorial-grid {align-items:stretch;}
.partner-card {transition:border-color .3s,transform .3s,background .3s;}
.partner-card:hover {border-color:#577dff;background:linear-gradient(145deg,rgba(22,43,122,.85),rgba(4,8,36,.97));transform:translateY(-3px);}
.partners-approach {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,100px);border-top:1px solid var(--civitas-edge);padding-top:65px;padding-bottom:62px;}
.partners-approach h2 {font:700 clamp(2.5rem,4vw,4.7rem)/1.05 'Barlow Condensed',sans-serif;margin:13px 0;text-transform:uppercase;}
.partners-approach p {font-size:1.06rem;line-height:1.8;color:#c7d3ed;margin:0 0 12px;}
/* Navigation : une seule logique pour mobile et tablette */
@media(max-width:1050px) {
 .site-header {z-index:999;}
 .header-inner {display:flex;flex-wrap:nowrap;align-items:center;min-height:var(--header-h,80px);height:auto;gap:10px;padding:0 0;position:relative;}
 .header-brand {flex:0 0 auto;min-width:0;margin-right:auto;}
 .header-tools {display:flex;gap:8px;align-items:center;flex:0 0 auto;margin:0;order:2;}
 .menu-toggle {order:3;position:relative;z-index:4;flex:none;}
 .site-header .main-navigation {position:absolute;left:0;right:0;top:100%;width:100%;margin:0;padding:8px 16px max(28px,env(safe-area-inset-bottom));border:1px solid var(--civitas-edge);background:rgba(4,9,34,.985);backdrop-filter:blur(20px);height:auto;max-height:calc(100dvh - var(--header-h,80px) - 8px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 32px 50px rgba(0,0,0,.52);display:none;flex-direction:column;align-items:stretch;gap:0;}
 .site-header.menu-open .main-navigation {display:flex;}
 .site-header .main-navigation .nav-dropdown {position:static;width:100%;}
 .site-header .main-navigation .nav-dropdown>.nav-trigger,.site-header .main-navigation>.nav-link {width:100%;min-height:54px;max-width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;white-space:normal;}
 .site-header .main-navigation .dropdown-panel {position:static!important;width:100%;height:auto;max-height:none!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;box-shadow:none!important;margin:0!important;display:none!important;background:rgba(18,36,100,.55);border:1px solid rgba(115,144,247,.2);padding:6px;border-radius:0;overflow:visible!important;}
 .site-header .main-navigation .nav-dropdown.is-open>.dropdown-panel {display:block!important;}
 .site-header .main-navigation .dropdown-panel a {min-height:48px;padding:12px 16px;}
 .site-header .main-navigation .nav-dropdown>.nav-trigger[aria-expanded=true] svg {transform:rotate(180deg);}
 .site-header .header-tools .language-dropdown .dropdown-panel {position:absolute;top:100%;right:52px;left:auto;min-width:170px;max-width:min(85vw,220px);z-index:1010;}
 body.civitas-nav-lock {overflow:hidden;touch-action:pan-y;}
}
@media(max-width:720px) {
 .civitas-story__grid,.partners-approach {grid-template-columns:1fr;}
 .civitas-story__visual {min-height:clamp(250px,62vw,440px);}
 .civitas-social-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .partners-mission {grid-template-columns:1fr;}
 .partners-mission__item {padding:22px 24px;}
 .civitas-story__actions>span {width:100%;}
}
@media(max-width:470px) {
 .civitas-social-grid {grid-template-columns:1fr;}
 .civitas-social-card {min-height:175px;padding:23px;}
 .civitas-story__copy .section-title {font-size:clamp(2.5rem,10vw,3.65rem);}
 .site-header .header-inner {width:calc(100% - 24px);}
 .site-header .header-brand img {max-width:90px;}
 .site-header .header-tools {gap:4px;}
 .portal-video-scene {background-position:center;}
}
@media(prefers-reduced-motion:reduce) {
 .portal-background-video {display:none;}
 .civitas-loader__line>span,.civitas-live-indicator i {animation:none;}
 .partner-card {transition:none;}
}
