/*
Theme Name: Transilix Theme
Theme URI: https://transilix.com
Author: Saliou Dyallo
Description: Thème custom Transilix Africa — plateforme logistique sécurisée Sénégal. Compatible Elementor Pro. Reproduit pixel-perfect la maquette transilix_v4.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: transilix
*/

*{margin:0;padding:0;box-sizing:border-box}
:root{--blue:#0B2A4A;--blue2:#163d6a;--orange:#F57C00;--orange-light:#FF9800;--gray-light:#F4F5F7;--gray-bg:#F0F2F5;--white:#ffffff;--text:#1a1a2e;--text-muted:#555}
body{font-family:'Poppins',sans-serif;background:#fff;color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}

/* ===== NAV ===== */
.tx-nav{background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);padding:0 52px;display:flex;align-items:center;justify-content:space-between;height:68px;position:sticky;top:0;z-index:300;border-bottom:1px solid rgba(11,42,74,0.08)}
.tx-nav .nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}
.tx-nav .logo-icon{width:38px;height:38px}
.tx-nav .logo-text{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;color:var(--blue);letter-spacing:-0.3px}
.tx-nav .logo-text span{color:var(--orange)}
.tx-nav .nav-links{display:flex;list-style:none;margin:0;padding:0}
.tx-nav .nav-links li a{color:var(--blue);opacity:.7;text-decoration:none;font-size:13px;font-weight:600;padding:24px 14px;display:block;border-bottom:3px solid transparent;transition:all .2s;cursor:pointer;font-family:'Montserrat',sans-serif;letter-spacing:.2px}
.tx-nav .nav-links li a:hover,.tx-nav .nav-links li.current-menu-item a,.tx-nav .nav-links li.current_page_item a{opacity:1;border-bottom-color:var(--orange)}
.tx-nav .nav-cta{background:var(--orange);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;letter-spacing:.3px;text-decoration:none;display:inline-block}
.tx-nav .nav-cta:hover{background:#e06d00;transform:translateY(-1px)}
.tx-nav .tx-nav-collapse{display:flex;align-items:center;gap:8px}
.tx-nav .tx-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:transparent;border:none;cursor:pointer;padding:9px;border-radius:8px}
.tx-nav .tx-nav-toggle:hover{background:rgba(11,42,74,.06)}
.tx-nav-toggle span{display:block;height:2.5px;width:100%;background:var(--blue);border-radius:2px;transition:all .25s}
.tx-nav.is-open .tx-nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.tx-nav.is-open .tx-nav-toggle span:nth-child(2){opacity:0}
.tx-nav.is-open .tx-nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ===== SOUS-MENUS & MÉGA-MENU ===== */
.tx-nav{position:relative}
.tx-nav .nav-links li.has-sub{position:relative}
.tx-nav .nav-links li.has-mega{position:static}
.tx-nav .nav-caret{display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:7px;vertical-align:middle;position:relative;top:-2px;transition:transform .25s}
.tx-nav .nav-links li.has-sub:hover>a .nav-caret,.tx-nav .nav-links li.has-sub:focus-within>a .nav-caret{transform:rotate(225deg)}
/* état caché commun (dropdown + mega) */
.tx-nav .tx-subnav,.tx-nav .tx-mega{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.tx-nav .nav-links li.has-sub:hover>.tx-subnav,.tx-nav .nav-links li.has-sub:focus-within>.tx-subnav,
.tx-nav .nav-links li.has-mega:hover>.tx-mega,.tx-nav .nav-links li.has-mega:focus-within>.tx-mega{opacity:1;visibility:visible;transform:translateY(0)}

/* Dropdown moderne (icône + titre + description) */
.tx-nav .tx-subnav{position:absolute;top:calc(100% + 10px);left:-10px;min-width:268px;list-style:none;margin:0;padding:10px;background:#fff;border:1px solid rgba(11,42,74,.06);border-radius:14px;box-shadow:0 18px 44px rgba(11,42,74,.16);z-index:60}
.tx-nav .tx-subnav::before{content:"";position:absolute;top:-7px;left:26px;width:14px;height:14px;background:#fff;border-left:1px solid rgba(11,42,74,.06);border-top:1px solid rgba(11,42,74,.06);transform:rotate(45deg)}
.tx-nav .tx-subnav li{display:block;margin:0}
.tx-nav .tx-subnav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;border:none!important;white-space:nowrap;opacity:1}
.tx-nav .tx-subnav a:hover{background:var(--gray-light,#F4F5F7)}
.tx-nav .sub-ic{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:rgba(245,124,0,.1);display:flex;align-items:center;justify-content:center;font-size:17px}
.tx-nav .sub-tx{display:flex;flex-direction:column;line-height:1.25}
.tx-nav .sub-tx b{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13.5px;color:var(--blue)}
.tx-nav .sub-tx small{font-size:11.5px;color:#7a869a;font-weight:400}
.tx-nav .tx-subnav a:hover .sub-tx b{color:var(--orange)}

/* Méga-menu (panneau pleine largeur, colonnes) */
.tx-nav .tx-mega{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border:1px solid rgba(11,42,74,.06);border-radius:16px;box-shadow:0 22px 54px rgba(11,42,74,.18);z-index:60;overflow:hidden}
.tx-nav .tx-mega-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 18px;padding:22px}
.tx-nav .tx-mega-col{min-width:0}
.tx-nav .tx-mega-title{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#9aa6b5;margin:4px 6px 8px;font-weight:700}
.tx-nav .tx-mega-item{display:flex;align-items:flex-start;gap:12px;padding:10px 11px;border-radius:11px;text-decoration:none;border:none!important;transition:background .15s}
.tx-nav .tx-mega-item:hover{background:var(--gray-light,#F4F5F7)}
.tx-nav .tx-mega-ic{width:38px;height:38px;flex-shrink:0;border-radius:10px;background:rgba(11,42,74,.06);display:flex;align-items:center;justify-content:center;font-size:19px}
.tx-nav .tx-mega-item:hover .tx-mega-ic{background:rgba(245,124,0,.12)}
.tx-nav .tx-mega-tx{display:flex;flex-direction:column;line-height:1.3}
.tx-nav .tx-mega-tx b{font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;color:var(--blue)}
.tx-nav .tx-mega-tx small{font-size:12px;color:#7a869a}
.tx-nav .tx-mega-item:hover .tx-mega-tx b{color:var(--orange)}
.tx-nav .tx-mega-promo{background:linear-gradient(150deg,var(--blue),#163d6a);color:#fff;border-radius:14px;padding:20px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.tx-nav .tx-mega-promo strong{font-family:'Montserrat',sans-serif;font-size:16px}
.tx-nav .tx-mega-promo p{font-size:12.5px;color:rgba(255,255,255,.82);margin:0;line-height:1.5}
.tx-nav .tx-mega-btn{display:inline-block;margin-top:4px;background:var(--orange);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12.5px;padding:9px 16px;border-radius:8px;text-decoration:none;align-self:flex-start;border:none!important}
.tx-nav .tx-mega-btn:hover{background:#e06d00}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;cursor:pointer;border:none;border-radius:50px;padding:13px 28px;transition:all .25s;text-decoration:none;letter-spacing:.3px}
.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:#e06d00;transform:translateY(-2px);color:#fff}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.55)}.btn-outline-white:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);color:#fff}
.btn-outline-blue{background:transparent;color:var(--blue);border:2px solid var(--blue)}.btn-outline-blue:hover{background:var(--blue);color:#fff}
.btn-wa{background:#25D366;color:#fff;border:2px solid #25D366}.btn-wa:hover{background:#1cb955;color:#fff}
.btn-sm{padding:10px 20px;font-size:13px}
.wa-alt{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#25D366;border:2px solid #25D366;padding:11px 22px;border-radius:50px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;text-decoration:none}
.wa-alt:hover{background:#25D366;color:#fff}

/* ===== HERO ===== */
.hero-fullbleed{position:relative;min-height:580px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(11,42,74,.88) 0%,rgba(11,42,74,.7) 55%,rgba(11,42,74,.35) 100%);z-index:1}
.hero-content{position:relative;z-index:2;padding:80px 52px;max-width:640px}
.badge-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(245,124,0,.2);border:1px solid rgba(245,124,0,.5);color:var(--orange);padding:6px 16px;border-radius:50px;font-size:11px;font-weight:700;font-family:'Montserrat',sans-serif;margin-bottom:24px;letter-spacing:.8px;text-transform:uppercase}
.hero-h1{font-family:'Montserrat',sans-serif;font-size:46px;font-weight:900;color:#fff;line-height:1.1;margin-bottom:16px;letter-spacing:-1px}
.hero-h1 em{color:var(--orange);font-style:normal}
.hero-sub{font-size:16px;font-weight:700;color:#fff;margin-bottom:8px}
.hero-desc{font-size:14px;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:32px;max-width:480px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-note{font-size:11px;color:rgba(255,255,255,.5);margin-top:12px;font-style:italic}
.hero-visual{position:absolute;right:52px;top:50%;transform:translateY(-50%);z-index:2;width:340px}
.hero-visual img{width:100%;border-radius:16px;border:3px solid rgba(255,255,255,.15)}

/* ===== TRUST BAR ===== */
.trust-bar{background:#fff;border-top:3px solid var(--orange);box-shadow:0 4px 24px rgba(11,42,74,.08);display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{text-align:center;padding:22px 16px;border-right:1px solid #eee}
.trust-item:last-child{border-right:none}
.trust-num{font-family:'Montserrat',sans-serif;font-size:26px;font-weight:800;color:var(--blue)}
.trust-num em{color:var(--orange);font-style:normal}
.trust-lbl{font-size:11px;color:var(--text-muted);margin-top:3px}

/* ===== SECTIONS ===== */
.tx-section{padding:72px 52px}
.sec-bg{background:var(--gray-light)}
.sec-dark{background:var(--blue)}
.sec-cream{background:#FDF8F3}
.tag{display:inline-block;background:rgba(245,124,0,.12);color:var(--orange);font-size:10px;font-weight:700;letter-spacing:1.8px;padding:5px 14px;border-radius:4px;font-family:'Montserrat',sans-serif;margin-bottom:14px;text-transform:uppercase}
.tag-dark{background:rgba(245,124,0,.2);color:var(--orange-light)}
h2.h2{font-family:'Montserrat',sans-serif;font-size:32px;font-weight:800;color:var(--blue);margin-bottom:12px;line-height:1.15;letter-spacing:-.5px}
h2.h2-white{color:#fff}
p.sub{font-size:15px;color:var(--text-muted);line-height:1.75;margin-bottom:44px;max-width:560px}
p.sub-white{color:rgba(255,255,255,.72)}
.center{text-align:center}.center .sub{margin-left:auto;margin-right:auto}

/* ===== GRIDS ===== */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* ===== CARDS ===== */
.card{background:#fff;border:1px solid #e4e4e4;border-radius:16px;padding:26px}
.card-dark{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:26px}
.ci{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.ci-blue{background:rgba(11,42,74,.1)}.ci-orange{background:rgba(245,124,0,.12)}.ci-dark{background:rgba(245,124,0,.2)}
.ci svg{width:24px;height:24px;stroke-width:2;fill:none}
.ci-blue svg{stroke:var(--blue)}.ci-orange svg{stroke:var(--orange)}.ci-dark svg{stroke:var(--orange)}
.card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--blue);margin-bottom:8px}
.card-dark h3{color:#fff}
.card p{font-size:13px;color:var(--text-muted);line-height:1.65}
.card-dark p{color:rgba(255,255,255,.65)}

/* ===== PROBLEM ===== */
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.prob-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:22px;display:flex;gap:16px;align-items:flex-start}
.prob-num{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:900;color:rgba(245,124,0,.4);line-height:1;flex-shrink:0;min-width:32px}
.prob-card h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:#fff;margin-bottom:6px}
.prob-card p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6}

/* ===== PARTNERS ===== */
.partners-logos{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:32px}
.partner-logo{padding:10px 20px;border-radius:10px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;min-width:120px;text-align:center}
.pl-wave{background:#2196F3;color:#fff}
.pl-om{background:#FF6600;color:#fff}
.pl-axa{background:#00008F;color:#fff}
.pl-nsia{background:#4A4A4A;color:#fff}
.partner-sub{font-size:10px;font-weight:400;opacity:.75;display:block;margin-top:2px;font-family:'Poppins',sans-serif}
.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.stat3{background:rgba(245,124,0,.08);border-radius:12px;padding:18px;text-align:center;border:1px solid rgba(245,124,0,.15)}
.stat3-n{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:800;color:var(--orange);margin-bottom:4px}
.stat3-l{font-size:12px;color:var(--text-muted)}

/* ===== DERISQUAGE ===== */
.derisk-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.derisk-card{background:#fff;border-radius:14px;padding:24px;text-align:center;border:1px solid #e8e8e8}
.derisk-icon{width:52px;height:52px;background:rgba(245,124,0,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.derisk-icon svg{width:26px;height:26px;stroke:var(--orange);stroke-width:2;fill:none}
.derisk-card p{font-size:13px;color:var(--text-muted);line-height:1.6}
.derisk-card strong{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--blue);margin-bottom:6px}

/* ===== TESTIMONIALS ===== */
.testi{background:#fff;border-radius:16px;padding:28px 32px;border:1px solid #e8e8e8}
.stars{color:var(--orange);font-size:18px;margin-bottom:14px;letter-spacing:2px}
.testi-text{font-size:16px;color:var(--blue);line-height:1.7;margin-bottom:18px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:12px}
.author-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;color:#fff;flex-shrink:0}
.author-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;color:var(--blue)}
.author-role{font-size:12px;color:var(--text-muted)}
.testi-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.testi-dark{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:26px}
.testi-dark .stars{color:var(--orange)}
.testi-dark .testi-text{color:rgba(255,255,255,.88)}
.testi-dark .author-name{color:#fff}
.testi-dark .author-role{color:rgba(255,255,255,.55)}

/* ===== REVENUE ===== */
.revenue-cards{display:flex;gap:20px;align-items:center;justify-content:center;margin:28px 0;flex-wrap:wrap}
.rev-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:24px 32px;text-align:center}
.rev-amount{font-family:'Montserrat',sans-serif;font-size:40px;font-weight:900;color:var(--orange);line-height:1}
.rev-label{font-size:12px;color:rgba(255,255,255,.6);margin-top:6px}
.rev-sep{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:700;color:rgba(255,255,255,.4)}

/* ===== STEPS ===== */
.steps-v{display:flex;flex-direction:column;gap:0;max-width:680px;margin:0 auto}
.step-v{display:flex;gap:20px;align-items:flex-start;padding:20px 0}
.step-v:not(:last-child){border-bottom:1px solid #eee}
.step-v-num{width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-v h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--blue);margin-bottom:5px}
.step-v-dark h4{color:#fff}
.step-v p{font-size:13px;color:var(--text-muted);line-height:1.65}
.step-v-dark p{color:rgba(255,255,255,.65)}
.step-v-dark{border-bottom-color:rgba(255,255,255,.1) !important}

/* ===== GARANTIES ===== */
.garantie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.garantie-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:26px;text-align:center}
.garantie-icon{width:56px;height:56px;background:rgba(245,124,0,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.garantie-icon svg{width:28px;height:28px;stroke:var(--orange);stroke-width:2;fill:none}
.garantie-card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:#fff;margin-bottom:8px}
.garantie-card p{font-size:13px;color:rgba(255,255,255,.62);line-height:1.65}

/* ===== TARGET CARDS ===== */
.target-card{border-radius:16px;overflow:hidden;border:2px solid transparent}
.tc-blue{border-color:var(--blue)}.tc-orange{border-color:var(--orange)}
.tc-head{padding:24px;display:flex;align-items:center;gap:14px}
.tc-blue .tc-head{background:var(--blue)}.tc-orange .tc-head{background:var(--orange)}
.tc-icon{width:48px;height:48px;background:rgba(255,255,255,.18);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tc-icon svg{width:24px;height:24px;stroke:#fff;stroke-width:2;fill:none}
.tc-head h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;color:#fff;margin-bottom:2px}
.tc-head p{font-size:12px;color:rgba(255,255,255,.72)}
.tc-body{background:#fff;padding:20px 24px}
.tc-feat{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #f2f2f2}
.tc-feat:last-child{border-bottom:none;padding-bottom:0}
.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}
.tc-feat p{font-size:13px;color:#444;line-height:1.55}

/* ===== DEMO CALENDAR ===== */
.demo-section{background:linear-gradient(135deg,var(--blue) 0%,var(--blue2) 100%);padding:72px 52px}
.demo-inner{display:grid;grid-template-columns:1fr 1.35fr;gap:52px;align-items:start}
.demo-left h2{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:800;color:#fff;margin-bottom:12px;line-height:1.2}
.demo-left p{font-size:13px;color:rgba(255,255,255,.7);line-height:1.75;margin-bottom:20px}
.demo-perks{list-style:none;display:flex;flex-direction:column;gap:10px}
.demo-perks li{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.82)}
.demo-perks li::before{content:'✓';background:var(--orange);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.cal-card{background:#fff;border-radius:16px;padding:24px}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.cal-header h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:var(--blue)}
.cal-nav{display:flex;gap:6px}
.cal-nav button{width:30px;height:30px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;color:var(--blue)}
.cal-nav button:hover{background:var(--gray-light)}
.cal-dh{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.cal-dn{text-align:center;font-size:10px;font-weight:700;color:#888;padding:4px 0;font-family:'Montserrat',sans-serif}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-day{width:100%;aspect-ratio:1;border-radius:7px;border:none;background:transparent;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative;font-family:'Poppins',sans-serif}
.cal-day:hover:not(.empty):not(.past){background:rgba(11,42,74,.08)}
.cal-day.past{color:#ccc;cursor:default}.cal-day.empty{cursor:default}
.cal-day.available{color:var(--blue);font-weight:600}
.cal-day.available::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--orange);position:absolute;bottom:3px;left:50%;transform:translateX(-50%)}
.cal-day.selected{background:var(--orange)!important;color:#fff!important;font-weight:700}
.cal-day.selected::after{background:#fff!important}
.cal-day.today{background:rgba(11,42,74,.08);font-weight:700}
.time-slots{margin-top:14px;display:none}.time-slots.show{display:block}
.time-slots h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;color:var(--blue);margin-bottom:8px}
.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.slot{border:1.5px solid #ddd;border-radius:7px;padding:7px 5px;font-size:11px;font-weight:600;color:var(--blue);text-align:center;cursor:pointer;transition:all .15s;font-family:'Montserrat',sans-serif}
.slot:hover{border-color:var(--orange);color:var(--orange)}
.slot.sel-slot{background:var(--orange);border-color:var(--orange);color:#fff}
.slot.unavail{color:#ccc;border-color:#eee;cursor:default}
.booking-form{margin-top:14px;display:none}.booking-form.show{display:block}
.bf-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.bf-input{width:100%;border:1.5px solid #ddd;border-radius:7px;padding:9px 11px;font-size:12px;font-family:'Poppins',sans-serif;outline:none;color:var(--text)}
.bf-input:focus{border-color:var(--orange)}
.bf-submit{width:100%;background:var(--orange);color:#fff;border:none;padding:12px;border-radius:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;cursor:pointer;margin-top:4px}
.booking-confirm{display:none;text-align:center;padding:24px 10px}.booking-confirm.show{display:block}
.bc-check{width:54px;height:54px;background:rgba(11,42,74,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:24px}
.booking-confirm h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:var(--blue);margin-bottom:6px}
.booking-confirm p{font-size:12px;color:#666;line-height:1.65}

/* ===== SUPPORT ===== */
.support-section{background:var(--blue);padding:72px 52px}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.sup-opts{display:flex;flex-direction:column;gap:10px}
.sup-opt{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s}
.sup-opt:hover{background:rgba(255,255,255,.14);border-color:rgba(245,124,0,.5)}
.sup-opt-icon{width:40px;height:40px;background:rgba(245,124,0,.2);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sup-opt-icon svg{width:19px;height:19px;stroke:var(--orange);stroke-width:2;fill:none}
.sup-opt-text h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:#fff;margin-bottom:1px}
.sup-opt-text p{font-size:11px;color:rgba(255,255,255,.55);margin:0}
.app-dl{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:22px}
.app-dl h3{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:#fff;margin-bottom:6px}
.app-dl p{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:18px;line-height:1.6}
.store-btns{display:flex;flex-direction:column;gap:8px}
.store-btn{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:10px;padding:10px 14px;cursor:pointer;transition:all .2s}
.store-btn:hover{background:rgba(255,255,255,.18);border-color:var(--orange)}
.store-btn-icon{width:26px;height:26px;fill:#fff;flex-shrink:0}
.sbt span{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;color:#fff}
.sbt small{font-size:10px;color:rgba(255,255,255,.55)}
.app-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
.as{background:rgba(255,255,255,.05);border-radius:8px;padding:10px;text-align:center}
.as span{display:block;font-family:'Montserrat',sans-serif;font-size:16px;font-weight:800;color:var(--orange)}
.as small{font-size:10px;color:rgba(255,255,255,.5)}

/* ===== COMMISSION ===== */
.comm-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.cc{border-radius:14px;padding:28px;position:relative;overflow:hidden}
.cc-blue{background:var(--blue)}.cc-orange{background:var(--orange)}
.cc-ghost{position:absolute;right:12px;top:6px;font-family:'Montserrat',sans-serif;font-size:64px;font-weight:900;color:rgba(255,255,255,.09);line-height:1}
.cc h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;color:rgba(255,255,255,.72);margin-bottom:4px}
.cc-pct{font-family:'Montserrat',sans-serif;font-size:48px;font-weight:900;color:#fff;line-height:1;margin-bottom:8px}
.cc p{font-size:12px;color:rgba(255,255,255,.65);line-height:1.65}
.cc-tags{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ctag{background:rgba(255,255,255,.14);color:#fff;font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;font-family:'Montserrat',sans-serif}
.ex-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:22px}
.ex-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--blue);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ex-badge{background:var(--blue);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:4px;font-family:'Montserrat',sans-serif}
.flow{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.fl-b{background:var(--gray-light);border-radius:8px;padding:9px 12px;font-size:12px;color:var(--blue);font-weight:600;font-family:'Montserrat',sans-serif;text-align:center;min-width:108px}
.fl-b small{display:block;color:#888;font-weight:400;font-size:10px;margin-top:2px}
.fl-h{background:var(--orange);border-radius:8px;padding:9px 12px;font-size:12px;color:#fff;font-weight:700;font-family:'Montserrat',sans-serif;text-align:center;min-width:108px}
.fl-h small{display:block;opacity:.82;font-weight:400;font-size:10px;margin-top:2px}
.fl-arr{color:var(--orange);font-weight:700;font-size:15px}
.ex-note{background:rgba(11,42,74,.05);border-left:3px solid var(--blue);padding:9px 13px;border-radius:0 6px 6px 0;font-size:12px;color:#555;margin-top:12px;line-height:1.65}

/* ===== TABS ===== */
.tab-bar{display:flex;background:var(--blue);border-radius:10px;padding:5px;margin-bottom:32px;max-width:480px}
.tab-btn{flex:1;padding:9px 14px;border-radius:7px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;cursor:pointer;border:none;background:transparent;color:rgba(255,255,255,.52);transition:all .2s}
.tab-btn.on{background:var(--orange);color:#fff}

/* ===== CTA ===== */
.cta-sec{background:var(--blue);padding:80px 52px;text-align:center;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(245,124,0,.16),transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(245,124,0,.12),transparent 60%)}
.cta-sec h2{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:900;color:#fff;margin-bottom:12px;position:relative;letter-spacing:-.5px}
.cta-sec p{font-size:15px;color:rgba(255,255,255,.72);margin-bottom:32px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.75;position:relative}
.cta-btns{display:flex;justify-content:center;gap:14px;position:relative;flex-wrap:wrap}
.cta-note{font-size:12px;color:rgba(255,255,255,.42);margin-top:14px;position:relative;font-style:italic}

/* ===== FAQ ===== */
.faq-list{display:flex;flex-direction:column;gap:0;max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid #eee}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 0;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;color:var(--blue)}
.faq-q .faq-arrow{font-size:18px;color:var(--orange);transition:transform .25s;flex-shrink:0}
.faq-q.open .faq-arrow{transform:rotate(180deg)}
.faq-a{font-size:13px;color:var(--text-muted);line-height:1.75;padding-bottom:16px;display:none}
.faq-a.open{display:block}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.c-info{display:flex;flex-direction:column;gap:14px}
.c-item{display:flex;align-items:flex-start;gap:13px;padding:15px;background:#fff;border:1px solid #e4e4e4;border-radius:12px}
.c-icon{width:36px;height:36px;background:rgba(11,42,74,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-icon svg{width:17px;height:17px;stroke:var(--blue);stroke-width:2;fill:none}
.c-item h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;color:var(--blue);margin-bottom:1px}
.c-item p{font-size:13px;color:#666}
.form-card{background:#fff;border:1px solid #e4e4e4;border-radius:16px;padding:28px}
.form-card h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--blue);margin-bottom:18px}
.fg{margin-bottom:13px}
.fg label{display:block;font-size:11px;font-weight:700;color:var(--blue);margin-bottom:5px;font-family:'Montserrat',sans-serif}
.fg input,.fg select,.fg textarea{width:100%;border:1.5px solid #ddd;border-radius:8px;padding:9px 12px;font-size:13px;font-family:'Poppins',sans-serif;outline:none;color:var(--text);background:#fafafa}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--orange);background:#fff}
.fg textarea{height:80px;resize:none}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fs{width:100%;background:var(--orange);color:#fff;border:none;padding:12px;border-radius:8px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;cursor:pointer;margin-top:4px}
.demo-shortcut{margin-top:16px;padding:16px;background:rgba(245,124,0,.07);border-radius:12px;border:1px solid rgba(245,124,0,.2)}
.demo-shortcut p{font-size:12px;color:#666;margin-bottom:10px;line-height:1.6}
.demo-shortcut strong{display:block;font-family:'Montserrat',sans-serif;font-size:13px;color:var(--blue);margin-bottom:6px}

/* ===== FOOTER ===== */
.tx-footer{background:#07192b;padding:50px 52px 24px;color:rgba(255,255,255,.52)}
.tx-footer .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px}
.foot-brand .foot-brand-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;color:#fff}
.foot-brand .foot-brand-name span{color:var(--orange)}
.foot-brand p{font-size:13px;line-height:1.75;margin-top:10px;max-width:250px}
.foot-col h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;color:#fff;margin-bottom:14px;letter-spacing:.7px;text-transform:uppercase}
.foot-col a{display:block;color:rgba(255,255,255,.48);font-size:12px;margin-bottom:8px;text-decoration:none;cursor:pointer;transition:color .2s}
.foot-col a:hover{color:var(--orange)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:18px;display:flex;justify-content:space-between;font-size:11px;flex-wrap:wrap;gap:12px}
.foot-vals{display:flex;gap:18px}
.fval{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.38);font-size:11px}
.fval::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--orange)}

/* ===== FLOATING WA ===== */
.wa-float{position:fixed;bottom:24px;right:24px;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:transform .2s;text-decoration:none}
.wa-float:hover{transform:scale(1.1)}
.wa-float svg{width:28px;height:28px;fill:#fff}

/* ===== PAGE HERO INNER ===== */
.page-hero{background:linear-gradient(135deg,var(--blue),var(--blue2));padding:58px 52px 52px;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;right:52px;top:50%;transform:translateY(-50%);width:200px;height:200px;border-radius:50%;border:44px solid rgba(245,124,0,.09)}
.page-hero h1{font-family:'Montserrat',sans-serif;font-size:34px;font-weight:900;color:#fff;margin-bottom:10px;letter-spacing:-.5px}
.page-hero p{font-size:14px;color:rgba(255,255,255,.7);max-width:540px;line-height:1.75}

/* ===== PAYMENT FLOW ===== */
.pay-flow{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px 22px;margin-top:14px}
.pay-steps{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.ps{background:rgba(255,255,255,.1);border-radius:7px;padding:9px 12px;font-size:11px;color:#fff;font-weight:600;font-family:'Montserrat',sans-serif;text-align:center;min-width:100px}
.ps small{display:block;color:rgba(255,255,255,.5);font-weight:400;font-size:10px;margin-top:1px}
.ps-hl{background:var(--orange);border-radius:7px;padding:9px 12px;font-size:11px;color:#fff;font-weight:700;font-family:'Montserrat',sans-serif;text-align:center;min-width:100px}
.ps-hl small{display:block;opacity:.8;font-size:10px;margin-top:1px}
.ps-arr{color:rgba(255,255,255,.4);font-size:14px}
.pay-note{font-size:11px;color:rgba(255,255,255,.55);line-height:1.6;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .tx-nav{padding:0 20px;position:relative}
  /* Hamburger pinné en absolu (immunisé contre les soucis de flex/overflow) */
  /* Spécificité 0,2,0 pour battre la règle de base .tx-nav .tx-nav-toggle{display:none} */
  .tx-nav .tx-nav-toggle{display:flex;position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:2}
  /* Dropdown absolu sous la barre, ouvert via .is-open */
  .tx-nav .tx-nav-collapse{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;box-shadow:0 12px 24px rgba(11,42,74,.12);border-bottom:1px solid rgba(11,42,74,.08);z-index:1}
  .tx-nav.is-open .tx-nav-collapse{display:flex}
  .tx-nav .nav-links{flex-direction:column;width:100%}
  .tx-nav .nav-links li a{padding:13px 4px;border-bottom:1px solid rgba(11,42,74,.08);border-left:3px solid transparent;opacity:.85}
  .tx-nav .nav-links li a:hover,.tx-nav .nav-links li.current-menu-item a,.tx-nav .nav-links li.current_page_item a{border-bottom-color:rgba(11,42,74,.08);border-left-color:var(--orange);opacity:1}
  .tx-nav .nav-cta{margin-top:12px;text-align:center;padding:13px 22px}
  /* Sous-menus & méga-menu en accordéon sur mobile */
  .tx-nav .nav-links li.has-sub>a{justify-content:space-between}
  .tx-nav .nav-caret{float:right;margin-top:7px}
  .tx-nav .tx-subnav,.tx-nav .tx-mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;min-width:0;max-height:0;overflow:hidden;transition:max-height .35s ease}
  .tx-nav .tx-subnav{padding:0 0 6px 10px}
  .tx-nav .tx-subnav::before{display:none}
  .tx-nav .nav-links li.has-sub.open>.tx-subnav,.tx-nav .nav-links li.has-mega.open>.tx-mega{max-height:1400px}
  .tx-nav .nav-links li.has-sub.open>a .nav-caret{transform:rotate(225deg)}
  .tx-nav .tx-subnav a{border-bottom:1px solid rgba(11,42,74,.05)}
  .tx-nav .tx-mega-inner{grid-template-columns:1fr;padding:4px 0 8px 10px;gap:2px}
  .tx-nav .tx-mega-item{padding:9px 6px}
  .tx-nav .tx-mega-ic,.tx-nav .sub-ic{width:30px;height:30px;font-size:15px}
  .tx-nav .tx-mega-promo{margin:8px 0}
  .hero-content{padding:60px 20px;max-width:100%}
  .hero-visual{display:none}
  .hero-h1{font-size:34px}
  .tx-section,.demo-section,.support-section,.cta-sec,.page-hero,.tx-footer{padding-left:20px;padding-right:20px}
  .g2,.g3,.g4,.trust-bar,.problem-grid,.garantie-grid,.derisk-cards,.testi-card-grid,.demo-inner,.support-grid,.comm-grid,.contact-grid,.stats3,.tx-footer .foot-grid{grid-template-columns:1fr;display:grid}
  .trust-item{border-right:none;border-bottom:1px solid #eee}
  h2.h2,.cta-sec h2{font-size:26px}
  .page-hero::after{display:none}
}

/* ===== Bouton flottant de scroll (haut/bas) ===== */
.tx-scroll-btn{position:fixed;right:24px;bottom:104px;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;background:var(--blue,#0B2A4A);color:#fff;display:flex;align-items:center;justify-content:center;z-index:998;box-shadow:0 6px 20px rgba(11,42,74,.28);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s}
.tx-scroll-btn.is-visible{opacity:1;transform:none;pointer-events:auto}
.tx-scroll-btn:hover{background:var(--orange,#F57C00);transform:translateY(-2px)}
.tx-scroll-btn svg{width:22px;height:22px;position:absolute;transition:opacity .2s,transform .2s}
.tx-scroll-btn .tx-sc-up{opacity:0;transform:scale(.6)}
.tx-scroll-btn .tx-sc-down{opacity:1;transform:scale(1)}
.tx-scroll-btn.is-up .tx-sc-up{opacity:1;transform:scale(1)}
.tx-scroll-btn.is-up .tx-sc-down{opacity:0;transform:scale(.6)}
@media(max-width:600px){.tx-scroll-btn{right:18px;bottom:84px;width:42px;height:42px}}
/* Override kit button{background:orange} pour le bouton scroll (bleu, hover orange) */
.tx-scroll-btn.tx-scroll-btn{background:var(--blue,#0B2A4A)}
.tx-scroll-btn.tx-scroll-btn:hover{background:var(--orange,#F57C00)}

/* ===== Titres des en-têtes sombres (héros) en BLANC =====
   Le kit Elementor force h1{color:bleu} et se charge après transilix-core.css ;
   ce style.css se charge après le kit → on rétablit le blanc sur tous les héros sombres. */
.page-hero h1,
.tx-blog-hero h1,
.tx-article-hero h1,
.tx-help-hero h1{color:#fff !important}
.page-hero p,.tx-help-hero p{color:rgba(255,255,255,.8) !important}

/* ===== Texte BLANC sur tous les boutons à FOND COLORÉ =====
   Le kit Elementor force a{color:orange/blue} → on rétablit le blanc sur les boutons pleins.
   Exception : .btn-white (fond blanc) garde son texte orange. */
.btn-orange,.btn-orange:hover,
.btn-wa,.btn-wa:hover,
.nav-cta,.nav-cta:hover,
.bf-submit,.bf-submit:hover,.booking-reset,
.tx-help-btn-wa,.tx-help-btn-wa:hover,
.tx-mega-btn,.tx-mega-btn:hover,
.tx-app-store,.tx-app-store b,
.store-btn,.store-btn .sbt span,
.cal-day.selected,.slot.sel-slot{color:#fff !important}
.tx-app-store small,.store-btn .sbt small{color:rgba(255,255,255,.72) !important}
/* Bouton à fond blanc : texte orange (jamais blanc, sinon invisible) */
.btn-white,.btn-white:hover{color:var(--orange) !important}
