/* ==========================================================================
   TOKENS DE LA CHARTE PLATEFORME
   ==========================================================================
   Les pages plateforme (/themes, /pricing, apps.<host>/themes, /features…) écrivaient
   leurs couleurs EN DUR, chacune dans son gabarit. Inventaire du 2026-09-26 :
   37 valeurs hexadécimales sur trois fichiers seulement — et la dérive était
   déjà là, mesurable :

     bordure :  #e3e8ec (vitrine)  vs  #e4e9ef (App Store)
     encre    : #14212b            vs  #102033  vs  #1c2329
     fond     : #f2f5f7  #f7f9fb  #f6f9fb  #edf1f5  #eef1f3
     gris     : #8a99a3            vs  #98a6ad
     trait    : #c8d2dc            vs  #c8d2d8

   Cinq rôles, quatorze valeurs. Personne n'avait décidé de cette divergence :
   chaque page a recopié de mémoire. C'est le motif de `STUDIO_VISIBLE_THEMES` —
   une valeur recopiée dérive toujours, et rien ne le signale.

   🔴 ICI ET PAS DANS `common.css`. Cette feuille sert les pages PLATEFORME ;
   `common.css` sert TOUS les thèmes, donc toutes les boutiques clientes. Y
   poser la charte SimWebShop l'imposerait à chaque marchand.

   On NE FUSIONNE PAS les composants pour autant : la carte de la vitrine est une
   colonne à grande vignette, celle de l'App Store une ligne à icône, « à plat,
   monochrome, cohérente avec /pricing » selon son auteur. Deux objets, deux
   chartes assumées. Ce sont les VALEURS qui se partagent, pas les formes.
   ========================================================================== */
:root {
    /* Encre — le texte et les aplats sombres. Une seule, contre trois avant. */
    --sws-ink:          #102033;
    --sws-ink-soft:     #47586b;
    --sws-ink-muted:    #60758d;

    /* Accent — déjà cohérent (10 occurrences identiques), le seul qui ne
       divergeait pas. Il entre quand même : une valeur juste aujourd'hui
       recopiée dix fois dérive demain. */
    --sws-accent:       #1d8dba;
    --sws-accent-dark:  #166f93;

    /* Bordures et traits — la divergence la plus visible à l'œil. */
    --sws-border:       #e3e8ec;
    --sws-border-strong:#c8d2dc;

    /* Fonds neutres — cinq valeurs pour un seul rôle avant. */
    --sws-surface:      #ffffff;
    --sws-surface-alt:  #f2f5f7;

    /* Fond du bandeau de page — partage avec /pricing et l App Store, comme le
       dit le commentaire de themes.tpl. Une teinte partagee qui vit en dur dans
       trois fichiers finit par diverger : elle entre ici. */
    --sws-hero-bg:      #151c22;

    /* Textes secondaires. */
    --sws-grey:         #8a99a3;
    --sws-grey-dark:    #5b6b76;
}

/* ==========================================================================
   SimWebShop — Landing pages premium (Features + Academy)
   Porté de sws-landing.loc/assets/css/style.css, scopé sous .sws-lp pour ne
   PAS entrer en collision avec Bootstrap 3 / custom.css du thème sws
   (.container, .section, .tag, .stat… existent ailleurs).
   Polices déjà chargées par le thème : Raleway + Material Icons + Font Awesome 4.
   ========================================================================== */

.sws-lp{
  --orange:#fbaf0b;--orange-deep:#e09600;
  --orange-soft:rgba(251,175,11,0.1);--orange-border:rgba(251,175,11,0.25);
  --sim-gray:#c3c3ca;
  --blue:#3da3c8;--blue-dark:#1d8dba;--blue-light:#56b8d8;
  --blue-soft:rgba(61,163,200,0.1);--blue-border:rgba(61,163,200,0.25);
  --s1:#ffffff;--s2:#f7f9fb;--s3:#f0f4f7;--s4:#e8eef3;
  --nav-bg:#1c2329;
  --txt-h:#2d3748;--txt-b:#4a5568;--txt-m:#5a6478;--txt-l:#7a8499;
  --white:#ffffff;
  --tr:0.2s ease;
  --shadow:0 2px 16px rgba(0,0,0,0.08);--shadow-md:0 4px 24px rgba(0,0,0,0.12);
  font-family:'Raleway',sans-serif;color:var(--txt-b);background:var(--s1);
  -webkit-font-smoothing:antialiased;
}
.sws-lp *,.sws-lp *::before,.sws-lp *::after{box-sizing:border-box;}
.sws-lp h1,.sws-lp h2,.sws-lp h3,.sws-lp h4,.sws-lp p{margin:0;}
.sws-lp img{max-width:100%;height:auto;}
.sws-lp a{text-decoration:none;}
.sws-lp .material-icons{font-family:'Material Icons'!important;font-weight:normal;font-style:normal;line-height:1;}
.sws-lp .fa{font-family:'FontAwesome'!important;}

.sws-lp .lp-container{max-width:1100px;margin:0 auto;padding:0 32px;}
.sws-lp .lp-container--sm{max-width:720px;margin:0 auto;padding:0 32px;}

/* ── Boutons (base partagée + variantes) ───────────────────────────────── */
.sws-lp .btn-blue,.sws-lp .btn-blue-out{font-family:'Raleway',sans-serif;font-size:13px;font-weight:700;line-height:1;letter-spacing:1.5px;text-transform:uppercase;padding:17px 34px;min-height:54px;border:none;border-radius:0;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;}
.sws-lp .btn-blue i.material-icons,.sws-lp .btn-blue-out i.material-icons{font-size:18px;line-height:1;}
.sws-lp .btn-blue::after,.sws-lp .btn-blue-out::after{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.28),transparent);transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;}
.sws-lp .btn-blue:hover::after,.sws-lp .btn-blue-out:hover::after{left:135%;}
.sws-lp .btn-blue{background:linear-gradient(135deg,var(--blue-light),var(--blue-dark));color:var(--white);box-shadow:0 6px 22px rgba(29,141,186,0.40);}
.sws-lp .btn-blue:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(29,141,186,0.55);filter:brightness(1.06);color:var(--white);}
.sws-lp .btn-blue:active{transform:translateY(0);box-shadow:0 4px 14px rgba(29,141,186,0.40);}
.sws-lp .btn-blue-out{background:linear-gradient(135deg,#3a4654,#222831);color:var(--white);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.10),0 6px 22px rgba(0,0,0,0.30);}
.sws-lp .btn-blue-out:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.16),0 14px 34px rgba(0,0,0,0.42);filter:brightness(1.12);color:var(--white);}
.sws-lp .btn-blue-out:active{transform:translateY(0);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12),0 4px 14px rgba(0,0,0,0.32);}
.sws-lp .btn-blue--lg{padding:18px 36px;font-size:13px;letter-spacing:2px;gap:12px;}
.sws-lp .btn-blue[disabled],.sws-lp .btn-submit[disabled]{opacity:.6;cursor:wait;}

/* ── Sections génériques ──────────────────────────────────────────────── */
.sws-lp .section{padding:72px 0;}
.sws-lp .section--s1{background:var(--s1);}
.sws-lp .section--s2{background:var(--s2);border-top:1px solid rgba(0,0,0,0.05);border-bottom:1px solid rgba(0,0,0,0.05);}
.sws-lp .sh{text-align:center;margin-bottom:48px;}
.sws-lp .sh-eye{display:block;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--blue);margin-bottom:12px;}
.sws-lp .sh-title{font-family:'Raleway',sans-serif;font-weight:300;font-size:clamp(24px,3vw,36px);color:var(--txt-h);letter-spacing:.5px;margin-bottom:12px;}
.sws-lp .sh-title strong{font-weight:700;}
.sws-lp .sh-divider{width:48px;height:3px;background:linear-gradient(90deg,var(--orange),var(--blue));margin:0 auto 16px;}
.sws-lp .sh-sub{font-size:15px;font-weight:300;color:var(--txt-m);line-height:1.7;max-width:540px;margin:0 auto;}

.sws-lp .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.sws-lp .reveal.vis{opacity:1;transform:translateY(0);}

