/*
Template: main.css
Version: 1.0.0
Author: Perspective3 Studio
*/

/* Section: Fondations globales (boutons, header, layout, legal, modal) */
 :root { --c-navy:#030d1d; --c-midnight:#030a1a; --c-indigo:#3439ff; --c-cobalt:#587dff; --c-cyan:#2ef3ff; --c-magenta:#b46af4; --c-white:#f9fbff; --c-subtle:rgba(255, 255, 255, 0.65); --p3s-btn-grad-a:#4e85f2; --p3s-btn-grad-b:#7d43df; --p3s-btn-grad-c:#cf49c6; --p3s-btn-text:#f8fbff; --p3s-btn-glow:rgba(123, 82, 232, 0.45); --p3s-btn-border:rgba(255, 255, 255, 0.2); }
*, *::before, *::after { box-sizing:border-box; }
html, body { margin:0; padding:0; overflow-x:hidden; max-width:100%; }
body { font-family:'Saira', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; overflow-x:hidden; overflow-x:clip; }
.p3s-skip-link { position:absolute; left:10px; top:-80px; z-index:10000; padding:10px 14px; border-radius:8px; background:#ffffff; color:#111111; text-decoration:none; font-weight:700; }
.p3s-skip-link:focus { top:10px; }
.p3s-btn, .wp-element-button, .wp-block-button__link { --p3s-btn-min-h:48px; --p3s-btn-pad-x:clamp(18px, 2.8vw, 30px); --p3s-btn-pad-y:clamp(10px, 1.4vw, 14px); position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:var(--p3s-btn-min-h); padding:var(--p3s-btn-pad-y) var(--p3s-btn-pad-x); border-radius:12px; border:1px solid var(--p3s-btn-border); color:var(--p3s-btn-text); text-decoration:none; font-weight:600; letter-spacing:0.01em; line-height:1.1; background:linear-gradient( 105deg, var(--p3s-btn-grad-a) 0%, var(--p3s-btn-grad-b) 52%, var(--p3s-btn-grad-c) 100% ); box-shadow:0 8px 22px rgba(0, 0, 0, 0.24), 0 0 0 0 rgba(123, 82, 232, 0); transition:transform 0.24s ease, box-shadow 0.24s ease, filter 0.24s ease, border-color 0.24s ease; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.p3s-btn::before, .wp-element-button::before, .wp-block-button__link::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(120deg, rgba(255, 255, 255, 0.3), transparent 48%), radial-gradient(180px 80px at 12% 10%, rgba(255, 255, 255, 0.22), transparent 70%); opacity:0.48; z-index:-1; }
.p3s-btn::after, .wp-element-button::after, .wp-block-button__link::after { content:''; position:absolute; top:-140%; left:-35%; width:30%; height:380%; transform:rotate(18deg); pointer-events:none; background:linear-gradient( 180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0) 100% ); opacity:0; }
.p3s-btn:active, .wp-element-button:active, .wp-block-button__link:active { transform:translateY(1px) scale(0.985); box-shadow:0 6px 14px rgba(0, 0, 0, 0.28), 0 0 0 4px rgba(123, 82, 232, 0.22) inset; filter:brightness(0.98); }
.p3s-btn:focus-visible, .wp-element-button:focus-visible, .wp-block-button__link:focus-visible { outline:2px solid rgba(0, 209, 178, 0.85); outline-offset:2px; }
body:not(.p3s-home) .btn-secondary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
body:not(.p3s-home) .btn-official { --duration:7s; --easing:linear; --c-color-1:rgba(84, 190, 255, 0.7); --c-color-2:#2e5bff; --c-color-3:#d14ac8; --c-color-4:rgba(132, 87, 255, 0.7); --c-shadow:rgba(96, 121, 255, 0.5); --c-shadow-inset-top:rgba(121, 189, 255, 0.9); --c-shadow-inset-bottom:rgba(231, 223, 255, 0.8); --c-radial-inner:#4a8df9; --c-radial-outer:#8f45df; --c-color:#fff; position:relative; -webkit-appearance:none; outline:none; cursor:pointer; border:none; display:table; border-radius:24px; padding:0; margin:2vh 0 0 0; text-align:center; font-weight:600; font-size:16px; letter-spacing:0.02em; text-transform:uppercase; line-height:1.5; color:var(--c-color); text-decoration:none; background:radial-gradient( circle, var(--c-radial-inner), var(--c-radial-outer) 80% ); box-shadow:0 0 14px var(--c-shadow); transition:transform 0.2s ease; }
body:not(.p3s-home) .btn-official::before { content:""; pointer-events:none; position:absolute; z-index:3; left:0; top:0; right:0; bottom:0; border-radius:24px; box-shadow:inset 0 3px 12px var(--c-shadow-inset-top), inset 0 -3px 4px var(--c-shadow-inset-bottom); }
body:not(.p3s-home) .btn-official .wrapper { -webkit-mask-image:-webkit-radial-gradient(white, black); overflow:hidden; border-radius:24px; min-width:132px; padding:12px 0; }
body:not(.p3s-home) .btn-official .wrapper > span { display:inline-block; position:relative; z-index:1; }
body:not(.p3s-home) .btn-official:hover { --duration:1400ms; }
body:not(.p3s-home) .btn-official .wrapper .circle { position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; filter:blur(var(--blur, 8px)); background:var(--background, transparent); transform:translate(var(--x, 0), var(--y, 0)) translateZ(0); animation:var(--animation, none) var(--duration) var(--easing) infinite; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-1, body:not(.p3s-home) .btn-official .wrapper .circle.circle-9, body:not(.p3s-home) .btn-official .wrapper .circle.circle-10 { --background:var(--c-color-4); }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-3, body:not(.p3s-home) .btn-official .wrapper .circle.circle-4 { --background:var(--c-color-2); --blur:14px; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-5, body:not(.p3s-home) .btn-official .wrapper .circle.circle-6 { --background:var(--c-color-3); --blur:16px; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-2, body:not(.p3s-home) .btn-official .wrapper .circle.circle-7, body:not(.p3s-home) .btn-official .wrapper .circle.circle-8, body:not(.p3s-home) .btn-official .wrapper .circle.circle-11, body:not(.p3s-home) .btn-official .wrapper .circle.circle-12 { --background:var(--c-color-1); --blur:12px; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-1 { --x:0; --y:-40px; --animation:circle-1; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-2 { --x:92px; --y:8px; --animation:circle-2; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-3 { --x:-12px; --y:-12px; --animation:circle-3; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-4 { --x:80px; --y:-12px; --animation:circle-4; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-5 { --x:12px; --y:-4px; --animation:circle-5; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-6 { --x:56px; --y:16px; --animation:circle-6; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-7 { --x:8px; --y:28px; --animation:circle-7; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-8 { --x:28px; --y:-4px; --animation:circle-8; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-9 { --x:20px; --y:-12px; --animation:circle-9; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-10 { --x:64px; --y:16px; --animation:circle-10; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-11 { --x:4px; --y:4px; --animation:circle-11; }
body:not(.p3s-home) .btn-official .wrapper .circle.circle-12 { --blur:14px; --x:52px; --y:4px; --animation:circle-12; }
body:not(.p3s-home) .btn-official:active { transform:translateY(1px); }
body:not(.p3s-home) .btn-official:focus-visible { outline:2px solid rgba(0, 209, 178, 0.9); outline-offset:2px; }
body:not(.p3s-home) .btn-secondary { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px clamp(18px, 2.8vw, 32px); border-radius:12px; border:1px solid rgba(255, 255, 255, 0.56); color:#ffffff; text-decoration:none; line-height:1; background-color:transparent; backdrop-filter:blur(2px); box-shadow:inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 8px 18px rgba(4, 9, 24, 0.22); mix-blend-mode:difference; transition:transform 0.26s ease, box-shadow 0.26s ease, filter 0.26s ease, border-color 0.26s ease, background-color 0.26s ease; }
body:not(.p3s-home) .btn-secondary::before { content:''; position:absolute; inset:0; border-radius:inherit; z-index:-1; background:linear-gradient( 90deg, rgba(82, 143, 255, 0.2), rgba(161, 97, 255, 0.18), rgba(221, 83, 201, 0.2) ); transform:scaleX(0.08); transform-origin:left center; opacity:0; }
body:not(.p3s-home) .btn-secondary::after { content:''; position:absolute; inset:1px; border-radius:inherit; border:1px solid rgba(255, 255, 255, 0.32); opacity:0.42; pointer-events:none; }
body:not(.p3s-home) .btn-secondary:active { transform:translateY(1px) scale(0.985); }
body:not(.p3s-home) .btn-secondary:focus-visible { outline:2px solid rgba(0, 209, 178, 0.9); outline-offset:2px; }
body:not(.p3s-home) .p3s-site-header { position:relative; z-index:40; border-bottom:1px solid rgba(255, 255, 255, 0.1); background:rgba(7, 24, 40, 0.46); backdrop-filter:blur(5px); overflow-x:clip; }
body:not(.p3s-home) .p3s-header-shell { width:100%; padding-left:4vw; padding-right:4vw; margin:0 auto; min-height:88px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
body:not(.p3s-home) .p3s-header-logo { justify-self:start; display:inline-flex; align-items:center; }
body:not(.p3s-home) .p3s-header-logo img { width:auto; height:clamp(48px, 5.2vw, 62px); display:block; }
body:not(.p3s-home) .p3s-header-nav { justify-self:center; }
body:not(.p3s-home) .p3s-header-menu { margin:0; padding:0; list-style:none; display:flex; align-items:center; gap:clamp(14px, 2vw, 28px); }
body:not(.p3s-home) .p3s-header-menu li { margin:0; }
body:not(.p3s-home) .p3s-header-menu a { color:rgba(248, 250, 252, 0.88); text-decoration:none; font-size:14px; text-transform:uppercase; letter-spacing:0.09em; font-weight:600; padding:8px 4px; }
body:not(.p3s-home) .p3s-header-menu .current-menu-item > a, body:not(.p3s-home) .p3s-header-menu .current_page_item > a { color:#ffffff; text-shadow:0 0 16px rgba(0, 209, 178, 0.35); }
body:not(.p3s-home) .p3s-header-tools { justify-self:end; display:flex; align-items:center; gap:12px; }
body:not(.p3s-home) .p3s-lang-dropdown { position:relative; }
body:not(.p3s-home) .p3s-lang-dropdown summary { list-style:none; }
body:not(.p3s-home) .p3s-lang-dropdown summary::-webkit-details-marker { display:none; }
body:not(.p3s-home) .p3s-lang-toggle { min-height:44px; min-width:118px; padding:10px 12px; display:inline-flex; flex-direction:row-reverse; align-items:center; justify-content:center; gap:10px; cursor:pointer; mix-blend-mode:normal; }
body:not(.p3s-home) .p3s-lang-toggle img, body:not(.p3s-home) .p3s-lang-list img { width:18px; height:12px; object-fit:cover; border-radius:2px; }
body:not(.p3s-home) .p3s-flag-fallback { display:inline-flex; align-items:center; justify-content:center; width:18px; height:12px; font-size:9px; text-transform:uppercase; color:rgba(248, 250, 252, 0.92); border:1px solid rgba(248, 250, 252, 0.35); border-radius:2px; }
body:not(.p3s-home) .p3s-lang-code { font-size:12px; letter-spacing:0.08em; }
body:not(.p3s-home) .p3s-lang-caret { font-size:11px; opacity:0.9; }
body:not(.p3s-home) .p3s-lang-list { position:absolute; right:0; top:calc(100% + 8px); min-width:116px; margin:0; padding:8px; list-style:none; border-radius:12px; border:1px solid rgba(255, 255, 255, 0.18); background:linear-gradient(180deg, rgba(7, 23, 42, 0.94), rgba(18, 16, 45, 0.94)); box-shadow:0 16px 34px rgba(0, 0, 0, 0.34); }
body:not(.p3s-home) .p3s-lang-list li { margin:0; }
body:not(.p3s-home) .p3s-lang-list a { display:inline-flex; align-items:center; gap:8px; width:100%; padding:8px 10px; color:rgba(248, 250, 252, 0.9); text-decoration:none; border-radius:8px; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; }
body:not(.p3s-home) .p3s-lang-list a:hover, body:not(.p3s-home) .p3s-lang-list a[aria-current="page"] { background:rgba(255, 255, 255, 0.08); }
body:not(.p3s-home) .p3s-header-search { min-width:280px; display:inline-flex; align-items:center; gap:8px; }
body:not(.p3s-home) .p3s-header-search input { width:100%; min-width:0; min-height:44px; border:1px solid rgba(255, 255, 255, 0.24); border-radius:12px; background:rgba(6, 21, 40, 0.5); color:rgba(248, 250, 252, 0.95); padding:0 12px; outline:none; }
body:not(.p3s-home) .p3s-header-search input::placeholder { color:rgba(248, 250, 252, 0.58); }
body:not(.p3s-home) .p3s-header-search input:focus { border-color:rgba(0, 209, 178, 0.72); box-shadow:0 0 0 3px rgba(0, 209, 178, 0.14); }
body:not(.p3s-home) .p3s-search-btn { min-height:44px; padding:10px 14px; white-space:nowrap; mix-blend-mode:normal; }
body:not(.p3s-home) .p3s-nav-toggle, body:not(.p3s-home) .p3s-nav-burger, body:not(.p3s-home) .p3s-offcanvas, body:not(.p3s-home) .p3s-offcanvas-backdrop { display:none; }
body:not(.p3s-home) .p3s-nav-burger, body:not(.p3s-home) .p3s-offcanvas-close, body:not(.p3s-home) .p3s-offcanvas-backdrop { border:0; background:transparent; padding:0; }
body:not(.p3s-home) .p3s-offcanvas-backdrop { position:fixed; inset:0; width:100vw; width:100dvw; height:100vh; height:100dvh; background:rgba(2, 8, 20, 0.62); opacity:0; pointer-events:none; transition:opacity 0.28s ease; z-index:90; cursor:pointer; }
body:not(.p3s-home) .p3s-offcanvas { position:fixed; inset:0; width:100vw; width:100dvw; max-width:100vw; max-width:100dvw; height:100vh; height:100dvh; transform:translateX(104%); transition:transform 0.32s ease; z-index:95; border-left:0; background:linear-gradient(160deg, rgba(7, 17, 33, 0.82), rgba(23, 13, 49, 0.78)), url("../img/bg-offcanva.png"), url("../img/bg-mountain.png"); background-size:cover; background-position:center; overflow:hidden; }
body:not(.p3s-home) .p3s-offcanvas-inner { height:100%; display:flex; flex-direction:column; gap:26px; padding:8vh 16vw; overflow:hidden; }
body:not(.p3s-home) .p3s-offcanvas-head { position:relative; min-height:34px; display:flex; align-items:center; justify-content:center; }
body:not(.p3s-home) .p3s-offcanvas-title { color:rgba(248, 250, 252, 0.94); font-size:18px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; }
body:not(.p3s-home) .p3s-offcanvas-close { position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:30px; line-height:1; color:rgba(248, 250, 252, 0.9); cursor:pointer; }
body:not(.p3s-home) .p3s-offcanvas-nav { flex:1; display:flex; align-items:center; }
body:not(.p3s-home) .p3s-offcanvas-menu { list-style:none; margin:0; padding:0; width:100%; display:flex; flex-direction:column; gap:16px; }
body:not(.p3s-home) .p3s-offcanvas-menu li { margin:0; }
body:not(.p3s-home) .p3s-offcanvas-menu a { position:relative; display:inline-flex; align-items:center; padding-left:18px; color:rgba(248, 250, 252, 0.58); text-decoration:none; text-transform:uppercase; letter-spacing:0.1em; font-size:15px; }
body:not(.p3s-home) .p3s-offcanvas-menu a::before { content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:999px; background:rgba(248, 250, 252, 0.2); }
body:not(.p3s-home) .p3s-offcanvas-menu .current-menu-item > a, body:not(.p3s-home) .p3s-offcanvas-menu .current_page_item > a { color:rgba(248, 250, 252, 0.92); margin-left:2vw; width:max-content; }
body:not(.p3s-home) .p3s-offcanvas-menu .current-menu-item > a::before, body:not(.p3s-home) .p3s-offcanvas-menu .current_page_item > a::before { background:#00d1b2; box-shadow:0 0 0 4px rgba(0, 209, 178, 0.14); }
body:not(.p3s-home) .p3s-offcanvas-menu .current-menu-item > a::after, body:not(.p3s-home) .p3s-offcanvas-menu .current_page_item > a::after { content:""; position:absolute; left:-8vw; top:10px; width:8vw; height:2px; border-radius:999px; background:linear-gradient( 90deg, rgba(46, 91, 255, 0) 0%, rgba(46, 91, 255, 0.55) 35%, rgba(0, 209, 178, 0.75) 100% ); opacity:0.95; }
body:not(.p3s-home) .p3s-offcanvas-tools { display:flex; align-items:stretch; gap:10px; }
body:not(.p3s-home) .p3s-offcanvas-tools .p3s-lang-dropdown { flex:0 0 auto; }
body:not(.p3s-home) .p3s-offcanvas-tools .p3s-header-search--offcanvas { flex:1; min-width:0; }
body:not(.p3s-home) .p3s-offcanvas-tools .p3s-header-search--offcanvas input { min-width:0; }
body:not(.p3s-home) .p3s-offcanvas-logo { margin-top:auto; display:flex; justify-content:center; }
body:not(.p3s-home) .p3s-offcanvas-logo img { display:block; width:min(250px, 64vw); height:auto; }
body:not(.p3s-home) .p3s-site-footer { margin-top:0; background:linear-gradient(145deg, rgba(7, 23, 42, 0.95), rgba(42, 18, 62, 0.95)), url("../img/bg-offcanva.png"); background-size:cover; background-position:center; color:rgba(248, 250, 252, 0.9); border-top:1px solid rgba(255, 255, 255, 0.12); }
body:not(.p3s-home) .p3s-system-page { width:min(1200px, 92vw); margin:0 auto; padding:clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 90px); color:rgba(248, 250, 252, 0.9); }
body:not(.p3s-home) .p3s-system-hero, body:not(.p3s-home) .p3s-system-panel { border:1px solid rgba(255, 255, 255, 0.12); border-radius:18px; background:linear-gradient(145deg, rgba(7, 23, 42, 0.74), rgba(42, 18, 62, 0.58)), rgba(8, 14, 28, 0.6); box-shadow:0 14px 40px rgba(3, 10, 22, 0.26); }
body:not(.p3s-home) .p3s-system-hero { padding:clamp(24px, 4vw, 42px); }
body:not(.p3s-home) .p3s-system-panel { margin-top:18px; padding:clamp(20px, 3.4vw, 34px); }
body:not(.p3s-home) .p3s-system-kicker { margin:0 0 10px; font-size:12px; text-transform:uppercase; letter-spacing:0.2em; color:rgba(248, 250, 252, 0.62); }
body:not(.p3s-home) .p3s-system-page h1 { margin:0; font-size:clamp(30px, 4.4vw, 54px); line-height:1.06; color:#f7f9ff; }
body:not(.p3s-home) .p3s-system-lead { margin:14px 0 0; max-width:72ch; color:rgba(248, 250, 252, 0.76); font-size:clamp(16px, 1.8vw, 19px); line-height:1.6; }
body:not(.p3s-home) .p3s-system-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
body:not(.p3s-home) .p3s-system-search { margin-top:14px; display:flex; gap:8px; }
body:not(.p3s-home) .p3s-system-search input { flex:1; min-width:0; min-height:44px; border:1px solid rgba(255, 255, 255, 0.24); border-radius:12px; background:rgba(6, 21, 40, 0.5); color:rgba(248, 250, 252, 0.95); padding:0 12px; outline:none; }
body:not(.p3s-home) .p3s-system-search input::placeholder { color:rgba(248, 250, 252, 0.58); }
body:not(.p3s-home) .p3s-system-small { margin-top:12px; }
body:not(.p3s-home) .p3s-system-small a { color:rgba(248, 250, 252, 0.82); }
body:not(.p3s-home) .p3s-result-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
body:not(.p3s-home) .p3s-result-card { border:1px solid rgba(255, 255, 255, 0.14); border-radius:14px; padding:16px; background:rgba(10, 18, 36, 0.55); }
body:not(.p3s-home) .p3s-result-type { margin:0 0 8px; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(248, 250, 252, 0.55); }
body:not(.p3s-home) .p3s-result-card h2 { margin:0 0 8px; font-size:24px; line-height:1.2; }
body:not(.p3s-home) .p3s-result-card h2 a { color:#f8fbff; text-decoration:none; }
body:not(.p3s-home) .p3s-result-card h2 a:hover { text-decoration:underline; }
body:not(.p3s-home) .p3s-result-card p { margin:0; color:rgba(248, 250, 252, 0.74); line-height:1.55; }
body:not(.p3s-home) .p3s-system-pagination { margin-top:20px; }
body:not(.p3s-home) .p3s-system-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px; margin-right:6px; border-radius:10px; border:1px solid rgba(255, 255, 255, 0.2); color:rgba(248, 250, 252, 0.88); text-decoration:none; background:rgba(9, 16, 30, 0.45); }
body:not(.p3s-home) .p3s-system-pagination .page-numbers.current { border-color:rgba(0, 209, 178, 0.6); box-shadow:0 0 0 3px rgba(0, 209, 178, 0.12); }
body:not(.p3s-home) .p3s-empty-state { text-align:center; padding:12px 0; }
body:not(.p3s-home) .p3s-empty-state h2 { margin:0 0 10px; font-size:30px; }
body:not(.p3s-home) .p3s-empty-state p { margin:0 0 18px; color:rgba(248, 250, 252, 0.72); }
body:not(.p3s-home) .p3s-footer-shell { width:min(1400px, 92vw); margin:0 auto; padding:44px 0 16px; }
body:not(.p3s-home) .p3s-footer-grid { display:grid; grid-template-columns:minmax(180px, 1.3fr) 1fr 1fr 1.25fr auto; gap:26px; align-items:start; }
body:not(.p3s-home) .p3s-footer-brand img { width:min(220px, 100%); height:auto; display:block; }
body:not(.p3s-home) .p3s-footer-col h3 { margin:0 0 12px; font-size:20px; line-height:1.2; color:rgba(248, 250, 252, 0.95); }
body:not(.p3s-home) .p3s-footer-accordion { margin:0; }
body:not(.p3s-home) .p3s-footer-accordion summary { list-style:none; cursor:default; pointer-events:none; display:flex; align-items:center; justify-content:space-between; margin:0 0 12px; font-size:20px; font-weight:700; line-height:1.2; color:rgba(248, 250, 252, 0.95); }
body:not(.p3s-home) .p3s-footer-accordion summary::-webkit-details-marker { display:none; }
body:not(.p3s-home) .p3s-footer-accordion summary i { display:none; }
body:not(.p3s-home) .p3s-footer-accordion__content { display:block; }
body:not(.p3s-home) .p3s-footer-col ul { list-style:none; margin:0; padding:0; }
body:not(.p3s-home) .p3s-footer-col li { margin:0 0 8px; }
body:not(.p3s-home) .p3s-footer-col a, body:not(.p3s-home) .p3s-footer-social a { color:rgba(248, 250, 252, 0.76); text-decoration:none; transition:color 0.2s ease, opacity 0.2s ease; }
body:not(.p3s-home) .p3s-footer-col a:hover, body:not(.p3s-home) .p3s-footer-social a:hover { color:rgba(248, 250, 252, 0.98); }
body:not(.p3s-home) .p3s-footer-social { display:flex; align-items:center; gap:14px; }
body:not(.p3s-home) .p3s-footer-social a { width:34px; height:34px; border-radius:999px; border:1px solid rgba(255, 255, 255, 0.2); display:inline-flex; align-items:center; justify-content:center; font-size:16px; }
body:not(.p3s-home) .p3s-footer-social a i { line-height:1; }
body:not(.p3s-home) .p3s-footer-copy { margin-top:22px; padding-top:14px; border-top:1px solid rgba(255, 255, 255, 0.18); text-align:center; color:rgba(248, 250, 252, 0.7); font-size:14px; }
html.p3s-no-scroll, body.p3s-no-scroll { overflow:hidden; height:100vh; height:100dvh; overscroll-behavior:none; touch-action:none; }
.grecaptcha-badge { right:-186px !important; left:auto !important; top:16px !important; bottom:auto !important; z-index:1000 !important; transition:right 0.3s ease !important; }
.grecaptcha-badge:hover, .grecaptcha-badge:focus-within { right:0 !important; }
.p3s-form-modal { position:fixed; inset:0; z-index:1200; display:none; }
.p3s-form-modal.is-open { display:block; }
.p3s-form-modal__overlay { position:absolute; inset:0; background:rgba(4, 9, 24, 0.78); backdrop-filter:blur(4px); }
.p3s-form-modal__dialog { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:min(560px, calc(100vw - 28px)); border-radius:16px; border:1px solid rgba(255, 255, 255, 0.22); background:linear-gradient(145deg, rgba(7, 23, 42, 0.92), rgba(42, 18, 62, 0.9)), rgba(8, 14, 28, 0.85); box-shadow:0 20px 56px rgba(0, 0, 0, 0.45); color:#f8fbff; padding:28px 24px 22px; }
.p3s-form-modal__spinner { width:54px; height:54px; border-radius:999px; border:3px solid rgba(248, 251, 255, 0.22); border-top-color:#00d1b2; border-right-color:#4f8dff; animation:p3sModalSpin 0.9s linear infinite; margin:0 auto 16px; }
.p3s-form-modal__text { margin:0; text-align:center; line-height:1.6; font-size:clamp(15px, 1.8vw, 18px); color:rgba(248, 251, 255, 0.92); }
.p3s-form-modal__actions { margin-top:20px; display:flex; justify-content:flex-end; }
.p3s-form-modal__btn { min-height:44px; border-radius:12px; border:1px solid rgba(255, 255, 255, 0.28); padding:10px 18px; color:#f8fbff; background:linear-gradient(105deg, #4e85f2 0%, #7d43df 52%, #cf49c6 100%); cursor:pointer; }
.p3s-form-modal__btn:focus-visible { outline:2px solid rgba(0, 209, 178, 0.95); outline-offset:2px; }
body.page:not(.p3s-home) .p3s-legal-page { --p3s-legal-header-h:108px; width:100%; padding:0 0 56px; }
body.admin-bar.page:not(.p3s-home) .p3s-legal-page { --p3s-legal-header-h:140px; }
body.page:not(.p3s-home) .p3s-legal-page__shell { width:min(1180px, calc(100% - 34px)); margin:0 auto; }
body.page:not(.p3s-home) .p3s-legal-page__head { margin-top:calc(var(--p3s-legal-header-h) + 10px); margin-bottom:14px; text-align:center; }
body.page:not(.p3s-home) .p3s-legal-page__head h1 { margin:0; font-size:clamp(32px, 4.2vw, 56px); line-height:1.08; letter-spacing:-0.02em; color:#1f2937; }
body.page:not(.p3s-home) .p3s-legal-page__content { border:1px solid rgba(255, 255, 255, 0.16); border-radius:16px; padding:clamp(18px, 3vw, 34px); background:linear-gradient(145deg, rgba(7, 23, 42, 0.78), rgba(42, 18, 62, 0.68)), rgba(8, 14, 28, 0.68); box-shadow:0 18px 40px rgba(0, 0, 0, 0.24); color:rgba(248, 250, 252, 0.9); }
body.page:not(.p3s-home) .p3s-legal-page__content > :first-child { margin-top:0; }
body.page:not(.p3s-home) .p3s-legal-page__content h2, body.page:not(.p3s-home) .p3s-legal-page__content h3, body.page:not(.p3s-home) .p3s-legal-page__content h4 { color:#f8fbff; margin-top:1.8em; }
body.page:not(.p3s-home) .p3s-legal-page__content p, body.page:not(.p3s-home) .p3s-legal-page__content li { line-height:1.7; }
body.page:not(.p3s-home) .p3s-legal-page__content a { color:#9bd7ff; }

/* Section: Animations globales (boutons, transitions UI) */
@keyframes p3sBtnSheen { 0% { transform:translateX(-180%) rotate(18deg); }100% { transform:translateX(420%) rotate(18deg); } }
@keyframes circle-1 { 33% { transform:translate(0px, 16px) translateZ(0); }66% { transform:translate(12px, 64px) translateZ(0); } }
@keyframes circle-2 { 33% { transform:translate(80px, -10px) translateZ(0); }66% { transform:translate(72px, -48px) translateZ(0); } }
@keyframes circle-3 { 33% { transform:translate(20px, 12px) translateZ(0); }66% { transform:translate(12px, 4px) translateZ(0); } }
@keyframes circle-4 { 33% { transform:translate(76px, -12px) translateZ(0); }66% { transform:translate(112px, -8px) translateZ(0); } }
@keyframes circle-5 { 33% { transform:translate(84px, 28px) translateZ(0); }66% { transform:translate(40px, -32px) translateZ(0); } }
@keyframes circle-6 { 33% { transform:translate(28px, -16px) translateZ(0); }66% { transform:translate(76px, -56px) translateZ(0); } }
@keyframes circle-7 { 33% { transform:translate(8px, 28px) translateZ(0); }66% { transform:translate(20px, -60px) translateZ(0); } }
@keyframes circle-8 { 33% { transform:translate(32px, -4px) translateZ(0); }66% { transform:translate(56px, -20px) translateZ(0); } }
@keyframes circle-9 { 33% { transform:translate(20px, -12px) translateZ(0); }66% { transform:translate(80px, -8px) translateZ(0); } }
@keyframes circle-10 { 33% { transform:translate(68px, 20px) translateZ(0); }66% { transform:translate(100px, 28px) translateZ(0); } }
@keyframes circle-11 { 33% { transform:translate(4px, 4px) translateZ(0); }66% { transform:translate(68px, 20px) translateZ(0); } }
@keyframes circle-12 { 33% { transform:translate(56px, 0px) translateZ(0); }66% { transform:translate(60px, -32px) translateZ(0); } }
@keyframes p3sModalSpin { to { transform:rotate(360deg); } }

/* Media queries : desktop (larges ecrans et interactions souris) */
@media (hover:hover) and (pointer:fine) { .p3s-btn:hover, .wp-element-button:hover, .wp-block-button__link:hover { transform:translateY(-2px) scale(1.01); box-shadow:0 14px 30px rgba(0, 0, 0, 0.3), 0 0 0 6px rgba(123, 82, 232, 0.16), 0 0 22px var(--p3s-btn-glow); filter:saturate(1.05) brightness(1.03); border-color:rgba(255, 255, 255, 0.36); }.p3s-btn:hover::after, .wp-element-button:hover::after, .wp-block-button__link:hover::after { opacity:1; animation:p3sBtnSheen 0.75s ease; } }
@media (prefers-reduced-motion:reduce) { .p3s-btn, .wp-element-button, .wp-block-button__link { transition:none; }.p3s-btn::after, .wp-element-button::after, .wp-block-button__link::after { animation:none !important; } }
@media (hover:hover) and (pointer:fine) { body:not(.p3s-home) .btn-secondary:hover { transform:translateY(-1px); border-color:rgba(255, 255, 255, 0.78); box-shadow:inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 14px 26px rgba(6, 10, 28, 0.28), 0 0 16px rgba(122, 189, 255, 0.22); }body:not(.p3s-home) .btn-secondary:hover::before { opacity:1; transform:scaleX(1); transition:transform 0.34s ease, opacity 0.34s ease; } }
@media (prefers-reduced-motion:reduce) { body:not(.p3s-home) .btn-official .wrapper .circle { animation:none !important; }body:not(.p3s-home) .btn-secondary { transition:none; }body:not(.p3s-home) .btn-secondary::before { transition:none !important; } }

/* Media queries : tablet (tablettes et ecrans intermediaires) */
@media (max-width:1100px) { body:not(.p3s-home) .p3s-header-shell { grid-template-columns:1fr auto; min-height:80px; }body:not(.p3s-home) .p3s-header-nav, body:not(.p3s-home) .p3s-header-tools { display:none; }body:not(.p3s-home) .p3s-nav-toggle { position:absolute; left:-9999px; }body:not(.p3s-home) .p3s-nav-burger { display:inline-flex; justify-self:end; width:44px; height:36px; flex-direction:column; justify-content:center; gap:6px; cursor:pointer; }body:not(.p3s-home) .p3s-nav-burger span { width:100%; height:2px; border-radius:2px; background:rgba(248, 250, 252, 0.88); }body:not(.p3s-home) .p3s-offcanvas, body:not(.p3s-home) .p3s-offcanvas-backdrop { display:block; }body:not(.p3s-home) .p3s-nav-toggle:checked ~ .p3s-offcanvas-backdrop { opacity:1; pointer-events:auto; }body:not(.p3s-home) .p3s-nav-toggle:checked ~ .p3s-offcanvas { transform:translateX(0); visibility:visible; pointer-events:auto; } }
@media (max-width:1100px) { body:not(.p3s-home) .p3s-header-shell { min-height:74px; }body:not(.p3s-home) .p3s-header-logo img { height:46px; } }
@media (max-width:1100px) { body:not(.p3s-home) .p3s-nav-toggle { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; clip:rect(0 0 0 0); clip-path:inset(50%); overflow:hidden; white-space:nowrap; }body:not(.p3s-home) .p3s-offcanvas { top:0; right:0; left:auto; bottom:auto; width:min(420px, 92vw); max-width:min(420px, 92vw); height:100svh; transform:translate3d(100%, 0, 0); opacity:0; visibility:hidden; pointer-events:none; border-left:1px solid rgba(255, 255, 255, 0.1); background:linear-gradient(180deg, rgba(10, 18, 34, 0.98), rgba(18, 12, 38, 0.98)); overflow:hidden; transition:transform 0.32s ease, opacity 0.22s ease; }body:not(.p3s-home) .p3s-nav-toggle:checked ~ .p3s-offcanvas { transform:translate3d(0, 0, 0); opacity:1; visibility:visible; pointer-events:auto; }body:not(.p3s-home) .p3s-offcanvas-inner.p3s-offcanvas__inner { padding:26px 22px; gap:22px; overflow:auto; -webkit-overflow-scrolling:touch; }body:not(.p3s-home) .p3s-offcanvas__top { display:flex; align-items:center; justify-content:flex-end; }body:not(.p3s-home) .p3s-offcanvas-close { position:static; transform:none; font-size:34px; line-height:1; opacity:0.8; }body:not(.p3s-home) .p3s-offcanvas__brand { text-align:center; margin-top:8px; }body:not(.p3s-home) .p3s-offcanvas__brand img { height:64px; width:auto; opacity:0.98; }body:not(.p3s-home) .p3s-offcanvas__nav { display:block; flex:0 0 auto; }body:not(.p3s-home) .p3s-offcanvas__nav a, body:not(.p3s-home) .p3s-offcanvas__legal a { display:block; padding:12px 10px; color:rgba(248, 250, 252, 0.86); text-decoration:none; border-radius:12px; text-transform:none; letter-spacing:normal; font-size:16px; }body:not(.p3s-home) .p3s-offcanvas__nav a:hover, body:not(.p3s-home) .p3s-offcanvas__legal a:hover { background:rgba(255, 255, 255, 0.06); }body:not(.p3s-home) .p3s-header-menu a:focus-visible, body:not(.p3s-home) .p3s-offcanvas__nav a:focus-visible, body:not(.p3s-home) .p3s-offcanvas__legal a:focus-visible, body:not(.p3s-home) .p3s-offcanvas__langLinks a:focus-visible, body:not(.p3s-home) .p3s-nav-burger:focus-visible, body:not(.p3s-home) .p3s-offcanvas-close:focus-visible { outline:2px solid rgba(0, 209, 178, 0.95); outline-offset:2px; }body:not(.p3s-home) .p3s-offcanvas__sectionTitle { font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:rgba(248, 250, 252, 0.55); margin-bottom:8px; }body:not(.p3s-home) .p3s-offcanvas__langLinks { display:flex; flex-wrap:nowrap; align-items:center; gap:12px; }body:not(.p3s-home) .p3s-offcanvas__langLinks a { display:inline-flex; padding:8px 10px; border:1px solid rgba(255, 255, 255, 0.14); border-radius:999px; color:rgba(248, 250, 252, 0.85); text-decoration:none; font-size:13px; }body:not(.p3s-home) .p3s-offcanvas__langLinks a.is-current { border-color:rgba(0, 209, 178, 0.55); box-shadow:0 0 0 3px rgba(0, 209, 178, 0.12); }body:not(.p3s-home) .p3s-offcanvas__search .p3s-header-search { display:flex; gap:8px; align-items:stretch; }body:not(.p3s-home) .p3s-offcanvas__search .p3s-header-search input { flex:1; min-width:0; min-height:42px; padding:10px 12px; border:1px solid rgba(248, 250, 252, 0.18); border-radius:12px; background:rgba(9, 16, 30, 0.62); color:rgba(248, 250, 252, 0.88); }body:not(.p3s-home) .p3s-offcanvas__search .p3s-header-search input::placeholder { color:rgba(248, 250, 252, 0.58); }body:not(.p3s-home) .p3s-offcanvas__search .p3s-search-btn { min-height:42px; padding:10px 12px; white-space:nowrap; }body:not(.p3s-home) .p3s-offcanvas__credits { margin-top:auto; padding-top:16px; border-top:1px solid rgba(255, 255, 255, 0.1); text-align:center; color:rgba(248, 250, 252, 0.64); font-size:12px; line-height:1.6; } }
@media (max-width:1024px) { body:not(.p3s-home) .p3s-result-grid { grid-template-columns:1fr; }body:not(.p3s-home) .p3s-footer-grid { grid-template-columns:1fr 1fr; gap:24px 20px; }body:not(.p3s-home) .p3s-footer-social { grid-column:1 / -1; justify-content:flex-start; } }
@media (max-width:1100px) { body.page:not(.p3s-home) .p3s-legal-page { --p3s-legal-header-h:94px; }body.admin-bar.page:not(.p3s-home) .p3s-legal-page { --p3s-legal-header-h:126px; } }

/* Media queries : mobile (petits ecrans) */
@media (max-width:640px) { body:not(.p3s-home) .p3s-header-shell { padding-left:12px; padding-right:12px; min-height:70px; }body:not(.p3s-home) .p3s-header-logo img { height:44px; }body:not(.p3s-home) .p3s-offcanvas { width:100vw; max-width:100vw; }body:not(.p3s-home) .p3s-offcanvas-tools { gap:8px; }body:not(.p3s-home) .p3s-offcanvas-tools .p3s-lang-toggle { min-width:102px; } }
@media (max-width:640px) { body:not(.p3s-home) .p3s-system-page { width:min(1200px, 90vw); }body:not(.p3s-home) .p3s-system-search { flex-direction:column; }body:not(.p3s-home) .p3s-system-search .btn-secondary { width:100%; }body:not(.p3s-home) .p3s-footer-shell { width:min(1400px, 90vw); padding-top:32px; }body:not(.p3s-home) .p3s-footer-grid { grid-template-columns:1fr; gap:18px; }body:not(.p3s-home) .p3s-footer-col { border-top:1px solid rgba(255, 255, 255, 0.2); padding-top:12px; }body:not(.p3s-home) .p3s-footer-accordion summary { margin:0; min-height:44px; font-size:19px; cursor:pointer; pointer-events:auto; }body:not(.p3s-home) .p3s-footer-accordion summary i { display:inline-flex; font-size:16px; transition:transform 0.2s ease; }body:not(.p3s-home) .p3s-footer-accordion[open] summary i { transform:rotate(180deg); }body:not(.p3s-home) .p3s-footer-accordion__content { display:none; padding-top:10px; }body:not(.p3s-home) .p3s-footer-accordion[open] .p3s-footer-accordion__content { display:block; }body:not(.p3s-home) .p3s-footer-brand img { width:min(200px, 70vw); }body:not(.p3s-home) .p3s-footer-brand { display:flex; justify-content:center; }body:not(.p3s-home) .p3s-footer-social { justify-content:flex-start; }body:not(.p3s-home) .p3s-footer-copy { font-size:13px; } }
@media (max-width:640px) { body.page:not(.p3s-home) .p3s-legal-page { --p3s-legal-header-h:90px; }body.admin-bar.page:not(.p3s-home) .p3s-legal-page { --p3s-legal-header-h:136px; }body.page:not(.p3s-home) .p3s-legal-page__shell { width:min(1180px, calc(100% - 22px)); } }
