/* ============================================================
   NYRIX — TYPOGRAPHIE PREMIUM (auto-hébergée, FR + AR / RTL)
   Fichier dédié : ne contient QUE de la typographie.
   Bascule langue (switcher JS maison) → html[lang="ar"], body.rtl, [dir="rtl"]
   ============================================================ */

/* ===== 1. @font-face — LATIN (display) ===== */
@font-face{font-family:'Archivo Expanded';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/archivo-expanded-600.woff2') format('woff2');}
@font-face{font-family:'Archivo Expanded';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/archivo-expanded-700.woff2') format('woff2');}
@font-face{font-family:'Archivo Expanded';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/archivo-expanded-800.woff2') format('woff2');}
@font-face{font-family:'Saira';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/saira-700.woff2') format('woff2');}

/* ===== 2. @font-face — LATIN (body) ===== */
/* Satoshi variable : un seul fichier couvre 300→900 */
@font-face{font-family:'Satoshi';font-style:normal;font-weight:300 900;font-display:swap;src:url('../fonts/satoshi-variable.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2');}

/* ===== 3. @font-face — ARABE (arabic + latin par unicode-range) ===== */
/* Tajawal (display ar) */
@font-face{font-family:'Tajawal';font-weight:700;font-display:swap;src:url('../fonts/tajawal-700-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:'Tajawal';font-weight:700;font-display:swap;src:url('../fonts/tajawal-700-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:'Tajawal';font-weight:800;font-display:swap;src:url('../fonts/tajawal-800-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:'Tajawal';font-weight:800;font-display:swap;src:url('../fonts/tajawal-800-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;}
/* Almarai (fallback display ar) */
@font-face{font-family:'Almarai';font-weight:700;font-display:swap;src:url('../fonts/almarai-700-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFC;}
@font-face{font-family:'Almarai';font-weight:700;font-display:swap;src:url('../fonts/almarai-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+FEFF,U+FFFD;}
/* IBM Plex Sans Arabic (body ar) */
@font-face{font-family:'IBM Plex Sans Arabic';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-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-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-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;}
@font-face{font-family:'IBM Plex Sans Arabic';font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-arabic-700-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-weight:700;font-display:swap;src:url('../fonts/ibm-plex-arabic-700-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;}
/* Cairo (fallback body ar) */
@font-face{font-family:'Cairo';font-weight:400;font-display:swap;src:url('../fonts/cairo-400-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFC;}
@font-face{font-family:'Cairo';font-weight:400;font-display:swap;src:url('../fonts/cairo-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+FEFF,U+FFFD;}
@font-face{font-family:'Cairo';font-weight:700;font-display:swap;src:url('../fonts/cairo-700-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFC;}
@font-face{font-family:'Cairo';font-weight:700;font-display:swap;src:url('../fonts/cairo-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+FEFF,U+FFFD;}

/* ===== 4. ALIAS des noms hérités → nouvelles polices (couvre product.css,
   showcase.css et les logos inline sans éditer ces fichiers, ordre-indépendant) ===== */
@font-face{font-family:'Unbounded';font-weight:600;font-display:swap;src:url('../fonts/archivo-expanded-600.woff2') format('woff2');}
@font-face{font-family:'Unbounded';font-weight:700;font-display:swap;src:url('../fonts/archivo-expanded-700.woff2') format('woff2');}
@font-face{font-family:'Unbounded';font-weight:800;font-display:swap;src:url('../fonts/archivo-expanded-800.woff2') format('woff2');}
@font-face{font-family:'Unbounded';font-weight:900;font-display:swap;src:url('../fonts/archivo-expanded-800.woff2') format('woff2');} /* 900→800 dispo */
@font-face{font-family:'Manrope';font-weight:300 900;font-display:swap;src:url('../fonts/satoshi-variable.woff2') format('woff2');}

/* ===== 5. VARIABLES (:root) ===== */
:root{
  --font-display:'Archivo Expanded','Saira',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-body:'Satoshi','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display-ar:'Tajawal','Almarai','Segoe UI',Tahoma,sans-serif;
  --font-body-ar:'IBM Plex Sans Arabic','Cairo','Segoe UI',Tahoma,sans-serif;

  --fs-h1:clamp(2.5rem,5vw,4.5rem);
  --fs-h2:clamp(2rem,4vw,3.25rem);
  --fs-h3:clamp(1.5rem,2.5vw,2rem);
  --fs-body:clamp(1rem,1.1vw,1.125rem);
  --fs-small:0.875rem;

  --fw-regular:400;--fw-medium:500;--fw-bold:700;

  --lh-tight:1.1;--lh-body:1.6;--lh-body-ar:1.8;
  --tracking-display:-0.01em;   /* titres latin resserrés */
  --tracking-button:0.05em;     /* boutons latin */
  --price-muted:#8A8D93;        /* gris muted — prix barré (seule couleur touchée) */
}

/* ===== 6. BASE (latin par défaut) ===== */
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* ===== 7. DISPLAY (titres, logo, noms produits) — casse d'origine conservée ===== */
h1,h2,h3,h4,h5,h6,
.hero-content h1,.page-title,.brand-story-tagline,
.page-content h2,.page-content h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product-name,.s3d-name{
  font-family:var(--font-display);
  letter-spacing:var(--tracking-display);
  line-height:var(--lh-tight);
}
h1,.hero-content h1,.page-title{font-size:var(--fs-h1);font-weight:var(--fw-bold);}
h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);}
h3{font-size:var(--fs-h3);font-weight:var(--fw-bold);}

/* UPPERCASE (latin) — noms produits + titres COURTS d'un seul segment (.nyrix-caps).
   Les titres à 2 segments (« Prêt à Stand Out ? ») gardent leur casse d'origine.
   En arabe, ces règles sont neutralisées par la section RTL plus bas. */
.product-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.nyrix-caps{
  text-transform:uppercase;
  letter-spacing:0.01em;
}

/* ===== 8. BODY / corps, menu, footer ===== */
body,.page-content,
.woocommerce a.button,.woocommerce button.button,.woocommerce a.button.alt,
.woocommerce button.button.alt,.wc-block-components-button:not(.is-link){
  font-family:var(--font-body);
}
.navbar-center a{font-family:var(--font-body);font-weight:var(--fw-medium);letter-spacing:0.02em;}
.site-footer,.site-footer a{font-family:var(--font-body);}

/* ===== 9. PRIX ===== */
.price-current,.price-now,.pdp-price,
body .price-now,body .pdp-price{
  font-family:var(--font-body)!important;
  font-weight:var(--fw-medium)!important;
}
/* Prix barré → gris muted + plus petit */
.price-original,.pdp-price .was,del,.woocommerce del{
  color:var(--price-muted)!important;
  font-size:0.85em;
  font-weight:var(--fw-regular);
}

/* ===== 10. BOUTONS — touch target ≥44px, uppercase+tracking (latin) ===== */
.btn,.woocommerce a.button,.woocommerce button.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.wc-block-components-button:not(.is-link){
  font-family:var(--font-body);
  font-weight:var(--fw-medium);
  text-transform:uppercase;
  letter-spacing:var(--tracking-button);
  min-height:44px;
}

/* ============================================================
   11. BILINGUE — ARABE / RTL  (html[lang="ar"], body.rtl, [dir="rtl"])
   ============================================================ */
html[lang="ar"] body,body.rtl,[dir="rtl"]{
  font-family:var(--font-body-ar);
  line-height:var(--lh-body-ar);
}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,
html[lang="ar"] h4,html[lang="ar"] h5,html[lang="ar"] h6,
body.rtl h1,body.rtl h2,body.rtl h3,body.rtl h4,body.rtl h5,body.rtl h6,
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4,[dir="rtl"] h5,[dir="rtl"] h6,
[dir="rtl"] .hero-content h1,[dir="rtl"] .page-title,[dir="rtl"] .brand-story-tagline,
[dir="rtl"] .product-name,[dir="rtl"] .s3d-name,[dir="rtl"] .pdp-price,
[dir="rtl"] .woocommerce-loop-product__title{
  font-family:var(--font-display-ar);
  line-height:1.25;
}
/* Le corps arabe revient en body-ar même sur boutons/menu/prix */
[dir="rtl"] body,[dir="rtl"] .btn,[dir="rtl"] .navbar-center a,
[dir="rtl"] .price-current,[dir="rtl"] .price-now,
[dir="rtl"] .woocommerce a.button,[dir="rtl"] .woocommerce button.button{
  font-family:var(--font-body-ar);
}
/* RÈGLES ARABE STRICTES : jamais de letter-spacing (ligatures), jamais d'uppercase */
html[lang="ar"] *,body.rtl *,[dir="rtl"] *{
  letter-spacing:0!important;
  text-transform:none!important;
}
/* RTL propre : alignement logique sur les éléments typo que l'on touche */
[dir="rtl"] .navbar-center,[dir="rtl"] .page-content{text-align:start;}