/* ── HERO split fullwidth (Features + Academy + Partners-like) ─────────── */
.sws-lp .fp-hero,.sws-lp .ac-hero{
  background:linear-gradient(180deg,#1c2329 0%,#2c3240 60%,#3d3b35 100%);
  color:var(--white);display:grid;grid-template-columns:1fr 1fr;width:100%;overflow:hidden;position:relative;
}
.sws-lp .fp-hero{min-height:480px;}
.sws-lp .ac-hero{min-height:560px;}
.sws-lp .fp-hero::before,.sws-lp .ac-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 25% 30%,rgba(61,163,200,0.12) 0%,transparent 60%);pointer-events:none;z-index:0;}
.sws-lp .fp-hero-text,.sws-lp .ac-hero-text{display:flex;align-items:center;justify-content:flex-end;padding:64px 48px 64px 32px;position:relative;z-index:1;}
[dir="rtl"] .sws-lp .fp-hero-text,[dir="rtl"] .sws-lp .ac-hero-text{justify-content:flex-start;padding:64px 32px 64px 48px;}
.sws-lp .fp-hero-text-inner,.sws-lp .ac-hero-text-inner{max-width:540px;text-align:left;}
[dir="rtl"] .sws-lp .fp-hero-text-inner,[dir="rtl"] .sws-lp .ac-hero-text-inner{text-align:right;}
.sws-lp .fp-eyebrow,.sws-lp .ac-hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(86,184,216,0.95);background:rgba(61,163,200,0.1);border:1px solid rgba(61,163,200,0.25);padding:7px 18px;margin-bottom:22px;}
.sws-lp .fp-hero h1,.sws-lp .ac-hero h1{font-family:'Raleway',sans-serif;font-weight:200;font-size:clamp(30px,4vw,50px);letter-spacing:1px;line-height:1.15;margin:0 0 14px;color:var(--white);}
.sws-lp .fp-hero h1 strong{font-weight:700;color:var(--orange);}
.sws-lp .ac-hero h1 strong{font-weight:700;color:var(--blue-light);}
.sws-lp .fp-hero p,.sws-lp .ac-hero-desc{font-size:15px;font-weight:400;color:rgba(255,255,255,0.82);margin:0;line-height:1.75;}
.sws-lp .ac-hero-desc{margin:0 0 22px;}
.sws-lp .fp-hero-art,.sws-lp .ac-hero-art{position:relative;overflow:hidden;background:#1c2329;}
.sws-lp .fp-hero-art img,.sws-lp .ac-hero-art img{width:100%;height:100%;object-fit:cover;display:block;}
.sws-lp .ac-hero-art img{object-position:right center;}
/* Overlay texte traduisible : remplace le texte qui etait cuit dans l'image (i18n FR/EN/AR). */
.sws-lp .ac-hero-art-ov{position:absolute;top:0;left:0;right:0;z-index:3;padding:38px 48px 64px;background:linear-gradient(to bottom,rgba(16,22,30,0.92) 0%,rgba(16,22,30,0.72) 45%,rgba(16,22,30,0) 100%);pointer-events:none;}
.sws-lp .ac-hero-art-eye{display:inline-block;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:rgba(86,184,216,0.95);margin-bottom:12px;}
.sws-lp .ac-hero-art-title{font-family:'Raleway',sans-serif;font-weight:700;font-size:clamp(22px,2.4vw,32px);line-height:1.18;letter-spacing:.5px;color:var(--white);text-transform:uppercase;margin:0 0 10px;text-wrap:balance;}
.sws-lp .ac-hero-art-sub{font-size:clamp(14px,1.2vw,17px);font-weight:400;line-height:1.5;color:rgba(255,255,255,0.9);margin:0;max-width:44ch;}
.sws-lp .fp-hero-art::before,.sws-lp .ac-hero-art::before{content:'';position:absolute;top:0;bottom:0;left:0;width:28%;background:linear-gradient(to right,#2c3240 0%,rgba(44,50,64,0.85) 30%,rgba(44,50,64,0) 100%);z-index:2;pointer-events:none;}
[dir="rtl"] .sws-lp .fp-hero-art::before,[dir="rtl"] .sws-lp .ac-hero-art::before{left:auto;right:0;background:linear-gradient(to left,#2c3240 0%,rgba(44,50,64,0.85) 30%,rgba(44,50,64,0) 100%);}

/* Academy hero extras : pills + cta + spots */
.sws-lp .ac-hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.sws-lp .ac-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:rgba(255,255,255,0.80);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);padding:7px 13px;}
.sws-lp .ac-pill .material-icons{font-size:15px;color:var(--blue-light);}
.sws-lp .ac-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;}
.sws-lp .spots-bar{display:flex;align-items:center;gap:12px;justify-content:flex-start;}
[dir="rtl"] .sws-lp .spots-bar{justify-content:flex-end;}
.sws-lp .sdots{display:flex;gap:6px;}
.sws-lp .sdot{width:11px;height:11px;border-radius:50%;}
.sws-lp .sdot.on{background:var(--blue-light);box-shadow:0 0 6px rgba(61,163,200,0.5);}
.sws-lp .sdot.off{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2);}
.sws-lp .spots-txt{font-size:13px;font-weight:300;color:rgba(255,255,255,0.55);}
.sws-lp .spots-txt strong{color:var(--blue-light);font-weight:600;}
.sws-lp .ac-price-tag{display:inline-flex;align-items:baseline;gap:8px;margin-top:4px;}
.sws-lp .ac-price-tag .amt{font-family:'Raleway',sans-serif;font-weight:200;font-size:34px;color:var(--white);letter-spacing:-1px;}
.sws-lp .ac-price-tag .cur{font-size:14px;font-weight:600;color:var(--blue-light);letter-spacing:1px;}

/* ── FEATURES : wrap + sticky TOC + sections ──────────────────────────── */
.sws-lp .fp-wrap{max-width:1240px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 220px;gap:48px;align-items:start;}
.sws-lp .fp-side{position:sticky;top:108px;padding:32px 0;align-self:start;}
.sws-lp .fp-side-inner{border-left:1px solid #dde4ea;}
[dir="rtl"] .sws-lp .fp-side-inner{border-left:none;border-right:1px solid #dde4ea;}
.sws-lp .fp-side-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--txt-l);padding:0 0 12px 18px;}
[dir="rtl"] .sws-lp .fp-side-lbl{padding:0 18px 12px 0;}
.sws-lp .fp-side-list{list-style:none;margin:0;padding:0;}
.sws-lp .fp-side-list a{display:block;font-size:14px;font-weight:400;color:var(--txt-m);padding:7px 18px;line-height:1.4;border-left:2px solid transparent;margin-left:-1px;transition:color var(--tr),border-color var(--tr);}
[dir="rtl"] .sws-lp .fp-side-list a{border-left:none;border-right:2px solid transparent;margin-left:0;margin-right:-1px;}
.sws-lp .fp-side-list a:hover{color:var(--txt-h);}
.sws-lp .fp-side-list a.active{color:var(--txt-h);border-color:var(--blue);font-weight:600;}
.sws-lp .fp-main{padding:48px 0 24px;min-width:0;}
.sws-lp .fp-section{padding:36px 0 28px;border-bottom:1px solid rgba(0,0,0,0.06);scroll-margin-top:108px;}
.sws-lp .fp-section:last-child{border-bottom:none;}
.sws-lp .fp-group-title{font-family:'Raleway',sans-serif;font-weight:400;font-size:clamp(22px,2.6vw,30px);color:var(--orange);letter-spacing:.3px;margin-bottom:8px;text-align:left;}
[dir="rtl"] .sws-lp .fp-group-title{text-align:right;}
.sws-lp .fp-group-sub{font-size:14px;font-weight:300;color:var(--txt-m);line-height:1.6;}
.sws-lp .fp-items{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;margin-top:24px;}
.sws-lp .fp-item{padding:6px 0;}
.sws-lp .fp-item-ic{width:40px;height:40px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.sws-lp .fp-item-ic .material-icons{font-size:21px;color:var(--blue-dark);}
.sws-lp .fp-item h3{font-family:'Raleway',sans-serif;font-weight:700;font-size:15px;color:var(--txt-h);margin-bottom:8px;letter-spacing:.2px;}
.sws-lp .fp-item p{font-size:13px;font-weight:400;color:var(--txt-b);line-height:1.75;}

/* ── Pages légales marketing ───────────────────────────────────────────── */
.sws-lp.sws-legal-page{clear:both!important;float:none!important;display:block!important;width:100%!important;min-height:100vh;background:var(--s2);color:var(--txt-b);overflow:hidden;visibility:visible!important;opacity:1!important;}
.sws-lp.sws-legal-page .reveal{visibility:visible!important;opacity:1!important;transform:none!important;}
.sws-lp.sws-legal-page .legal-hero,.sws-lp.sws-legal-page .section,.sws-lp.sws-legal-page .lp-cta{display:block!important;}
.sws-privacy26{position:relative!important;z-index:2!important;background:#f7f9fb!important;color:#2d3748!important;min-height:900px!important;}
.sws-privacy26,.sws-privacy26 *{visibility:visible!important;}
.sws-privacy26 .legal-hero{display:block!important;min-height:360px!important;background:linear-gradient(160deg,#1c2329 0%,#2b3441 100%)!important;color:#fff!important;padding:78px 0!important;}
.sws-privacy26 .legal-hero h1,.sws-privacy26 .legal-hero p,.sws-privacy26 .legal-hero span{opacity:1!important;visibility:visible!important;}
.sws-privacy26 .section{display:block!important;background:#fff!important;padding:72px 0!important;}
.sws-privacy26 .legal-layout{display:grid!important;}
.sws-privacy26 .legal-content{display:grid!important;}
.sws-privacy26 .legal-section,.sws-privacy26 .legal-notice{display:grid!important;opacity:1!important;transform:none!important;}
.sws-privacy26 .lp-cta{display:block!important;min-height:260px!important;}
.sws-lp .legal-hero{position:relative;background:radial-gradient(760px 430px at 83% 12%,rgba(251,175,11,.16),transparent 62%),radial-gradient(660px 360px at 14% 14%,rgba(61,163,200,.16),transparent 64%),linear-gradient(160deg,#1c2329 0%,#2b3441 100%);color:#fff;padding:78px 0;}
.sws-lp .legal-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:60px;align-items:center;}
.sws-lp .legal-hero__copy h1{font-size:clamp(34px,4vw,54px);line-height:1.08;font-weight:300;color:#fff;margin:0 0 16px;}
.sws-lp .legal-hero__copy p{font-size:16px;line-height:1.85;color:rgba(255,255,255,.78);max-width:680px;}
.sws-lp .legal-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.sws-lp .legal-hero__meta span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);font-size:12px;font-weight:700;color:rgba(255,255,255,.78);}
.sws-lp .legal-hero__meta .material-icons{font-size:17px;color:var(--orange);}
.sws-lp .legal-hero__card{background:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 70px rgba(0,0,0,.25);overflow:hidden;}
.sws-lp .legal-card__top{height:42px;background:#111827;display:flex;align-items:center;gap:8px;padding:0 15px;color:#dbe7ee;}
.sws-lp .legal-card__top span{width:10px;height:10px;border-radius:50%;background:#ef4444;display:block;}
.sws-lp .legal-card__top span:nth-child(2){background:#f59e0b;}
.sws-lp .legal-card__top span:nth-child(3){background:#22c55e;}
.sws-lp .legal-card__top b{font-size:11px;font-weight:900;letter-spacing:.14em;margin-left:8px;color:rgba(255,255,255,.75);}
.sws-lp .legal-card__body{padding:34px;color:var(--txt-h);background:linear-gradient(180deg,#fff 0%,#f5f9fc 100%);}
.sws-lp .legal-lock{width:68px;height:68px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 14px 32px rgba(251,175,11,.32);margin-bottom:22px;}
.sws-lp .legal-lock .material-icons{font-size:32px;}
.sws-lp .legal-card__body strong{display:block;font-size:22px;font-weight:800;color:var(--txt-h);margin-bottom:9px;}
.sws-lp .legal-card__body p{font-size:13.5px;line-height:1.75;color:var(--txt-m);}
.sws-lp .legal-card__rows{display:grid;gap:10px;margin-top:24px;}
.sws-lp .legal-card__rows span{height:10px;background:#e3edf5;border-radius:999px;}
.sws-lp .legal-card__rows span:nth-child(1){width:92%;}
.sws-lp .legal-card__rows span:nth-child(2){width:72%;}
.sws-lp .legal-card__rows span:nth-child(3){width:84%;}
.sws-lp .legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;align-items:start;}
.sws-lp .legal-toc{position:sticky;top:108px;background:#fff;border:1px solid #e8edf2;box-shadow:var(--shadow);padding:22px;}
.sws-lp .legal-toc strong{display:block;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-dark);margin-bottom:12px;}
.sws-lp .legal-toc a{display:block;padding:10px 0;border-top:1px solid #edf2f6;color:var(--txt-m);font-size:13px;font-weight:700;line-height:1.35;}
.sws-lp .legal-toc a:hover{color:var(--txt-h);}
.sws-lp .legal-content{display:grid;gap:16px;}
.sws-lp .legal-notice,.sws-lp .legal-section{background:#fff;border:1px solid #e8edf2;box-shadow:var(--shadow);}
.sws-lp .legal-notice{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-left:3px solid var(--orange);}
.sws-lp .legal-notice .material-icons{font-size:21px;color:var(--orange-deep);margin-top:1px;}
.sws-lp .legal-notice p{font-size:13.5px;line-height:1.75;color:var(--txt-m);}
.sws-lp .legal-section{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:28px;scroll-margin-top:118px;transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);}
.sws-lp .legal-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--blue-border);}
.sws-lp .legal-section__icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);color:var(--blue-dark);font-size:26px;}
.sws-lp .legal-section h2{font-size:22px;font-weight:800;color:var(--txt-h);margin:0 0 10px;}
.sws-lp .legal-section p{font-size:14.5px;line-height:1.85;color:var(--txt-b);}
.sws-lp .legal-section--contact{border-left:3px solid var(--blue);}
[dir="rtl"] .sws-lp .legal-card__top b{margin-left:0;margin-right:8px;}
[dir="rtl"] .sws-lp .legal-notice,[dir="rtl"] .sws-lp .legal-section--contact{border-left:1px solid #e8edf2;border-right:3px solid var(--orange);}

/* ── ACADEMY : pourquoi (perks) + programme + étapes ──────────────────── */
.sws-lp .prt-grid{display:grid;gap:22px;margin-top:36px;}
.sws-lp .prt-grid--2{grid-template-columns:repeat(2,1fr);}
.sws-lp .prt-grid--3{grid-template-columns:repeat(3,1fr);}
.sws-lp .prt-perk{padding:26px 22px;background:var(--white);border:1px solid #e8edf2;box-shadow:var(--shadow);border-left:3px solid var(--orange);transition:transform var(--tr),box-shadow var(--tr);}
[dir="rtl"] .sws-lp .prt-perk{border-left:1px solid #e8edf2;border-right:3px solid var(--orange);}
.sws-lp .prt-perk:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.sws-lp .prt-perk-ic{width:42px;height:42px;background:var(--orange-soft);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.sws-lp .prt-perk-ic .material-icons{font-size:22px;color:var(--orange-deep);}
.sws-lp .prt-perk-name{font-family:'Raleway',sans-serif;font-size:16px;font-weight:700;color:var(--txt-h);margin-bottom:6px;letter-spacing:.2px;}
.sws-lp .prt-perk-desc{font-size:13.5px;font-weight:400;color:var(--txt-b);line-height:1.7;}

.sws-lp .ac-program{display:flex;flex-direction:column;gap:16px;margin-top:36px;max-width:880px;margin-left:auto;margin-right:auto;}
.sws-lp .ac-module{display:grid;grid-template-columns:auto 64px 1fr;gap:24px;align-items:center;background:var(--white);border:1px solid #e8edf2;padding:22px 26px;box-shadow:var(--shadow);border-left:3px solid var(--blue);transition:transform var(--tr),box-shadow var(--tr);}
[dir="rtl"] .sws-lp .ac-module{border-left:1px solid #e8edf2;border-right:3px solid var(--blue);}
.sws-lp .ac-module:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.sws-lp .ac-module-side{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px;}
.sws-lp .ac-module-num{font-family:'Raleway',sans-serif;font-size:32px;font-weight:200;color:var(--blue-dark);line-height:1;letter-spacing:-1px;}
.sws-lp .ac-module-day{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--txt-m);white-space:nowrap;}
.sws-lp .ac-module-ic{width:56px;height:56px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;}
.sws-lp .ac-module-ic .material-icons{font-size:28px;color:var(--blue-dark);}
.sws-lp .ac-module-title{font-family:'Raleway',sans-serif;font-size:17px;font-weight:700;color:var(--txt-h);margin-bottom:6px;letter-spacing:.2px;}
.sws-lp .ac-module-desc{font-size:14px;font-weight:400;color:var(--txt-b);line-height:1.7;}

.sws-lp .prt-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:40px;}
.sws-lp .prt-steps::before{content:'';position:absolute;top:36px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--blue-soft),var(--blue-border),var(--orange-border),var(--orange-soft));}
.sws-lp .prt-step{text-align:center;padding:0 16px;position:relative;z-index:1;}
.sws-lp .prt-step-num{width:74px;height:74px;border-radius:50%;background:var(--white);border:2px solid var(--blue-border);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;box-shadow:0 4px 18px rgba(61,163,200,0.18);position:relative;}
.sws-lp .prt-step-num .material-icons{font-size:30px;color:var(--blue);}
.sws-lp .prt-step-idx{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--orange);color:var(--white);font-family:'Raleway',sans-serif;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(251,175,11,0.4);}
[dir="rtl"] .sws-lp .prt-step-idx{right:auto;left:-8px;}
.sws-lp .prt-step-title{font-family:'Raleway',sans-serif;font-size:15px;font-weight:700;color:var(--txt-h);margin-bottom:6px;letter-spacing:.3px;}
.sws-lp .prt-step-desc{font-size:12px;font-weight:400;color:var(--txt-m);line-height:1.6;max-width:200px;margin:0 auto;}

/* ── FORMULAIRE (lead Academy) — split form + image ───────────────────── */
.sws-lp .af-outer{background:var(--s2);padding:0;}
.sws-lp .af-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.sws-lp .af-wrap{background:var(--white);padding:56px 48px 56px 64px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;}
[dir="rtl"] .sws-lp .af-wrap{align-items:flex-start;padding:56px 64px 56px 48px;}
.sws-lp .af-wrap > #ac-form,.sws-lp .af-wrap > .af-done{width:100%;max-width:600px;}
.sws-lp .af-art{position:relative;overflow:hidden;background:#1a2640;}
.sws-lp .af-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.sws-lp .af-title{font-family:'Raleway',sans-serif;font-size:26px;font-weight:600;color:var(--txt-h);margin-bottom:6px;}
.sws-lp .af-sub{font-size:14px;font-weight:300;color:var(--txt-m);margin-bottom:30px;line-height:1.7;}
.sws-lp .af-g{margin-bottom:22px;}
.sws-lp .af-lbl{font-family:'Raleway',sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-bottom:9px;display:flex;align-items:center;gap:6px;}
.sws-lp .af-lbl .material-icons{font-size:15px;opacity:.8;}
.sws-lp .af-in{width:100%;background:var(--s2);border:1.5px solid #dde4ea;color:var(--txt-b);font-family:'Raleway',sans-serif;font-size:15px;font-weight:300;padding:14px 18px;border-radius:0;outline:none;transition:border-color var(--tr),background var(--tr);}
.sws-lp .af-in:focus{border-color:var(--blue);background:var(--white);}
.sws-lp .af-in::placeholder{color:var(--txt-l);}
.sws-lp select.af-in{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 6 5-6' stroke='%233da3c8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;background-color:var(--s2);}
[dir="rtl"] .sws-lp select.af-in{background-position:left 14px center;padding-right:18px;padding-left:36px;}
.sws-lp textarea.af-in{resize:vertical;min-height:88px;line-height:1.7;}
.sws-lp .rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sws-lp .rc{position:relative;}
.sws-lp .rc input[type=radio]{position:absolute;opacity:0;pointer-events:none;}
.sws-lp .rc label{display:flex;flex-direction:column;gap:3px;padding:16px 18px;border:1.5px solid #dde4ea;cursor:pointer;transition:all var(--tr);background:var(--s2);}
.sws-lp .rc label:hover{border-color:var(--blue);background:var(--blue-soft);}
.sws-lp .rc input:checked+label{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 3px rgba(61,163,200,0.1);}
.sws-lp .rc-t{font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;color:var(--txt-h);}
.sws-lp .rc-s{font-size:12px;font-weight:300;color:var(--txt-m);}
.sws-lp .af-chk{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.sws-lp .af-chk input{margin-top:3px;accent-color:var(--blue);width:15px;height:15px;flex-shrink:0;}
.sws-lp .af-chk-txt{font-size:12px;font-weight:300;color:var(--txt-m);line-height:1.7;}
.sws-lp .af-chk-txt a{color:var(--blue);}
.sws-lp .btn-submit{width:100%;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:var(--white);font-family:'Raleway',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:18px;border:none;border-radius:0;cursor:pointer;box-shadow:0 4px 20px rgba(29,141,186,0.3);transition:opacity var(--tr),transform .1s;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:26px;}
.sws-lp .btn-submit:hover{opacity:.9;box-shadow:0 6px 28px rgba(29,141,186,0.4);}
.sws-lp .btn-submit:active{transform:scale(.98);}
.sws-lp .btn-submit .material-icons{font-size:18px;}
.sws-lp .af-note{font-size:12px;font-weight:300;color:var(--txt-l);text-align:center;margin-top:14px;line-height:1.7;}
.sws-lp .af-alert{display:none;padding:11px 16px;margin-bottom:14px;font-size:13px;font-weight:500;}
.sws-lp .af-alert.err{display:block;background:rgba(220,38,38,0.08);border:1px solid rgba(220,38,38,0.3);color:#dc2626;}
.sws-lp .af-alert.ok{display:block;background:rgba(61,163,200,0.12);border:1px solid rgba(61,163,200,0.3);color:var(--blue-dark);}
.sws-lp .af-done{display:none;text-align:center;padding:48px 20px;}
.sws-lp .af-done.show{display:block;}
.sws-lp .af-done-ico{font-size:52px;display:block;margin-bottom:18px;}
.sws-lp .af-done-title{font-family:'Raleway',sans-serif;font-size:24px;font-weight:300;color:var(--txt-h);margin-bottom:10px;letter-spacing:1px;}
.sws-lp .af-done-title strong{font-weight:700;color:var(--blue-dark);}
.sws-lp .af-done-sub{font-size:14px;font-weight:300;color:var(--txt-m);line-height:1.85;}
.sws-lp .hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important;}

/* ── CTA final (bandeau sombre) ───────────────────────────────────────── */
.sws-lp .lp-cta{background:linear-gradient(135deg,#1c2329 0%,#2c3a4a 100%);padding:72px 0;text-align:center;color:var(--white);}
.sws-lp .lp-cta h2{font-family:'Raleway',sans-serif;font-weight:200;font-size:clamp(26px,4vw,42px);letter-spacing:1px;margin:0 0 12px;color:var(--white);}
.sws-lp .lp-cta h2 strong{font-weight:700;color:var(--orange);}
.sws-lp .lp-cta.lp-cta--blue h2 strong{color:var(--blue-light);}
.sws-lp .lp-cta p{font-size:15px;font-weight:400;color:rgba(255,255,255,0.78);margin:0 0 28px;}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .sws-lp .fp-wrap{grid-template-columns:1fr;padding:0 24px;}
  .sws-lp .fp-side{display:none;}
  .sws-lp .fp-main{padding-top:24px;}
}
@media(max-width:900px){
  .sws-lp .fp-hero,.sws-lp .ac-hero{grid-template-columns:1fr;min-height:auto;}
  .sws-lp .fp-hero-text,.sws-lp .ac-hero-text,
  [dir="rtl"] .sws-lp .fp-hero-text,[dir="rtl"] .sws-lp .ac-hero-text{justify-content:center;padding:48px 24px 32px;}
  .sws-lp .fp-hero-text-inner,.sws-lp .ac-hero-text-inner,
  [dir="rtl"] .sws-lp .fp-hero-text-inner,[dir="rtl"] .sws-lp .ac-hero-text-inner{text-align:center;max-width:100%;}
  .sws-lp .ac-hero-pills,.sws-lp .ac-hero-cta{justify-content:center;}
  .sws-lp .spots-bar,[dir="rtl"] .sws-lp .spots-bar{justify-content:center;}
  .sws-lp .fp-hero-art,.sws-lp .ac-hero-art{min-height:240px;max-height:340px;}
  .sws-lp .fp-hero-art::before,.sws-lp .ac-hero-art::before,
  [dir="rtl"] .sws-lp .fp-hero-art::before,[dir="rtl"] .sws-lp .ac-hero-art::before{top:0;bottom:auto;left:0;right:0;width:100%;height:32%;background:linear-gradient(to bottom,#1c2329 0%,rgba(28,35,41,0.6) 40%,rgba(28,35,41,0) 100%);}
  .sws-lp .prt-grid--2,.sws-lp .prt-grid--3{grid-template-columns:1fr;}
  .sws-lp .prt-steps{grid-template-columns:repeat(2,1fr);gap:32px 0;}
  .sws-lp .prt-steps::before{display:none;}
  .sws-lp .af-grid{grid-template-columns:1fr;gap:0;}
  .sws-lp .af-art{order:-1;min-height:200px;max-height:300px;}
  .sws-lp .ac-module{grid-template-columns:1fr;gap:14px;padding:20px;text-align:center;}
  [dir="rtl"] .sws-lp .ac-module{text-align:center;}
  .sws-lp .ac-module-side{flex-direction:row;justify-content:center;}
  .sws-lp .ac-module-ic{margin:0 auto;}
  .sws-lp .legal-hero{padding:56px 0;}
  .sws-lp .legal-hero__grid{grid-template-columns:1fr;gap:30px;}
  .sws-lp .legal-layout{grid-template-columns:1fr;gap:24px;}
  .sws-lp .legal-toc{position:static;}
}
@media(max-width:680px){
  .sws-lp .section{padding:52px 0;}
  .sws-lp .fp-items{grid-template-columns:1fr;gap:18px;}
  .sws-lp .rc-grid{grid-template-columns:1fr;}
  .sws-lp .af-wrap{padding:32px 20px;}
  .sws-lp .prt-steps{grid-template-columns:1fr;}
  .sws-lp .lp-container,.sws-lp .lp-container--sm{padding:0 18px;}
  .sws-lp .legal-section{grid-template-columns:1fr;padding:22px;}
  .sws-lp .legal-hero__meta{display:grid;}
}

/* ==========================================================================
   Home 2026
   ========================================================================== */
.sws-home26{clear:both!important;float:none!important;display:block!important;width:100%!important;max-width:none!important;visibility:visible!important;opacity:1!important;overflow:hidden;background:#151c22;color:#4a5568;min-height:100vh;}
.sws-home26 .reveal{visibility:visible!important;opacity:1!important;transform:none!important;}
.sws-home26 .home-hero,.sws-home26 .section,.sws-home26 .lp-cta{display:block!important;}
.sws-home26 .home-hero{position:relative;padding:88px 0 76px;background:linear-gradient(180deg,#ffffff 0%,#f7f9fb 100%);border-bottom:1px solid rgba(28,35,41,.06);}
.sws-home26 .home-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(700px 420px at 72% 22%,rgba(61,163,200,.12),transparent 70%),radial-gradient(540px 320px at 12% 12%,rgba(251,175,11,.10),transparent 72%);pointer-events:none;}
.sws-home26 .home-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.05fr);gap:52px;align-items:center;}
.sws-home26 .home-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 14px;background:var(--blue-soft);border:1px solid var(--blue-border);color:var(--blue-dark);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;}
.sws-home26 .home-eyebrow .material-icons{font-size:16px;}
.sws-home26 .home-hero h1{font-size:54px;line-height:1.06;font-weight:300;letter-spacing:0;color:var(--txt-h);margin:0 0 18px;}
.sws-home26 .home-hero h1 strong{font-weight:800;color:var(--orange);}
.sws-home26 .home-hero__sub{font-size:17px;line-height:1.75;color:var(--txt-m);max-width:560px;margin:0 0 28px;}
.sws-home26 .home-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 18px;}
.sws-home26 .home-proof{display:flex;gap:16px 22px;flex-wrap:wrap;list-style:none;margin:0 0 20px;padding:0;}
.sws-home26 .home-proof li{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--txt-b);}
.sws-home26 .home-check{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;background:rgba(250,175,11,.16);border:1px solid rgba(250,175,11,.42);color:var(--orange-deep);}
.sws-home26 .home-check::before{content:'';width:8px;height:4px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin-top:-2px;}
.sws-home26 .home-trust{display:flex;gap:8px;flex-wrap:wrap;}
.sws-home26 .home-trust span{padding:8px 12px;border:1px solid #e5ebf0;background:#fff;color:var(--txt-m);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;}

.sws-home26 .home-hero__visual{position:relative;min-height:560px;}
.sws-home26 .mock-desktop{position:absolute;right:0;top:10px;width:min(720px,100%);background:#111820;border:1px solid rgba(28,35,41,.14);box-shadow:0 28px 70px rgba(28,35,41,.20);overflow:hidden;}
.sws-home26 .mock-top{height:34px;background:#1c2329;display:flex;align-items:center;gap:7px;padding:0 13px;}
.sws-home26 .mock-top span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.24);}
.sws-home26 .mock-dashboard{display:grid;grid-template-columns:170px 1fr;min-height:420px;background:#f8fafc;}
.sws-home26 .mock-dashboard aside{background:#1c2329;color:#dbe7ee;padding:24px 18px;display:flex;flex-direction:column;gap:9px;font-size:12px;}
.sws-home26 .mock-dashboard aside b{color:#fff;font-size:15px;margin-bottom:12px;}
.sws-home26 .mock-dashboard aside span{display:flex;align-items:center;gap:9px;padding:9px 10px;color:rgba(255,255,255,.68);font-weight:700;letter-spacing:.01em;}
.sws-home26 .mock-dashboard aside span .material-icons{font-size:17px;color:inherit;}
.sws-home26 .mock-dashboard aside span.on{background:rgba(61,163,200,.18);color:#fff;border-left:3px solid var(--blue);}
.sws-home26 .mock-dashboard section{padding:26px;background:linear-gradient(180deg,#fff 0%,#f6f8fb 100%);}
.sws-home26 .dash-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;}
.sws-home26 .dash-head small{color:var(--blue);text-transform:uppercase;font-weight:800;letter-spacing:1.4px;}
.sws-home26 .dash-head strong{font-size:22px;color:var(--txt-h);font-weight:800;text-align:right;line-height:1.2;}
.sws-home26 .dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;}
.sws-home26 .dash-kpis span,.sws-home26 .dash-row{background:#fff;border:1px solid #e8edf2;box-shadow:0 8px 24px rgba(28,35,41,.05);}
.sws-home26 .dash-kpis span{padding:14px;color:var(--txt-l);font-size:12px;line-height:1.45;}
.sws-home26 .dash-kpis b{display:block;color:var(--txt-h);font-size:16px;margin-top:4px;}
.sws-home26 .dash-chart{height:132px;background:#fff;border:1px solid #e8edf2;display:flex;align-items:flex-end;gap:16px;padding:18px;margin-bottom:18px;}
.sws-home26 .dash-chart i{display:block;flex:1;background:linear-gradient(180deg,var(--blue-light),var(--blue-dark));min-height:30%;opacity:.88;}
.sws-home26 .dash-chart i:nth-child(2){height:64%}.sws-home26 .dash-chart i:nth-child(3){height:42%}.sws-home26 .dash-chart i:nth-child(4){height:88%}.sws-home26 .dash-chart i:nth-child(5){height:58%}.sws-home26 .dash-chart i:nth-child(6){height:76%}
.sws-home26 .dash-row{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;margin-top:10px;}
.sws-home26 .dash-row b{font-size:13px;color:var(--txt-h);}.sws-home26 .dash-row em{font-style:normal;font-size:11px;color:#1f8a57;font-weight:800;}
.sws-home26 .mock-mobile{position:absolute;right:26px;bottom:8px;width:190px;min-height:330px;background:#101820;border:8px solid #1c2329;color:#fff;padding:28px 18px 18px;box-shadow:0 24px 55px rgba(28,35,41,.28);}
.sws-home26 .phone-notch{position:absolute;top:10px;left:50%;width:54px;height:5px;background:rgba(255,255,255,.18);transform:translateX(-50%);}
.sws-home26 .mock-mobile strong{display:block;font-size:15px;margin-bottom:24px;}
.sws-home26 .mock-mobile span{display:block;color:rgba(255,255,255,.58);font-size:12px;text-transform:uppercase;letter-spacing:1.2px;}
.sws-home26 .mock-mobile b{display:block;font-size:28px;color:var(--orange);margin:8px 0 28px;}
.sws-home26 .phone-bars{display:flex;gap:9px;align-items:flex-end;height:92px;background:rgba(255,255,255,.06);padding:14px;}
.sws-home26 .phone-bars i{flex:1;background:var(--blue-light);height:45%;}.sws-home26 .phone-bars i:nth-child(2){height:78%;}.sws-home26 .phone-bars i:nth-child(3){height:58%;}

.sws-lp .home-card-grid{display:grid;gap:18px;}
.sws-lp .home-card-grid--6{grid-template-columns:repeat(3,1fr);}
.sws-lp .home-card{background:#fff;border:1px solid #e8edf2;padding:26px 24px;box-shadow:var(--shadow);transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);}
.sws-lp .home-card::before{content:'';display:block;height:4px;background:linear-gradient(90deg,var(--blue-light),var(--orange));margin:-26px -24px 22px;}
.sws-lp .home-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-border);}
.sws-lp .home-card .material-icons{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--orange-soft);color:var(--orange-deep);font-size:22px;margin-bottom:16px;}
.sws-lp .home-card__asset{height:76px;display:flex;align-items:center;margin-bottom:15px;}
.sws-lp .home-card__asset img{max-width:112px;max-height:76px;width:auto;height:auto;filter:drop-shadow(0 10px 16px rgba(28,35,41,.15));}
.sws-lp .home-card__asset--sport img{max-width:136px;max-height:92px;}
.sws-lp .home-card h3{font-size:16px;font-weight:800;color:var(--txt-h);margin-bottom:8px;}
.sws-lp .home-card p{font-size:13.5px;line-height:1.7;color:var(--txt-m);}
.sws-lp .home-benefits-more{text-align:center;margin-top:30px;}

/* Le degrade DEMARRE sur #0b1016 : c est la teinte REELLE du bas du hero
   (son overlay l assombrit au-dela du #0f1418 declare — valeur relevee sur
   le rendu, pas dans la feuille) : sans ca on
   passait de #0f1418 a #1c2329 d un bloc a l autre — deux sombres assez
   proches pour que la cassure paraisse accidentelle, assez differents pour
   se voir. Meme principe que /academy, ou la bande `ac-avail` reprend
   exactement la teinte de depart du hero (var(--nav-bg)). */
/* Fond illustre `bg-coachia.png` (reseau bleu/orange). Le degrade d'origine
   reste DESSOUS : il couvre la zone au-dela de l'image sur les ecrans tres
   hauts, et sert de repli si l'image ne charge pas — sans lui la section
   virerait au blanc, texte blanc sur blanc. */
.sws-home26 .home-ai-coach{position:relative;overflow:hidden;color:#fff;
  background-image:url('/theme/sws/images/bg-coachia.png'),linear-gradient(160deg,#0b1016 0%,#1c2329 46%,#2b2d35 100%);
  background-repeat:no-repeat,no-repeat;
  background-size:cover,cover;
  background-position:center,center;}
.sws-home26 .home-ai-coach__panel{display:grid;grid-template-columns:310px 1fr;gap:42px;align-items:center;padding:0;}
.sws-home26 .home-ai-coach__visual{position:relative;min-height:250px;display:flex;align-items:center;justify-content:center;}
.sws-home26 .home-ai-coach__visual img{position:relative;z-index:1;width:210px;max-width:72%;height:auto;filter:drop-shadow(0 22px 34px rgba(0,0,0,.38));}
.sws-home26 .home-ai-coach__orb{position:absolute;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle at 38% 30%,rgba(250,175,11,.58),rgba(250,175,11,.13) 42%,rgba(61,163,200,.10) 68%,transparent 72%);box-shadow:0 0 70px rgba(250,175,11,.26);}
/* Leger retrait interne : le texte collait au bord de sa colonne et au robot
   voisin. Un peu d'air le detache du visuel sans le decaler visiblement. */
.sws-home26 .home-ai-coach__copy{padding:20px 8px 0 18px;}
.sws-lp .home-ai-coach__copy .sh-eye{background:rgba(250,175,11,.12);border-color:rgba(250,175,11,.28);color:var(--orange);}
/* Bande de titre, calquee sur `ac-avail` (/academy) pour la FORME : bande
   compacte pleine largeur en tete de section.

   AUCUN fond propre : elle vit dans `.home-ai-coach` et laisse passer le
   `bg-coachia` de celle-ci. L'image reste ainsi unique et continue — lui
   donner son propre fond ferait afficher a chaque bloc sa propre copie
   recadree, avec une couture visible au raccord.

   Le titre tient sur UNE SEULE LIGNE : c'est ce qui fait l'allure premium
   d'une bande de ce type — une accroche qui se casse en deux ressemble a du
   texte courant. Pas de `max-width` en ch : elle imposait le retour a la
   ligne. */
/* Le titre remonte contre le hero : les 72px de `.section` le laissaient
   flotter au milieu d'un vide. On reduit le haut pour CETTE section, la
   bande faisant deja office de tete. */
.sws-home26 .home-ai-coach{padding-top:28px;}
.sws-lp .coach-band{padding:0 0 26px;color:#fff;}
/* Corps proportionnel a la fenetre, plafonne a 36px : c'est ce qui permet au
   titre de tenir sur une ligne PARTOUT. Un minimum fixe en px ne marche pas —
   a 320px, 19px de corps demandaient 378px de large et le titre debordait.
   `4.7vw` descend a ~15px sur les plus petits telephones (encore lisible) et
   le plafond reprend la main des 768px. */
.sws-lp .coach-band__title{
  font-size:min(4.7vw,36px);
  line-height:1.16;font-weight:800;letter-spacing:-.02em;
  margin:0;color:#fff;text-align:center;white-space:nowrap;}
.sws-home26 .home-ai-coach__copy h2{font-size:36px;line-height:1.16;font-weight:800;letter-spacing:-.02em;margin:16px 0 12px;color:#fff;}
.sws-home26 .home-ai-coach__copy p{max-width:680px;font-size:15.5px;line-height:1.85;color:#d7dadf;margin:0;}
.sws-home26 .home-ai-coach__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px;}
.sws-home26 .home-ai-coach__grid span{position:relative;display:block;background:transparent;padding:0 0 0 18px;color:#cfd3d9;font-size:12.5px;line-height:1.55;}
.sws-home26 .home-ai-coach__grid span::before{content:'';position:absolute;left:0;top:5px;width:6px;height:24px;background:linear-gradient(180deg,var(--orange),var(--blue-light));}
.sws-home26 .home-ai-coach__grid b{display:block;color:#fff;font-size:14px;font-weight:800;margin-bottom:5px;}

/* ── Escalier des paliers IA ────────────────────────────────────────────────
   Les 3 points au-dessus disent CE QUE fait le coach ; cet escalier dit qu'il
   GRANDIT avec l'offre. La flèche ascendante porte le message : sans elle, ce
   ne serait qu'une liste de 4 offres. */
/* `align-items:start` + hauteur de montée explicite : avec `end`, la base de
   chaque colonne dépendait de la hauteur du texte, et une description plus
   longue (fréquent en arabe) absorbait la progression — la courbe s'aplatissait
   en droite. La montée ne doit dépendre QUE du palier. */
.sws-home26 .coach-tiers{position:relative;display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;margin-top:18px;padding-top:58px;align-items:start;}
/* Flèche ascendante en SVG : le tracé doit suivre exactement la montée des
   paliers. Un dégradé CSS en diagonale ne le permettait pas (première version :
   flèche DESCENDANTE, message inversé). */
/* La flèche couvre TOUT le bloc : elle doit passer juste au-dessus des
   pastilles, sinon elle flotte et ne relie plus rien visuellement. */
/* `overflow:visible` : la pointe s'élance AU-DELÀ du dernier palier, donc hors
   du cadre. La rogner casserait le mouvement. */
.sws-home26 .coach-tiers__arrow{position:absolute;left:0;right:0;top:0;bottom:34px;
  width:100%;height:auto;pointer-events:none;overflow:visible;}
/* RTL : PAS de miroir CSS sur le SVG — le tracé est calculé depuis la position
   réelle des pastilles, il suit donc déjà la grille inversée.
   En revanche la grille place le PREMIER palier à droite : sans réordonner les
   colonnes, la montée non linéaire se lisait à l'envers et la courbe
   s'aplatissait en droite. */
/* Les marges de montée sont posées par INDICE DOM, donc identiques dans les deux
   sens : la grille RTL place seulement le premier palier à droite. Rien à
   inverser ici — un `order` casserait le sens de lecture arabe. */

/* Chaque palier monte d'un cran : la position EST l'information.
   Progression NON linéaire (18 → 52 → 108) : des écarts réguliers donnent une
   droite, pas un arc. Et c'est plus juste — Essential→Commerce est un petit pas,
   Business→Executive est un saut. */
/* `start` et non `left` : en RTL le texte doit s'aligner à droite, comme le
   reste de la section. */
.sws-home26 .coach-tier{position:relative;text-align:start;padding-left:2px;}
.sws-home26 .coach-tier--0{margin-top:108px;}
.sws-home26 .coach-tier--1{margin-top:90px;}
.sws-home26 .coach-tier--2{margin-top:56px;}
.sws-home26 .coach-tier--3{margin-top:0;}
/* La pastille est posée AU-DESSUS du libellé : la courbe passe par elle, donc
   elle doit dégager le texte (sinon le trait barre « Executive »). */
.sws-home26 .coach-tier__dot{position:absolute;left:0;top:-20px;width:9px;height:9px;
  background:var(--orange);box-shadow:0 0 0 4px rgba(250,175,11,.16);}
.sws-home26 .coach-tier--top .coach-tier__dot{background:var(--blue-light);
  box-shadow:0 0 0 4px rgba(61,163,200,.20);}
.sws-home26 .coach-tier__name{display:block;color:#fff;font-size:15px;font-weight:800;margin-bottom:5px;}
.sws-home26 .coach-tier--top .coach-tier__name{color:var(--blue-light);}
.sws-home26 .coach-tier__d{display:block;color:#cfd3d9;font-size:12.5px;line-height:1.55;}

/* Mobile : l'escalier horizontal deviendrait illisible. On passe en liste
   verticale, la flèche n'a plus de sens et disparaît. */
/* Mobile : l'escalier horizontal n'a plus de sens en colonne, et la flèche
   disparaît. Il FAUT alors neutraliser les décalages de montée — portés par
   `margin-top` depuis le passage en align-items:start — sinon ils laissent des
   trous béants sans rien pour les expliquer.
   La progression est reprise par une ligne verticale reliant les pastilles. */
@media (max-width:820px){
  .sws-home26 .coach-tiers{grid-template-columns:1fr;gap:0;padding-top:0;margin-top:26px;
    position:relative;}
  .sws-home26 .coach-tiers__arrow{display:none;}
  .sws-home26 .coach-tier{margin-top:0 !important;margin-bottom:0;padding:0 0 20px 22px;}
  .sws-home26 .coach-tier:last-child{padding-bottom:0;}
  .sws-home26 .coach-tier__dot{top:5px;left:0;}
  /* Trait de liaison : rend la progression lisible sans la flèche. */
  .sws-home26 .coach-tier::before{content:'';position:absolute;left:4px;top:14px;bottom:0;
    width:2px;background:linear-gradient(180deg,rgba(250,175,11,.5),rgba(61,163,200,.5));}
  .sws-home26 .coach-tier:last-child::before{display:none;}
  [dir="rtl"] .sws-home26 .coach-tier{padding:0 22px 20px 0;}
  [dir="rtl"] .sws-home26 .coach-tier__dot{left:auto;right:0;}
  [dir="rtl"] .sws-home26 .coach-tier::before{left:auto;right:4px;}
}

.sws-home26 .home-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;}
.sws-home26 .home-timeline::before{content:'';position:absolute;left:10%;right:10%;top:34px;height:2px;background:linear-gradient(90deg,var(--blue-border),var(--orange-border));}
.sws-home26 .home-step{position:relative;text-align:center;padding:0 13px;}
.sws-home26 .home-step span{position:relative;z-index:1;width:68px;height:68px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--blue-border);box-shadow:0 8px 26px rgba(61,163,200,.14);color:var(--blue-dark);font-size:24px;font-weight:300;margin-bottom:16px;}
.sws-home26 .home-step h3{font-size:15px;font-weight:800;color:var(--txt-h);margin-bottom:7px;}
.sws-home26 .home-step p{font-size:12.5px;line-height:1.65;color:var(--txt-m);}

.sws-home26 .home-dashboard__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:46px;align-items:center;}
.sws-home26 .home-dashboard__copy h2{font-size:36px;line-height:1.18;font-weight:300;color:var(--txt-h);margin:0 0 14px;}
.sws-home26 .home-dashboard__copy p{font-size:15px;line-height:1.8;color:var(--txt-m);margin-bottom:24px;}
.sws-home26 .home-annotations{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sws-home26 .home-annotations button{font-family:'Raleway',sans-serif;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e8edf2;padding:12px 13px;font-size:13px;font-weight:700;color:var(--txt-h);text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.sws-home26 .home-annotations button:hover,.sws-home26 .home-annotations button.active{background:#f7fbff;border-color:var(--blue-border);box-shadow:0 8px 22px rgba(61,163,200,.12);transform:translateY(-1px);}
.sws-home26 .home-annotations button:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
.sws-home26 .home-annotations .material-icons{font-size:18px;color:var(--blue-dark);}
.sws-home26 .home-annotations .home-annotation--payment{display:flex!important;}
.sws-home26 .home-annotations .home-annotation--themes{grid-column:1/-1;}
.sws-home26 .home-dashboard__screen{background:#fff;border:1px solid #e8edf2;padding:14px;box-shadow:0 24px 68px rgba(28,35,41,.13);overflow:hidden;}
.sws-home26 .home-admin-slider{background:#111827;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}
.sws-home26 .home-admin-slider.slick-dotted{margin-bottom:0;}
.sws-home26 .home-admin-slider .slick-list{overflow:hidden;}
.sws-home26 .home-admin-slider .slick-slide{height:auto;}
.sws-home26 .admin-shot{min-height:430px;background:#f5f8fb;color:var(--txt-h);}
.sws-home26 .admin-shot__top{height:38px;display:flex;align-items:center;gap:7px;background:#111827;padding:0 16px;color:#d9e1e8;}
.sws-home26 .admin-shot__top span{width:9px;height:9px;border-radius:50%;background:#ef4444;display:block;}
.sws-home26 .admin-shot__top span:nth-child(2){background:#f59e0b;}
.sws-home26 .admin-shot__top span:nth-child(3){background:#22c55e;}
.sws-home26 .admin-shot__top b{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-left:10px;color:rgba(255,255,255,.72);}
.sws-home26 .admin-shot__layout{display:grid;grid-template-columns:172px 1fr;min-height:392px;}
.sws-home26 .admin-shot__nav{background:#182230;padding:22px 14px;color:rgba(255,255,255,.70);}
.sws-home26 .admin-shot__nav strong{display:block;color:#fff;font-size:16px;margin-bottom:22px;}
.sws-home26 .admin-shot__nav span{display:flex;align-items:center;gap:9px;padding:10px 9px;margin-bottom:5px;font-size:12px;font-weight:700;border-radius:3px;}
.sws-home26 .admin-shot__nav span.active{background:rgba(61,163,200,.20);color:#fff;}
.sws-home26 .admin-shot__nav .admin-nav-item--payment{display:flex!important;}
.sws-home26 .admin-shot__nav .material-icons{font-size:17px;color:inherit;}
.sws-home26 .admin-shot__content{padding:28px;background:linear-gradient(135deg,#f7fbff 0%,#eef4f8 100%);}
.sws-home26 .admin-shot__head{display:grid;grid-template-columns:1fr auto;gap:4px 20px;margin-bottom:18px;}
.sws-home26 .admin-shot__head span{grid-column:1/-1;color:var(--blue-dark);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;}
.sws-home26 .admin-shot__head h3{margin:0;color:var(--txt-h);font-size:23px;font-weight:800;}
.sws-home26 .admin-shot__head p{grid-column:1/-1;max-width:540px;margin:0;color:var(--txt-m);font-size:13px;line-height:1.65;}
.sws-home26 .admin-shot__metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.sws-home26 .admin-shot__metrics div{background:#fff;border:1px solid #e2e8f0;padding:15px 16px;box-shadow:0 8px 22px rgba(28,35,41,.06);}
.sws-home26 .admin-shot__metrics small{display:block;color:#6b7784;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.sws-home26 .admin-shot__metrics b{font-size:24px;color:var(--txt-h);}
.sws-home26 .admin-shot__chart{height:128px;background:#fff;border:1px solid #e2e8f0;padding:18px 18px 0;display:flex;gap:13px;align-items:flex-end;margin-bottom:14px;}
.sws-home26 .admin-shot__chart i{flex:1;min-height:22px;background:linear-gradient(180deg,var(--blue-light),var(--blue));display:block;}
.sws-home26 .admin-shot--orange .admin-shot__chart i{background:linear-gradient(180deg,#ffd68b,var(--orange));}
.sws-home26 .admin-shot--green .admin-shot__chart i{background:linear-gradient(180deg,#86efac,#16a34a);}
.sws-home26 .admin-shot--purple .admin-shot__chart i{background:linear-gradient(180deg,#c4b5fd,#7c3aed);}
.sws-home26 .admin-shot--cyan .admin-shot__chart i{background:linear-gradient(180deg,#7dd3fc,#0891b2);}
.sws-home26 .admin-shot__rows{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sws-home26 .admin-shot__rows span{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e2e8f0;padding:12px 13px;font-size:12px;color:var(--txt-h);}
.sws-home26 .admin-shot__rows em{width:52px;height:7px;background:#d8e3ec;border-radius:20px;display:block;}
.sws-home26 .admin-shot--orange .admin-shot__content{padding:16px;background:#fbfcfe;}
.sws-home26 .admin-shot--orange .admin-shot__head{border-bottom:2px solid #111827;margin-bottom:10px;padding-bottom:7px;}
.sws-home26 .admin-shot--orange .admin-shot__head h3{font-size:22px;}
.sws-home26 .admin-shot--orange .admin-shot__head p{font-size:12px;line-height:1.45;}
.sws-home26 .admin-product-catalog{background:#fff;border:1px solid #e8ecf4;box-shadow:0 14px 38px rgba(15,23,42,.08);overflow:hidden;color:#0f172a;}
.sws-home26 .admin-product-catalog__top{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:11px 14px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-product-catalog__top strong{font-size:13px;font-weight:800;}
.sws-home26 .admin-product-catalog__top label{display:flex;align-items:center;gap:7px;color:#64748b;font-size:9.5px;font-weight:800;text-transform:uppercase;margin:0;}
.sws-home26 .admin-product-catalog__top label span{display:block;width:126px;height:24px;border:1px solid #cfd8e3;background:#fff;}
.sws-home26 .admin-product-catalog__top em{display:flex;align-items:center;gap:5px;color:#f59e0b;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap;}
.sws-home26 .admin-product-catalog__top em .material-icons{font-size:15px;}
.sws-home26 .admin-product-filters{display:flex;flex-wrap:wrap;gap:7px;padding:12px 14px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-product-filters span{border:1px solid #cfd8e3;border-radius:18px;padding:5px 12px;background:#fff;color:#29405e;font-size:9.5px;line-height:1;font-weight:600;white-space:nowrap;}
.sws-home26 .admin-product-filters span.active{background:#f59e0b;border-color:#f59e0b;color:#fff;box-shadow:0 8px 18px rgba(245,158,11,.22);}
.sws-home26 .admin-product-table{margin:0 14px 0;border:1px solid #e2e8f0;border-radius:7px;overflow:hidden;}
.sws-home26 .admin-product-table__head,.sws-home26 .admin-product-table__row{display:grid;grid-template-columns:.55fr .9fr .65fr minmax(0,2.6fr) .65fr .8fr;align-items:center;gap:7px;}
.sws-home26 .admin-product-table__head{background:#f8fafc;color:#64748b;font-size:8px;font-weight:900;text-transform:uppercase;padding:8px 10px;}
.sws-home26 .admin-product-table__row{min-height:47px;padding:6px 10px;border-top:1px solid #edf1f6;background:#fff;font-size:10px;}
.sws-home26 .admin-product-table__row:nth-child(odd){background:#fbfcfe;}
.sws-home26 .admin-product-table__row b{font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-product-toggle{display:block;width:32px;height:18px;border-radius:999px;background:#0f7a9b;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);}
.sws-home26 .admin-product-toggle:after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;right:1px;top:1px;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.18);}
.sws-home26 .admin-product-photo{display:block;width:34px;height:34px;background:#b87333;border-radius:1px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);position:relative;overflow:hidden;}
.sws-home26 .admin-product-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 42%),repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 8px,transparent 8px 15px);}
.sws-home26 .admin-product-photo:after{content:'';position:absolute;left:6px;right:6px;bottom:7px;height:10px;border-radius:8px;background:linear-gradient(90deg,#f8d6a5,#8b4513);box-shadow:8px 0 0 #d08b46,16px 0 0 #f3b35a;}
.sws-home26 .admin-product-photo--two{background:#9b5f2b;}
.sws-home26 .admin-product-photo--three{background:#c9823e;}
.sws-home26 .admin-product-photo--four{background:#8a4b22;}
.sws-home26 .admin-product-actions{display:flex!important;gap:5px;align-items:center;}
.sws-home26 .admin-product-actions .material-icons{width:21px;height:21px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#fff;color:#475569;font-size:12px;}
.sws-home26 .admin-product-catalog > small{display:block;color:#64748b;font-size:9px;font-weight:700;text-transform:uppercase;padding:9px 14px;}
.sws-home26 .admin-shot--green .admin-shot__content{padding:20px;background:#f8f9fc;}
.sws-home26 .admin-shot--green .admin-shot__head{border-bottom:2px solid #111827;margin-bottom:12px;padding-bottom:8px;}
.sws-home26 .admin-shot--green .admin-shot__head h3{font-size:22px;}
.sws-home26 .admin-shot--green .admin-shot__head p{font-size:12px;line-height:1.45;}
.sws-home26 .admin-crm-orders{background:#fff;border:1px solid #e8ecf4;box-shadow:0 14px 38px rgba(15,23,42,.08);overflow:hidden;}
.sws-home26 .admin-crm-orders__intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;}
.sws-home26 .admin-crm-orders__intro h4{display:flex;align-items:center;gap:8px;margin:0 0 3px;color:#0f172a;font-size:16px;font-weight:800;}
.sws-home26 .admin-crm-orders__intro h4 .material-icons{font-size:17px;color:#4f46e5;}
.sws-home26 .admin-crm-orders__intro p{margin:0;color:#6b7a99;font-size:11.5px;line-height:1.45;}
.sws-home26 .admin-crm-orders__intro > span{display:flex;align-items:center;gap:4px;color:#8490b2;font-size:11px;white-space:nowrap;margin-top:4px;}
.sws-home26 .admin-crm-orders__intro > span .material-icons{font-size:13px;}
.sws-home26 .admin-crm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 14px 12px;}
.sws-home26 .admin-crm-kpi{position:relative;min-height:74px;border:1px solid #dbe5f2;background:#f7fbff;padding:10px 8px 9px 40px;color:#334155;}
.sws-home26 .admin-crm-kpi .material-icons{position:absolute;left:10px;top:15px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:6px;font-size:15px;background:rgba(255,255,255,.56);}
.sws-home26 .admin-crm-kpi small{display:block;color:#7d8aa5;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.25;min-height:22px;}
.sws-home26 .admin-crm-kpi b{display:block;color:#0f172a;font-size:24px;line-height:1;margin:1px 0 3px;}
.sws-home26 .admin-crm-kpi em{display:block;color:#74819c;font-size:9.5px;font-style:normal;line-height:1.2;}
.sws-home26 .admin-crm-kpi--warning{background:#fff7eb;border-color:#f4c98d;color:#d97706;box-shadow:0 10px 26px rgba(217,119,6,.16);}
.sws-home26 .admin-crm-kpi--ship{background:#eff8ff;border-color:#aad7f3;color:#0284c7;}
.sws-home26 .admin-crm-kpi--muted{background:#f8fafc;border-color:#dce6f1;color:#94a3b8;}
.sws-home26 .admin-crm-kpi--danger{background:#fff1f1;border-color:#efb4b4;color:#dc2626;}
.sws-home26 .admin-crm-table{border-top:1px solid #edf1f6;background:#fffdf4;}
.sws-home26 .admin-crm-table__head,.sws-home26 .admin-crm-table__row{display:grid;grid-template-columns:1.15fr 1.45fr .55fr .7fr 1fr 1fr;align-items:center;gap:8px;}
.sws-home26 .admin-crm-table__head{background:#f4f6fb;color:#94a3b8;font-size:9px;font-weight:900;text-transform:uppercase;padding:9px 12px;}
.sws-home26 .admin-crm-table__row{min-height:60px;border-top:1px solid #edf1f6;padding:9px 12px;color:#0f172a;font-size:11px;}
.sws-home26 .admin-crm-table__row span{min-width:0;}
.sws-home26 .admin-crm-table__row b{display:block;font-size:11.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-crm-table__row small{display:block;color:#94a3b8;font-size:9.5px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-crm-table__row strong{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#eef2ff;color:#4f46e5;font-size:10px;margin-right:6px;vertical-align:middle;}
.sws-home26 .admin-crm-table__row mark{display:inline-flex;background:#fff7ed;border:1px solid #fdba74;color:#c2410c;border-radius:5px;padding:2px 6px;font-size:8.5px;font-weight:900;text-transform:uppercase;line-height:1;margin-top:5px;}
.sws-home26 .admin-crm-table__row mark.soft{background:#fff;border-color:#d8e1ee;color:#64748b;margin:0 0 5px;}
.sws-home26 .admin-crm-table__row a{display:block;color:#ea8500;font-size:9.5px;font-weight:700;text-decoration:none;}
.sws-home26 .admin-crm-table__row i{display:inline-block;width:7px;height:7px;background:#ff4d4f;border-radius:50%;box-shadow:0 0 0 2px #ffd6d6;margin-left:5px;}
.sws-home26 .admin-shot--cyan .admin-shot__content{padding:16px;background:#f8fafc;}
.sws-home26 .admin-shot--cyan .admin-shot__head{border-bottom:2px solid #111827;margin-bottom:10px;padding-bottom:7px;}
.sws-home26 .admin-shot--cyan .admin-shot__head h3{font-size:22px;}
.sws-home26 .admin-shot--cyan .admin-shot__head p{font-size:12px;line-height:1.45;}
.sws-home26 .admin-crm-customers{background:#fff;border:1px solid #e8ecf4;box-shadow:0 14px 38px rgba(15,23,42,.08);overflow:hidden;color:#0f172a;}
.sws-home26 .admin-crm-customers__intro{padding:10px 14px 8px;}
.sws-home26 .admin-crm-customers__intro h4{display:flex;align-items:center;gap:8px;margin:0 0 3px;font-size:15px;font-weight:900;color:#0f172a;}
.sws-home26 .admin-crm-customers__intro h4 .material-icons{font-size:17px;color:#4f46e5;}
.sws-home26 .admin-crm-customers__intro p{margin:0;color:#607095;font-size:11px;line-height:1.35;}
.sws-home26 .admin-crm-customers__kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 12px 10px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-crm-customer-kpi{position:relative;display:grid;grid-template-columns:23px minmax(0,1fr);align-items:center;column-gap:7px;min-height:58px;border:1px solid #dbe5f2;border-radius:8px;background:#f8fbff;padding:8px 7px;color:#0f7a9b;}
.sws-home26 .admin-crm-customer-kpi > i{width:25px;height:25px;border-radius:7px;border:1px solid currentColor;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;font-size:16px;}
.sws-home26 .admin-crm-customer-kpi small{display:block;color:#40516f;font-size:8.5px;font-weight:900;letter-spacing:0;text-transform:uppercase;line-height:1.1;white-space:normal;overflow:visible;text-overflow:clip;max-width:none;}
.sws-home26 .admin-crm-customer-kpi b{display:block;color:#0f172a;font-size:22px;line-height:1;margin-top:2px;}
.sws-home26 .admin-crm-customer-kpi em{display:none;}
.sws-home26 .admin-crm-customer-kpi strong{display:none;}
.sws-home26 .admin-crm-customer-kpi--total{background:#eef7ff;border-color:#b8d8f3;color:#4f8fbd;}
.sws-home26 .admin-crm-customer-kpi--active{background:#f3fff7;border-color:#bde7c8;color:#69b77a;}
.sws-home26 .admin-crm-customer-kpi--new{background:#f1fbff;border-color:#b8e2f5;color:#7ac0df;}
.sws-home26 .admin-crm-customer-kpi--returning{background:#fff8ef;border-color:#f2d5ad;color:#f0a75d;}
.sws-home26 .admin-crm-customer-kpi--active strong{background:#8ad29d;}
.sws-home26 .admin-crm-customer-kpi--returning strong{background:#f8ce84;}
.sws-home26 .admin-crm-customer-filters{display:grid;grid-template-columns:1fr 1fr 1.85fr;gap:8px;padding:11px 14px;border-bottom:1px solid #edf1f6;background:#fff;}
.sws-home26 .admin-crm-customer-filters label{display:block;margin:0;min-width:0;}
.sws-home26 .admin-crm-customer-filters small{display:block;color:#0f172a;font-size:9px;font-weight:900;text-transform:uppercase;margin-bottom:5px;}
.sws-home26 .admin-crm-customer-filters span{height:32px;border:1px solid #dbe5f2;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 9px;color:#0f172a;font-size:11px;white-space:nowrap;overflow:hidden;}
.sws-home26 .admin-crm-customer-filters span .material-icons{font-size:15px;color:#607095;}
.sws-home26 .admin-crm-customer-filters .search span{justify-content:flex-start;color:#9aa5ba;font-style:italic;padding-right:0;}
.sws-home26 .admin-crm-customer-filters button{margin-left:auto;height:32px;border:0;background:#4f46e5;color:#fff;border-radius:0 7px 7px 0;padding:0 11px;font-size:10px;font-weight:900;display:flex;align-items:center;gap:4px;}
.sws-home26 .admin-crm-customer-filters button .material-icons{font-size:13px;color:#fff;}
.sws-home26 .admin-crm-customer-table{background:#fff;}
.sws-home26 .admin-crm-customer-table__head,.sws-home26 .admin-crm-customer-table__row{display:grid;grid-template-columns:1.2fr 1.75fr .8fr;gap:9px;align-items:center;}
.sws-home26 .admin-crm-customer-table__head{background:#f4f6fb;color:#94a3b8;font-size:9px;font-weight:900;text-transform:uppercase;padding:9px 14px;}
.sws-home26 .admin-crm-customer-table__row{padding:10px 14px;min-height:96px;border-top:1px solid #edf1f6;}
.sws-home26 .admin-crm-customer-card{position:relative;min-width:0;padding-left:28px;color:#0f172a;}
.sws-home26 .admin-crm-customer-card strong{position:absolute;left:0;top:2px;color:#0f172a;font-size:11px;font-weight:500;}
.sws-home26 .admin-crm-customer-card b{display:block;color:#f59e0b;font-size:11.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-crm-customer-card span{display:flex;align-items:center;gap:3px;color:#334155;font-size:9.5px;line-height:1.28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-crm-customer-card span .material-icons{font-size:12px;color:#aeb8c8;flex:0 0 auto;}
.sws-home26 .admin-crm-customer-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.sws-home26 .admin-crm-customer-activity span{border:1px solid #e0e7f1;border-radius:7px;background:#fff;padding:7px 8px;min-height:36px;}
.sws-home26 .admin-crm-customer-activity small{display:block;color:#9aa5ba;font-size:8px;font-weight:900;text-transform:uppercase;line-height:1.1;}
.sws-home26 .admin-crm-customer-activity b{display:block;color:#0f172a;font-size:10px;font-weight:900;margin-top:3px;}
.sws-home26 .admin-crm-customer-actions{display:flex;flex-direction:column;gap:7px;min-width:0;}
.sws-home26 .admin-crm-customer-actions span,.sws-home26 .admin-crm-customer-actions strong{height:26px;border-radius:7px;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-crm-customer-actions span{background:#eef2f7;color:#334155;}
.sws-home26 .admin-crm-customer-actions strong{background:#4f46e5;color:#fff;}
.sws-home26 .admin-crm-customer-actions .material-icons{font-size:13px;}
.sws-home26 .admin-payment-methods{background:#fff;border:1px solid #e8ecf4;box-shadow:0 14px 38px rgba(15,23,42,.08);overflow:hidden;color:#0f172a;}
.sws-home26 .admin-payment-methods__top{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-payment-methods__top strong{font-size:14px;font-weight:900;}
.sws-home26 .admin-payment-methods__top span{color:#94a3b8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.sws-home26 .admin-payment-methods__top em{display:inline-flex;align-items:center;gap:5px;border:1px solid #dbe5f2;border-radius:999px;padding:5px 10px;color:#0f172a;font-size:10px;font-style:normal;font-weight:800;}
.sws-home26 .admin-payment-methods__top em .material-icons{font-size:13px;color:#0f7a9b;}
.sws-home26 .admin-payment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px;background:#f8fbff;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-payment-steps div{position:relative;min-height:52px;border:1px solid #b9e1ce;border-radius:8px;background:#f8fffb;padding:9px 30px 8px 48px;color:#047857;}
.sws-home26 .admin-payment-steps div.active{border-color:#0f7a9b;background:#eef8ff;box-shadow:inset 3px 0 0 #f59e0b;color:#0f7a9b;}
.sws-home26 .admin-payment-steps b{position:absolute;left:12px;top:13px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e8fff2;border:1px solid #b9e1ce;font-size:10px;}
.sws-home26 .admin-payment-steps div.active b{background:#0f7a9b;color:#fff;border-color:#0f7a9b;}
.sws-home26 .admin-payment-steps span{display:block;color:#0f172a;font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-payment-steps small{display:block;font-size:9px;color:#059669;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-payment-steps .material-icons{position:absolute;right:10px;top:18px;font-size:14px;color:#059669;}
.sws-home26 .admin-payment-overview{display:flex;align-items:center;gap:7px;padding:9px 14px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-payment-overview strong{color:#94a3b8;font-size:9px;font-weight:900;text-transform:uppercase;margin-right:4px;}
.sws-home26 .admin-payment-overview span{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid #b9e1ce;background:#effaf5;color:#059669;padding:4px 9px;font-size:9px;font-weight:900;}
.sws-home26 .admin-payment-overview span.muted{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8;}
.sws-home26 .admin-payment-overview .material-icons{font-size:11px;}
.sws-home26 .admin-payment-title{display:flex;align-items:center;gap:7px;color:#0369a1;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:16px 14px 10px;}
.sws-home26 .admin-payment-title:after{content:'';height:1px;background:#dbe5f2;flex:1;}
.sws-home26 .admin-payment-title .material-icons{font-size:14px;}
.sws-home26 .admin-payment-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 14px 14px;}
.sws-home26 .admin-payment-cards > div{min-height:154px;border:1px solid #dbe5f2;border-radius:9px;padding:14px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.06);}
.sws-home26 .admin-payment-cards > div.active{border-color:#b9e1ce;box-shadow:0 12px 28px rgba(34,197,94,.13);}
.sws-home26 .admin-payment-cards > div > i{float:left;width:38px;height:38px;border-radius:8px;background:#f1f5f9;border:1px solid #dbe5f2;display:flex;align-items:center;justify-content:center;margin-right:10px;color:#0f7a9b;font-size:20px;}
.sws-home26 .admin-payment-cards h4{margin:4px 0 2px;font-size:15px;font-weight:900;color:#0f172a;}
.sws-home26 .admin-payment-cards p{margin:0 0 12px;color:#58708f;font-size:10.5px;}
.sws-home26 .admin-payment-cards mark{display:inline-flex;border-radius:999px;background:#eef2f7;color:#58708f;padding:4px 9px;font-size:10px;font-weight:800;margin-bottom:11px;}
.sws-home26 .admin-payment-cards > div.active mark{background:#e8fff2;color:#16a34a;}
.sws-home26 .admin-payment-cards span{clear:both;display:flex;align-items:center;justify-content:space-between;background:#f8fbff;border:1px solid #dbe5f2;border-radius:7px;padding:8px 10px;color:#64748b;font-size:11px;font-weight:800;}
.sws-home26 .admin-payment-cards span em{width:36px;height:22px;border-radius:999px;background:#e5e7eb;position:relative;}
.sws-home26 .admin-payment-cards span em:after{content:'';position:absolute;left:1px;top:1px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(15,23,42,.22);}
.sws-home26 .admin-payment-cards > div.active span em{background:#0f7a9b;}
.sws-home26 .admin-payment-cards > div.active span em:after{left:auto;right:1px;}
.sws-home26 .admin-payment-cards a{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:14px;color:#f59e0b;font-size:11px;font-weight:900;text-decoration:none;}
.sws-home26 .admin-payment-cards a .material-icons{font-size:13px;}
.sws-home26 .admin-shot--teal .admin-shot__content{padding:14px;background:#f8fafc;}
.sws-home26 .admin-shot--teal .admin-shot__head{border-bottom:2px solid #111827;margin-bottom:9px;padding-bottom:7px;}
.sws-home26 .admin-shot--teal .admin-shot__head h3{font-size:22px;}
.sws-home26 .admin-shot--teal .admin-shot__head p{font-size:12px;line-height:1.45;}
.sws-home26 .admin-funnel-builder{background:#fff;border:1px solid #e5ebf2;box-shadow:0 14px 38px rgba(15,23,42,.08);overflow:hidden;color:#0f172a;}
.sws-home26 .admin-funnel-builder__top{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,.9fr) auto auto auto;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-funnel-builder__top strong{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-funnel-builder__top mark{background:#dcfce7;border:1px solid #22c55e;color:#15803d;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:900;}
.sws-home26 .admin-funnel-builder__top span{color:#64748b;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-funnel-builder__top span b{color:#dc2626;background:#fff1f1;padding:2px 5px;border-radius:3px;font-weight:700;}
.sws-home26 .admin-funnel-builder__top em{height:27px;border:1px solid #cfd8e3;border-radius:7px;padding:0 9px;display:flex;align-items:center;gap:5px;font-size:9.5px;font-style:normal;font-weight:900;white-space:nowrap;}
.sws-home26 .admin-funnel-builder__top em.primary{background:#f59e0b;border-color:#f59e0b;color:#fff;}
.sws-home26 .admin-funnel-builder__top .material-icons{font-size:13px;}
.sws-home26 .admin-funnel-tabs{display:flex;gap:26px;align-items:center;height:34px;padding:0 14px;border-bottom:1px solid #edf1f6;}
.sws-home26 .admin-funnel-tabs span{display:flex;align-items:center;gap:7px;height:100%;color:#64748b;font-size:11px;font-weight:800;}
.sws-home26 .admin-funnel-tabs span.active{color:#0f172a;border-bottom:2px solid #f59e0b;}
.sws-home26 .admin-funnel-tabs .material-icons{font-size:14px;color:#f59e0b;}
.sws-home26 .admin-funnel-panel{margin:12px;border:1px solid #dfe7f1;border-radius:7px;overflow:hidden;background:#fff;}
.sws-home26 .admin-funnel-panel__head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #edf1f6;color:#5f718f;}
.sws-home26 .admin-funnel-panel__head strong{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:900;text-transform:uppercase;}
.sws-home26 .admin-funnel-panel__head strong i{width:14px;height:14px;border-radius:50%;background:#ccfbf1;position:relative;}
.sws-home26 .admin-funnel-panel__head strong i:after{content:'';position:absolute;inset:4px;border-radius:50%;background:#14b8a6;}
.sws-home26 .admin-funnel-panel__head span{font-size:10px;color:#607095;}
.sws-home26 .admin-funnel-chart{padding:13px 12px 8px;}
.sws-home26 .admin-funnel-step{display:grid;grid-template-columns:84px minmax(0,1fr) 58px;align-items:center;gap:10px;margin-bottom:7px;}
.sws-home26 .admin-funnel-step b{font-size:11.5px;font-weight:800;color:#0f172a;}
.sws-home26 .admin-funnel-step span{height:34px;border-radius:8px;background:#eaf1f7;border:1px solid #d3e1ed;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.sws-home26 .admin-funnel-step span i{display:block;height:100%;min-width:28px;background:linear-gradient(90deg,#2f7fbf,#1fb49a);clip-path:polygon(6% 0,94% 0,86% 100%,14% 100%);box-shadow:0 8px 20px rgba(20,184,166,.2);}
.sws-home26 .admin-funnel-step:nth-child(2) span i{background:linear-gradient(90deg,#3288bf,#20ab9d);}
.sws-home26 .admin-funnel-step:nth-child(3) span i{background:linear-gradient(90deg,#3790be,#22a89b);}
.sws-home26 .admin-funnel-step:nth-child(4) span i{background:linear-gradient(90deg,#35a2a8,#179b79);}
.sws-home26 .admin-funnel-step em{font-style:normal;text-align:right;font-size:16px;font-weight:900;color:#0f172a;line-height:1;}
.sws-home26 .admin-funnel-step em small{display:block;margin-top:3px;color:#059669;font-size:9px;font-weight:900;white-space:nowrap;}
.sws-home26 .admin-funnel-step em strong{color:#ef4444;font-weight:900;}
.sws-home26 .admin-funnel-panel p{margin:0;padding:0 12px 12px;color:#607095;font-size:10.5px;}
.sws-home26 .admin-funnel-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 12px 12px;}
.sws-home26 .admin-funnel-cards span{border:1px solid #dfe7f1;border-radius:7px;background:#fbfdff;padding:9px 10px;min-height:54px;}
.sws-home26 .admin-funnel-cards small{display:block;color:#6f7f9d;font-size:8.5px;font-weight:900;text-transform:uppercase;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-funnel-cards b{display:block;color:#0f172a;font-size:20px;font-weight:900;line-height:1.1;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-shot--purple .admin-shot__content{padding:16px;background:#f3f6fb;}
.sws-home26 .admin-shot--purple .admin-shot__head{border-bottom:2px solid #111827;margin-bottom:10px;padding-bottom:7px;}
.sws-home26 .admin-shot--purple .admin-shot__head h3{font-size:22px;}
.sws-home26 .admin-shot--purple .admin-shot__head p{font-size:12px;line-height:1.45;}
.sws-home26 .admin-theme-studio{background:#eef3f8;border:1px solid #e2e8f0;box-shadow:0 14px 38px rgba(15,23,42,.08);padding:10px;overflow:hidden;}
.sws-home26 .admin-theme-toolbar{display:block;margin-bottom:6px;}
.sws-home26 .admin-theme-toolbar strong{font-size:12px;font-weight:900;color:#0f172a;}
.sws-home26 .admin-theme-toolbar > div{display:none;}
.sws-home26 .admin-theme-toolbar span{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #cfd8e3;border-radius:7px;color:#0f172a;font-size:9px;font-weight:800;padding:7px 10px;white-space:nowrap;}
.sws-home26 .admin-theme-toolbar span.primary{background:#f59e0b;border-color:#f59e0b;color:#fff;}
.sws-home26 .admin-theme-toolbar em{display:none;}
.sws-home26 .admin-theme-toolbar em .material-icons{font-size:12px;}
.sws-home26 .admin-theme-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px;overflow:hidden;}
.sws-home26 .admin-theme-cards > div{min-width:0;min-height:92px;background:#f8fafc;border:1px solid #d9e2ee;border-radius:8px;padding:8px;color:#0f172a;display:flex;flex-direction:column;}
.sws-home26 .admin-theme-cards > div:nth-child(n+5){display:none;}
.sws-home26 .admin-theme-cards > div.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 10px 22px rgba(37,99,235,.13);}
.sws-home26 .admin-theme-cards b{display:block;font-size:11px;font-weight:900;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-theme-cards small{display:block;color:#64748b;font-size:9px;margin-bottom:7px;}
.sws-home26 .admin-theme-cards p{display:flex;gap:4px;margin:0 0 6px;min-height:15px;}
.sws-home26 .admin-theme-cards p i{font-style:normal;background:#eef2ff;color:#4f46e5;border-radius:999px;padding:2px 6px;font-size:8px;}
.sws-home26 .admin-theme-cards mark{display:inline-flex;align-items:center;gap:3px;width:max-content;max-width:100%;height:16px;background:#dcfce7;color:#166534;border-radius:999px;padding:0 7px;font-size:7.5px;font-weight:900;line-height:1;white-space:nowrap;margin:0 0 5px;overflow:hidden;}
.sws-home26 .admin-theme-cards mark .material-icons{display:inline-block;background:transparent;color:inherit;border-radius:0;padding:0;font-size:9px;width:9px;height:9px;line-height:9px;}
.sws-home26 .admin-theme-card-actions{display:flex;gap:3px;align-items:center;margin-top:auto;padding-top:5px;width:100%;}
.sws-home26 .admin-theme-card-actions span{display:inline-flex;align-items:center;justify-content:center;min-width:0;flex:1;background:#f59e0b;color:#fff;border-radius:5px;padding:4px 4px;font-size:7.5px;font-weight:900;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sws-home26 .admin-theme-card-actions span:last-child{background:#fff;border:1px solid #cfd8e3;color:#0f172a;}
.sws-home26 .admin-theme-preview{background:#fff;border:1px solid #dbe3ee;border-radius:8px;overflow:hidden;}
.sws-home26 .admin-theme-preview__bar{height:32px;display:flex;align-items:center;gap:7px;padding:0 12px;border-bottom:1px solid #e2e8f0;overflow:hidden;}
.sws-home26 .admin-theme-preview__bar b{margin-right:auto;font-size:11px;font-weight:900;}
.sws-home26 .admin-theme-preview__bar span,.sws-home26 .admin-theme-preview__bar i{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd8e3;border-radius:6px;padding:6px 10px;font-size:9px;font-style:normal;font-weight:800;}
.sws-home26 .admin-theme-preview__bar span{color:#c76c00;border-color:#f59e0b;}
.sws-home26 .admin-theme-preview__bar i.active{background:#f8f4ef;}
.sws-home26 .admin-theme-preview__site{margin:9px;background:#fff;border-radius:7px;overflow:hidden;border:1px solid #f1ddc8;}
.sws-home26 .admin-theme-shopbar{height:46px;display:grid;grid-template-columns:50px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid #eed8c2;}
.sws-home26 .admin-theme-shopbar strong{width:26px;height:26px;border:2px solid #f59e0b;border-top:0;justify-self:center;position:relative;}
.sws-home26 .admin-theme-shopbar strong:before{content:'';position:absolute;left:5px;right:5px;top:-9px;height:12px;border:2px solid #f59e0b;border-bottom:0;border-radius:12px 12px 0 0;}
.sws-home26 .admin-theme-shopbar label{height:30px;border:1px solid #e8cdb3;border-radius:8px;margin:0;display:flex;align-items:center;padding:0 10px;color:#745243;font-size:9px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.sws-home26 .admin-theme-shopbar button{height:30px;border:0;border-radius:7px;background:#84506a;color:#fff;font-size:0;font-weight:900;overflow:hidden;}
.sws-home26 .admin-theme-shopbar button::before{content:'Cart';font-size:9px;}
.sws-home26 .admin-theme-nav{display:flex;justify-content:flex-start;gap:12px;height:28px;align-items:center;border-bottom:1px solid #f0dcc8;font-size:8.5px;font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;padding:0 12px;}
.sws-home26 .admin-theme-hero{height:92px;background:linear-gradient(110deg,#f7dec4,#fff4e5 43%,#f5c0ab 100%);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.sws-home26 .admin-theme-hero:before,.sws-home26 .admin-theme-hero:after{content:'';position:absolute;width:95px;height:95px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffd6df 0 16%,#f59e0b 17% 18%,transparent 19% 100%);opacity:.72;}
.sws-home26 .admin-theme-hero:before{left:18px;bottom:-35px;}
.sws-home26 .admin-theme-hero:after{right:18px;top:-28px;}
.sws-home26 .admin-theme-hero small{display:block;color:#9a6a22;text-transform:uppercase;letter-spacing:.12em;font-size:8px;font-weight:900;}
.sws-home26 .admin-theme-hero b{display:block;color:#9a6a22;font-family:Georgia,serif;font-size:29px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;}
.sws-home26 .home-admin-slider .slick-dots{display:flex!important;align-items:center;justify-content:center;gap:8px;position:absolute;left:0;right:0;bottom:14px;z-index:30;margin:0;padding:0;height:16px;pointer-events:auto;}
.sws-home26 .home-admin-slider .slick-dots li{width:10px;height:10px;margin:0;}
.sws-home26 .home-admin-slider .slick-dots li button{display:block;width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#9ed2e6;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 2px 8px rgba(15,23,42,.18);opacity:1;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;}
.sws-home26 .home-admin-slider .slick-dots li button:before{display:none;content:'';}
.sws-home26 .home-admin-slider .slick-dots li.slick-active button{background:var(--orange);box-shadow:0 0 0 3px rgba(255,255,255,.95),0 3px 10px rgba(245,158,11,.35);transform:scale(1.18);}

.sws-home26 .home-theme-slider{margin:0 -10px;}
.sws-home26 .home-theme-slider .slick-list{height:auto!important;overflow:hidden;}
.sws-home26 .home-theme-slider .slick-track{display:flex;align-items:stretch;}
.sws-home26 .home-theme{position:relative;margin:0 10px;padding:18px 18px 22px;background:#fff;border:1px solid #e8edf2;min-height:440px;overflow:hidden;display:flex!important;flex-direction:column;}
.sws-home26 .home-theme__desk{height:230px;overflow:hidden;background:#eef3f7;border:1px solid #e3e9ef;}
.sws-home26 .home-theme__desk img{width:100%;height:100%;object-fit:cover;display:block;}
.sws-home26 .home-theme__phone{position:absolute;right:22px;top:84px;width:108px;height:206px;border:7px solid #111820;background:#fff;overflow:hidden;box-shadow:0 18px 40px rgba(28,35,41,.30);}
.sws-home26 .home-theme__phone::before{content:'';position:absolute;top:6px;left:50%;z-index:2;width:28px;height:4px;background:rgba(17,24,32,.55);transform:translateX(-50%);}
.sws-home26 .home-theme__phone::after{content:'';position:absolute;left:50%;bottom:5px;z-index:2;width:18px;height:3px;background:rgba(17,24,32,.35);transform:translateX(-50%);}
.sws-home26 .home-theme__phone img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.sws-home26 .home-theme__ph{height:100%;display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;color:#8a99a3;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.sws-home26 .home-theme__badge{position:absolute;top:30px;left:30px;background:#1c2329;color:#fff;padding:6px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;}
.sws-home26 .home-theme__body{display:flex;flex:1;flex-direction:column;padding-top:17px;}
.sws-home26 .home-theme__type{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--blue-dark);margin-bottom:7px;}
.sws-home26 .home-theme h3{font-size:17px;font-weight:800;color:var(--txt-h);margin:0 0 6px;}
.sws-home26 .home-theme p{font-size:12.5px;line-height:1.55;color:var(--txt-m);margin:0 0 16px;}
.sws-home26 .home-theme__actions{margin-top:auto;}
.sws-home26 .home-theme__actions a,.sws-home26 .home-theme__actions span{display:inline-flex;align-items:center;justify-content:center;width:100%;height:38px;border:1px solid #c8d2d8;color:var(--txt-h);font-size:12px;font-weight:800;text-decoration:none;}
.sws-home26 .home-theme__actions a:hover{border-color:var(--blue);color:var(--blue);}
.sws-home26 .home-theme__actions span{background:#eef1f3;color:#8a99a3;border-color:#e3e8ec;}
.sws-home26 .home-theme-slider .slick-dots{display:block!important;position:static;margin-top:16px;}
.sws-home26 .home-theme-slider .slick-dots li button:before{font-size:8px;color:var(--blue);}
.sws-home26 .home-themes-more{text-align:center;margin-top:26px;}

.sws-home26.sws-lp#homepage #features{padding:72px 0;background:#fff;}
.sws-home26.sws-lp#homepage #features h1,
.sws-home26.sws-lp#homepage #features h2,
.sws-home26.sws-lp#homepage #features h3,
.sws-home26.sws-lp#homepage #features p{font-family:'Raleway',sans-serif;letter-spacing:0;margin-left:0;}
.sws-lp.sws-lp#homepage #features .sh-title{color:var(--txt-h);font-size:36px;font-weight:300;margin-bottom:12px;}
.sws-lp.sws-lp#homepage #features .sh-eye{color:var(--blue);}
.sws-home26 .home-feature-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:900px;margin:0 auto;}
.sws-home26 .home-feature-cloud span{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;background:#fff;border:1px solid #e8edf2;color:var(--txt-h);font-size:13px;font-weight:700;box-shadow:0 4px 16px rgba(28,35,41,.04);}

.sws-home26 .home-pricing{padding-top:64px;}
.sws-home26 .home-pricing #plans{background:transparent;padding:0;}
.sws-home26 .home-pricing #plans>.container{width:auto;max-width:none;padding:0;}
.sws-home26 .home-pricing #plans h1,.sws-home26 .home-pricing #plans h2{margin-top:0;font-size:34px;font-weight:300;color:var(--txt-h);}
.sws-home26 .home-pricing #plans .dark{margin-bottom:34px;color:var(--txt-m);font-size:14px;}
.sws-home26 .home-compare{text-align:center;margin-top:24px;}
.sws-home26 .home-pricing .pg-ext{display:none;}

.sws-home26.sws-lp#homepage #faq{background:var(--s2);padding:72px 0;}
.sws-home26.sws-lp#homepage #faq h2{font-family:'Raleway',sans-serif;color:var(--txt-h);font-size:36px;font-weight:300;margin:0 0 12px;letter-spacing:0;}
.sws-lp.sws-lp#homepage #faq .sh-eye{color:var(--blue);}
.sws-home26.sws-lp#homepage #faq p{font-family:'Raleway',sans-serif;color:var(--txt-m);letter-spacing:0;}
.sws-home26 .home-faq{border-top:1px solid #e8edf2;}
.sws-home26 .home-faq__item{border-bottom:1px solid #e8edf2;}
.sws-home26 .home-faq__item button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:0;padding:20px 0;text-align:left;color:var(--txt-h);font-size:16px;font-weight:800;letter-spacing:0;}
.sws-home26 .home-faq__item button .material-icons{transition:transform var(--tr);color:var(--blue-dark);}
.sws-home26 .home-faq__item button[aria-expanded="true"] .material-icons{transform:rotate(180deg);}
.sws-home26 .home-faq__item p{display:none;margin:0 0 20px;color:var(--txt-m);font-size:14px;line-height:1.75;}
.sws-home26 .home-faq__item p.open{display:block;}
.sws-home26 .home-final-cta{margin-bottom:0;border-bottom:0;}
.sws-home26 .home-final-cta .btn-blue{background:linear-gradient(135deg,var(--orange),var(--orange-deep));box-shadow:0 8px 26px rgba(251,175,11,.34);}

.sws-footer26{background:#151c22;color:#d9e1e8;padding:58px 0 24px;}
.sws-footer26 span{padding:0;}
.sws-footer26 a{color:#d9e1e8;text-decoration:none;}
.sws-footer26 a:hover{color:#fff;text-decoration:none;}
.sws-footer26__grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:32px;}
.sws-footer26__brand img{width:170px;height:auto;margin-bottom:18px;}
.sws-footer26__brand p{color:rgba(255,255,255,.66);font-size:13px;line-height:1.75;margin:0 0 18px;}
.sws-footer26__social{display:flex;gap:10px;}
.sws-footer26__social a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);}
.sws-footer26 h5{margin:0 0 14px;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;}
.sws-footer26 ul{list-style:none;margin:0;padding:0;}
.sws-footer26 li{margin:0 0 9px;}
.sws-footer26 li a{font-size:13px;color:rgba(255,255,255,.68);}
.sws-footer26__bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid rgba(255,255,255,.10);margin-top:38px;padding-top:20px;color:rgba(255,255,255,.52);font-size:12px;}

[dir="rtl"] .sws-home26{text-align:right;}
[dir="rtl"] .sws-home26 .home-hero__grid,
[dir="rtl"] .sws-home26 .home-dashboard__grid{direction:rtl;}
[dir="rtl"] .sws-home26 .home-hero__actions,
[dir="rtl"] .sws-home26 .home-proof,
[dir="rtl"] .sws-home26 .home-trust{justify-content:flex-start;}
[dir="rtl"] .sws-home26 .dash-head strong{text-align:left;}
[dir="rtl"] .sws-home26 .mock-desktop{left:0;right:auto;}
[dir="rtl"] .sws-home26 .mock-mobile{left:26px;right:auto;}
[dir="rtl"] .sws-home26 .admin-shot__top b{margin-left:0;margin-right:10px;}
[dir="rtl"] .sws-home26 .admin-shot__head{text-align:right;}
[dir="rtl"] .sws-home26 .home-ai-coach__panel{direction:rtl;}
[dir="rtl"] .sws-home26 .home-ai-coach__copy{text-align:right;}
[dir="rtl"] .sws-home26 .home-ai-coach__grid span{padding:0 18px 0 0;}
[dir="rtl"] .sws-home26 .home-ai-coach__grid span::before{left:auto;right:0;}
[dir="rtl"] .sws-home26 .home-theme__badge{left:auto;right:30px;}
[dir="rtl"] .sws-footer26{text-align:right;}
.sws-footer26__powered{display:flex;align-items:center;gap:12px;margin-top:22px;}
.sws-footer26__powered span{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:rgba(255,255,255,.5);}
.sws-footer26__powered img{height:40px;width:auto;display:block;}
.sws-footer26__addr{color:rgba(255,255,255,.55);font-size:12px;line-height:1.65;margin:16px 0 0;}

@media(max-width:1100px){
  .sws-home26 .home-hero__grid{grid-template-columns:1fr;gap:34px;}
  .sws-home26 .home-hero__visual{min-height:520px;}
  .sws-home26 .mock-desktop{left:0;right:auto;}
}
@media(max-width:900px){
  .sws-home26 .home-hero{padding:58px 0 52px;}
  .sws-home26 .home-hero h1{font-size:40px;}
  .sws-lp .home-card-grid--6{grid-template-columns:1fr 1fr;}
  .sws-home26 .home-ai-coach__panel{grid-template-columns:1fr;padding:34px;gap:24px;}
  /* Colonnes empilees : le retrait a gauche decalerait le texte alors qu'il
     n'a plus de voisin dont se detacher. */
  .sws-home26 .home-ai-coach__copy{padding:0;}
  .sws-home26 .home-ai-coach__visual{min-height:180px;}
  .sws-home26 .home-ai-coach__visual img{width:170px;}
  .sws-home26 .home-ai-coach__orb{width:190px;height:190px;}
  .sws-home26 .home-timeline{grid-template-columns:1fr;gap:18px;}
  .sws-home26 .home-timeline::before{display:none;}
  .sws-home26 .home-step{text-align:left;display:grid;grid-template-columns:68px 1fr;gap:0 16px;padding:0;}
  .sws-home26 .home-step span{grid-row:1 / span 2;margin:0;}
  .sws-home26 .home-dashboard__grid{grid-template-columns:1fr;}
  .sws-home26 .admin-shot__layout{grid-template-columns:132px 1fr;}
  .sws-home26 .admin-shot__nav{padding:18px 10px;}
  .sws-home26 .admin-shot__nav span{font-size:0;}
  .sws-home26 .admin-shot__nav .material-icons{font-size:19px;}
  .sws-home26 .admin-shot__content{padding:22px;}
  .sws-footer26__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .sws-home26 .home-hero h1{font-size:32px;}
  .sws-home26 .home-hero__actions .btn-blue,.sws-home26 .home-hero__actions .btn-blue-out{width:100%;}
  .sws-home26 .home-hero__visual{min-height:390px;}
  .sws-home26 .mock-dashboard{grid-template-columns:1fr;min-height:320px;}
  .sws-home26 .mock-dashboard aside{display:none;}
  .sws-home26 .mock-desktop{width:100%;}
  .sws-home26 .mock-mobile{width:132px;min-height:230px;right:10px;bottom:0;padding:22px 12px 12px;}
  [dir="rtl"] .sws-home26 .mock-mobile{left:10px;right:auto;}
  .sws-home26 .mock-mobile b{font-size:20px;}
  .sws-home26 .dash-kpis{grid-template-columns:1fr;}
  .sws-home26 .dash-kpis span:nth-child(n+3){display:none;}
  .sws-home26 .dash-chart{height:90px;}
  .sws-lp .home-card-grid--6,.sws-lp .home-annotations{grid-template-columns:1fr;}
  .sws-home26 .home-ai-coach__panel{padding:26px 20px;}
  .sws-home26 .home-ai-coach__copy h2,
  .sws-lp .coach-band{padding:0 0 22px;}
  .sws-home26 .home-ai-coach__grid{grid-template-columns:1fr;}
  .sws-home26 .home-dashboard__screen{padding:8px;}
  .sws-home26 .admin-shot{min-height:470px;}
  .sws-home26 .admin-shot__layout{grid-template-columns:1fr;}
  .sws-home26 .admin-shot__nav{display:none;}
  .sws-home26 .admin-shot__content{padding:18px 16px 44px;}
  .sws-home26 .admin-shot__head h3{font-size:20px;}
  .sws-home26 .admin-shot__metrics,.sws-home26 .admin-shot__rows{grid-template-columns:1fr;}
  .sws-home26 .admin-shot__chart{height:105px;gap:8px;}
  .sws-home26 .admin-theme-toolbar{grid-template-columns:1fr;}
  .sws-home26 .admin-theme-toolbar > div{grid-column:1;grid-row:auto;justify-content:flex-start;flex-wrap:wrap;}
  .sws-home26 .admin-theme-toolbar em{justify-self:start;}
  .sws-home26 .admin-theme-cards{display:grid;grid-template-columns:1fr 1fr;overflow:visible;}
  .sws-home26 .admin-theme-cards > div{flex:auto;min-width:0;}
  .sws-home26 .admin-theme-cards > div:nth-child(n+5){display:none;}
  .sws-home26 .admin-theme-preview__bar{height:auto;min-height:38px;flex-wrap:wrap;padding:7px 10px;}
  .sws-home26 .admin-theme-preview__bar b{width:100%;margin:0;}
  .sws-home26 .admin-theme-shopbar{grid-template-columns:36px 1fr;gap:8px;padding:0 10px;}
  .sws-home26 .admin-theme-shopbar button{display:none;}
  .sws-home26 .admin-theme-nav{justify-content:flex-start;gap:14px;overflow:hidden;padding:0 10px;}
  .sws-home26 .admin-theme-hero{height:86px;}
  .sws-home26 .admin-theme-hero b{font-size:24px;}
  .sws-footer26__grid{grid-template-columns:1fr;}
  .sws-footer26__bottom{display:block;}
  .sws-footer26__bottom span{display:block;margin-top:8px;padding:0;}
}

/* ==========================================================================
   HEADER / NAV MARKETING — porté de sws-landing. Header en FLUX NORMAL (il
   défile hors de vue au scroll — PAS sticky). Sur mobile, un hamburger FIXE
   (.mnav-fab) apparaît une fois le header sorti du viewport et ouvre un panneau
   (.mnav-sheet) dont le contenu est CLONÉ du header en JS (source unique).
   TOUT est scopé sous `header.sws-mkt` / classes `.mnav-*` : le chrome de la
   page /theme-demo (`<header z-index:50000>`, MÊME `#headertop`) n'est JAMAIS
   touché. Les variables sws-landing (--orange…) sont scopées sous `.sws-lp`
   ailleurs → redéclarées ici car le header vit hors de `.sws-lp`.
   ========================================================================== */
header.sws-mkt nav{--nav-bg:#1c2329;--orange:#fbaf0b;--sim-gray:#c3c3ca;--blue:#3da3c8;--white:#ffffff;--tr:0.2s ease;}

/* L'ancien navbar-fixed-top était compensé par body{margin-top:49px} (custom.css).
   Ce header étant en flux, ce décalage crée un vide en haut → on l'annule via une
   marge négative SCOPÉE au header marketing (collapse avec la marge du body),
   SANS toucher `body` global : la page /theme-demo garde ses 49px pour son propre
   chrome fixe (navbar-fixed-top), donc l'iframe reste bien sous la toolbar. */
header.sws-mkt{margin-top:-49px;}

header.sws-mkt nav{background:var(--nav-bg);border-bottom:none;}
header.sws-mkt nav .nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 0;gap:16px;}
/* Bootstrap 3 pose `.container:before{display:table;content:" "}` (clearfix). Dans
   .nav-inner qui est en GRID, ce pseudo-element devient un ITEM DE GRILLE a part
   entiere. Le clearfix ne sert a rien ici (aucun float), on le retire.
   Ne concerne QUE le header : le clearfix reste actif ailleurs sur le site. */
header.sws-mkt nav .container::before,
header.sws-mkt nav .container::after{content:none;}

/* TRAIT CLAIR SOUS LE NAV — la vraie cause.
   `#feedback_msg` est rendu VIDE sur toutes les pages (zone de messages flash),
   mais il contient un `.col-sm-12` auquel Bootstrap impose `min-height:1px`.
   Ce pixel, sur le fond sombre du header, dessine un filet clair pleine largeur.
   :empty ne suffirait pas — le div a des enfants, ce sont EUX qui sont vides.
   Ecrit SANS :has() (non supporte par Firefox < 121 / Safari < 15.4) : on remet
   min-height a 0 par defaut, et un message reel retablit sa hauteur via .alert,
   qui porte ses propres marges et padding. */
header.sws-mkt #feedback_msg .col-sm-12{min-height:0;padding:0;}
header.sws-mkt #feedback_msg{line-height:0;font-size:0;}
header.sws-mkt #feedback_msg .alert{line-height:1.5;font-size:1rem;}
header.sws-mkt nav .nav-inner > .logo{justify-self:start;}
header.sws-mkt nav .nav-inner > .nav-links{justify-self:center;}
header.sws-mkt nav .nav-inner > .nav-right{justify-self:end;}
header.sws-mkt nav .logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
header.sws-mkt nav .logo img{height:32px;width:auto;display:block;}
header.sws-mkt nav .nav-links{display:flex;align-items:center;gap:28px;}
header.sws-mkt nav .nav-right{display:flex;align-items:center;gap:16px;}

/* Styles liens/CTA/langue PARTAGÉS entre la nav du header ET le panneau mobile
   cloné (.mnav-sheet vit hors de `header.sws-mkt`, il lui faut donc ses propres
   règles). Couleurs en littéral (pas de var, le sheet est hors du scope --*). */
header.sws-mkt nav .nav-link,.mnav-sheet .nav-link{font-family:'Raleway',sans-serif;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.75);text-decoration:none;transition:color .2s ease;white-space:nowrap;}
header.sws-mkt nav .nav-link:hover,header.sws-mkt nav .nav-link:focus,.mnav-sheet .nav-link:hover,.mnav-sheet .nav-link:focus{color:#fbaf0b;}
header.sws-mkt nav .nav-link[aria-current="page"],.mnav-sheet .nav-link[aria-current="page"]{color:#fbaf0b;}
header.sws-mkt nav .nav-logout,.mnav-sheet .nav-logout{font-size:15px;}
header.sws-mkt nav .nav-login i,header.sws-mkt nav .nav-logout i,.mnav-sheet .nav-login i,.mnav-sheet .nav-logout i{margin-right:4px;}

/* Sélecteur de langue SWS (partial Bootstrap dropdown) restylé fond sombre.
   Neutralise `header nav ul{margin-top:19px}` (custom.css). */
header.sws-mkt nav .nav-lang,.mnav-sheet .nav-lang{list-style:none;display:flex;align-items:center;margin:0;padding:0;}
header.sws-mkt nav .nav-lang > li,.mnav-sheet .nav-lang > li{list-style:none;position:relative;}
header.sws-mkt nav .nav-lang .dropdown-toggle,.mnav-sheet .nav-lang .dropdown-toggle{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,0.75);font-family:'Raleway',sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;text-decoration:none;padding:6px 4px;transition:color .2s ease;}
header.sws-mkt nav .nav-lang .dropdown-toggle:hover,header.sws-mkt nav .nav-lang .dropdown-toggle:focus,.mnav-sheet .nav-lang .dropdown-toggle:hover,.mnav-sheet .nav-lang .dropdown-toggle:focus{color:#fbaf0b;}
header.sws-mkt nav .nav-lang .dropdown-menu{right:0;left:auto;min-width:140px;}
[dir="rtl"] header.sws-mkt nav .nav-lang .dropdown-menu{right:auto;left:0;}

/* CTA (Se connecter / Démarrer) : look .btn-default orange conservé, marges navbar retirées. */
header.sws-mkt nav .nav-right .btn,.mnav-sheet .nav-right .btn{margin:0;}

/* ── Nav reflow tablette+mobile : logo / liens / auth empilés (header complet, il
   défile). Breakpoint à 1024px : entre 681 et 1024px la nav horizontale (liens +
   langue + connexion + Démarrer) ne rentre pas et débordait à droite (scroll
   horizontal sur toute la page). Le hamburger (.mnav-fab, plus bas) prend aussi le
   relais dès 1024px, donc ce reflow ne concerne que le header en flux avant scroll. ── */
@media(max-width:1024px){
  header.sws-mkt nav .nav-inner{display:flex;flex-wrap:wrap;justify-content:center;padding:12px 0;gap:0;grid-template-columns:none;}
  header.sws-mkt nav .nav-inner > .logo{order:1;width:100%;justify-content:center;}
  header.sws-mkt nav .nav-inner > .nav-links{order:2;width:100%;justify-content:center;flex-wrap:wrap;gap:16px 20px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,0.08);}
  header.sws-mkt nav .nav-inner > .nav-right{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:14px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,0.08);}
  header.sws-mkt nav .nav-link{font-size:11px;letter-spacing:.5px;}
  header.sws-mkt nav .nav-lang .dropdown-menu{right:auto;left:0;}
}
@media(max-width:420px){
  header.sws-mkt nav .nav-inner > .nav-links{gap:12px 14px;}
  header.sws-mkt nav .nav-link{font-size:10px;letter-spacing:.3px;}
  header.sws-mkt nav .logo img{height:26px;}
  header.sws-mkt nav .nav-right{gap:10px;}
}

/* ── Hamburger FIXE mobile (.mnav-fab) + panneau (.mnav-sheet) ──
   Masqués sur desktop (display:none → JAMAIS de FAB). Sur mobile ≤680px : le FAB
   est présent mais invisible (opacity/visibility/transform) tant que le header est
   en vue ; il est révélé — transform/opacity SEULEMENT, ZÉRO reflow, ZÉRO strobe —
   quand le JS pose `.mnav-visible` sur <html> après que le header a défilé hors de vue. */
.mnav-fab,.mnav-sheet{display:none;}
.mnav-fab{position:fixed;top:12px;right:12px;z-index:200;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#1c2329;border:1px solid rgba(255,255,255,0.18);border-radius:0;cursor:pointer;padding:0;opacity:0;visibility:hidden;transform:translateY(-14px) scale(.9);transition:opacity .25s ease,transform .25s ease,visibility .25s;}
[dir="rtl"] .mnav-fab{right:auto;left:12px;}
.mnav-fab span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
.mnav-fab.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mnav-fab.is-open span:nth-child(2){opacity:0;}
.mnav-fab.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mnav-sheet{position:fixed;top:0;right:0;left:0;z-index:190;background:#1c2329;box-shadow:0 10px 30px rgba(0,0,0,0.45);padding:64px 20px 26px;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .3s ease,opacity .3s ease,visibility .3s;}
.mnav-sheet.is-open{transform:translateY(0);opacity:1;visibility:visible;}
.mnav-sheet-inner{display:flex;flex-direction:column;align-items:center;gap:18px;}
.mnav-sheet .nav-links{display:flex;flex-direction:column;align-items:center;gap:16px;}
.mnav-sheet .nav-right{display:flex;flex-direction:column;align-items:center;gap:14px;}

@media(max-width:1024px){
  .mnav-fab{display:flex;}
  .mnav-sheet{display:block;}
  html.mnav-visible .mnav-fab{opacity:1;visibility:visible;transform:none;}
}

/* ── PAGE 404 (portée de sws-landing .p404, scopée sous .sws-lp) ── */
.sws-lp .p404{background:linear-gradient(180deg,#1c2329 0%,#2c3240 60%,#3d3b35 100%);color:var(--white);width:100%;box-sizing:border-box;min-height:calc(100vh - 70px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;padding:80px 0;}
.sws-lp .p404::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(251,175,11,0.10) 0%,transparent 60%),radial-gradient(ellipse 40% 50% at 80% 80%,rgba(61,163,200,0.10) 0%,transparent 55%);pointer-events:none;}
.sws-lp .p404-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 24px;}
.sws-lp .p404-code{font-family:'Raleway',sans-serif;font-weight:100;font-size:clamp(96px,16vw,180px);line-height:1;letter-spacing:-4px;background:linear-gradient(135deg,var(--orange) 0%,var(--blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:20px;}
.sws-lp .p404-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(251,175,11,0.9);background:rgba(251,175,11,0.08);border:1px solid rgba(251,175,11,0.2);padding:7px 18px;margin-bottom:24px;}
.sws-lp .p404 h1{font-family:'Raleway',sans-serif;font-weight:200;font-size:clamp(28px,4vw,44px);letter-spacing:.5px;line-height:1.2;color:var(--white);margin:0 0 16px;}
.sws-lp .p404-desc{font-size:15px;font-weight:400;color:rgba(255,255,255,0.82);line-height:1.75;max-width:520px;margin:0 auto 36px;}
.sws-lp .p404-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.sws-lp .live-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:sws-lp-pulse 2s ease infinite;flex-shrink:0;}
@keyframes sws-lp-pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(251,175,11,0.5);}50%{opacity:.6;box-shadow:0 0 0 5px rgba(251,175,11,0);}}
@media(max-width:680px){
  .sws-lp .p404{min-height:auto;padding:64px 0;}
  .sws-lp .p404-code{font-size:96px;}
  .sws-lp .p404-cta a{width:100%;justify-content:center;}
}

/* ── HERO PHOTO PLEIN CADRE (home-hero--photo) ─────────────────────────────
   Image hero-sws en fond (gens a droite via object-position), voile sombre
   degrade gauche->droite pour la lisibilite du texte overlay. Le mockup CSS
   d'origine (.home-hero__visual) est retire du markup. */
.sws-home26 .home-hero--photo{position:relative;background:#0f1418;border-bottom:0;padding:0;min-height:500px;display:flex;align-items:center;overflow:hidden;}
.sws-home26 .home-hero--photo::before{display:none;}
.sws-home26 .home-hero--photo .home-hero__art{position:absolute;inset:0;z-index:0;overflow:hidden;}
.sws-home26 .home-hero--photo .home-hero__art img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block;}
.sws-home26 .home-hero--photo .home-hero__art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,18,22,.9) 0%,rgba(13,18,22,.72) 32%,rgba(13,18,22,.38) 56%,rgba(13,18,22,.08) 100%);}
.sws-home26 .home-hero--photo .home-hero__grid{position:relative;z-index:1;display:block;grid-template-columns:none;gap:0;padding-top:58px;padding-bottom:58px;}
.sws-home26 .home-hero--photo .home-hero__copy{max-width:640px;text-shadow:0 2px 16px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.8);}
.sws-home26 .home-hero--photo h1{color:#fff;font-weight:600;font-size:44px;line-height:1.14;}
.sws-home26 .home-hero--photo h1 strong{color:var(--orange);font-weight:800;}
.sws-home26 .home-hero--photo .home-hero__sub{color:rgba(255,255,255,.88);}
.sws-home26 .home-hero--photo .home-proof li{color:rgba(255,255,255,.92);}
.sws-home26 .home-hero--photo .home-trust span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.8);text-shadow:none;}
@media(max-width:991px){
  /* Mobile : image en FOND plein cadre (comme desktop), texte overlay dessus. Voile
     modere degrade vertical pour laisser voir la scene (telephone au logo, centre)
     tout en gardant le texte lisible (blanc bold + ombre). */
  .sws-home26 .home-hero--photo{min-height:560px;}
  .sws-home26 .home-hero--photo .home-hero__art img{object-position:54% center;}
  .sws-home26 .home-hero--photo .home-hero__art::after{background:linear-gradient(180deg,rgba(13,18,22,.92) 0%,rgba(13,18,22,.64) 34%,rgba(13,18,22,.34) 64%,rgba(13,18,22,.42) 100%);}
  .sws-home26 .home-hero--photo .home-hero__grid{padding-top:44px;padding-bottom:44px;}
  .sws-home26 .home-hero--photo .home-hero__copy{max-width:none;}
  .sws-home26 .home-hero--photo h1{font-size:32px;}
}

/* ==========================================================================
   ACADEMY 2026 — disponibilité, formules, comparatif, aide au choix, FAQ
   ========================================================================== */

/* Bandeau disponibilité (sous le hero) */
.sws-lp .ac-avail{background:var(--nav-bg);padding:20px 0;}
.sws-lp .ac-avail .lp-container{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;text-align:center;}
.sws-lp .ac-avail-line{font-size:15px;font-weight:300;color:rgba(255,255,255,0.9);}
.sws-lp .ac-avail-line strong{font-weight:700;color:var(--blue-light);}
.sws-lp .ac-avail-badges{display:flex;gap:10px;flex-wrap:wrap;}
.sws-lp .ac-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.5px;color:#fff;background:rgba(61,163,200,0.16);border:1px solid rgba(86,184,216,0.45);padding:8px 16px;}
.sws-lp .ac-badge .material-icons{font-size:17px;color:var(--blue-light);}
.sws-lp .ac-badge .material-icons + .material-icons{margin-left:-3px;}
[dir="rtl"] .sws-lp .ac-badge .material-icons + .material-icons{margin-left:0;margin-right:-3px;}

/* Hero académie : titre-marque + 2 CTA cote a cote, hero court -> l'image
   (object-fit:cover) montre son texte en entier (comme avant). */
.sws-lp .ac-hero-desc{font-size:14.5px;line-height:1.6;margin-bottom:20px;}
.sws-lp .ac-hero-pills{margin-bottom:20px;}
.sws-lp .ac-hero-cta{flex-wrap:nowrap;margin-bottom:0;}
.sws-lp .ac-hero-cta .btn-blue,.sws-lp .ac-hero-cta .btn-blue-out{padding:15px 24px;font-size:12px;min-height:50px;letter-spacing:1px;}
@media(max-width:600px){.sws-lp .ac-hero-cta{flex-wrap:wrap;}}

/* Formules : 2 cartes */
.sws-lp .ac-plans{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;max-width:940px;margin:0 auto;}
.sws-lp .ac-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid #e2e8ee;box-shadow:var(--shadow);padding:34px 30px;transition:transform var(--tr),box-shadow var(--tr);}
.sws-lp .ac-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.sws-lp .ac-card--pop{background:linear-gradient(180deg,#f4fafd 0%,#ffffff 40%);border:2px solid var(--blue-dark);box-shadow:0 10px 40px rgba(29,141,186,0.18);}
.sws-lp .ac-pop-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--blue-light),var(--blue-dark));padding:8px 18px;white-space:nowrap;box-shadow:0 6px 18px rgba(29,141,186,0.4);}
.sws-lp .ac-pop-badge .material-icons{font-size:15px;}
.sws-lp .ac-card-head{padding-bottom:20px;border-bottom:1px solid #eceff3;margin-bottom:20px;}
.sws-lp .ac-card-name{font-family:'Raleway',sans-serif;font-size:19px;font-weight:700;color:var(--txt-h);line-height:1.3;}
.sws-lp .ac-card-price{margin:12px 0 10px;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;}
.sws-lp .ac-was{position:relative;display:inline-flex;align-items:baseline;gap:4px;margin-right:6px;color:var(--txt-l);}
[dir="rtl"] .sws-lp .ac-was{margin-right:0;margin-left:6px;}
.sws-lp .ac-was-amt{font-family:'Raleway',sans-serif;font-weight:300;font-size:26px;line-height:1;letter-spacing:-.5px;}
.sws-lp .ac-was-cur{font-size:12px;font-weight:700;letter-spacing:1px;}
.sws-lp .ac-was::after{content:'';position:absolute;left:-2px;right:-2px;top:45%;height:2px;background:#d8232a;transform:rotate(-10deg);transform-origin:center;pointer-events:none;}
[dir="rtl"] .sws-lp .ac-was::after{transform:rotate(12deg);}
.sws-lp .ac-amt{font-family:'Raleway',sans-serif;font-weight:200;font-size:46px;line-height:1;color:var(--blue-dark);letter-spacing:-1px;}
.sws-lp .ac-card--pop .ac-amt{color:var(--blue-dark);}
.sws-lp .ac-cur{font-size:16px;font-weight:700;color:var(--txt-m);letter-spacing:1px;}
.sws-lp .ac-card-sub{font-size:14px;font-weight:400;color:var(--txt-m);line-height:1.6;}
.sws-lp .ac-plus-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--blue-dark);margin-bottom:14px;}
.sws-lp .ac-plus-head .material-icons{font-size:18px;}
.sws-lp .ac-feat{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1 1 auto;}
.sws-lp .ac-feat li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;color:var(--txt-b);}
.sws-lp .ac-feat li .material-icons{font-size:19px;flex-shrink:0;margin-top:1px;}
.sws-lp .ac-yes{color:var(--blue-dark);}
.sws-lp .ac-cross{color:#c3cbd4;}
.sws-lp .ac-feat li.ac-no{color:var(--txt-l);}
.sws-lp .ac-card-note{font-size:13.5px;font-style:italic;color:var(--txt-m);line-height:1.6;margin-bottom:22px;padding:14px 16px;background:var(--s2);border-left:3px solid var(--blue-border);}
[dir="rtl"] .sws-lp .ac-card-note{border-left:none;border-right:3px solid var(--blue-border);}
.sws-lp .ac-card-cta{width:100%;margin-top:auto;}

/* Comparatif */
.sws-lp .ac-compare-wrap{max-width:820px;margin:0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.sws-lp .ac-compare{width:100%;border-collapse:collapse;background:var(--white);border:1px solid #e2e8ee;min-width:520px;}
.sws-lp .ac-compare th,.sws-lp .ac-compare td{padding:15px 18px;text-align:center;font-size:14px;border-bottom:1px solid #eceff3;}
.sws-lp .ac-compare thead th{font-family:'Raleway',sans-serif;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#fff;background:var(--nav-bg);border-bottom:0;}
.sws-lp .ac-compare .ac-compare-feat{text-align:left;font-weight:600;color:var(--txt-h);}
[dir="rtl"] .sws-lp .ac-compare .ac-compare-feat{text-align:right;}
.sws-lp .ac-compare thead .ac-compare-pro{background:var(--blue-dark);}
.sws-lp .ac-compare tbody .ac-compare-pro{background:var(--blue-soft);font-weight:600;color:var(--txt-h);}
.sws-lp .ac-compare tbody tr:last-child td{border-bottom:0;}
.sws-lp .ac-compare .ac-yes{font-size:21px;vertical-align:middle;}
.sws-lp .ac-compare .ac-dash{color:var(--sim-gray);font-weight:700;}
.sws-lp .ac-compare .ac-cell-txt{font-size:13px;color:var(--txt-b);}

/* Aide au choix */
.sws-lp .ac-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto;}
.sws-lp .ac-fit-col{background:var(--white);border:1px solid #e2e8ee;padding:28px 28px 30px;box-shadow:var(--shadow);}
.sws-lp .ac-fit-col--pro{border:2px solid var(--blue-dark);background:linear-gradient(180deg,#f4fafd 0%,#ffffff 45%);}
.sws-lp .ac-fit-head{display:flex;align-items:center;gap:10px;font-family:'Raleway',sans-serif;font-size:18px;font-weight:700;color:var(--txt-h);padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #eceff3;}
.sws-lp .ac-fit-head .material-icons{font-size:24px;color:var(--blue-dark);}
.sws-lp .ac-fit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.sws-lp .ac-fit-list li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.5;color:var(--txt-b);}
[dir="rtl"] .sws-lp .ac-fit-list li{padding-left:0;padding-right:26px;}
.sws-lp .ac-fit-list li::before{content:'check';font-family:'Material Icons';position:absolute;left:0;top:0;font-size:18px;color:var(--blue);}
[dir="rtl"] .sws-lp .ac-fit-list li::before{left:auto;right:0;}

/* Réassurance */
.sws-lp .ac-reassure{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.sws-lp .ac-reassure-item{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--txt-h);background:var(--white);border:1px solid #e2e8ee;padding:14px 20px;box-shadow:var(--shadow);}
.sws-lp .ac-reassure-item .material-icons{font-size:21px;color:var(--blue-dark);}

/* FAQ */
.sws-lp .ac-faq{display:flex;flex-direction:column;gap:12px;}
.sws-lp .ac-faq-item{background:var(--white);border:1px solid #e2e8ee;box-shadow:var(--shadow);}
.sws-lp .ac-faq-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:'Raleway',sans-serif;font-size:16px;font-weight:600;color:var(--txt-h);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.sws-lp .ac-faq-item summary::-webkit-details-marker{display:none;}
.sws-lp .ac-faq-item summary::after{content:'expand_more';font-family:'Material Icons';font-size:22px;color:var(--blue);transition:transform var(--tr);}
.sws-lp .ac-faq-item[open] summary::after{transform:rotate(180deg);}
.sws-lp .ac-faq-body{padding:0 22px 20px;font-size:14.5px;line-height:1.7;color:var(--txt-b);}
.sws-lp .ac-faq-body p{margin:0 0 10px;}
.sws-lp .ac-faq-body ul{margin:0 0 10px;padding-left:22px;}
[dir="rtl"] .sws-lp .ac-faq-body ul{padding-left:0;padding-right:22px;}
.sws-lp .ac-faq-body strong{color:var(--txt-h);}

/* Responsive */
@media(max-width:820px){
  .sws-lp .ac-plans{grid-template-columns:1fr;max-width:460px;gap:34px;}
  .sws-lp .ac-fit-grid{grid-template-columns:1fr;}
  .sws-lp .ac-avail .lp-container{flex-direction:column;gap:14px;}
}
@media(max-width:520px){
  .sws-lp .ac-card{padding:28px 22px;}
  .sws-lp .ac-amt{font-size:40px;}
  .sws-lp .ac-reassure-item{width:100%;justify-content:center;}
}

/* ===== Section « Pourquoi » : onglets + drawer fonctionnalités ============ */
/* Mobile-first. Propriétés logiques (inline-start/end) pour le RTL arabe.
   Pas de :has() ni color-mix() — support navigateur large. */

.sws-lp .home-ftabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin-bottom:24px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.sws-lp .home-ftabs::-webkit-scrollbar{display:none;}
.sws-lp .home-ftab{flex:0 0 auto;min-height:44px;padding:11px 18px;background:#fff;border:1px solid #e8edf2;color:var(--txt-m);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--tr),border-color var(--tr),background var(--tr);}
.sws-lp .home-ftab:hover{color:var(--txt-h);border-color:var(--blue-border);}
.sws-lp .home-ftab.active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-dark);}
.sws-lp .home-ftab:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

.sws-lp .home-fpanel[hidden]{display:none;}

.sws-lp .home-card--feature{cursor:pointer;display:flex;flex-direction:column;}
.sws-lp .home-card--feature:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.sws-lp .home-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.sws-lp .home-tag{font-size:11.5px;font-weight:600;color:var(--txt-m);background:#f4f7fa;border:1px solid #e8edf2;padding:4px 9px;letter-spacing:.2px;}
/* Pied de carte : libellé + flèche sur une même ligne de base, séparés par un
   filet. La flèche doit RESET la règle .home-card .material-icons (42x42 sur
   fond ambre, pensée pour l'icône de tête) — sinon elle rend en carré isolé. */
.sws-lp .home-card__more{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid #f0f4f8;font-size:12.5px;font-weight:700;color:var(--blue-dark);letter-spacing:.3px;line-height:1;}
.sws-lp .home-card__more .material-icons{width:auto;height:auto;background:none;color:inherit;margin:0;font-size:16px;line-height:1;flex:0 0 auto;transition:transform var(--tr);}
[dir="rtl"] .sws-home26 .home-card__more .material-icons{transform:scaleX(-1);}
.sws-lp .home-card--feature:hover .home-card__more .material-icons{transform:translateX(3px);}
[dir="rtl"] .sws-home26 .home-card--feature:hover .home-card__more .material-icons{transform:scaleX(-1) translateX(3px);}

/* --- Drawer --- */
body.home-fdrawer-open{overflow:hidden;}
.home-fdrawer{position:fixed;inset:0;z-index:9500;}
.home-fdrawer[hidden]{display:none;}
.home-fdrawer__scrim{position:absolute;inset:0;background:rgba(28,35,41,.55);opacity:0;transition:opacity .22s ease;}
.home-fdrawer.is-open .home-fdrawer__scrim{opacity:1;}
.home-fdrawer__panel{position:absolute;inset-block:0;inset-inline-end:0;width:min(460px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow-md);transform:translateX(100%);transition:transform .22s ease;}
[dir="rtl"] .home-fdrawer__panel{transform:translateX(-100%);}
.home-fdrawer.is-open .home-fdrawer__panel{transform:translateX(0);}
[dir="rtl"] .home-fdrawer.is-open .home-fdrawer__panel{transform:translateX(0);}

.home-fdrawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid #e8edf2;}
.home-fdrawer__head h3{font-family:'Raleway',sans-serif;font-weight:700;font-size:17px;color:var(--txt-h);margin:0;letter-spacing:.2px;}
.home-fdrawer__close{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--txt-m);cursor:pointer;transition:color var(--tr),border-color var(--tr);}
.home-fdrawer__close:hover{color:var(--txt-h);border-color:#e8edf2;}
.home-fdrawer__close:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}

.home-fdrawer__body{flex:1 1 auto;overflow-y:auto;padding:8px 22px 16px;-webkit-overflow-scrolling:touch;}
.home-fdrawer__loading{font-size:14px;color:var(--txt-l);padding:16px 0;}
.home-fdrawer__item{padding:16px 0;border-bottom:1px solid #f0f4f8;}
.home-fdrawer__item:last-child{border-bottom:0;}
.home-fdrawer__item h4{font-family:'Raleway',sans-serif;font-weight:700;font-size:14.5px;color:var(--txt-h);margin:0 0 6px;letter-spacing:.2px;}
.home-fdrawer__item p{font-size:13.5px;line-height:1.7;color:var(--txt-m);margin:0;}

.home-fdrawer__foot{flex:0 0 auto;border-top:1px solid #e8edf2;padding:14px 22px 18px;display:flex;flex-direction:column;gap:10px;}
.home-fdrawer__all{font-size:13.5px;font-weight:700;color:var(--blue-dark);text-decoration:none;}
.home-fdrawer__all:hover{text-decoration:underline;}
/* Le lien help reste en second rang : approfondissement, pas appel principal. */
.home-fdrawer__help{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--txt-l);text-decoration:none;}
.home-fdrawer__help .material-icons{font-size:16px;}
.home-fdrawer__help:hover{color:var(--txt-m);text-decoration:underline;}

@media (min-width:768px){
  .sws-lp .home-ftabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px;}
  .home-fdrawer__head,.home-fdrawer__foot{padding-inline:26px;}
  .home-fdrawer__body{padding-inline:26px;}
}

@media (prefers-reduced-motion:reduce){
  .home-fdrawer__scrim,.home-fdrawer__panel{transition:none;}
  .sws-lp .home-card__more .material-icons{transition:none;}
}

/* Panneaux feature : le nombre de cartes varie selon l'onglet (2 à 4).
   Une colonne par carte, pour que la ligne soit toujours complète — sinon un
   onglet à 4 cartes retombe en 3+1 avec une carte orpheline. */
.sws-lp .home-fpanel .home-card-grid--6{grid-template-columns:1fr;justify-content:center;}
@media (min-width:600px){
  .sws-lp .home-fpanel .home-card-grid--6{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:1000px){
  .sws-lp .home-fpanel--2 .home-card-grid--6{grid-template-columns:repeat(2,minmax(0,320px));}
  .sws-lp .home-fpanel--3 .home-card-grid--6{grid-template-columns:repeat(3,minmax(0,1fr));}
  .sws-lp .home-fpanel--4 .home-card-grid--6{grid-template-columns:repeat(4,minmax(0,1fr));}
}

/* Le FAB WhatsApp est à z-index 99988 : il flotterait au-dessus du panneau
   modal. On le masque tant que le drawer est ouvert (il revient à la fermeture). */
/* !important : le widget pose son style en inline (spécificité supérieure). */
body.home-fdrawer-open #sws-wa-fab,
body.home-fdrawer-open #mnav-fab{opacity:0!important;pointer-events:none!important;transition:opacity .18s ease;}
@media (prefers-reduced-motion:reduce){
  body.home-fdrawer-open #sws-wa-fab,
  body.home-fdrawer-open #mnav-fab{transition:none;}
}

/* Surtitre = repère de catégorie (l'ancien libellé court). Le h3 porte
   désormais la promesse, plus longue : on descend sa taille pour tenir
   2 lignes max sans casser le rythme de la grille. */
.sws-lp .home-card__kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--txt-l);margin-bottom:6px;}
.sws-lp .home-card--feature h3{font-size:15.5px;line-height:1.35;margin-bottom:10px;}

/* ══ Bloc CTA de fin de page (pricing) ═══════════════════════════════════════
   `.sws-block--cta` n'avait aucune règle : le bloc se fondait dans la page.
   Fond photo + voile sombre pour que le texte reste lisible quelle que soit
   la zone de l'image (le contraste ne doit pas dépendre du visuel). */
.sws-block--cta{
  position:relative;
  /* `cover` : l image occupe TOUTE la largeur, aucune bande laterale.
     `contain` laissait deux bandes de fond uni impossibles a raccorder
     parfaitement. Le cadrage `center top` garde les visages entiers — c est
     le cadrage, pas le mode, qui reglait le probleme de rognage. */
  background:#8e9193 url('/theme/sws/images/footer_img.png') center top / cover no-repeat;
  /* Hauteur calee sur le ratio de l image (1628/966 = 1.685) : la section
     est aussi haute que l image l est a la largeur du viewport, donc rien
     n est rogne verticalement non plus. Bornee pour rester raisonnable. */
  min-height:clamp(420px, 59vw, 720px);
  display:flex;align-items:center;   /* bloc de texte centre verticalement */
  padding:56px 0;
  overflow:hidden;
}
/* Voile : sans lui, un texte blanc sur une zone claire de la photo passe
   sous le seuil de contraste AA. */
.sws-block--cta::before{
  content:'';
  position:absolute;inset:0;
  /* Voile sur TOUTE la section : l image est en `cover`, elle occupe deja
     toute la largeur — le limiter laissait un rectangle sombre au centre. */
  background:linear-gradient(180deg,rgba(28,35,41,.42) 0%,rgba(28,35,41,.58) 100%);
}
.sws-block--cta .sws-block__inner{position:relative;z-index:1;width:100%;}
.sws-block--cta .sws-section__title{color:#fff;}
.sws-block--cta .sws-section__sub{color:rgba(255,255,255,.9);max-width:56ch;margin-left:auto;margin-right:auto;}

/* Actions : la primaire porte l'accent, la secondaire reste en contour clair
   (une seule action dominante par bloc). */
/* Le conteneur heritait d une largeur reduite (~460px) du bloc de tete :
   les deux boutons n y tenaient pas et passaient l un sous l autre. */
.sws-block--cta .sws-block__actions{
  display:flex;justify-content:center;align-items:center;
  gap:12px;flex-wrap:wrap;margin-top:24px;
  max-width:none;width:100%;
}
.sws-block--cta .sws-btn-primary{
  background:var(--blue-dark,#1d8dba);border:1px solid var(--blue-dark,#1d8dba);color:#fff;
  padding:12px 22px;font-weight:600;cursor:pointer;white-space:nowrap;
}
.sws-block--cta .sws-btn-primary:hover{background:var(--blue,#3da3c8);border-color:var(--blue,#3da3c8);color:#fff;}
.sws-block--cta .sws-btn-outline{
  background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff;
  padding:12px 22px;font-weight:600;white-space:nowrap;
}
.sws-block--cta .sws-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff;}
.sws-block--cta .sws-btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}

@media (max-width:600px){
  /* En mobile la photo est fortement recadree par `cover` : les visages
     lateraux sont coupes et le texte leur passe dessus. On privilegie la
     LISIBILITE — voile plus dense, cadrage centre sur le visage du milieu. */
  .sws-block--cta{
    background-position:center 30%;
    min-height:auto;
    padding:48px 0;
  }
  .sws-block--cta::before{
    background:linear-gradient(180deg,rgba(28,35,41,.72) 0%,rgba(28,35,41,.82) 100%);
  }
  .sws-block--cta .sws-block__actions{flex-direction:column;}
  .sws-block--cta .sws-block__actions .sws-btn{width:100%;}
}

/* ══ CTA COMPACT de landing (.sws-block--cta-compact) ════════════════════════
   Pose par la surcharge `sws/annonce/page/sections/cta.tpl` quand la section
   porte `theme: compact`.

   Le bloc CTA par defaut cale sa hauteur sur le ratio de `footer_img.png`
   (`min-height:clamp(420px,59vw,720px)`) : un ecran entier pour une phrase et
   un bouton. En fin de landing, apres la FAQ, c'est disproportionne — et la
   photo (1,9 Mo) ne se voyait meme pas, seul son gris de repli s'affichait.

   Fond : le meme zellige que le hero, recadre sur le seul motif (10 Ko) et
   REPETE plutot qu'etire — la trame garde ainsi son echelle a toute largeur.
   La page s'ouvre et se ferme sur le meme motif.
   ══════════════════════════════════════════════════════════════════════════ */
/* Le fond va sur le PARENT et non sur le bloc : common.css donne au parent le
   debord pleine largeur (`margin-inline:calc(50% - 50vw)`) et son fond gris,
   tout en forcant le bloc lui-meme a `background:transparent`. Peindre le bloc
   laissait donc deux bandes grises sur les cotes. */
.sws-cms-sections > .sws-cms-section:has(.sws-block--cta-compact){
  background:#131c2e url('/theme/sws/images/sws_zellige_band.webp') center / 260px repeat;
}
.sws-cms-sections .sws-block--cta.sws-block--cta-compact{
  background:transparent;
  min-height:0;
  padding:52px 0;
}
/* Voile leger : la trame doit rester perceptible derriere le texte sans le
   concurrencer. Le `::before` du bloc CTA standard est un degre trop dense. */
.sws-cms-sections .sws-block--cta.sws-block--cta-compact::before{
  background:rgba(19,28,46,.72);
}
.sws-cms-sections .sws-block--cta-compact .sws-section__title{
  font-size:clamp(22px,2.6vw,30px);margin-bottom:10px;
}
.sws-cms-sections .sws-block--cta-compact .sws-section__sub{
  font-size:15px;max-width:60ch;
}
.sws-cms-sections .sws-block--cta-compact .sws-block__actions{margin-top:18px;}
/* La mention sous le bouton etait quasi illisible (gris fonce sur fond sombre). */
.sws-cms-sections .sws-block--cta-compact .sws-block__item-text{
  color:rgba(255,255,255,.62);font-size:13px;margin-top:12px;
}
@media (max-width:600px){
  .sws-cms-sections .sws-block--cta.sws-block--cta-compact{padding:36px 0;}
}

/* ══ HERO SOMBRE de landing (.sws-block--hero-dark) ══════════════════════════
   Pose par la surcharge `sws/annonce/page/sections/hero.tpl` quand la section
   porte `theme: dark` dans le Page Builder. Un hero clair reste inchange.

   L'illustration est TRANSPARENTE au centre : c'est `background-color` qui
   fait la couleur du bandeau, pas le fichier. Meme teinte #151c22 que les
   heros de /themes, /pricing et de l'App Store — la barre de navigation se
   prolonge, et les quatre pages parlent la meme langue.

   Pas de voile par-dessus : le centre de l'image est deja un aplat uni, donc
   le contraste du texte est acquis. En superposer un ne ferait que ternir les
   maquettes des bords, qui sont tout l'interet du visuel.
   ══════════════════════════════════════════════════════════════════════════ */
/* ⚠️ SPECIFICITE — `common.css` (base universelle) peint le fond sur le PARENT
   `.sws-cms-section:has(.sws-block--hero)` et force le hero lui-meme a
   `background:transparent` via `.sws-cms-sections .sws-block--hero` (2 classes).
   Une regle a une seule classe perdait donc : le fond restait gris et le texte
   blanc devenait illisible. On adresse le PARENT, comme common.css, et on
   reprend la meme specificite pour le bloc.

   Le parent porte deja `margin-inline:calc(50% - 50vw)` et son padding
   compensatoire : le pleine-largeur est acquis, inutile de le refaire ici (et
   le refaire doublerait le debordement). */
.sws-cms-sections > .sws-cms-section:has(.sws-block--hero-dark){
  /* #131c2e et non le #151c22 des autres heros : l'illustration est marine, et
     c'est aussi la couleur sur laquelle le fichier a ete aplati — les deux
     doivent coincider, sinon une couture apparait aux bords de l'image.

     ⚠️ `..._hero.webp` et NON `..._hero_transparent.webp` : dans le fichier
     d'origine le motif zellige est un filigrane a ~6 points de luminance
     au-dessus du fond (alpha partiel, luminance ~30 contre ~24). Invisible a
     l'ecran quel que soit le voile CSS — teste a .92, .55 puis .30, sans
     resultat : aucune regle CSS ne peut relever un contraste absent du pixel.
     Le trait a donc ete renforce dans une image derivee (eclairci x1.55, alpha
     porte a ~45%), puis aplati sur la couleur de bande : 1 Mo -> 158 Ko. */
  background-color:#131c2e;
  background-image:url('/theme/sws/images/sws_creer-boutique_hero.webp');
  background-repeat:no-repeat;
  /* `contain` et non `cover` : l'image est une bande tres large (3712x1152,
     ratio 3.2) dont le creux central accueille le texte. En `cover`, la
     hauteur du bloc force un zoom qui fait entrer les maquettes laterales
     dans ce creux — le sous-titre se retrouvait pose dessus, illisible.
     `contain` garde la bande entiere, donc le vide reste au centre ; la
     couleur de fond prolonge l'image au-dessus et en dessous.

     La bande est ancrée EN HAUT : centree verticalement, le motif zellige (qui
     occupe le milieu de l'image) tombait derriere les boutons, ou il est
     coupe. En haut, l'etoile se deploie derriere le titre et le sous-titre. */
  background-size:contain;
  background-position:center top;
}
.sws-cms-sections .sws-block--hero-dark{
  background:transparent;
  padding:72px 0;
  position:relative;
}
/* Voile CENTRAL, pas uniforme : le creux de l'image est plus etroit que le
   bloc de texte, donc le sous-titre mordait sur les maquettes. Un degrade
   radial assombrit la seule zone du texte et s'efface vers les bords, ou les
   maquettes doivent rester nettes. Meme role que le `::before` de
   `.sws-block--cta`, mais concentre au lieu d'etre plein cadre. */
.sws-cms-sections .sws-block--hero-dark::before{
  content:'';
  position:absolute;inset:0;
  /* Voile TRES LEGER (.30) : le motif zellige du centre est dessine en alpha
     partiel (70-93/127) et quasi a la meme luminance que le fond (~30 contre
     ~24) — il ne survit pas a un voile dense. Le premier essai a .92 l'effacait
     entierement, .55 le laissait encore invisible.

     Le texte reste lisible sans voile fort : il est blanc sur un fond a
     luminance ~25, soit un contraste largement au-dessus du seuil AA. Le voile
     ne sert plus qu'a eviter que les elements clairs de l'image (fenetres,
     etincelles) ne passent juste derriere une lettre. */
  background:radial-gradient(ellipse 44% 76% at 50% 50%,
             rgba(16,25,45,.30) 0%, rgba(16,25,45,.20) 60%, rgba(16,25,45,0) 100%);
  pointer-events:none;
}
/* Le contenu repasse AU-DESSUS du voile. */
.sws-cms-sections .sws-block--hero-dark .sws-block__inner{position:relative;z-index:1;}
/* Texte : l'eyebrow reprend le bleu clair des autres heros, le titre et le
   sous-titre passent en clair. Sans ces trois regles le texte reste #14212b —
   du noir sur du noir. */
.sws-cms-sections .sws-block--hero-dark .sws-eyebrow{color:var(--blue-light,#56b8d8);}
.sws-cms-sections .sws-block--hero-dark .sws-section__title{color:#fff;}
.sws-cms-sections .sws-block--hero-dark .sws-section__sub{
  color:rgba(255,255,255,.82);max-width:56ch;margin-left:auto;margin-right:auto;
}
/* Boutons : meme couple que le bloc CTA sombre — primaire pleine, secondaire
   en contour clair. Le contour par defaut est gris fonce, invisible ici. */
.sws-cms-sections .sws-block--hero-dark .sws-block__actions{
  display:flex;justify-content:center;align-items:center;
  gap:12px;flex-wrap:wrap;margin-top:24px;max-width:none;width:100%;
}
.sws-cms-sections .sws-block--hero-dark .sws-btn-primary{
  background:var(--blue-dark,#1d8dba);border:1px solid var(--blue-dark,#1d8dba);color:#fff;
  padding:12px 22px;font-weight:600;white-space:nowrap;
}
.sws-cms-sections .sws-block--hero-dark .sws-btn-primary:hover{
  background:var(--blue,#3da3c8);border-color:var(--blue,#3da3c8);color:#fff;
}
.sws-cms-sections .sws-block--hero-dark .sws-btn-outline{
  background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff;
  padding:12px 22px;font-weight:600;white-space:nowrap;
}
.sws-cms-sections .sws-block--hero-dark .sws-btn-outline:hover{
  border-color:#fff;background:rgba(255,255,255,.1);color:#fff;
}
.sws-cms-sections .sws-block--hero-dark .sws-btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}

/* Entre 601 et 900px, l'image est trop etroite pour garder son creux central :
   les maquettes laterales remontent sous le texte. On renforce le voile ici
   seulement — au-dessus, le creux suffit et un voile dense masquerait le
   zellige. */
@media (max-width:900px) and (min-width:601px){
  .sws-cms-sections .sws-block--hero-dark::before{
    background:radial-gradient(ellipse 70% 86% at 50% 50%,
               rgba(16,25,45,.78) 0%, rgba(16,25,45,.62) 60%, rgba(16,25,45,.15) 100%);
  }
}

@media (max-width:600px){
  /* Sous 600px le recadrage ne montre plus que des maquettes etirees et
     alourdit le chargement : on revient au bandeau uni. */
  .sws-cms-sections > .sws-cms-section:has(.sws-block--hero-dark){background-image:none;}
  .sws-cms-sections .sws-block--hero-dark{padding:48px 0;}
  .sws-cms-sections .sws-block--hero-dark .sws-block__actions{flex-direction:column;}
  .sws-cms-sections .sws-block--hero-dark .sws-block__actions .sws-btn{width:100%;}
}

/* ══ FAQ home — même fond photo que le bloc CTA ══════════════════════════════
   Cadrage `center 22%` : le cadrage par défaut (`center`) coupait les visages
   au niveau du front. Voile volontairement LÉGER — la photo doit rester
   lisible ; le contraste du texte est assuré par la carte blanche translucide
   posée sur les questions, pas en assombrissant l'image. */
.sws-home26.sws-lp#homepage #faq{
  position:relative;
  padding:96px 0 72px;
  /* La section FAQ est HAUTE : en `cover` l image s etire tellement qu on ne
     voit plus que du gris uni. On la fixe en HAUT, a une hauteur lisible,
     et le degrade prend le relais en bas. */
  background:#1c2329 url('/theme/sws/images/footer_img.png') center top / 100% auto no-repeat;
}
.sws-home26.sws-lp#homepage #faq::before{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,35,41,.55) 0%,rgba(28,35,41,.40) 22%,rgba(28,35,41,.62) 60%,#1c2329 100%);
}
.sws-home26.sws-lp#homepage #faq > *{position:relative;z-index:1;}

/* En-tête sur fond photo */
/* `.sh-title` porte une couleur sombre plus specifique : on la surcharge
   explicitement, sinon le titre reste illisible sur la photo. */
.sws-lp.sws-lp#homepage #faq .sh-eye{color:#7fd0ec;}
.sws-lp.sws-lp#homepage #faq .sh-title, .sws-lp.sws-lp#homepage #faq h2{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35);}
.sws-lp.sws-lp#homepage #faq .sh-divider{opacity:.9;}

/* Les questions vivent dans une carte : c'est elle qui porte le contraste,
   pas un voile plus opaque — les visages restent visibles derrière. */
/* Carte TRANSLUCIDE : les visages doivent rester perceptibles derriere.
   Le flou d arriere-plan est ce qui rend la chose lisible — sans lui, un
   simple alpha laisse passer les zones contrastees (cheveux, cols) sous le
   texte. Repli opaque pour les navigateurs sans backdrop-filter. */
.sws-home26.sws-lp#homepage #faq .home-faq{
  background:rgba(255,255,255,.88);
  border-top:0;
  padding:8px 28px;
  box-shadow:0 18px 48px rgba(28,35,41,.28);
}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .sws-home26.sws-lp#homepage #faq .home-faq{
    background:rgba(255,255,255,.72);
    -webkit-backdrop-filter:blur(10px) saturate(1.1);
    backdrop-filter:blur(10px) saturate(1.1);
  }
}
.sws-home26.sws-lp#homepage #faq .home-faq__item:last-child{border-bottom:0;}
/* Reponses : #5a6478 a 14px sur une carte translucide passait sous le seuil
   de lisibilite. On opacifie la carte et on fonce/agrandit le texte. */
/* Raleway 100 (Thin) heritee : le trait est si fin qu il devient illisible.
   On repasse en 400, seul poids confortable pour du texte courant. */
.sws-home26.sws-lp#homepage #faq .home-faq__item p{color:#374151;font-size:15px;line-height:1.7;font-weight:400;}
.sws-home26.sws-lp#homepage #faq .home-faq__item button{color:#1f2937;}


@media (max-width:600px){
  /* En mobile la photo ne couvre que le haut de la section : sous elle, la
     carte translucide se posait sur du sombre et les questions viraient au
     gris. On la repasse en OPAQUE ici — la transparence n a de sens que si
     une image se trouve derriere. */
  .sws-home26.sws-lp#homepage #faq .home-faq{
    padding:4px 16px;
    background:#fff;
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
  /* Titre : la photo occupe le haut de la section en mobile. On pousse le
     titre SOUS elle plutot que de le laisser se poser sur les visages. */
  .sws-home26.sws-lp#homepage #faq{padding-top:250px;}
  .sws-lp.sws-lp#homepage #faq .sh-title{font-size:26px;}
}

/* ══ FAQ hors page d'accueil (ex. /pricing) ══════════════════════════════════
   Les règles `.home-faq` d'origine sont scopées à `.sws-home26`, qui n'existe
   que sur la home : réutiliser le composant ailleurs donnait une liste nue.
   Ce bloc redonne l'apparence de l'accordéon sans dépendre de ce scope. */
#questions-pricing{padding:72px 0;background:var(--s2,#f7f9fb);}
/* `.lp-container--sm` est defini sous le scope `.sws-lp`, absent de /pricing :
   sans cette reprise la FAQ s etalait sur toute la largeur de l ecran. */
#questions-pricing .lp-container--sm{max-width:820px;margin:0 auto;padding:0 20px;}
#questions-pricing .sh{text-align:center;margin-bottom:32px;}
#questions-pricing .sh-eye{display:block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue,#3da3c8);margin-bottom:8px;}
#questions-pricing .sh-title{font-family:'Raleway',sans-serif;font-weight:300;font-size:clamp(24px,3vw,36px);color:var(--txt-h,#2d3748);margin:0 0 12px;}
#questions-pricing .sh-divider{width:56px;height:3px;margin:0 auto;background:linear-gradient(90deg,var(--orange,#fbaf0b),var(--blue,#3da3c8));}

#questions-pricing .home-faq{border-top:1px solid #e8edf2;}
#questions-pricing .home-faq__item{border-bottom:1px solid #e8edf2;}
#questions-pricing .home-faq__item button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:transparent;border:0;padding:20px 0;text-align:left;
  color:#1f2937;font-size:16px;font-weight:700;cursor:pointer;
}
#questions-pricing .home-faq__item button .material-icons{transition:transform .2s ease;color:var(--blue-dark,#1d8dba);}
#questions-pricing .home-faq__item button[aria-expanded="true"] .material-icons{transform:rotate(180deg);}
#questions-pricing .home-faq__item button:focus-visible{outline:2px solid var(--blue-dark,#1d8dba);outline-offset:2px;}
/* `font-weight:400` explicite : Raleway Thin (100) est illisible en texte courant. */
#questions-pricing .home-faq__item p{
  display:none;margin:0 0 20px;color:#374151;font-size:15px;font-weight:400;line-height:1.7;
}
#questions-pricing .home-faq__item p.open{display:block;}

/* ══ Coach IA — le robot s'anime à l'entrée dans la section ══════════════════
   L'image reste le socle : elle s'affiche d'emblée, sert de poster et de repli
   (vidéo en échec, `prefers-reduced-motion`, navigateur sans autoplay). La
   vidéo se superpose EXACTEMENT au même endroit et apparaît en fondu.
   Les deux partagent donc la même boîte — sinon le robot « saute » au moment
   de la bascule. */
.sws-home26 .home-ai-coach__visual .home-ai-coach__video{
  position:absolute;                 /* superposée, pas ajoutée au flux */
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  z-index:2;                         /* au-dessus de l'image (z-index:1) */
  /* Boite plus large que l'image (210px) : la source verticale est recadree
     en carre, il faut donc elargir pour retrouver le meme champ visuel. */
  width:280px; max-width:92%;
  aspect-ratio:1/1;
  height:auto;
  object-fit:cover;
  /* Le recadrage est desormais fait A L'ENCODAGE (le fichier est carre, cadre
     sur le robot) : plus rien a decaler ici. Garder `center 32%` reviendrait a
     recadrer une deuxieme fois une image deja cadree. */
  object-position:center;
  border-radius:50%;
  /* La video a un fond NOIR opaque : il masquait l'orbe lumineux du theme.
     `screen` laisse passer ce qui est plus clair que le fond — le noir devient
     transparent, le robot et sa lueur restent. */
  mix-blend-mode:screen;
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.38));
  opacity:0;
  transition:opacity .6s ease-out;
  pointer-events:none;
}
/* Classe posée par le JS quand la section entre dans le champ de vision. */
.sws-home26 .home-ai-coach__visual.is-playing .home-ai-coach__video{opacity:1;}
/* L'image s'efface DOUCEMENT sous la vidéo : un simple `display:none` aurait
   fait clignoter le robot entre les deux états. */
.sws-home26 .home-ai-coach__visual .home-ai-coach__still{
  transition:opacity .6s ease-out;
}
.sws-home26 .home-ai-coach__visual.is-playing .home-ai-coach__still{opacity:0;}

/* Mouvement réduit : on ne joue rien, l'image seule suffit à porter le sens. */
@media (prefers-reduced-motion:reduce){
  .sws-home26 .home-ai-coach__visual .home-ai-coach__video{display:none;}
  .sws-home26 .home-ai-coach__visual.is-playing .home-ai-coach__still{opacity:1;}
}

@media (max-width:900px){
  /* Même largeur que l'image à ce palier (cf. règle `img` a 170px). */
  .sws-home26 .home-ai-coach__visual .home-ai-coach__video{width:170px;}
}

/* =====================================================================
   Hero anime (accueil + blog)
   ---------------------------------------------------------------------
   La video se superpose a l'image, joue une fois, puis s'efface : l'image
   reste l'etat final. L'image est SOUS la video et chargee en priorite,
   donc le hero est peint des le premier rendu — la video ne fait
   qu'enrichir, elle ne conditionne jamais l'affichage.

   `opacity` et non `display` : une transition n'est possible que sur une
   propriete animable, et l'element garde sa place dans le flux.
   ===================================================================== */
.sws-lp .home-hero__video,
.sws-lp .bl-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    display: block;
    opacity: 0;                       /* revele par JS quand la lecture demarre */
    transition: opacity 900ms ease-out;
    pointer-events: none;             /* le hero reste cliquable a travers */
}
.sws-lp .home-hero__video.is-playing,
.sws-lp .bl-hero__video.is-playing { opacity: 1; }

/* Fondu de sortie : la video s'efface, l'image dessous reapparait. */
.sws-lp .home-hero__video.is-done,
.sws-lp .bl-hero__video.is-done { opacity: 0; }

@media (max-width: 767px) {
    /* Jamais de video sur mobile — le JS ne la charge pas, cette regle
       garantit qu'un cache ou un etat JS residuel ne la revele pas. */
    .sws-lp .home-hero__video,
    .sws-lp .bl-hero__video { display: none !important; }
}

/* Mouvement reduit : on respecte le reglage systeme, image seule. */
@media (prefers-reduced-motion: reduce) {
    .sws-lp .home-hero__video,
    .sws-lp .bl-hero__video { display: none !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   INFOLETTRE PLATEFORME (.nlx-*)
   ──────────────────────────────────────────────────────────────────────────
   Le bloc est rendu a DEUX endroits :
     - dans <main class="sws-lp"> (section de la home) ;
     - dans le FOOTER, qui est HORS de .sws-lp et n'herite donc d'AUCUN de ses
       tokens (--blue, --orange, --txt-*...).

   D'ou la redeclaration des tokens sur .nlx-signup lui-meme. C'est le
   mecanisme prevu par les custom properties : le bloc devient autonome et rend
   identiquement aux deux emplacements. L'alternative — envelopper le footer
   dans .sws-lp — lui imposerait aussi box-sizing, la typo et les resets du
   scope landing, avec des effets de bord imprevisibles sur un footer partage
   par toutes les pages.
   ══════════════════════════════════════════════════════════════════════════ */

.nlx-signup{
    --blue:#3da3c8;--blue-dark:#1d8dba;--blue-light:#56b8d8;
    --orange:#fbaf0b;--orange-deep:#e09600;
    --nlx-txt-h:#2d3748;--nlx-txt-b:#4a5568;
    --nlx-white:#fff;
    --nlx-ok:#1c7a4a;--nlx-err:#b3261e;
    --nlx-field-h:54px;
}
.nlx-signup,.nlx-signup *,.nlx-signup *::before,.nlx-signup *::after{box-sizing:border-box;}

/* Honeypot. Hors flux ET hors lecture : tabindex=-1 + aria-hidden sont poses
   dans le markup, ici on le sort seulement du rendu. Jamais display:none —
   certains bots ignorent les champs caches de cette facon, ce qui viderait le
   piege de son interet.

   PAS de `left:-9999px` : en RTL cette valeur etend la zone scrollable du cote
   du flux et provoque un debordement horizontal de toute la page (mesure :
   11439px au lieu de 1440). Le clip ci-dessous retire l element du rendu sans
   deplacer sa boite — meme technique que le masquage du label du footer. */
.nlx-hp{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;opacity:0;}

.nlx-form{max-width:520px;margin:0 auto;}
.nlx-lbl{display:block;font-size:13px;font-weight:600;color:var(--nlx-txt-b);margin-bottom:8px;}
.nlx-row{display:flex;align-items:stretch;gap:0;}

.nlx-in{
    /* Le CHAMP est l element principal : c est la ou l utilisateur agit.
       flex-basis 0 + grow eleve lui donne l essentiel de la place restante,
       et min-width le protege d un CTA long (ex. l arabe, plus verbeux). */
    flex:1 1 0;min-width:220px;height:var(--nlx-field-h);padding:0 18px;
    border:1px solid rgba(0,0,0,.16);border-right:0;border-radius:0;
    font-family:inherit;font-size:15px;color:var(--nlx-txt-h);background:var(--nlx-white);
    transition:border-color .2s ease;
}
.nlx-in::placeholder{color:#9aa3b2;}
/* Focus visible et non ambigu : outline (pas seulement une bordure coloree),
   pour rester perceptible en contraste eleve et en navigation clavier. */
.nlx-in:focus{outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue);}
.nlx-in:disabled{background:#f4f6f8;color:#7a8499;}
/* Chrome/Firefox peignent un champ `required` vide comme invalide des le
   chargement. On refuse ce signal premature : l erreur est portee par
   .nlx-msg, apres une vraie tentative. */
.nlx-in:invalid,.nlx-in:-moz-ui-invalid{box-shadow:none;outline:none;border-color:rgba(0,0,0,.16);}
.sws-footer26 .nlx-signup .nlx-in:invalid{border-color:rgba(255,255,255,.14);}

.nlx-btn{
    /* Le bouton se dimensionne sur son texte, jamais au-dela du tiers de la
       ligne : au-dela il concurrence visuellement le champ. */
    flex:0 1 auto;max-width:42%;height:var(--nlx-field-h);padding:0 20px;border:0;border-radius:0;
    /* ORANGE = couleur d action de la marque (header « Demarrer », hero).
       Le bleu la classait en action SECONDAIRE, ce qu elle n est pas hors de
       la home — et jurait dans un footer gris/orange.
       Ni rouge (reserve aux erreurs/suppressions dans toute l interface), ni
       jaune pur (echoue le contraste 4.5:1 avec du texte blanc). */
    /* Aplat orange — la couleur d action de la marque (header « Demarrer »,
       hero). Un degrade avait ete essaye : trop d effet pour un bouton de
       formulaire, qui doit se lire comme un bouton, pas comme une banniere. */
    background:var(--orange);
    color:var(--nlx-white);font-family:inherit;font-size:12px;font-weight:700;
    letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;white-space:nowrap;
    transition:filter .2s ease,opacity .2s ease;
}
.nlx-btn:hover:not(:disabled){background:var(--orange-deep);}
.nlx-btn:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px;}
.nlx-btn:disabled{opacity:.55;cursor:not-allowed;}

/* Zone de message. min-height reserve la place AVANT tout affichage : sans
   elle, l'apparition du message pousserait le contenu et ferait sauter la
   page au moment precis ou l'utilisateur lit le resultat. */
.nlx-msg{min-height:20px;margin:10px 0 0;font-size:14px;line-height:1.4;text-align:center;}
.nlx-msg.is-ok{color:var(--nlx-ok);}
.nlx-msg.is-err{color:var(--nlx-err);}

.nlx-note{margin:12px 0 0;font-size:12px;color:#7a8499;text-align:center;}

.nlx-form.is-loading .nlx-in{opacity:.7;}

@media (max-width:600px){
    /* 16px : en-deca, Safari iOS zoome la page a la mise au point du champ. */
    .nlx-in{font-size:16px !important;}
    .nlx-row{flex-direction:column;gap:10px;}
    .nlx-in{border-right:1px solid rgba(0,0,0,.16);}
    .nlx-btn{width:100%;max-width:none;padding:0 18px;}
}

/* Meme bouton aux deux emplacements (bandeau du footer et panneau de
   l etiquette laterale) : une seule action, une seule apparence. */

/* ── Variante FOOTER (fond sombre, hors .sws-lp) ─────────────────────────
   Le bandeau est une BANDE DISTINCTE posee au-dessus de la grille de liens,
   pas une 6e colonne : fond legerement plus clair que le footer (#151c22 ->
   #1c2329, la teinte de la nav) pour se detacher sans introduire de couleur
   etrangere a l identite. Le bleu de marque reste sur le seul bouton — un
   bandeau bleu pleine largeur aurait concurrence le CTA de la page.

   Compact par construction : 18px de padding et un champ de 40px. Il precede
   5 colonnes de liens, il ne doit pas peser plus lourd qu elles. */

.sws-footer26 .nlx-signup{
    margin:0 0 34px;padding:18px 22px;
    background:#1c2329;border:1px solid rgba(255,255,255,.07);border-radius:6px;
    /* 46px comme le panneau de l etiquette : le meme champ ne doit pas avoir
       deux hauteurs selon l endroit ou il est rendu. */
    --nlx-field-h:46px;
}
.sws-footer26 .nlx-signup__grid{
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.sws-footer26 .nlx-signup__intro{flex:1 1 260px;min-width:0;}
.sws-footer26 .nlx-signup__title{
    /* PAS le style h5 des colonnes (petites capitales + interlettrage) : ces
       h5 sont des ETIQUETTES d un mot, ici c est une PHRASE. En capitales
       espacees, une phrase entiere se lit mot a mot au lieu d etre saisie d un
       coup — et perd toute la force de son accroche. */
    margin:0 0 6px;font-size:17px;font-weight:600;line-height:1.3;
    letter-spacing:.2px;color:#fff;
}
.sws-footer26 .nlx-signup__sub{margin:0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.58);}
.sws-footer26 .nlx-form{flex:0 1 420px;margin:0;max-width:420px;}
/* Label masque VISUELLEMENT mais lu par les lecteurs d'ecran. Le champ garde
   donc un nom accessible sans que le footer porte un libelle redondant. */
.sws-footer26 .nlx-signup .nlx-lbl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.sws-footer26 .nlx-in{border-color:rgba(255,255,255,.14);background:#151c22;color:var(--nlx-white);}
.sws-footer26 .nlx-in::placeholder{color:rgba(255,255,255,.42);}
.sws-footer26 .nlx-in:disabled{background:#12181d;color:rgba(255,255,255,.45);}
.sws-footer26 .nlx-btn{padding:0 20px;font-size:11px;}
.sws-footer26 .nlx-msg{text-align:left;}
/* Rouge sombre illisible sur fond fonce : teinte claire pour tenir le
   contraste 4.5:1 sur --nav-bg. */
.sws-footer26 .nlx-msg.is-ok{color:#7fd6a8;}
.sws-footer26 .nlx-msg.is-err{color:#ff9c94;}
.sws-footer26 .nlx-note{display:none;}

@media (max-width:768px){
    .sws-footer26 .nlx-signup{padding:16px;margin-bottom:26px;--nlx-field-h:48px;}
    .sws-footer26 .nlx-signup__grid{flex-direction:column;align-items:stretch;gap:12px;}
    .sws-footer26 .nlx-form{flex:1 1 auto;max-width:none;}
    .sws-footer26 .nlx-msg{text-align:center;}
    /* Le bloc de texte occupait 260px des 412px du bandeau : en colonne, le
       visiteur devait defiler tout l argumentaire avant d atteindre le champ.
       Le titre suffit a dire de quoi il s agit ; la promesse detaillee reste
       lisible sur les ecrans larges. */
    .sws-footer26 .nlx-signup__sub{display:none;}
    /* `flex:1 1 260px` dimensionne la COLONNE de gauche sur desktop. En
       colonne, ce flex-basis devient une HAUTEUR imposee : le bloc gardait
       260px pour un titre de 41px. C est la vraie cause du vide sous le
       texte, pas le padding. */
    .sws-footer26 .nlx-signup__intro{flex:0 0 auto;}
    .sws-footer26 .nlx-signup__title{font-size:15px;line-height:1.35;margin:0;}
}


/* ── Neutralisation du legacy `custom.css` ─────────────────────────────────
   custom.css est le CSS Bootstrap 3 historique du theme, charge AVANT
   celui-ci mais avec des selecteurs plus specifiques (et des !important).
   Deux regles cassaient le bloc :
     - `footer button {background-color:#1d8dbb}` ecrasait le degrade du
       bouton pour TOUT bouton du footer (le panneau y est rendu) ;
     - `input:hover, input:focus {border:1px solid #b1191e !important}`
       peignait en ROUGE tout champ survole ou focalise — donc le champ
       email des l ouverture du panneau, qui y place le focus.
   On ne touche pas a custom.css (partage par tout le theme) : on se
   protege localement, au plus pres du bloc. */
footer .nlx-signup .nlx-btn,
footer .nlx-panel .nlx-btn,
.nlx-panel .nlx-btn,
.nlx-signup .nlx-btn{
    background-color:var(--orange);
    background-image:none;
    padding:0 20px;font-size:12px;text-align:center;
}
footer .nlx-signup .nlx-btn:hover,
footer .nlx-panel .nlx-btn:hover{
    background-color:var(--orange-deep);
}
/* Bordures : on reprend la main sur le rouge !important du legacy. */
/* HAUTEUR : `custom.css` impose `input, input.form-control{height:auto;
   padding:15px 15px 10px 15px}` — plus specifique que `.nlx-in`, donc il
   ecrasait la hauteur ET le padding. Mesure sur mobile : champ a 20px sous
   un bouton de 40px. On reprend la main avec la meme specificite + une
   min-height, qui tient meme si le padding du legacy repassait. */
.nlx-in,
.nlx-in.form-control,
input.nlx-in{
    height:var(--nlx-field-h) !important;
    min-height:var(--nlx-field-h);
    padding:0 18px !important;
    line-height:normal;
}
.nlx-in:hover,.nlx-in:focus,.nlx-in.form-control:hover,.nlx-in.form-control:focus{
    border:1px solid rgba(0,0,0,.16) !important;
}
.nlx-in:focus{border-color:var(--blue) !important;outline:2px solid var(--blue) !important;outline-offset:2px;}
.sws-footer26 .nlx-signup .nlx-in:hover,
.sws-footer26 .nlx-signup .nlx-in:focus{
    border:1px solid rgba(255,255,255,.14) !important;
}
.sws-footer26 .nlx-signup .nlx-in:focus{border-color:var(--blue) !important;}

/* ══════════════════════════════════════════════════════════════════════════
   ETIQUETTE LATERALE « INFOLETTRE » (.nlx-tab)
   ──────────────────────────────────────────────────────────────────────────
   Troisieme emplacement du meme formulaire, en plus du bloc de la home et du
   bandeau du footer : une languette verticale ancree au bord de l'ecran,
   visible sur TOUTES les pages publiques, qui deplie un panneau au clic.

   POURQUOI une languette et pas un popup automatique : le popup s'impose a
   l'arrivee, avant meme que le visiteur ait vu la page, et se ferme par
   reflexe. La languette reste disponible en permanence sans jamais interrompre
   — c'est le visiteur qui decide du moment.

   POSITION : bord droit a mi-hauteur. Le bouton WhatsApp occupe deja le coin
   bas-droit (bottom-right) ; ancrer la languette au centre vertical evite la
   collision, quel que soit le decalage configure du widget.
   En RTL le bord bascule a gauche (le bord « de fin » de lecture change).
   ══════════════════════════════════════════════════════════════════════════ */

.nlx-tab{
    --blue:#3da3c8;--blue-dark:#1d8dba;--blue-light:#56b8d8;
    --orange:#fbaf0b;--orange-deep:#e09600;
    position:fixed;top:50%;right:0;transform:translateY(-50%);
    /* Sous le z-index des modales (9500) : la languette ne doit jamais passer
       par-dessus la modale de creation de boutique. */
    z-index:180;
    display:flex;align-items:center;gap:8px;
    padding:16px 10px;border:0;border-radius:4px 0 0 4px;
    /* Gris sombre de l identite (la teinte de la nav et du footer), pas le bleu
       de marque : la languette est presente sur TOUTES les pages, en
       permanence. En bleu vif elle serait entree en concurrence permanente
       avec le CTA principal de chaque page. L accent orange est reserve a
       l icone et au focus. */
    background:linear-gradient(180deg,var(--blue-light),var(--blue-dark));
    border-inline-start:2px solid var(--orange);
    color:#fff;font-family:inherit;font-size:11px;font-weight:700;
    letter-spacing:2px;text-transform:uppercase;cursor:pointer;
    /* Le texte se lit de bas en haut, comme un onglet d'intercalaire. */
    writing-mode:vertical-rl;
    box-shadow:-2px 2px 18px rgba(0,0,0,.35);
    transition:filter .2s ease,padding .2s ease;
}
.nlx-tab:hover{background:linear-gradient(180deg,#6ac3e0,var(--blue));padding-inline-end:14px;}
.nlx-tab:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
.nlx-tab__icon{writing-mode:horizontal-tb;font-size:14px;line-height:1;color:#fff;}

/* Panneau deplie. Ancre au meme bord que la languette. */
.nlx-panel{
    --blue:#3da3c8;--blue-dark:#1d8dba;--blue-light:#56b8d8;
    /* --orange-deep est INDISPENSABLE ici : le degrade du bouton l utilise, et
       un gradient dont une variable est indefinie est invalide donc IGNORE —
       le bouton se retrouve sans fond, sans la moindre erreur console. */
    --orange:#fbaf0b;--orange-deep:#e09600;--nlx-white:#fff;
    --nlx-txt-h:#2d3748;--nlx-txt-b:#4a5568;
    --nlx-ok:#1c7a4a;--nlx-err:#b3261e;
    --nlx-field-h:46px;
    position:fixed;top:50%;right:0;transform:translateY(-50%);
    z-index:181;width:min(340px,calc(100vw - 24px));
    padding:22px 20px;border-radius:6px 0 0 6px;
    background:var(--nlx-white);
    box-shadow:-4px 4px 30px rgba(0,0,0,.22);
    /* Ferme par defaut : [hidden] suffit, mais une regle explicite protege
       d'un reset CSS qui redefinirait display sur l'element. */
}
.nlx-panel[hidden]{display:none;}
.nlx-panel__close{
    position:absolute;top:8px;right:10px;
    border:0;background:none;font-size:22px;line-height:1;color:#9aa3b2;cursor:pointer;
    padding:4px 8px;
}
.nlx-panel__close:hover{color:var(--nlx-txt-h);}
.nlx-panel__close:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.nlx-panel__title{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--nlx-txt-h);padding-inline-end:20px;}
.nlx-panel__sub{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--nlx-txt-b);}
/* Dans le panneau etroit, champ et bouton s'empilent : les souder ferait un
   champ trop court pour une adresse email. */
.nlx-panel .nlx-row{flex-direction:column;gap:8px;}
.nlx-panel .nlx-in{border-right:1px solid rgba(0,0,0,.16);}
.nlx-panel .nlx-btn{width:100%;max-width:none;}
.nlx-panel .nlx-lbl{font-size:12px;margin-bottom:6px;position:static;width:auto;height:auto;margin-left:0;clip:auto;color:var(--nlx-txt-b);}
/* Le panneau est rendu DANS .sws-footer26 (fond sombre) mais s affiche sur
   fond blanc : on annule les surcharges sombres du bandeau. */
.sws-footer26 .nlx-panel .nlx-in{border-color:rgba(0,0,0,.16);background:#fff;color:var(--nlx-txt-h);}
.sws-footer26 .nlx-panel .nlx-in::placeholder{color:#9aa3b2;}
.sws-footer26 .nlx-panel .nlx-msg{text-align:center;}
.sws-footer26 .nlx-panel .nlx-msg.is-ok{color:var(--nlx-ok);}
.sws-footer26 .nlx-panel .nlx-msg.is-err{color:var(--nlx-err);}
.sws-footer26 .nlx-panel .nlx-note{display:block;}
.nlx-panel .nlx-note{margin-top:10px;font-size:11px;}

/* RTL : la languette et le panneau passent au bord gauche. */
body.is-rtl .nlx-tab,
body.is-rtl .nlx-panel{right:auto;left:0;}
body.is-rtl .nlx-tab{border-radius:0 4px 4px 0;box-shadow:2px 2px 14px rgba(0,0,0,.20);}
/* border-inline-start suit deja la direction : rien a inverser ici. */
body.is-rtl .nlx-panel{border-radius:0 6px 6px 0;box-shadow:4px 4px 30px rgba(0,0,0,.22);}
body.is-rtl .nlx-panel__close{right:auto;left:10px;}
body.is-rtl .nlx-panel__title{padding-inline-end:0;padding-inline-start:20px;}

/* Mobile : la languette reste, plus discrete. Sous 480px le panneau occupe la
   largeur utile — un panneau de 340px y serait a l'etroit. */
@media (max-width:600px){
    .nlx-tab{padding:13px 8px;font-size:10px;letter-spacing:1.5px;}
    .nlx-panel{width:calc(100vw - 20px);}
}

/* Ecrans courts (paysage mobile) : un panneau centre verticalement deborderait
   en hauteur. On l'ancre en haut et on le rend defilable. */
@media (max-height:520px){
    .nlx-panel{top:8px;transform:none;max-height:calc(100vh - 16px);overflow-y:auto;}
}

@media (prefers-reduced-motion:reduce){
    .nlx-tab{transition:none;}
}


/* ══════════════════════════════════════════════════════════════════════════
   HERO DE PAGE CENTRE (.sws-phero)
   ──────────────────────────────────────────────────────────────────────────
   Harmonise l'entree de /themes et /pricing sur celle de /features et
   /academy : meme fond sombre, meme echelle typographique, meme mot fort en
   orange.

   POURQUOI centre et SANS illustration, la ou /features et /academy sont en
   deux colonnes avec une image : ces deux pages-la n'ont rien de visuel a
   montrer tout de suite, alors que /themes enchaine sur une grille de captures
   et /pricing sur un tableau de prix. Une grande image y ferait doublon et
   repousserait sous la ligne de flottaison le contenu meme que le visiteur est
   venu chercher.

   Le fond reprend celui du header (--nav-bg / #151c22) : le hero prolonge la
   barre de navigation au lieu de creer une bande de couleur supplementaire.
   ══════════════════════════════════════════════════════════════════════════ */

.sws-phero{
    background:linear-gradient(160deg,#1c2329 0%,#151c22 100%);
    padding:64px 0 60px;
    text-align:center;
    color:#d9e1e8;
}
.sws-phero__inner{max-width:760px;margin:0 auto;padding:0 24px;}

.sws-phero__eye{
    display:block;font-size:10px;font-weight:600;letter-spacing:3px;
    text-transform:uppercase;color:var(--blue-light,#56b8d8);margin-bottom:14px;
}
/* Meme construction que les h1 de /features et /academy : graisse legere pour
   la phrase, `<strong>` en 700 + orange pour le mot qui porte le sens. */
.sws-phero h1{
    font-family:'Raleway',sans-serif;font-weight:200;
    font-size:clamp(28px,4vw,44px);line-height:1.18;letter-spacing:.5px;
    color:#fff;margin:0 0 16px;
}
.sws-phero h1 strong{font-weight:700;color:var(--orange,#fbaf0b);}

.sws-phero__sub{
    font-size:16px;line-height:1.6;color:rgba(255,255,255,.72);
    margin:0 auto;max-width:620px;
}
/* Filet degrade orange->bleu, identique au .sh-divider des sections. */
.sws-phero__divider{
    /* display:block INDISPENSABLE : sur un <span> laisse en `inline`, width et
       height sont ignores et le filet ne rend rien (largeur mesuree : 0). */
    display:block;width:48px;height:3px;margin:22px auto 0;
    background:linear-gradient(90deg,var(--orange,#fbaf0b),var(--blue,#3da3c8));
}

@media (max-width:600px){
    .sws-phero{padding:44px 0 40px;}
    .sws-phero__sub{font-size:15px;}
}

/* Titre du bloc tarifs sous le hero.

   custom.css (legacy, l.108) impose `#plans h2 {font-size:100px}` : ce style a
   ete ecrit quand ce titre ETAIT le <h1> de /pricing. Depuis que la page a un
   vrai hero, ce h2 le surpassait de plus du double (100px contre 44px) —
   hierarchie inversee, le sous-titre criait plus fort que le titre.
   On le ramene a l echelle des titres de section du design system. */
#plans h2{
    font-size:clamp(24px,3vw,36px);font-weight:300;letter-spacing:.5px;
    margin-top:0;color:var(--txt-h,#2d3748);
}
#plans h2 + p.dark{font-size:15px;margin-top:10px;}

/* Les deux pages harmonisees enchainent sur du contenu clair : on retire la
   marge haute qui creerait un liseré blanc entre le hero et la suite. */
.sws-phero + .sws-themes,
.sws-phero + #plans{margin-top:0;}
.sws-phero + #plans{padding-top:44px;}
