/* Compatibilité WordPress / Elementor (le reste du design est dans site.css et pages.css) */

button{font:inherit;cursor:pointer}
.tg .site-main,.tg #content{max-width:none;padding:0;margin:0}

/* Conteneurs Elementor posés par l'installateur */
.e-con.tg-full{padding:0!important;--gap:0px;--row-gap:0px;--column-gap:0px;gap:0}
.e-con.tg-sec{padding:clamp(80px,11vw,150px) var(--gutter)!important;gap:0;--gap:0px;--row-gap:0px}
.e-con.tg-sec.tight{padding-top:clamp(56px,7vw,96px)!important;padding-bottom:clamp(56px,7vw,96px)!important}
.e-con.tg-sec.alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.e-con.tg-sec > .elementor-element{width:100%;max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.e-con.tg-sec.narrow > .elementor-element{max-width:960px}
.tg .elementor-widget:not(:last-child){margin-block-end:0}

/* Elementor impose height:auto aux images : on rétablit les recadrages */
.elementor .tile img,.elementor .extra img,.elementor .video img,.elementor .coach img,.elementor .fom-media img,.elementor .details .media img,.elementor .act.photo img{height:100%;max-width:none}

/* Formulaires : message d'erreur d'envoi */
.form .form-error:empty{display:none}

/* Hero 3D : la photo CSS ne sert que si la 3D est indisponible */
.hero-bg{opacity:0}
.hero.no3d .hero-bg{opacity:.75}

/* Éditeur Elementor : pas de rideau, tout visible */
.elementor-editor-active .curtain{display:none}
.elementor-editor-active .acts-pin{height:auto;overflow-x:auto}

/* Pages classiques (mentions légales, CGV, articles) */
.tg .site-main:not(:has(.elementor)){max-width:820px;margin:0 auto;padding:140px var(--gutter) 96px}
.tg .site-main .page-header .entry-title{font-weight:800;font-variation-settings:"wdth" 70;text-transform:uppercase;font-size:clamp(40px,5vw,72px);line-height:1;margin-bottom:32px}
.tg .page-content p,.tg .page-content li{color:#cfd6d2;margin-bottom:14px}
.tg .page-content h2,.tg .page-content h3{margin:32px 0 12px;font-weight:700}
.tg .page-content a{color:var(--accent);text-decoration:underline}

/* Logo (PNG transparent recadré, livré avec le thème) */
.nav .logo{display:block;width:260px;height:60px;overflow:hidden;flex:none}
.nav .logo img,.tg-flogo img,.curtain img{width:100%!important;height:100%!important;object-fit:contain;object-position:0 50%}
.tg-flogo{display:block;width:280px;height:66px;overflow:hidden}
.curtain img{position:relative;width:340px!important;height:84px!important;max-width:80vw;object-position:50% 50%}
@media (max-width:767px){.nav .logo{width:200px;height:48px}}

/* Logo Focus On Me dans la carte partenaire */
.fom-logo{display:block;width:min(420px,100%);height:auto;margin:18px 0 6px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* Barre d'administration WordPress (visible connecté) : le menu fixe passe dessous */
.admin-bar .nav{top:32px}
.admin-bar .mmenu{top:32px}
@media (max-width:782px){.admin-bar .nav,.admin-bar .mmenu{top:46px}}
@media (max-width:600px){#wpadminbar{position:fixed}}

/* Menu à 7 entrées : on resserre sur les écrans moyens */
@media (min-width:1025px) and (max-width:1280px){.nav ul{gap:18px;font-size:14px}.nav .logo{width:210px;height:50px}.nav .btn{padding:0 16px}}

/* Sous-menus */
.nav ul li{position:relative}
.nav .has-sub > a{display:inline-flex;align-items:center;gap:4px}
.nav .has-sub > a i{font-size:12px;transition:transform .3s var(--ease)}
.nav .has-sub > a::after{bottom:-6px}
.nav ul.sub{position:absolute;top:100%;left:-16px;min-width:220px;display:flex;flex-direction:column;gap:0;padding:10px;margin-top:14px;background:rgba(14,16,17,.97);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .35s var(--ease),visibility .25s;z-index:5}
.nav ul.sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav .has-sub:hover > ul.sub,.nav .has-sub:focus-within > ul.sub{opacity:1;visibility:visible;transform:none}
.nav .has-sub:hover > a i,.nav .has-sub:focus-within > a i{transform:rotate(180deg)}
.nav ul.sub a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;color:#cfd6d1}
.nav ul.sub a::after{display:none}
.nav ul.sub a:hover,.nav ul.sub a[aria-current="page"]{background:var(--surface);color:var(--accent)}
.mmenu a.mlink.msub{font-size:clamp(20px,5vw,26px);padding-left:24px;color:#cfd6d1;border-bottom-style:dashed}
.mmenu{overflow-y:auto}

/* Titres animés : place pour les accents des majuscules (Ê, É, À) sans changer l'interligne */
.hero h1 .line,.phero h1 .line{padding-top:.16em;margin-top:-.16em;padding-bottom:.06em}

/* Performance : pas de flou de fond (recalculé à chaque image pendant le défilement) */
.nav.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,9,10,.94)}
.btn-ghost{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,9,10,.55)}
.nav ul.sub{backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-bg,.phero-bg{will-change:auto}

/* « L'opposé des grandes chaînes » : arguments lisibles avant même d'être allumés */
.why li{opacity:.55;transition:opacity .6s var(--ease)}
.why li.on{opacity:1}
