/* Layout belongs here; editable SPIP fields contain text and native typography. */
.trackoe .modules-phares{padding-block:clamp(70px,8vw,120px);background:white}
.modules-phares .section-heading{margin-bottom:32px}
.modules-phares .eyebrow{background:var(--mint);color:var(--green);padding:7px 16px 7px 12px;border-radius:999px}
.phares-controls{display:flex;align-items:center;gap:14px;white-space:nowrap;background:white;border:1px solid #dce4ee;border-radius:999px;padding:6px 8px;box-shadow:0 10px 26px #1a2b5f14}
.phares-controls[hidden],[hidden].solutions-submenu,[hidden].modules-phares{display:none!important}
.phares-count{font-size:.85rem;font-weight:700;letter-spacing:.06em;color:var(--navy,#1a2b5f);min-width:64px;text-align:center}
.phares-arrow{border:0;border-radius:50%;background:transparent;width:38px;height:38px;display:grid;place-items:center;font-size:1.15rem;cursor:pointer;color:#1a2b5f;transition:background .15s ease,transform .15s ease}
.phares-arrow:hover:not(:disabled){background:#edf3f9;transform:translateY(-1px)}
.phares-arrow:disabled{opacity:.3;cursor:default}
.phares-viewport{overflow-x:auto;scroll-snap-type:x mandatory;border-radius:26px;overscroll-behavior-x:contain;scrollbar-width:thin;border:1px solid var(--line);box-shadow:0 30px 60px -28px #1a2b5f2e}
.phares-track{display:flex;position:relative}
.phare-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(28px,4.5vw,64px);scroll-snap-align:start;background:white;border-top:4px solid var(--navy,#1a2b5f)}
.phare-visual{position:relative}
.phare-visual:before{content:'';position:absolute;inset:-6%;background:radial-gradient(circle at 30% 30%,var(--mint,#e8f4f2),transparent 68%);border-radius:28px;z-index:0}
.phare-visual img{position:relative;z-index:1;display:block;width:100%;height:340px;object-fit:contain;transition:transform .5s ease,opacity .5s ease;opacity:.9;transform:scale(.97)}
.phare-slide.is-active .phare-visual img{opacity:1;transform:scale(1)}
.phare-copy{transition:transform .45s ease,opacity .45s ease;opacity:.6;transform:translateY(10px)}
.phare-slide.is-active .phare-copy{opacity:1;transform:translateY(0)}
.phare-copy h3{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.12;margin:0 0 24px;color:var(--navy,#1a2b5f)}
.phare-resume{font-size:1.1rem;line-height:1.75;margin-bottom:28px}
@media(prefers-reduced-motion:reduce){.phare-visual img,.phare-copy{transition:none;opacity:1;transform:none}}
.nav-solutions{position:relative}
.nav-solutions-heading{display:flex;align-items:center;gap:8px}
.nav-solutions-heading a{position:relative;padding:32px 0}
.solutions-chevron{display:grid;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer;padding:8px;margin-left:-4px;border-radius:8px;transition:background .15s ease}
.solutions-chevron:hover{background:#edf3f9}
.chevron-icon{display:block;transition:transform .2s ease}
.solutions-chevron[aria-expanded=true] .chevron-icon{transform:rotate(180deg)}
.solutions-submenu{position:absolute;top:100%;left:0;min-width:260px;margin:8px 0 0;padding:10px;list-style:none;background:white;border:1px solid #dce3ee;border-radius:14px;box-shadow:0 12px 32px #1a2b5f20;z-index:30}
.main-nav .solutions-submenu a{display:block;padding:12px;border-radius:8px;white-space:normal}
.solutions-submenu a:hover,.solutions-submenu a:focus-visible{background:#edf3f9}
.header-inner{flex-wrap:nowrap}
.header-search{margin-left:auto;display:flex;align-items:center;flex-shrink:0}
.header-search.search-ready{margin-left:10px;position:relative}
.search-toggle{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#1a2b5f;cursor:pointer;transition:background .2s ease,transform .25s ease}
.search-toggle[hidden],.header-search-panel[hidden]{display:none!important}
.search-toggle:hover{background:#edf3f9}
.search-ready.is-open .search-toggle{background:#edf3f9}
/* Pop-up de recherche centrée sur un fond assombri : le menu n'est jamais déplacé.
   Le voile est l'ombre du panneau ; un clic dessus ferme la pop-up (clic hors de la recherche). */
.search-ready .header-search-panel{position:fixed;z-index:100;top:max(12vh,110px);left:50%;display:flex;align-items:center;gap:6px;width:min(640px,calc(100vw - 32px));padding:14px 16px 14px 12px;background:#fff;border-radius:16px;box-shadow:0 30px 70px -20px #0d173a66,0 0 0 100vmax #1a2b5f73;opacity:0;visibility:hidden;transform:translate(-50%,-10px) scale(.98);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.search-ready.is-open .header-search-panel{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto;transition:opacity .2s ease,transform .2s ease}
.search-ready .header-search-panel .formulaire_recherche input[type=search]{font-size:19px;padding:12px 6px}
.search-ready .header-search-panel .search-clear{width:34px;height:34px;font-size:20px}
.search-ready .header-search-panel .formulaire_recherche button[type=submit]{width:40px;height:40px}
.formulaire_recherche,.formulaire_recherche form{display:contents}
.formulaire_recherche input[type=search]{order:1;flex:1;min-width:0;border:0;border-bottom:1.5px solid var(--line);border-radius:0;background:transparent;padding:8px 4px;margin-left:8px;font:inherit;font-size:15px;color:#1a2b5f;transition:border-color .2s ease}
.formulaire_recherche input[type=search]:focus{outline:0;border-bottom-color:var(--green,#245bc3)}
.formulaire_recherche input[type=search]::-webkit-search-cancel-button,.formulaire_recherche input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.formulaire_recherche input[type=search]::placeholder{color:#8593ab;transition:opacity .2s ease}
.formulaire_recherche button[type=submit]{order:3;flex-shrink:0;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#1a2b5f;font-size:0;display:grid;place-items:center;cursor:pointer;transition:background .15s ease}
.formulaire_recherche button[type=submit]:after{content:'↵';font-size:15px;line-height:1}
.formulaire_recherche button[type=submit]:hover{background:#edf3f9}
.search-clear{order:2;flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:#8593ab;font-size:15px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}
.search-clear:hover{background:#edf3f9;color:#1a2b5f}
.univers-access{margin-top:20px;font-size:.85rem}
.search-list{list-style:none;padding:0}.search-list li{padding:22px 0;border-bottom:1px solid #dce3ee}.search-list h3{margin:0 0 10px}
.module-editorial>section{scroll-margin-top:120px}
.module-editorial h2{margin:0 0 24px}.module-editorial h3{margin-top:24px}.module-editorial .feature h3{margin-top:0}
.company-presentation>h3{font-size:2.25rem;line-height:1.2}.company-presentation>p{max-width:80ch}.company-presentation>ul{display:flex;gap:40px;list-style:none;padding:24px;background:#edf3f9;border-radius:18px}.company-presentation>ul strong{font-size:2rem;color:#1a2b5f}
@media(max-width:1220px){.header-inner{flex-wrap:wrap}.header-search{flex-basis:100%;justify-content:flex-end}.header-search:not(.search-ready){display:flex}.header-search:not(.search-ready) input[type=search]{width:220px}.site-header .header-inner{gap:12px}}
@media(max-width:760px){.phare-slide{grid-template-columns:1fr;gap:20px}.phare-visual img{height:220px}.modules-phares .section-heading{align-items:flex-start}.phares-controls{gap:8px}.phares-arrow{width:36px;height:36px}.nav-solutions{width:100%}.nav-solutions-heading{justify-content:space-between}.solutions-submenu{position:static;min-width:0;box-shadow:none;margin:8px 0}.header-search:not(.search-ready){justify-content:stretch}.header-search:not(.search-ready) .formulaire_recherche,.header-search:not(.search-ready) form{width:100%}.header-search:not(.search-ready) input[type=search]{flex:1;width:100%}.company-presentation>ul{flex-wrap:wrap}.phare-copy .button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.search-ready .header-search-panel,.search-toggle{transition:none}}

/* Carrousel des modules phares : images sans fond, titre mis en avant, flèches de part et d'autre des points. */
.trackoe .phare-visual:before{content:none}
.trackoe .phare-copy h3{font-size:clamp(2rem,3.6vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:20px}
.trackoe .phare-copy h3:after{content:'';display:block;width:56px;height:4px;margin-top:18px;border-radius:4px;background:var(--green,#0f6f63)}
.trackoe .modules-phares .phares-controls{justify-content:center;width:max-content;margin:28px auto 0}
.phares-dots{display:flex;align-items:center;gap:10px;padding-inline:6px}
.phares-dot{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:#c8d3e1;cursor:pointer;transition:width .25s ease,background .25s ease}
.phares-dot:hover{background:#94a6bf}
.phares-dot[aria-current=true]{width:28px;background:var(--navy,#1a2b5f)}
@media(prefers-reduced-motion:reduce){.phares-dot{transition:none}}

/* Pop-up de recherche : sans trait sous le champ, bouton loupe, résultats en direct. */
.search-ready .header-search-panel{flex-wrap:wrap;align-items:center}
.search-ready .header-search-panel .formulaire_recherche input[type=search],
.search-ready .header-search-panel .formulaire_recherche input[type=search]:focus{border-bottom:0}
.formulaire_recherche button[type=submit]:after{content:'';width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E") center/contain no-repeat}
.search-live{order:4;flex:0 0 100%;max-height:min(55vh,440px);overflow-y:auto;margin-top:12px;border-top:1px solid var(--line);padding-top:8px}
.search-live[hidden]{display:none!important}
.search-live ul{list-style:none;margin:0;padding:0}
.search-live a{display:block;padding:10px 12px;border-radius:10px;color:#1a2b5f}
.search-live a:hover,.search-live a:focus-visible{background:#edf3f9;outline:0}
.search-live strong{display:block;font-size:16px}
.search-live span{display:block;font-size:14px;line-height:1.45;color:#5b6a85;margin-top:2px}
.search-live .search-live-group{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green,#0f6f63);padding:10px 12px 4px}
.search-live .search-live-empty{padding:14px 12px;font-size:15px;color:#5b6a85}
.search-live .search-live-all{margin-top:6px;font-size:14px;font-weight:700;color:var(--green,#0f6f63)}

/* Carrousel d'en-tête de l'accueil : image sans cadre bleu, nom du module en vedette, pas de flèches (défilement automatique + points). */
.trackoe .hero-carousel .hero-slides{background:transparent;border:0;box-shadow:none;border-radius:0}
.trackoe .hero-carousel .hero-slide .product-hero{padding:0;filter:drop-shadow(0 22px 26px #1a2b5f22)}
.trackoe .hero-carousel .visual-caption{background:transparent;border:0;box-shadow:none;padding:6px 0 0;margin-top:18px;justify-content:center;text-align:center}
.trackoe .hero-carousel .visual-caption .status-dot{display:none}
.trackoe .hero-carousel .hero-caption-link{font-size:clamp(20px,1.9vw,26px);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--navy,#1a2b5f)}
.trackoe .hero-carousel .hero-caption-link:hover{color:var(--green,#0f6f63)}
.trackoe .hero-carousel .visual-caption>.hero-controls:last-child{display:none}
/* Modules phares : même principe, les points suffisent puisque le défilement est automatique. */
.trackoe .modules-phares .phares-arrow{display:none}
.trackoe .modules-phares .phares-controls{padding:10px 14px}
.trackoe .hero-carousel{width:100%}
.trackoe .hero-carousel .hero-slides{margin-inline:auto}
.trackoe .hero-carousel .hero-dots{margin-top:14px}
