/* ============================================================
   NYRIX — Landing « NYRIX FIT Pro » (page-fit-landing.php)
   Port 1:1 du design « NYRIX FIT Pro - Page Produit » : chaque valeur
   ci-dessous vient des styles inline de la maquette. Mise en page fluide
   (grilles auto-fit), aucun breakpoint sauf la correction du header mobile
   (§ HEADER) où le bouton COMMANDER de la maquette était coupé à 390 px, et
   les minmax(min(Npx,100%),1fr) qui évitent le débordement de 4–8 px à 360 px
   que présentaient les grilles minmax(340px/320px) de la maquette.

   Autonome : la page n'utilise pas style.css / typography.css (dequeue dans
   functions.php::nyrix_fit_assets). Seul css/cod-form.css (formulaire COD du
   thème) est chargé en plus et re-stylé dans la section « BLOC D'ACHAT ».
   ============================================================ */

/* ===== 1. POLICES =====
   Archivo variable (wght 100→900, sous-ensemble latin, 35 Ko) : la seule
   police ajoutée — le thème n'embarque que « Archivo Expanded » (600/700/800),
   une chasse différente. IBM Plex Sans Arabic 400/500 = fichiers du thème. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/archivo-variable-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-arabic-400-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-arabic-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+FEFF,U+FFFD;}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-arabic-500-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-arabic-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+FEFF,U+FFFD;}

/* ===== 2. BASE (bloc <style> global de la maquette) ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.nyrix-fit{margin:0;background:#08080a;color:#fff;-webkit-font-smoothing:antialiased;font-family:Archivo,system-ui,sans-serif;font-size:16px;line-height:normal}
.fit-page a{color:#f2571c;text-decoration:none}
.fit-page a:hover{color:#ff7a45}
.fit-page input,.fit-page select,.fit-page textarea,.fit-page button{font-family:inherit}
.fit-page details summary::-webkit-details-marker{display:none}
.fit-page details summary{list-style:none;cursor:pointer}
.fit-page{font-family:Archivo,system-ui,sans-serif;background:#08080a;overflow-x:hidden}
.fit-page img{max-width:100%}
.fit-ar{font-family:'IBM Plex Sans Arabic',sans-serif;text-align:right}
.fit-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== 3. HEADER (sticky) ===== */
.fit-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:rgba(8,8,10,.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.fit-page .fit-logo-link{display:inline-flex;color:#fff}
.fit-logo{display:block;height:20px;width:auto;filter:invert(1)}
.fit-logo-text{font-weight:900;letter-spacing:.2em;font-size:18px;color:#fff}
.fit-nav{display:flex;align-items:center;gap:22px}
.fit-page .fit-nav-link{font-size:13px;font-weight:600;color:rgba(255,255,255,.6);white-space:nowrap}
.fit-page .fit-nav-link:hover{color:#fff}
.fit-page .fit-nav-cta{display:inline-flex;align-items:center;padding:11px 20px;background:#f2571c;color:#fff;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.fit-page .fit-nav-cta:hover{background:#ff7a45;color:#fff}
/* Correction (unique écart avec la maquette) : à ≤ 640 px les 3 liens texte
   poussaient le bouton COMMANDER hors écran (right = 533 px sur 390 px). */
@media (max-width:640px){.fit-page .fit-nav-link{display:none}}

/* ===== 4. FIL D'ARIANE ===== */
.fit-crumbs{max-width:1220px;margin:0 auto;padding:20px 24px 0;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(255,255,255,.4)}
.fit-crumbs a{color:inherit}
.fit-crumbs a:hover{color:rgba(255,255,255,.75)}
.fit-crumb-current{color:rgba(255,255,255,.75)}

/* ===== 5. FICHE PRODUIT ===== */
.fit-hero{max-width:1220px;margin:0 auto;padding:24px 24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:40px;align-items:start;scroll-margin-top:80px}
.fit-gallery{display:flex;flex-direction:column;gap:14px;min-width:0}
.fit-gallery-main{border-radius:24px;background:radial-gradient(120% 95% at 50% 40%,#23242c 0%,#141419 58%,#0c0c10 100%);border:1px solid rgba(255,255,255,.1);aspect-ratio:1/1;overflow:hidden}
.fit-gallery-img{display:block;width:100%;height:100%;object-fit:cover}
.fit-thumbs{display:flex;flex-wrap:wrap;gap:12px}
.fit-thumb{width:92px;height:92px;padding:0;border-radius:14px;background:#0d0d11;border:1px solid rgba(255,255,255,.16);overflow:hidden;cursor:pointer}
.fit-thumb--cutout{background:#16161c}
.fit-thumb:hover{border-color:#f2571c}
.fit-thumb-img{display:block;width:100%;height:100%;object-fit:cover}
.fit-thumb--cutout .fit-thumb-img{object-fit:contain}

.fit-info{display:flex;flex-direction:column;gap:22px;min-width:0}
.fit-title-block{display:flex;flex-direction:column;gap:10px}
.fit-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f2571c}
.fit-h1{margin:0;font-size:clamp(30px,4.2vw,46px);line-height:1.03;font-weight:900;letter-spacing:-.03em;text-transform:uppercase;font-family:inherit}
.fit-tagline{margin:0;font-size:17px;line-height:1.55;color:rgba(255,255,255,.7)}
.fit-tagline-ar{margin:0;font-size:16px;line-height:1.8;color:rgba(255,255,255,.55)}
.fit-rating{display:flex;align-items:center;gap:12px}
.fit-stars{font-size:13px;letter-spacing:.18em;color:#f2571c}
.fit-rating-link{font-size:13px;color:rgba(255,255,255,.55)}
.fit-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.fit-price{font-size:38px;font-weight:900;letter-spacing:-.03em}
.fit-price-old{font-size:17px;color:rgba(255,255,255,.4);text-decoration:line-through}
.fit-badge{padding:6px 12px;background:rgba(242,87,28,.14);border:1px solid rgba(242,87,28,.5);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f2571c}

/* --- Réassurance + contenu de la boîte --- */
.fit-reassure{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden}
.fit-reassure-item{background:#0d0d11;padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.fit-reassure-item strong{font-size:14px;font-weight:700}
.fit-reassure-item .fit-ar{font-size:14px;color:rgba(255,255,255,.5)}
.fit-inbox{display:flex;flex-direction:column;gap:8px}
.fit-inbox span{font-size:15px;line-height:1.6;color:rgba(255,255,255,.7)}
.fit-inbox .fit-ar{line-height:1.8;color:rgba(255,255,255,.5)}
.fit-admin-note{margin:0;padding:12px 14px;border:1px dashed rgba(242,87,28,.5);border-radius:12px;font-size:13px;color:#f2571c}

/* ===== 6. BLOC D'ACHAT = formulaire COD du thème (.nyrix-cod), restylé =====
   Markup : nyrix_cod_render_form() (inc/cod-order-form.php) · mécanique :
   js/cod-form.js + AJAX nyrix_cod_submit. fit-pro.js regroupe les champs
   dans .fit-buy-box (étape 2) et laisse la quantité + le panneau
   .fit-buy-idle (étape 1) au-dessus — exactement la maquette.
   Toutes les règles sont préfixées .fit-buy → priorité sur cod-form.css
   quel que soit l'ordre de chargement. */
.fit-buy{display:flex;flex-direction:column;gap:22px}
.fit-buy .nyrix-cod{margin:0;padding:0;border:0;border-radius:0;background:transparent;max-width:none;display:flex;flex-direction:column;gap:22px;font-family:inherit;color:#fff}
.fit-buy .nyrix-cod-body,.fit-buy .nyrix-cod-foot{display:contents}
.fit-buy .nyrix-cod-head,.fit-buy .nyrix-cod-bar{display:none}

/* Étape 1 — quantité (div.nyrix-cod-field = le seul champ qui n'est pas un <label>) */
.fit-buy div.nyrix-cod-field{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.fit-buy div.nyrix-cod-field>span{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.fit-buy div.nyrix-cod-field>span::after{content:" · الكمية";font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;text-transform:none}
.fit-buy .nyrix-cod-qty{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;width:auto;padding:6px;background:#14141a;border:1px solid rgba(255,255,255,.14);border-radius:999px;overflow:visible}
.fit-buy .nyrix-cod-qty button{width:40px;height:40px;border-radius:999px;background:transparent;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0}
.fit-buy .nyrix-cod-qty button:hover{background:rgba(255,255,255,.08)}
.fit-buy .nyrix-cod-qty .nyrix-cod-qty-val{width:40px;min-width:32px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;text-align:center;font-size:17px;font-weight:700;-moz-appearance:textfield;appearance:textfield}
.fit-buy .nyrix-cod-qty .nyrix-cod-qty-val:focus{outline:none}

/* Étape 1 — COMMANDER + Total */
.fit-buy-idle{display:flex;flex-direction:column;gap:12px}
.fit-buy-open{display:block;width:100%;padding:18px 24px;background:#f2571c;border:0;border-radius:999px;color:#fff;font-size:16px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:center;cursor:pointer;font-family:inherit;line-height:normal}
.fit-buy-open:hover{background:#ff7a45;color:#fff}
.fit-buy-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.fit-buy-total span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.fit-buy-total b{font-size:20px;font-weight:800}

/* Étape 2 — coordonnées (boîte créée par fit-pro.js) */
.fit-buy-box{display:flex;flex-direction:column;gap:16px;padding:24px;background:#0d0d11;border:1px solid rgba(255,255,255,.12);border-radius:20px}
.fit-buy .nyrix-cod-h{margin:0;font-family:inherit;font-size:15px;font-weight:700;text-transform:none;color:#fff;letter-spacing:0}
.fit-buy label.nyrix-cod-field{display:flex;flex-direction:column;gap:0}
.fit-buy label.nyrix-cod-field>span{font-size:12px;font-weight:600;color:rgba(255,255,255,.55);margin-bottom:6px}
html.fit-js .fit-buy label.nyrix-cod-field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fit-buy .nyrix-cod-field input,.fit-buy .nyrix-cod-field textarea,.fit-buy .nyrix-cod-attr{width:100%;padding:14px 16px;background:#14141a;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#fff;font-size:16px;font-family:inherit;line-height:normal}
.fit-buy .nyrix-cod-field textarea{min-height:0;height:49px;resize:none}
.fit-buy .nyrix-cod-field input::placeholder,.fit-buy .nyrix-cod-field textarea::placeholder{color:rgba(255,255,255,.4);opacity:1}
.fit-buy .nyrix-cod-field input:focus,.fit-buy .nyrix-cod-field textarea:focus,.fit-buy .nyrix-cod-attr:focus{outline:none;border-color:#f2571c}
.fit-buy .nyrix-cod-summary{margin:0;padding-top:6px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}
.fit-buy .nyrix-cod-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:13px;color:rgba(255,255,255,.5)}
.fit-buy .nyrix-cod-summary>div>span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.fit-buy .nyrix-cod-summary b{color:#fff;font-size:16px;font-weight:700}
.fit-buy .nyrix-cod-total-row{font-size:13px}
.fit-buy .nyrix-cod-total-row b{color:#fff;font-size:24px;font-weight:900}
.fit-buy .nyrix-cod-msg{margin:0;font-size:14px;text-align:left}
.fit-buy .nyrix-cod-submit{margin:0;width:100%;min-height:0;padding:18px 24px;background:#f2571c;border:0;border-radius:999px;color:#fff;font-family:inherit;font-size:16px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:none;line-height:normal}
.fit-buy .nyrix-cod-submit:hover{background:#ff7a45;transform:none}
.fit-buy .nyrix-cod-submit:disabled{opacity:.6;cursor:wait}
.fit-buy .nyrix-cod-note{margin:0;font-size:13px;line-height:1.6;color:rgba(255,255,255,.45);text-align:left}

/* Étapes : idle (quantité + COMMANDER + Total) ↔ form (boîte coordonnées) */
.fit-buy[data-step="idle"] .fit-buy-box{display:none}
.fit-buy[data-step="form"] .fit-buy-idle{display:none}
/* Avant le regroupement JS : seuls la quantité et le panneau idle sont visibles (pas de flash). */
html.fit-js .fit-buy:not(.is-ready) .nyrix-cod-h,
html.fit-js .fit-buy:not(.is-ready) .nyrix-cod-body>label,
html.fit-js .fit-buy:not(.is-ready) .nyrix-cod-foot>*{display:none}
/* Sans JS : le formulaire complet du thème reste utilisable, le bouton idle (inerte) est masqué. */
html:not(.fit-js) .fit-buy-idle{display:none}
html:not(.fit-js) .fit-buy .nyrix-cod{padding:24px;background:#0d0d11;border:1px solid rgba(255,255,255,.12);border-radius:20px;gap:16px}
/* Variante « COD désactivé » : simple lien vers le checkout WooCommerce. */
.fit-buy--link .fit-buy-open{display:block}

/* ===== 7. CHIFFRES CLÉS ===== */
.fit-stats{max-width:1220px;margin:64px auto 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.fit-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.fit-stat{padding:26px 24px;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}
.fit-stat:last-child{border-right:0}
.fit-stat b{font-size:24px;font-weight:800;letter-spacing:-.02em}
.fit-stat small{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* ===== 8. VIDÉO ===== */
.fit-video-sec{max-width:1220px;margin:0 auto;padding:72px 24px 0}
.fit-video-frame{position:relative;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:#0d0d11;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px;min-height:420px}
.fit-video{display:block;max-width:100%;height:auto;max-height:74vh;border-radius:14px;background:#000}
.fit-video-play{position:absolute;inset:0;border:0;padding:24px;background:rgba(8,8,10,.35);cursor:pointer;display:flex;align-items:center;justify-content:center}
.fit-video-play-icon{width:68px;height:68px;border-radius:999px;background:#f2571c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;padding-left:4px}
.fit-video-play:hover .fit-video-play-icon{background:#ff7a45}
.fit-video-frame.is-playing .fit-video-play{display:none}

/* ===== 9. SECTIONS (en-tête commun) ===== */
.fit-section{max-width:1220px;margin:0 auto;padding:88px 24px 0}
#description,#caracteristiques,#avis{scroll-margin-top:80px}
.fit-features-sec{padding-top:72px}
.fit-faq-sec{max-width:900px}
.fit-section-head{display:flex;flex-direction:column;gap:12px;max-width:780px;margin-bottom:32px}
.fit-kicker{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f2571c}
.fit-h2{margin:0;font-size:clamp(28px,4vw,46px);line-height:1.02;font-weight:900;letter-spacing:-.03em;text-transform:uppercase;font-family:inherit}
.fit-sub-ar{margin:0;font-size:19px;font-weight:500;color:rgba(255,255,255,.55)}

/* ===== 10. DESCRIPTION (6 blocs image / texte alternés) ===== */
.fit-rows{display:flex;flex-direction:column;gap:4px}
.fit-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:0;border-top:1px solid rgba(255,255,255,.1)}
.fit-row:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
.fit-row-media{overflow:hidden;background:#0d0d11;order:2;min-width:0}
.fit-row-text{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:56px clamp(24px,5vw,72px);order:1;min-width:0}
.fit-row--flip .fit-row-media{order:1}
.fit-row--flip .fit-row-text{order:2}
.fit-row-head,.fit-row-body{display:flex;flex-direction:column;gap:18px;min-width:0}
.fit-row-img{display:block;width:100%;height:100%;object-fit:cover}
.fit-num{font-size:13px;font-weight:800;letter-spacing:.2em;color:#f2571c}
.fit-h3{margin:0;font-size:clamp(26px,3.4vw,40px);line-height:1.02;font-weight:900;letter-spacing:-.03em;text-transform:uppercase;font-family:inherit}
.fit-p{margin:0;font-size:17px;line-height:1.65;color:rgba(255,255,255,.72)}
.fit-p-ar{margin:0;font-size:16px;line-height:1.9;color:rgba(255,255,255,.55)}

/* ===== 11. LIFESTYLE (mosaïque) ===== */
.fit-mosaic{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-auto-rows:260px;gap:16px}
.fit-tile{overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.1);min-width:0}
.fit-tile--big{grid-column:span 2;grid-row:span 2}
.fit-tile--wide{grid-column:span 2}
.fit-tile-img{display:block;width:100%;height:100%;object-fit:cover}

/* ===== 12. FONCTIONS ===== */
.fit-features{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden}
.fit-feature{background:#0d0d11;padding:24px;display:flex;flex-direction:column;gap:8px;min-height:128px}
.fit-feature>span:first-child{font-size:16px;font-weight:700}
.fit-feature .fit-ar{font-size:14px;color:rgba(255,255,255,.5)}

/* ===== 13. CARACTÉRISTIQUES ===== */
.fit-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.fit-spec-card{border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden}
.fit-spec-head{padding:16px 20px;background:#14141a;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.fit-spec-rows{display:flex;flex-direction:column}
.fit-spec-row{display:flex;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid rgba(255,255,255,.07);font-size:15px}
.fit-spec-row>span:first-child{color:rgba(255,255,255,.55)}
.fit-spec-row>span:last-child{font-weight:600;text-align:right}
.fit-notice{margin-top:24px;padding:24px;border:1px solid rgba(242,87,28,.35);border-radius:20px;background:rgba(242,87,28,.06);display:flex;flex-direction:column;gap:10px}
.fit-kicker-sm{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#f2571c}
.fit-notice p{margin:0;font-size:15px;line-height:1.65;color:rgba(255,255,255,.75)}
.fit-notice .fit-ar{line-height:1.85;color:rgba(255,255,255,.62)}

/* ===== 14. AVIS (données inc/nyrix-reviews.php, mise en forme de la maquette) ===== */
.fit-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.fit-review{border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#0d0d11;padding:28px;display:flex;flex-direction:column;gap:16px;min-width:0}
.fit-review .nyrix-review-stars{display:block;font-size:14px;letter-spacing:.2em;color:#f2571c;margin:0}
.fit-review-text{margin:0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.8)}
.fit-review-text.fit-ar{line-height:1.85;color:rgba(255,255,255,.65)}
.fit-review-author{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.fit-review-shot{border-radius:12px;overflow:hidden;background:#08080a;border:1px solid rgba(255,255,255,.08)}
.fit-review-img{display:block;width:100%;height:auto}
.fit-review-note{font-size:12px;color:rgba(255,255,255,.5)}

/* ===== 15. FAQ ===== */
.fit-faq{display:flex;flex-direction:column;gap:12px}
.fit-faq-item{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#0d0d11;padding:20px 24px}
.fit-faq-item summary{font-size:17px;font-weight:700}
.fit-faq-item p{margin:14px 0 0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.7)}
.fit-faq-item .fit-ar{margin:10px 0 0;font-size:15px;line-height:1.85;color:rgba(255,255,255,.5)}

/* ===== 16. DISTRIBUTEUR ===== */
.fit-dist{border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#0d0d11;padding:40px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.9fr);gap:32px}
.fit-dist-brand{display:flex;flex-direction:column;gap:12px;min-width:0}
.fit-logo--dist{height:22px;align-self:flex-start}
.fit-dist-tag{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#f2571c}
.fit-dist-brand p{margin:0;font-size:15px;line-height:1.65;color:rgba(255,255,255,.6)}
.fit-dist-brand .fit-ar{line-height:1.85;color:rgba(255,255,255,.5)}
.fit-dist-meta{display:flex;flex-direction:column;gap:6px}
.fit-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.fit-label--gap{margin-top:16px}
.fit-strong{font-size:17px;font-weight:700}

/* ===== 17. FOOTER ===== */
.fit-footer{max-width:1220px;margin:0 auto;padding:48px 24px 64px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:rgba(255,255,255,.4)}
.fit-footer a{font-weight:700}

/* ===== 18. ACCESSIBILITÉ ===== */
@media (prefers-reduced-motion:reduce){.fit-page *{transition:none!important}}

/* Grilles : 12 fonctions => 6 / 4 / 3 / 2 colonnes, jamais de cellule vide. */
@media (max-width:1240px){.fit-features{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.fit-features{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.fit-features{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.fit-dist{grid-template-columns:minmax(0,1fr)}}

/* Icone de chaque fonction (grille Fonctions). */
.fit-feature-ic{width:26px;height:26px;color:#f2571c;display:block;margin-bottom:2px;flex:none}


/* ===== 10b. DESCRIPTION — mobile : numéro + titre, image, puis le texte =====
   Sur une seule colonne, les `order` d'alternation faisaient se suivre deux
   images puis deux textes. Sous 700px (largeur où la grille passe à une
   colonne) chaque fonction se lit dans le même ordre : en-tête (1), image (2),
   texte (3). .fit-row-text passe en display:contents pour que ses deux blocs
   deviennent des éléments de la grille et puissent encadrer l'image ; le filet
   et l'espace au-dessus séparent nettement une fonction de la suivante. */
@media (max-width:700px){
	.fit-rows{gap:0}
	.fit-row{grid-template-columns:minmax(0,1fr);padding:30px 0 38px;border-top:1px solid rgba(255,255,255,.1)}
	.fit-row:first-child{border-top:0;padding-top:4px}
	.fit-row:last-child{border-bottom:1px solid rgba(255,255,255,.1)}
	.fit-row-text{display:contents}
	.fit-row-head{order:1;gap:10px;padding:0 2px}
	.fit-row-media,
	.fit-row--flip .fit-row-media{order:2;margin-top:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08)}
	.fit-row-body{order:3;margin-top:20px;gap:12px;padding:0 2px}
	.fit-row-img{height:auto}
}


/* ===== 18. CTA FLOTTANT (mobile) =====
   Pastille fixe en bas à droite, révélée quand le bloc d'achat sort de l'écran
   et masquée dès qu'il y revient (JS : IntersectionObserver sur .fit-buy).
   Cachée au-dessus de 700px : sur grand écran le bloc d'achat reste accessible. */
.fit-fab{position:fixed;right:16px;bottom:18px;z-index:900;display:none;align-items:center;gap:9px;padding:13px 18px;border:0;border-radius:999px;background:#f2571c;color:#fff;font:inherit;font-size:15px;font-weight:800;line-height:1;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.14);visibility:hidden;opacity:0;transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility 0s linear .35s}
.fit-fab.is-on{visibility:visible;opacity:1;transform:translateY(0);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility 0s}
.fit-fab:active{transform:translateY(0) scale(.97)}
.fit-fab-ic{width:19px;height:19px;flex:none}
.fit-fab-p{padding-left:9px;border-left:1px solid rgba(255,255,255,.4);font-weight:900;white-space:nowrap}
@media (max-width:700px){.fit-fab{display:flex}}
@media (prefers-reduced-motion:reduce){.fit-fab{transition:none}}


/* ===== 19. ARABE EN PAUSE + GALERIE SANS VIGNETTES =====
   .fit-no-ar est posée sur .fit-page par page-fit-landing.php quand
   $fit_show_ar vaut false : seul l'AFFICHAGE de l'arabe est coupé. Les textes
   restent en base et éditables dans « Contenu NYRIX FIT Pro » ; repasser
   $fit_show_ar à true les réaffiche tous, sans autre modification. */
.fit-no-ar .fit-ar{display:none}
.fit-no-ar .fit-buy div.nyrix-cod-field>span::after{content:""}

/* Vignettes sous l'image principale du hero : masquées (une seule image). */
.fit-thumbs{display:none}


/* ===== 20. GALERIE HERO : carrousel au doigt + pastilles =====
   Remplace le rail de vignettes. La bande défile en scroll-snap : swipe sur
   mobile, molette horizontale / pastilles sur desktop. Sans JS elle reste
   défilable, donc aucune image n'est hors d'atteinte. */
.fit-gallery-track{display:flex;height:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.fit-gallery-track::-webkit-scrollbar{display:none}
.fit-gallery-slide{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}
.fit-dots{display:flex;justify-content:center;align-items:center;gap:8px;padding:2px 0}
.fit-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.28);cursor:pointer;transition:width .22s ease,background .22s ease}
.fit-dot:hover{background:rgba(255,255,255,.5)}
.fit-dot.is-on{width:24px;background:#f2571c}
@media (prefers-reduced-motion:reduce){.fit-dot{transition:none}}
