/*
Theme Name: Chimera Theme
Author: Ophélie Gavillet
Description: Chimera Website theme
Version: 1.1 (clean)
*/

/* =========================================================
   0) Variables & Thèmes
   --------------------------------------------------------- */
:root{--clr-text:#333;--clr-white:#fff;--clr-brand:#DD7E16;--hero-gradient:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));--radius:10px;--fs-h1:clamp(28px,3.3vw,60px);--lh-h1:clamp(32px,3.5vw,64px);--fs-h2:clamp(22px,2.5vw,44px);--fs-h3:clamp(18px,1.8vw,34px);--fs-h4:clamp(16px,1.5vw,24px);--fs-p:clamp(16px,1.5vw,24px)}
body.theme-dark .navbar-dark .navbar-brand,body.theme-dark .navbar-dark .navbar-nav .nav-link{color:#fff!important}
body.theme-dark .navbar-dark .navbar-nav .nav-link:hover,body.theme-dark .navbar-dark .navbar-nav .nav-link:focus,body.theme-dark .navbar-dark .navbar-nav .nav-link.active{color:#fff!important;opacity:.85}
body.theme-dark .navbar-dark .navbar-toggler{border-color:rgba(0,0,0,.25)}
body.theme-dark .navbar-dark .navbar-toggler-icon{filter:invert(1) grayscale(1)}
body.theme-dark .hero .custom-heading,body.theme-dark .hero .lead,body.theme-dark .hero .btn{color:var(--hero-fg)!important}
body.theme-dark .site-header,body.theme-dark .site-header .inner,body.theme-dark .site-header .auto-contrast,body.theme-dark .site-header .btn.auto-contrast{color:#fff!important}
body.theme-dark .site-header .main-nav>a,body.theme-dark .site-header .main-nav .dropdown .btn,body.theme-dark .site-header .auth-btn{color:#fff!important}
body.theme-dark .site-header .main-nav>a:hover,body.theme-dark .site-header .main-nav>a:focus,body.theme-dark .site-header .main-nav>a.is-active{color:#fff!important;opacity:.85}
body.theme-dark .site-header .dropdown-menu .dropdown-item{color:#fff!important}
body.theme-dark #mobileOffcanvas{color:#fff!important}
body.theme-dark .site-header .notif-panel{color:#111!important}
body.theme-dark .site-header .notif-panel a,body.theme-dark .site-header .notif-panel button{color:inherit!important}
body.theme-light .navbar-dark .navbar-brand,body.theme-light .navbar-dark .navbar-nav .nav-link{color:#333!important}
body.theme-light .navbar-dark .navbar-nav .nav-link:hover,body.theme-light .navbar-dark .navbar-nav .nav-link:focus,body.theme-light .navbar-dark .navbar-nav .nav-link.active{color:#333!important;opacity:.85}
body.theme-light .navbar-dark .navbar-toggler{border-color:rgba(0,0,0,.25)}
body.theme-light .navbar-dark .navbar-toggler-icon{filter:invert(1) grayscale(1)}
body.theme-light .hero .custom-heading,body.theme-light .hero .lead,body.theme-light .hero .btn{color:var(--hero-fg)!important}
body.theme-light .site-header,body.theme-light .site-header .inner,body.theme-light .site-header .auto-contrast,body.theme-light .site-header .btn.auto-contrast{color:#333!important}
body.theme-light .site-header .main-nav>a,body.theme-light .site-header .main-nav .dropdown .btn,body.theme-light .site-header .auth-btn{color:#333!important}
body.theme-light .site-header .main-nav>a:hover,body.theme-light .site-header .main-nav>a:focus,body.theme-light .site-header .main-nav>a.is-active{color:#333!important;opacity:.85}
body.theme-light .site-header .dropdown-menu .dropdown-item{color:#333!important}
body.theme-light #mobileOffcanvas{color:#333!important}
body.theme-light .site-header .notif-panel{color:#111!important}
body.theme-light .site-header .notif-panel a,body.theme-light .site-header .notif-panel button{color:inherit!important}

/* =========================================================
   1) Reset & Base
   --------------------------------------------------------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Gabarito',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--clr-text);line-height:1.6;background:#fff}
main:not(.auth){margin:0;padding:6vh 4vw!important;box-sizing:border-box!important}
section:not(.hero,.product-media){padding-bottom:4vw}
h1,h2,h3,h4{font-weight:700;line-height:1.2;margin:0 0 .6em;text-transform:uppercase}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);text-transform:uppercase}
h2{font-size:var(--fs-h2);text-transform:uppercase}
h3{font-size:var(--fs-h3);color:rgba(0,0,0,.6);text-transform:uppercase}
h4{font-size:var(--fs-h4);color:rgba(0,0,0,.6);text-transform:uppercase}
p,a,li,span{font-size:var(--fs-p)}
a{color:inherit;text-decoration:none}
a:hover,a:focus{text-decoration:none!important}
main a:not(.btn):not(.btn-official),.entry-content a:not(.btn):not(.btn-official),article a:not(.btn):not(.btn-official){color:#333;text-decoration:none}
.orange,a.orange{color:var(--clr-brand)}
h1.custom-heading{font-size:var(--fs-h1);line-height:var(--lh-h1);padding-bottom:1.8vw;font-weight:700;margin-block-end:1vw}
h2.custom-heading{font-size:var(--fs-h2);padding-bottom:1.8vw;margin:0}
h3.custom-heading{font-size:var(--fs-h3);padding-bottom:1.8vw;color:rgba(0,0,0,.6)}
h4.custom-heading{font-size:var(--fs-h4);padding-bottom:1.8vw;color:rgba(0,0,0,.6)}
p.custom-heading{font-size:var(--fs-p);padding-bottom:1.8vw}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}
.text-highlight{position:relative;display:inline-block;color:var(--clr-brand);transition:transform .3s ease,text-shadow .3s ease,color .3s ease}
.text-highlight:hover,.text-highlight:focus-visible{transform:translateY(-2px);text-shadow:0 0 5px rgba(221,126,22,.55);color:var(--clr-brand);outline:none}
.text-highlight:focus-visible{box-shadow:0 0 0 3px rgba(221,126,22,.35);border-radius:999px}
.svc-card{box-shadow:0 6px 20px rgba(0,0,0,.15);transition:box-shadow .3s ease,transform .3s ease}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 0 25px rgba(221,126,22,.35)}

/* =========================================================
   2) Header (layout + nav + langue)
   --------------------------------------------------------- */
.site-header{position:absolute;inset-inline:0;top:3vw;z-index:50;pointer-events:none}
.site-header .inner{display:flex;justify-content:space-between;align-items:center;pointer-events:auto;padding-inline:4vw;gap:clamp(10px,1.2vw,18px)}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;line-height:1}
.brand img{height:4vw;width:auto;display:block}
.main-nav{margin-right:0}
.site-header .brand{flex:0 0 auto}
.site-header .main-nav{flex:1 1 auto;min-width:0;flex-wrap:nowrap;white-space:nowrap;justify-content:flex-end}
.site-header .main-nav a{color:#333;text-decoration:none;transition:opacity .2s ease;font-size:clamp(14px,.95vw,18px);line-height:1.1;white-space:nowrap}
.site-header .main-nav a:hover{opacity:.85;font-weight:500}
.site-header .main-nav a.is-active{font-weight:700;text-decoration:underline}
.site-header .main-nav.d-none.d-lg-flex{gap:clamp(14px,1.8vw,34px)!important}
.lang-switch .dropdown-toggle{color:#333;border:0;background:transparent;padding:0;font-weight:800;font-size:1.2rem}
.lang-switch .dropdown-menu{color:#333!important;min-width:3rem;background-color:#ffffffc7}
.lang-switch button{margin-top:0!important}
.lang-switch .dropdown-menu .dropdown-item:hover,.lang-switch .dropdown-menu .dropdown-item:focus{background-color:rgba(230,126,34,.78);color:#fff!important}
ul.dropdown-menu{--bs-dropdown-min-width:61px;width:61px!important}
body.nav-force-mobile .site-header .main-nav{display:none!important}
body.nav-force-mobile .site-header button[data-bs-target="#mobileOffcanvas"]{display:inline-flex!important}
body.nav-force-mobile .site-header .cart-mini.d-lg-none{display:inline-flex!important}
body.nav-force-mobile .site-header .notif-trigger.d-lg-none{display:inline-flex!important}
body.nav-force-mobile .site-header .cart-mini.d-none.d-lg-inline-flex{display:none!important}
body.nav-force-mobile .site-header .notif-trigger.d-none.d-lg-inline-flex{display:none!important}
.notif-actions{display:flex;justify-content:flex-end;padding:6px 8px 10px;border-bottom:1px solid rgba(0,0,0,.06);}
a.notif-clear{font-size:12px;font-weight:700;text-decoration:none;opacity:.75;color:#333 !important;}
.notif-clear:hover{opacity:1;text-decoration:underline}
.notif-item{position:relative}
.notif-del{
  position:absolute;top:8px;right:8px;
  width:22px;height:22px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  border:0;background:rgba(0,0,0,.08);color:rgba(0,0,0,.7);
  opacity:0;transform:scale(.96);transition:opacity .12s ease,transform .12s ease,background .12s ease;
  cursor:pointer;
}
.notif-item:hover .notif-del{opacity:1;transform:scale(1)}
.notif-del:hover{background:rgba(0,0,0,.12);color:rgba(0,0,0,.9)}
.notif-del:focus-visible{outline:2px solid rgba(0,0,0,.25);outline-offset:2px}

/* =========================================================
   3) Mobile / Offcanvas
   --------------------------------------------------------- */
#mobileOffcanvas .offcanvas-header{position:relative;justify-content:center;text-align:center;padding-top:2rem}
#mobileOffcanvas .btn-close{position:absolute;top:.75rem;right:.75rem;margin:0}
#mobileOffcanvas .btn-close:hover{color:#333!important;background-color:transparent!important}
#mobileOffcanvas .offcanvas-body{text-align:center;padding-bottom:140px;display:flex;flex-direction:column;align-items:center;gap:1rem}
#mobileOffcanvas .offcanvas-body a{color:#333!important}
#mobileOffcanvas .offcanvas-body hr{margin-top:2rem;margin-bottom:0;height:1px;border:none;background-color:rgba(0,0,0,.25);opacity:1;width:100%}
#mobileOffcanvas .offcanvas-body>.d-flex{width:100%}
#mobileOffcanvas .offcanvas-logo{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(24px,12vh,120px);text-align:center;pointer-events:none}
#mobileOffcanvas .offcanvas-logo img{max-width:120px;height:auto}
.burger-menu{display:none;flex-direction:column;justify-content:space-around;width:28px;height:22px;cursor:pointer}
.burger-menu div{background-color:#333;height:3px;width:100%;border-radius:999px;transition:all .3s ease}

/* =========================================================
   4) Hero
   --------------------------------------------------------- */
.hero{position:relative;min-height:80vh;background-size:cover;background-position:top;background-repeat:no-repeat;display:flex;align-items:flex-end;z-index:0}
.hero-overlay{position:absolute;inset-inline:0;bottom:0;width:100%;padding:4vw;background:var(--hero-gradient);z-index:2;color:var(--hero-fg)}
.hero-overlay h1,.hero-overlay h2,.hero-overlay h3,.hero-overlay p{color:var(--hero-fg)}
.hero-overlay h3{margin-bottom:0!important}
.wp-block-video,.wp-block-video video{max-width:100%;}
.wp-block-video{margin:0;}
.wp-block-video video{width:100%;height:auto;display:block;}

/* =========================================================
   5) Footer
   --------------------------------------------------------- */
footer{background:var(--clr-brand);color:#fff;padding:2vw;margin:4vw 4vw 6vw 0vw;display:flex;justify-content:flex-start;align-items:center;gap:clamp(16px,4vw,60px);flex-wrap:wrap}
.footer-left{flex:0 0 auto;width:15vw;padding-left:2vw}
.footer-logo{width:13vw;height:auto}
.footer-right{flex:1 1 0;min-width:0;max-width:100%;padding:1vw;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.footer-links{list-style:none;display:flex;align-items:center;gap:clamp(8px,1.2vw,20px);font-weight:700;padding:0 0 1vw 0;margin:0;flex-wrap:nowrap;white-space:nowrap;min-width:0;overflow:hidden}
.footer-links li{flex:0 1 auto;min-width:0}
.footer-links a{display:block;color:#fff;text-decoration:none;font-size:clamp(12px,1.05vw,18px);overflow:hidden;text-overflow:ellipsis}
.footer-links a:hover{text-decoration:underline}
.footer-copyright p,p#footer-copy{font-size:clamp(12px,1vw,18px);color:rgba(255,255,255,.85);margin:0}
.social-media{display:flex;align-items:center;gap:2vw;list-style:none;margin-top:2vw;padding:0}

/* =========================================================
   6) Boutons – Version améliorée
   --------------------------------------------------------- */
button{text-transform:uppercase;padding:1vw 1.5vw;background:#e67a00;border:none;border-radius:.3vw;color:#fff;cursor:pointer;font-size:clamp(16px,1.8vw,22px);font-weight:700;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
button:hover{transform:scale(1.05)}
.btn-official,a.btn-official,button.btn-official,input[type="submit"].btn-official{text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:12px 18px;background:#e67a00;color:#fff!important;border-radius:8px;text-decoration:none;font-weight:700;line-height:1;font-size:clamp(14px,1.6vw,22px);cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,0.12);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
.btn-official:hover,.btn-official:focus{text-transform:uppercase;filter:brightness(1.05);transform:scale(1.05);box-shadow:0 5px 14px rgba(0,0,0,.16)}
.btn-official[disabled],.btn-official:disabled{text-transform:uppercase;opacity:.5;pointer-events:none;transform:none;box-shadow:none}
.btn-secondary,a.btn-secondary,button.btn-secondary{text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:12px 18px;border-radius:8px;background:#fff;color:#333!important;border:2px solid #333;text-decoration:none;line-height:1;font-size:clamp(14px,1.6vw,22px);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .25s ease,border-color .25s ease}
.btn-secondary:hover,.btn-secondary:focus{transform:scale(1.05);background:rgba(230,122,0,0.08);border-color:#e67a00;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.btn-secondary:focus-visible{outline:3px solid rgba(230,122,0,.3);outline-offset:2px}
.btn-secondary[disabled],.btn-secondary:disabled{opacity:.5;pointer-events:none;transform:none;box-shadow:none}
.btn-official.w-100,.btn-secondary.w-100{width:100%}

/* Boutons Join Us – desktop vs mobile */
.joinus .btn-official--mobile{display:none}
.joinus .btn-official--desktop{display:inline-flex}

/* =========================================================
   7) Home
   --------------------------------------------------------- */
.home-partners .home-partners-header{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:.75rem}
.home-partners .home-partners-header .see-services:hover,.home-partners .home-partners-header .see-services:focus{text-decoration:underline}
.home-partners .partners-marquee{--gap:64px;position:relative;overflow:hidden;padding-block:.5rem}
.home-partners .partners-swiper{width:100%}
.home-partners .swiper-wrapper{align-items:center}
.home-partners .swiper-slide{width:auto}
.home-partners .partners-item{list-style:none;flex:0 0 auto}
.home-partners .partners-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.home-partners .partners-logo{height:clamp(64px,12vw,120px);width:auto;object-fit:contain;display:block;filter:none;user-select:none}

/* =========================================================
   8) Offcanvas — Lang dropdown
   --------------------------------------------------------- */
#mobileOffcanvas button#langDropdownMobile{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:1vw 2.5vw!important;color:#333!important;font-weight:600;font-size:inherit;text-transform:uppercase;transition:opacity .2s ease}
#mobileOffcanvas button#langDropdownMobile:hover,#mobileOffcanvas button#langDropdownMobile:focus{background:transparent!important;color:#333!important;opacity:.7}
#mobileOffcanvas button#langDropdownMobile::after{filter:none}
#mobileOffcanvas ul.dropdown-menu[aria-labelledby="langDropdownMobile"]{background:#fff!important;border:1px solid rgba(0,0,0,.15)!important}
#mobileOffcanvas ul.dropdown-menu[aria-labelledby="langDropdownMobile"] .dropdown-item{background:transparent!important;color:#333!important;font-weight:500}
#mobileOffcanvas ul.dropdown-menu[aria-labelledby="langDropdownMobile"] .dropdown-item:hover,#mobileOffcanvas ul.dropdown-menu[aria-labelledby="langDropdownMobile"] .dropdown-item:focus{background:rgba(0,0,0,.05)!important;color:#333!important}

/* =========================================================
   9) Loader / Waiting Overlay
   --------------------------------------------------------- */
.chimera-waiting{position:fixed;inset:0;z-index:99999;display:none;place-items:center;background:#fff;pointer-events:all;opacity:0;transition:opacity .18s ease}
.chimera-waiting.is-active{display:grid;opacity:1}
.chimera-waiting__inner{display:grid;justify-items:center;gap:18px}
.chimera-waiting__text{margin-top:10px;display:grid;justify-items:center;gap:6px}
.chimera-waiting__title{font-family:"Dalek Pinpoint",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:700;font-size:18px;letter-spacing:.22em;text-transform:uppercase;color:#111;line-height:1}
.chimera-waiting__sub{font-family:inherit;font-size:12.5px;color:#777;text-align:center}
.chimera-loader{position:relative;width:140px;height:140px;border:none;border-radius:999px;background:transparent}
.chimera-loader>span{position:absolute;inset:0;transform:rotate(calc(18deg * var(--i)))}
.chimera-loader>span::before{content:"";position:absolute;top:0;left:50%;width:10px;height:10px;transform:translateX(-50%) scale(.2);background:#333;border-radius:999px;opacity:0;animation:chimeraSmoke 1.6s ease-in-out infinite;animation-delay:calc(0.06s * var(--i));box-shadow:0 0 0 1px rgba(51,51,51,.05)}
.chimera-plane{position:absolute;inset:0;transform-origin:50% 50%;animation:chimeraRotate 1.6s linear infinite;pointer-events:none}
.chimera-plane img{position:absolute;top:50%;left:50%;width:46px;height:auto;transform:translate(-50%,-50%) translateY(-62px) rotate(60deg);display:block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}
.chimera-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.chimera-center img{width:54px;height:auto;display:block}

/* =========================================================
   10) Typographie (fonts)
   --------------------------------------------------------- */
@font-face{
  font-family:"Dalek Pinpoint";
  src:
    local("Dalek Pinpoint Bold"),
    local("Dalek Pinpoint Bold by Keith Bates"),
    url("/assets/fonts/Dalek Pinpoint.woff2") format("woff2"),
    url("/assets/fonts/Dalek Pinpoint.woff") format("woff"),
    url("/assets/fonts/dalek-pinpoint.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* =========================================================
   11) Animations
   --------------------------------------------------------- */
@keyframes chimeraSmoke{0%{opacity:0;transform:translateX(-50%) scale(.2)}15%{opacity:.85;transform:translateX(-50%) scale(1)}65%{opacity:.25;transform:translateX(-50%) scale(.9)}100%{opacity:0;transform:translateX(-50%) scale(.2)}}
@keyframes chimeraRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* =========================================================
   12) Responsive (media queries regroupées)
   --------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){.home-partners .partners-track{animation:none}.chimera-loader>span::before,.chimera-plane{animation:none!important}}

@media (max-width:768px){
  .brand img{height:8vw}
  .burger-menu{display:flex;margin-right:4vw}
  section:not(.hero,.product-media){margin-bottom:8vw}
  .mobile-nav{display:none;position:absolute;inset:0 0 auto auto;background-color:rgba(255,255,255,.9);flex-direction:column;align-items:center;gap:1rem;padding-top:2rem;transform:translateX(0);transition:transform .3s ease-in-out;z-index:100}
  .mobile-nav.open{display:flex}
  .mobile-nav ul{list-style:none;width:100%;padding:0 1vw;text-align:left;display:flex;flex-direction:column;gap:.5rem}
  .mobile-nav a{color:#333;font-size:clamp(16px,3vw,22px);text-decoration:none}
  .mobile-nav a:hover{text-decoration:underline}
  #lang-dropdown{list-style:none;position:absolute;top:-785%;left:-150%;background-color:rgba(255,255,255,.9);margin:0;padding:0;width:100%;display:none}
  #lang-dropdown li{padding:10px;text-align:left}
  .footer-links li{display:none}
  .footer-links{margin-bottom:2vw;margin-top:4vw}
  .footer-links a{font-size:9px!important}
  li.contact{display:block;font-size:9px!important}
  .social-media svg{width:4vw;height:4vw;margin-right:4vw}
}

@media (max-width:500px){
  .home-partners .partners-marquee{--gap:1.5rem}
  .hero{min-height:40vh}
  .joinus .btn-official--desktop{display:none}
  .joinus .btn-official--mobile{display:inline-flex;margin-top:1rem}
}

@media (min-width:501px) and (max-width:991.98px){
  .hero{min-height:50vh}
  .joinus .join-video{max-width:40vw}
}

@media (min-width:992px){
:root{--fs-h1:33px;--lh-h1:35px;--fs-h2:25px;--fs-h3:18px;--fs-h4:16px;--fs-p:16px}
.site-header .main-nav a{font-size:14px}
button{font-size:18px}
.btn-official,a.btn-official,button.btn-official,input[type="submit"].btn-official{font-size:16px}
.btn-secondary,a.btn-secondary,button.btn-secondary{font-size:16px}
.footer-links a{font-size:12px}
.footer-copyright p,p#footer-copy{font-size:12px}
}
