:root{--red:#2878b9;--navy:#173d68;--text:#151b25;--muted:#66707d;--border:#e6e8eb;--shadow:0 5px 24px #12233c12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fafbfc}a{text-decoration:none;color:inherit}button{font:inherit}.header{background:#fff;box-shadow:0 2px 12px #0000000a;position:sticky;top:0;z-index:10}.header-inner{max-width:1600px;margin:auto;padding:10px 28px;min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;min-width:0}.brand img{width:182px;height:90px;object-fit:contain;mix-blend-mode:multiply}.brand-text strong{display:block;font-size:clamp(23px,2.7vw,46px);letter-spacing:-2px;line-height:1;font-weight:900;white-space:nowrap}.brand-text strong span,.footer-brand span{color:var(--red)}.brand-text small{font-size:clamp(9px,.86vw,14px);letter-spacing:4px;display:block;margin-top:8px;white-space:nowrap}.header nav{display:flex;align-items:center;gap:2px}.header nav a{font-size:14px;font-weight:700;padding:15px 12px;border-radius:6px}.header nav a:hover,.header nav a.active{background:var(--red);color:white}.mobile-menu{display:none;border:0;background:#fff;font-size:26px}.hero{position:relative;height:405px;background-image:url('assets/terrain-chrono.jpg');background-size:cover;background-position:center 50%;display:flex;justify-content:center;align-items:center;overflow:hidden;color:white;text-align:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a122330,#0007 30%,#0008 65%,#0a12232b)}.hero-content{position:relative;z-index:1;text-shadow:0 2px 9px #0009}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700}.hero h1{font-size:clamp(36px,4.2vw,58px);margin:6px 0 3px;letter-spacing:-1px}.hero h2{font-size:clamp(19px,2.2vw,30px);margin:0}.hero p:not(.eyebrow){font-size:17px;line-height:1.5}.hero-actions{display:flex;justify-content:center;gap:18px;margin-top:23px}.btn{padding:15px 23px;border-radius:12px;font-weight:700;display:inline-block;text-shadow:none;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.btn-red{background:var(--red);color:#fff}.btn-white{background:#fff;color:#111}.chrono{position:absolute;z-index:1;bottom:28px;right:20%;width:100px;height:100px;filter:drop-shadow(1px 3px 4px #0008)}.chrono-face{height:94px;width:94px;border:9px solid #26313b;border-radius:50%;background:repeating-conic-gradient(#293540 0 1.2deg,#fafafa 1.2deg 6deg);box-shadow:inset 0 0 0 11px #fff;position:relative}.chrono-top{position:absolute;top:-13px;left:34px;background:#293540;width:28px;height:17px;border-radius:4px}.chrono-hand{position:absolute;left:38px;top:13px;width:3px;height:30px;background:#20252a;transform:rotate(-4deg);transform-origin:bottom}.chrono-center{position:absolute;top:40px;left:38px;width:7px;height:7px;background:#20252a;border-radius:50%}.benefits{display:grid;grid-template-columns:repeat(4,1fr);max-width:1600px;margin:auto;background:#fff;padding:20px 25px;gap:14px}.benefit{display:flex;align-items:center;justify-content:center;gap:16px;border-right:1px solid #d9dce1}.benefit:last-child{border:0}.benefit-icon{font-size:38px;color:var(--red);line-height:1}.benefit b{display:block;font-size:15px}.benefit small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.content-grid{max-width:1600px;margin:20px auto 35px;padding:0 22px;display:grid;grid-template-columns:42% minmax(0,1fr);gap:22px}.panel,.solution-card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:9px;overflow:hidden}.events-header{background:var(--red);color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.events-header h2{margin:0;font-size:20px}.events-header a{border:1px solid #fff8;border-radius:6px;padding:7px 10px;font-size:12px}.events-list{padding:0 17px}.event{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #e7e9ed}.event:last-child{border-bottom:0}.event-mark{height:65px;width:65px;border-radius:50%;background:#f4f6f8;color:#121e31;display:grid;place-items:center;font-size:28px;border:1px solid #e2e5e9}.event-date{color:#7a818a;font-size:12px}.event-title{font-size:15px;font-weight:800;margin:4px 0}.event-location{font-size:12px;color:var(--muted)}.event-btn{border:1px solid var(--red);border-radius:6px;background:var(--red);color:white;font-size:12px;font-weight:bold;padding:10px 11px;white-space:nowrap}.event-btn:disabled{border-color:#d6dbe1;background:#f3f5f7;color:#66717d;cursor:not-allowed}.events-foot{padding:15px;color:#68717c;font-size:12px;background:#f7f8fa;line-height:1.5}.section-heading{font-size:25px;margin:0 0 15px}.section-heading:after{content:'';display:block;background:var(--red);height:3px;width:42px;margin-top:7px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.solution-card{display:flex;flex-direction:column;padding-bottom:13px}.illustration{height:180px;background:linear-gradient(145deg,#eaf0f5,#f8fafc);display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.laptop{flex-direction:column}.screen{width:77%;background:#e7eff8;border:9px solid #182231;border-bottom-width:13px;border-radius:9px 9px 4px 4px;box-shadow:0 5px 12px #0002;font-size:11px}.screen-head{background:#142f50;color:#fff;padding:9px;font-weight:700}.screen-row{padding:8px;display:flex;justify-content:space-between;border-bottom:1px solid #b9c5d2}.screen-row span{color:#b00011;font-weight:700}.laptop-foot{height:8px;width:86%;border-radius:0 0 40% 40%;background:#aab6c4}.scoreboard{width:86%;background:#050505;color:#fff;padding:10px 12px;border:8px solid #263341;box-shadow:0 5px 12px #0004}.score-title{font-size:10px;color:#ffd500}.score-name{font-size:11px;margin:10px 0}.score-time{font-size:35px;color:#f8dd17;font-weight:bold;text-align:center}.score-time small{font-size:12px;color:#fff}.score-row{font-size:11px;border-top:1px solid #a7a7a7;padding:5px}.live-screen{width:80%;background:#fff;border:9px solid #1e2937;border-radius:7px;padding-bottom:20px;box-shadow:0 4px 10px #0002}.live-bar{background:#142f50;color:#fff;padding:9px;font-size:12px}.live-bar span{float:right;color:#ff4052}.live-title{font-size:12px;padding:12px;font-weight:bold}.live-line{display:flex;justify-content:space-between;padding:7px 12px;font-size:10px;border-bottom:1px solid #ddd}.phone{position:absolute;right:9%;bottom:9px;border:5px solid #111d2b;border-radius:11px;background:#fff;width:40px;height:83px;text-align:center;font-size:8px;padding:10px 0}.phone i{display:block;color:var(--red);margin-top:15px;font-size:10px}.solution-card h3{font-size:18px;margin:14px 15px 4px}.solution-card p{font-size:13px;color:var(--muted);margin:0 15px 8px}.solution-card ul{padding:0 14px 0 30px;list-style:none;flex:1;margin:6px 0 18px}.solution-card li{position:relative;font-size:13px;margin:8px 0;line-height:1.25}.solution-card li:before{content:'✓';position:absolute;left:-19px;color:var(--red);font-weight:bold}.outline-btn{margin:0 15px;border:1px solid var(--red);border-radius:25px;padding:10px;text-align:center;font-size:13px;font-weight:bold}.outline-btn:hover{background:var(--red);color:#fff}.bottom-info{background:#f1f3f6;padding:35px max(25px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px}.bottom-info h2{margin:0 0 10px}.bottom-info p{max-width:800px;color:#5d6774;line-height:1.5}.contact{background:#222b36;color:#fff;padding:35px max(25px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.contact h2{margin:0 0 9px}.contact p{margin:0;color:#cbd0d6}footer{background:#151b24;color:#fff;padding:28px;display:flex;justify-content:space-around;gap:20px;align-items:center;flex-wrap:wrap;font-size:13px}footer .footer-brand b{font-size:23px;display:block}footer .footer-brand small{letter-spacing:2px}footer p{font-style:italic;color:#cbd0d6}footer>small{color:#9ba7b6}@media(max-width:1250px){.header-inner{flex-wrap:wrap}.header nav{width:100%;justify-content:center}.brand-text strong{font-size:32px}.content-grid{grid-template-columns:1fr}.benefit{justify-content:flex-start}.hero{height:380px}}@media(max-width:700px){.header-inner{min-height:72px;padding:8px 14px;flex-wrap:nowrap}.brand img{width:85px;height:60px}.brand-text strong{font-size:21px;letter-spacing:-1px}.brand-text small{font-size:7px;letter-spacing:1.1px}.mobile-menu{display:block}.header nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px;box-shadow:0 10px 20px #0002}.header nav.open{display:flex}.header nav a{padding:12px}.hero{height:420px;background-position:38% center}.hero-content{padding:0 18px}.hero h1{font-size:36px}.hero h2{font-size:21px}.hero p:not(.eyebrow){font-size:14px}.hero-actions{flex-direction:column;align-items:center;gap:10px}.chrono{right:8px;bottom:10px;transform:scale(.55);transform-origin:bottom right}.desktop-only{display:none}.benefits{grid-template-columns:repeat(2,1fr);padding:18px;gap:20px}.benefit{border:0}.benefit-icon{font-size:27px}.benefit b{font-size:12px}.benefit small{font-size:11px}.content-grid{padding:0 12px}.cards{grid-template-columns:1fr}.event{grid-template-columns:45px minmax(0,1fr);gap:9px}.event-mark{height:42px;width:42px;font-size:20px}.event-btn{grid-column:2;justify-self:start}.bottom-info,.contact{flex-direction:column;align-items:flex-start}.events-header h2{font-size:17px}.events-header a{font-size:10px}.brand-text{max-width:210px}}

/* V2 : mise en valeur des trois cartes « Nos solutions ».
   Toutes les autres zones de la V1 sont volontairement inchangées. */
.solutions .cards { gap: 19px; align-items: stretch; }
.solutions .solution-card {
  border: 2px solid #2878b9;
  border-radius: 15px;
  box-shadow: 0 7px 22px rgba(32,37,51,.14), 0 0 0 3px rgba(40,120,185,.055);
  background: #fff;
  transition: box-shadow .2s ease, transform .2s ease;
}
.solutions .solution-card:hover {
  box-shadow: 0 12px 29px rgba(32,37,51,.20), 0 0 0 3px rgba(40,120,185,.10);
  transform: translateY(-3px);
}
.solutions .solution-card h3 {
  font-size: 19px;
  color: #161b25;
  border-left: 4px solid var(--red);
  padding-left: 10px;
  margin-top: 16px;
}
.solutions .solution-card .illustration { border-bottom: 1px solid #d6e6f5; }
.solutions .solution-card .outline-btn {
  border: 2px solid var(--red);
  background: #eef6fd;
  color: #173d68;
  font-weight: 800;
  box-shadow: 0 2px 5px rgba(80,0,0,.07);
}
.solutions .solution-card .outline-btn:hover,
.solutions .solution-card .outline-btn:focus-visible { background: var(--red); color: #fff; }
@media (max-width: 700px) { .solutions .cards { gap: 18px; } }

/* Correctif V2 : le petit chronomètre figure déjà dans la photographie d’origine. Aucun second dessin. */
html, body { max-width: 100%; overflow-x: clip; }
@media (max-width: 1000px) { .hero-content { max-width: 96%; padding-inline: 14px; } }

/* V3 : filtrage des annonces et états du concours. */
.event-tools{display:flex;gap:7px;flex-wrap:wrap;padding:12px 16px 4px;background:#fff}
.filter{border:1px solid #d8dce3;border-radius:30px;padding:7px 12px;background:#fff;color:#263244;font-size:12px;cursor:pointer}
.filter.active,.filter:hover{background:#2878b9;color:#fff;border-color:#2878b9}
.event-status{display:inline-block;margin-top:6px;font-size:11px;padding:3px 8px;border-radius:20px;background:#eaf0f7;color:#374960}
.event-status.ongoing{background:#fff0f1;color:#c4001a;font-weight:700}.event-status.finished{background:#eef0f2;color:#59626c}
.event-logo{width:100%;height:100%;object-fit:contain}
.events-foot a{text-decoration:underline;color:#236ba6;font-weight:bold}
@media(max-width:700px){.event-tools{gap:5px}.filter{padding:6px 8px}}

/* V7 : signalement du Live et suivi des concours */
.live-alert[hidden]{display:none!important}.live-alert{background:#b90018;color:#fff;border-bottom:4px solid #850012}.live-alert-inner{max-width:1500px;margin:auto;padding:16px 26px;display:flex;align-items:center;gap:17px}.live-alert strong{font-size:clamp(19px,2.2vw,28px);letter-spacing:1px}.live-alert p{margin:4px 0 0;font-size:14px}.live-pulse{font-size:35px;animation:liveblink 1.25s ease-in-out infinite}.live-alert-action{margin-left:auto;background:#fff;color:#9c0014;padding:12px 18px;border-radius:8px;font-weight:800;white-space:nowrap}.event-status.live-now{background:#b90018;color:white;font-weight:bold;animation:liveblink 1.25s ease-in-out infinite}@keyframes liveblink{0%,100%{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.live-pulse,.event-status.live-now{animation:none}}@media(max-width:700px){.live-alert-inner{padding:13px;flex-wrap:wrap;gap:10px}.live-alert-action{margin-left:0;width:100%;text-align:center}.live-alert strong{font-size:20px}}

.construction-alert[hidden]{display:none!important}.construction-alert{background:#fff3cc;color:#694700;border-bottom:2px solid #e9bd4c}.construction-alert-inner{max-width:1500px;margin:auto;padding:12px 26px;display:flex;gap:14px;align-items:center}.construction-alert-inner>span{font-size:30px}.construction-alert strong{font-size:18px;letter-spacing:.5px}.construction-alert p{margin:3px 0;font-size:14px}

/* V10 : page d'attente publique, site normal masqué quand la balise est active */
.site-status-pending > header,.site-status-pending > main,.site-status-pending > footer{visibility:hidden}
.site-is-building > header,.site-is-building > main,.site-is-building > footer{display:none!important}
.construction-page[hidden]{display:none!important}
.construction-page{min-height:100vh;background:#e9e4d8;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0 0 1.5rem;text-align:center}
.construction-page img{display:block;width:100%;max-width:1600px;height:auto;object-fit:contain}
.construction-page p{color:#162e4e;font:600 clamp(14px,2vw,20px)/1.5 Arial,sans-serif;margin:1rem 1.5rem}

/* V14.4 : icônes officielles et aperçu des modules */
.solution-illustration{height:180px;display:flex;align-items:center;justify-content:center;background:#f6f9fc;overflow:hidden;border-bottom:1px solid #dce4ed}
.solution-illustration img{max-width:100%;max-height:100%;object-fit:contain}
.preview-modal[hidden]{display:none!important}.preview-modal{position:fixed;inset:0;background:rgba(0,15,35,.7);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.preview-box{background:white;border-radius:14px;max-width:560px;width:100%;padding:30px;position:relative;box-shadow:0 18px 60px #0005}.preview-close{position:absolute;right:12px;top:8px;font-size:30px;border:0;background:none;cursor:pointer}

/* V14.5 : logos compacts, alignés, sans déformer les images */
.solutions .solution-illustration{height:150px;padding:12px;background:#fff;}
.solutions .solution-illustration img{display:block;width:118px;height:118px;max-width:100%;max-height:100%;object-fit:contain;margin:auto;}
@media(max-width:600px){.solutions .solution-illustration{height:130px}.solutions .solution-illustration img{width:100px;height:100px}}

/* SITE V14.8 — identité bleue ; rouge réservé aux états Live */
:root{--red:#2878b9;--navy:#173d68;--live-red:#d92732;--orange:#e86d25}
#heroDirectLive{background:var(--live-red)!important;color:#fff!important}
.live-alert,.event-status.live-now{background:var(--live-red)!important}
.live-alert-action{color:#9c0014}
.hero-live-place{font-size:clamp(13px,1.35vw,17px)!important;line-height:1.35!important;margin:10px 0 2px!important}
.hero-live-kicker{display:block;color:#ffad64;font-weight:900;font-size:14px;letter-spacing:1.4px;margin-bottom:3px}
.hero-live-location{display:block;color:#fff;font-weight:700}
.hero-live-dates{display:block;color:#f1f4f9;font-size:13px;font-weight:500;margin-top:2px}
@media(max-width:700px){.hero-live-place{margin:5px 0!important}.hero-live-kicker{font-size:12px}}

/* V14.9 : bouton Historique contrasté et bandeau des 5 prestations */
.events-header #calendarLink.history-cta{display:inline-flex!important;align-items:center;justify-content:center;background:#173D68!important;color:#fff!important;border:1px solid rgba(255,255,255,.65)!important;border-radius:9px!important;padding:9px 15px!important;font-weight:800!important;text-decoration:none!important;box-shadow:0 3px 9px rgba(0,0,0,.18)!important;white-space:nowrap}
.events-header #calendarLink.history-cta:hover,.events-header #calendarLink.history-cta:focus-visible{background:#2878B9!important;outline:2px solid #fff;outline-offset:2px}
.benefits-five{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important}
.benefits-five .benefit-link{display:flex;color:inherit;text-decoration:none;cursor:pointer;min-width:0;transition:background .2s}
.benefits-five .benefit-link:hover,.benefits-five .benefit-link:focus-visible{background:#e8f3ff;outline:2px solid #2878B9;outline-offset:-2px}
@media(max-width:1050px){.benefits-five{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.benefits-five{grid-template-columns:repeat(1,minmax(0,1fr))!important}.events-header #calendarLink.history-cta{font-size:12px!important;padding:8px 10px!important}}

/* V15.13 : les liens vers l'historique ne doivent pas être forcés visibles par les styles. */
html.history-public-disabled a[href="espace-cavalier.php"],
html.history-public-disabled a[href^="espace-cavalier.php?"] { display:none !important; }

/* V15.14 — entrées visibles mais non cliquables du menu supérieur */
.header nav .nav-disabled{font-size:14px;font-weight:700;padding:15px 12px;border-radius:6px;color:#79818b;cursor:default;user-select:none;}
@media(max-width:700px){.header nav .nav-disabled{display:block;padding:12px;}}

/* V15.15 : menu uniforme sur une ligne, espaces desactives */
.header nav{gap:6px;flex-wrap:nowrap;}
.header nav a,.header nav .nav-disabled{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;padding:15px 10px;}
.header nav .nav-disabled{color:#79818b;cursor:default;pointer-events:none;}
@media(max-width:700px){.header nav{gap:0;align-items:stretch;}.header nav a,.header nav .nav-disabled{display:block;padding:12px;}}
