/* ============================================================
   SKI S.A. — Design Refinements v2
   Surcharge CSS non-destructive (ne modifie pas style.css)
   ✓ Typographie allégée  ✓ Menu fin  ✓ Espacement aéré
   ✓ 3 langues harmonisées  ✓ Fully responsive mobile-first
   ============================================================ */

/* ── 1. NOUVELLES POLICES ────────────────────────────────────
   Latin  : DM Sans (moderne, aéré, excellent lisibilité)
            DM Serif Display (élégant pour les titres)
   Arabe  : Noto Sans Arabic (Google, harmonie maximale avec DM)
   ─────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&family=DM+Serif+Display&family=Noto+Sans+Arabic:wght@300;400;500;600;700&display=swap');


/* ── 2. VARIABLES — SCALE TYPOGRAPHIQUE COHÉRENTE ───────────
   Ratio modular 1.2 (Minor Third) — 15px base
   --ts-xs  : 11px   labels, captions
   --ts-sm  : 13px   petit corps, boutons nav
   --ts-md  : 15px   corps principal (base)
   --ts-lg  : 18px   sous-titres, intro
   --ts-xl  : 22px   h3
   --ts-2xl : 26px   h2 sections
   --ts-3xl : 32px   h1 pages intérieures
   --ts-4xl : 42px   hero
   ─────────────────────────────────────────────────────────── */
:root {
  --font-display : 'DM Serif Display', 'Playfair Display', Georgia, serif;
  --font-body    : 'DM Sans', 'Barlow', system-ui, sans-serif;
  --font-ar      : 'Noto Sans Arabic', 'Segoe UI', Tahoma, sans-serif;

  --ts-xs  : 0.6875rem;   /* 11px */
  --ts-sm  : 0.8125rem;   /* 13px */
  --ts-md  : 0.9375rem;   /* 15px */
  --ts-lg  : 1.125rem;    /* 18px */
  --ts-xl  : 1.375rem;    /* 22px */
  --ts-2xl : 1.625rem;    /* 26px */
  --ts-3xl : 2rem;        /* 32px */
  --ts-4xl : 2.5rem;      /* 40px */

  /* Espacements respirés */
  --space-xs  : 8px;
  --space-sm  : 16px;
  --space-md  : 24px;
  --space-lg  : 40px;
  --space-xl  : 64px;
  --space-2xl : 88px;
}


/* ── 3. BASE — BODY & HTML ───────────────────────────────────*/
html { font-size: 15px; }

body {
  font-family: var(--font-body);
  font-size:   var(--ts-md);
  line-height: 1.7;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* ── 4. SECTION SECTIONS — ESPACEMENT ALLÉGÉ ────────────────*/
.section          { padding: var(--space-2xl) 0; }
.director-section { padding: var(--space-2xl) 0; }

@media (max-width: 768px) {
  .section          { padding: var(--space-xl) 0; }
  .director-section { padding: var(--space-xl) 0; }
}
@media (max-width: 480px) {
  .section          { padding: var(--space-lg) 0; }
  .director-section { padding: var(--space-lg) 0; }
}


/* ── 5. LABELS DE SECTION ────────────────────────────────────*/
.section-label {
  font-family   : var(--font-body);
  font-size     : var(--ts-xs);
  font-weight   : 600;
  letter-spacing: 2.5px;
  margin-bottom : var(--space-xs);
}


/* ── 6. TITRES — HIÉRARCHIE ALLÉGÉE ─────────────────────────*/
.section-title {
  font-family  : var(--font-display);
  font-size    : clamp(var(--ts-2xl), 3vw, var(--ts-3xl));
  font-weight  : 400;   /* DM Serif Display brille à 400 */
  line-height  : 1.25;
  margin-bottom: var(--space-sm);
  letter-spacing: -0.02em;
}

.section-subtitle {
  font-size  : var(--ts-md);
  line-height: 1.75;
  font-weight: 400;
}

/* CTA strip title */
.cta-strip__title {
  font-family: var(--font-display);
  font-size  : var(--ts-2xl);
  font-weight: 400;
  margin-bottom: 6px;
}

.cta-strip__sub {
  font-size: var(--ts-sm);
  opacity  : 0.8;
}

/* Director quote */
.director-quote {
  font-family: var(--font-display);
  font-size  : clamp(var(--ts-lg), 2vw, var(--ts-xl));
  line-height: 1.75;
  font-style : italic;
  margin-bottom: var(--space-lg);
}

.director-quote::before {
  font-size: 4.5rem;
  top      : -16px;
}

.director-name {
  font-size     : var(--ts-sm);
  letter-spacing: 1.5px;
}

.director-role {
  font-size: var(--ts-xs);
  letter-spacing: 0.5px;
}


/* ── 7. NAVBAR — FIN & MODERNE ───────────────────────────────*/
.navbar__inner {
  height: 64px;   /* réduit de 76→64px */
}

.navbar__logo-icon {
  width : 32px;
  height: 32px;
}

.navbar__logo-main {
  font-size     : 17px;
  letter-spacing: 1.5px;
}

.navbar__logo-sub {
  font-size     : 8px;
  letter-spacing: 1px;
}

.navbar__logo { gap: 10px; }

.navbar__nav { gap: 2px; }

.navbar__nav a {
  font-family   : var(--font-body);
  font-size     : var(--ts-xs);
  font-weight   : 500;
  letter-spacing: 0.8px;
  padding       : 6px 11px;
  border-radius : 6px;
}

/* Dropdown links */
.dropdown__menu a {
  font-size : var(--ts-xs);
  padding   : 9px 16px;
}

.dropdown__menu {
  min-width: 200px;
  padding  : 6px 0;
}

/* CTA bouton navbar */
.navbar__cta {
  font-size : var(--ts-xs) !important;
  padding   : 8px 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  border-radius: 6px !important;
}

/* Mobile menu */
@media (max-width: 1024px) {
  .navbar__nav.open {
    top    : 64px;
    padding: 16px;
  }

  .navbar__nav.open a {
    padding  : 10px 14px;
    font-size: var(--ts-sm);
  }
}


/* ── 8. LANG SWITCHER — RAFFINÉ ──────────────────────────────*/
.lang-switcher {
  padding      : 3px 8px;
  border-radius: 100px;
  gap          : 2px;
}

.lang-btn {
  font-size     : 10px;
  padding       : 2px 5px;
  letter-spacing: 0.5px;
}

.lang-sep { font-size: 9px; }


/* ── 9. HERO — TITLE ALLÉGÉ ──────────────────────────────────*/
.hero__title {
  font-family  : var(--font-display);
  font-size    : clamp(var(--ts-3xl), 5vw, var(--ts-4xl));
  font-weight  : 400;
  line-height  : 1.12;
  margin-bottom: var(--space-sm);
  letter-spacing: -0.02em;
}

.hero__tag {
  font-size     : 10px;
  letter-spacing: 2px;
  padding       : 5px 14px;
  margin-bottom : var(--space-md);
}

.hero__desc {
  font-size  : var(--ts-md);
  line-height: 1.8;
  margin-bottom: var(--space-lg);
  max-width  : 520px;
  opacity    : 0.75;
}

@media (max-width: 768px) {
  .hero__title { font-size: clamp(var(--ts-2xl), 7vw, var(--ts-3xl)); }
  .hero__desc  { font-size: var(--ts-sm); }
}

@media (max-width: 480px) {
  .hero__title { font-size: var(--ts-2xl); line-height: 1.2; }
  .hero__desc  { font-size: var(--ts-sm); max-width: 100%; }
}


/* ── 10. BOUTONS GÉNÉRAUX — FINS & MODERNES ─────────────────*/
.btn {
  font-family   : var(--font-body);
  font-size     : var(--ts-xs);
  font-weight   : 600;
  letter-spacing: 0.6px;
  padding       : 11px 22px;
  border-radius : 6px;
  gap           : 6px;
}

.btn-download {
  font-family   : var(--font-body);
  font-size     : var(--ts-xs);
  font-weight   : 600;
  letter-spacing: 0.5px;
  padding       : 10px 20px;
  border-radius : 6px;
  gap           : 8px;
}

.btn-download svg { width: 15px; height: 15px; }


/* ── 11. STATS BAR — COMPACTE ────────────────────────────────*/
.stat-item {
  padding: var(--space-md) var(--space-sm);
}

.stat-item__number {
  font-family  : var(--font-display);
  font-size    : 2.2rem;
  line-height  : 1;
  margin-bottom: 4px;
}

.stat-item__label {
  font-size     : 10px;
  letter-spacing: 1px;
}

@media (max-width: 480px) {
  .stat-item__number { font-size: 1.8rem; }
  .stat-item__label  { font-size: 9px; }
}


/* ── 12. ACTIVITÉ CARDS ──────────────────────────────────────*/
.activite-card__label {
  font-size     : 9px;
  letter-spacing: 1.5px;
  margin-bottom : 4px;
}

.activite-card__title {
  font-family: var(--font-display);
  font-size  : var(--ts-lg);
  font-weight: 400;
}

.activite-card__desc {
  font-size  : var(--ts-xs);
  line-height: 1.6;
}

.activite-card__overlay { padding: 20px; }


/* ── 13. ABOUT SPLIT ─────────────────────────────────────────*/
.about-split__content {
  padding: var(--space-xl) var(--space-lg);
}

.about-split__features { gap: 16px; margin-top: var(--space-md); }

.feature-item { gap: 14px; }

.feature-item__icon {
  width    : 38px;
  height   : 38px;
  font-size: 16px;
  border-radius: 6px;
}

.feature-item__text h4 {
  font-size     : var(--ts-xs);
  letter-spacing: 0.3px;
  margin-bottom : 2px;
  line-height   : 1.4;
}

.feature-item__text p {
  font-size  : var(--ts-xs);
  line-height: 1.65;
}

@media (max-width: 900px) {
  .about-split__content { padding: var(--space-lg) var(--space-md); }
}

@media (max-width: 480px) {
  .about-split__content { padding: var(--space-md); }
}


/* ── 14. VALUES CARDS ────────────────────────────────────────*/
.value-card {
  padding: var(--space-lg) var(--space-md);
}

.value-card__icon {
  width    : 64px;
  height   : 64px;
  font-size: 26px;
  margin-bottom: var(--space-sm);
}

.value-card h3 {
  font-family: var(--font-display);
  font-size  : var(--ts-xl);
  font-weight: 400;
  margin-bottom: 10px;
}

.value-card p {
  font-size  : var(--ts-sm);
  line-height: 1.75;
}


/* ── 15. FILIALE CARDS ───────────────────────────────────────*/
.filiale-card { padding: var(--space-md); }

.filiale-card__name {
  font-size    : var(--ts-lg);
  margin-bottom: 4px;
}

.filiale-card__country {
  font-size    : 10px;
  margin-bottom: 10px;
}

.filiale-card p { font-size: var(--ts-sm); line-height: 1.7; }


/* ── 16. PRÉSENCE ────────────────────────────────────────────*/
.presence-item { padding: var(--space-md); }

.presence-item__flag  { font-size: 2rem; margin-bottom: 12px; }

.presence-item__country {
  font-size     : var(--ts-sm);
  letter-spacing: 0.8px;
  margin-bottom : 6px;
}

.presence-item__info  { font-size: var(--ts-xs); line-height: 1.65; }

.presence-list { gap: var(--space-sm); margin-top: var(--space-lg); }

@media (max-width: 768px) {
  .presence-list { grid-template-columns: 1fr; }
}


/* ── 17. DIRECTOR ────────────────────────────────────────────*/
.director-inner { max-width: 720px; }


/* ── 18. NEWSLETTER ──────────────────────────────────────────*/
.newsletter-bar { padding: var(--space-lg) 0; }

.newsletter-text h4 {
  font-size     : var(--ts-md);
  letter-spacing: 0.5px;
  margin-bottom : 3px;
}

.newsletter-text p { font-size: var(--ts-xs); }

.newsletter-form input  { font-size: var(--ts-sm); padding: 11px 16px; }
.newsletter-form button { font-size: var(--ts-xs); padding: 11px 20px; letter-spacing: 0.5px; }

@media (max-width: 768px) {
  .newsletter-inner   { flex-direction: column; align-items: flex-start; }
  .newsletter-form    { width: 100%; max-width: 100%; }
}


/* ── 19. FOOTER ──────────────────────────────────────────────*/
.footer { padding: var(--space-xl) 0 var(--space-md); }

.footer__grid {
  gap           : var(--space-lg);
  padding-bottom: var(--space-lg);
  margin-bottom : var(--space-md);
}

.footer__brand p {
  font-size  : var(--ts-xs);
  line-height: 1.7;
  margin     : 12px 0 var(--space-sm);
}

.footer__col h5 {
  font-size     : 10px;
  letter-spacing: 1.5px;
  margin-bottom : 14px;
}

.footer__col ul li a {
  font-size  : var(--ts-xs);
  line-height: 1.5;
}

.footer__col ul { gap: 8px; }

.footer__copy { font-size: var(--ts-xs); }

.social-btn {
  width    : 32px;
  height   : 32px;
  font-size: 12px;
  border-radius: 6px;
}

@media (max-width: 900px) {
  .footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .footer__grid   { grid-template-columns: 1fr; gap: var(--space-md); }
  .footer__bottom { flex-direction: column; gap: 8px; text-align: center; }
}


/* ── 20. CONTACT & FORMS ─────────────────────────────────────*/
.form-group { margin-bottom: 16px; }

.form-group label {
  font-family   : var(--font-body);
  font-size     : 10px;
  letter-spacing: 1px;
  margin-bottom : 6px;
}

.form-group input,
.form-group textarea,
.form-group select {
  font-size  : var(--ts-sm);
  padding    : 11px 14px;
  line-height: 1.5;
}

.form-group textarea { height: 120px; }

.contact-office__country { font-size: var(--ts-xs); letter-spacing: 1.5px; }
.contact-office__details span { font-size: var(--ts-xs); }

@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
  .form-row     { grid-template-columns: 1fr; }
}


/* ── 21. PAGE HERO (inner pages) ─────────────────────────────*/
.page-hero { padding: 130px 0 56px; }

.page-hero__title {
  font-family  : var(--font-display);
  font-size    : clamp(var(--ts-2xl), 4vw, var(--ts-3xl));
  font-weight  : 400;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.page-hero__breadcrumb { font-size: var(--ts-xs); }

@media (max-width: 768px) {
  .page-hero        { padding: 110px 0 40px; }
  .page-hero__title { font-size: var(--ts-2xl); }
}

@media (max-width: 480px) {
  .page-hero        { padding: 96px 0 32px; }
  .page-hero__title { font-size: var(--ts-xl); }
}


/* ── 22. DIVIDER ─────────────────────────────────────────────*/
.divider {
  width        : 40px;
  height       : 2px;
  margin-top   : 14px;
  margin-bottom: 14px;
}


/* ── 23. GRIDS — GAPS RÉDUITS ────────────────────────────────*/
.grid-2 { gap: var(--space-lg); }
.grid-3 { gap: var(--space-md); }
.grid-4 { gap: var(--space-sm); }

@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); gap: var(--space-sm); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .grid-2 { gap: var(--space-md); }
  .grid-3 { grid-template-columns: 1fr; gap: var(--space-sm); }
  .grid-4 { grid-template-columns: 1fr; }
}


/* ── 24. CTA STRIP ───────────────────────────────────────────*/
.cta-strip { padding: var(--space-xl) 0; }

@media (max-width: 768px) {
  .cta-strip__inner { flex-direction: column; }
  .cta-strip__actions { width: 100%; }
  .btn-download { flex: 1; justify-content: center; }
}

@media (max-width: 480px) {
  .cta-strip { padding: var(--space-lg) 0; }
  .cta-strip__actions { flex-direction: column; }
}


/* ── 25. ARABE — POLICE & AJUSTEMENTS RTL ────────────────────
   Noto Sans Arabic : hauteur x plus grande, nécessite
   line-height plus grand et font-size légèrement réduit
   ─────────────────────────────────────────────────────────── */
[lang="ar"] body,
[lang="ar"] p,
[lang="ar"] li,
[lang="ar"] span,
[lang="ar"] div {
  font-family: var(--font-ar);
  font-weight: 400;
  line-height: 1.9;
}

[lang="ar"] h1,
[lang="ar"] h2,
[lang="ar"] h3,
[lang="ar"] h4,
[lang="ar"] .section-title,
[lang="ar"] .hero__title,
[lang="ar"] .cta-strip__title,
[lang="ar"] .director-quote,
[lang="ar"] .value-card h3,
[lang="ar"] .activite-card__title {
  font-family  : var(--font-ar);
  font-weight  : 700;
  letter-spacing: 0;
  line-height  : 1.5;
}

[lang="ar"] .navbar__nav a,
[lang="ar"] .btn,
[lang="ar"] .btn-download,
[lang="ar"] .section-label,
[lang="ar"] .stat-item__label,
[lang="ar"] .footer__col h5,
[lang="ar"] .newsletter-text h4,
[lang="ar"] .activite-card__label,
[lang="ar"] .contact-office__country {
  font-family   : var(--font-ar);
  letter-spacing: 0;
  font-weight   : 600;
}

/* Correction taille hero en arabe (Noto plus compact) */
[lang="ar"] .hero__title {
  font-size: clamp(var(--ts-2xl), 4.5vw, var(--ts-3xl));
}

[lang="ar"] .hero__desc {
  font-size  : var(--ts-md);
  line-height: 2;
}

/* Réduire le letter-spacing global en arabe (inutile) */
[lang="ar"] * { letter-spacing: 0 !important; }

/* Exceptions où letter-spacing arabe nuit à la lisibilité */
[lang="ar"] .hero__tag   { letter-spacing: 0 !important; font-size: var(--ts-xs); }
[lang="ar"] .page-hero__title { font-size: clamp(var(--ts-xl), 4vw, var(--ts-2xl)); }

/* RTL — corrections layout ────────────────────────────────── */
[dir="rtl"] .navbar__inner       { flex-direction: row-reverse; }
[dir="rtl"] .navbar__nav         { flex-direction: row-reverse; }
[dir="rtl"] .hero__content       { text-align: right; }
[dir="rtl"] .hero__actions       { flex-direction: row-reverse; }
[dir="rtl"] .section-label       { text-align: right; }
[dir="rtl"] .section-title       { text-align: right; }
[dir="rtl"] .section-subtitle    { text-align: right; }
[dir="rtl"] .divider             { margin-right: 0; margin-left: auto; }
[dir="rtl"] .about-split         { direction: rtl; }
[dir="rtl"] .about-split__features { text-align: right; }
[dir="rtl"] .feature-item        { flex-direction: row-reverse; text-align: right; }
[dir="rtl"] .value-card          { text-align: right; }
[dir="rtl"] .director-quote      { text-align: center; padding: 0 48px; }
[dir="rtl"] .director-quote::before { left: auto; right: 0; }
[dir="rtl"] .presence-item       { text-align: right; }
[dir="rtl"] .cta-strip__inner    { flex-direction: row-reverse; }
[dir="rtl"] .cta-strip           { text-align: right; }
[dir="rtl"] .footer__grid        { direction: rtl; }
[dir="rtl"] .footer__brand p     { text-align: right; }
[dir="rtl"] .footer__col h5      { text-align: right; }
[dir="rtl"] .footer__col ul      { text-align: right; }
[dir="rtl"] .footer__bottom      { flex-direction: row-reverse; }
[dir="rtl"] .newsletter-inner    { flex-direction: row-reverse; }
[dir="rtl"] .newsletter-text     { text-align: right; }
[dir="rtl"] .newsletter-form {
  flex-direction: row-reverse;
}
[dir="rtl"] .newsletter-form input {
  border-radius: 0 6px 6px 0;
  border-left  : none;
  border-right : 1px solid rgba(255,255,255,0.1);
}
[dir="rtl"] .newsletter-form button {
  border-radius: 6px 0 0 6px;
}
[dir="rtl"] .stats-bar__inner    { direction: rtl; }
[dir="rtl"] .activite-card__overlay { text-align: right; }
[dir="rtl"] .filiale-card        { text-align: right; }
[dir="rtl"] .filiale-card::before { left: auto; right: 0; }
[dir="rtl"] .contact-grid        { direction: rtl; }
[dir="rtl"] .form-group          { text-align: right; }
[dir="rtl"] .page-hero__title    { text-align: right; }
[dir="rtl"] .page-hero__breadcrumb { flex-direction: row-reverse; }
[dir="rtl"] .hero__scroll        { display: none; }

/* RTL mobile */
@media (max-width: 768px) {
  [dir="rtl"] .cta-strip__inner   { flex-direction: column; }
  [dir="rtl"] .newsletter-inner   { flex-direction: column; align-items: flex-end; }
  [dir="rtl"] .newsletter-text    { text-align: right; }
  [dir="rtl"] .newsletter-form    { flex-direction: row-reverse; width: 100%; }
  [dir="rtl"] .footer__bottom     { flex-direction: column; align-items: flex-end; }
}

@media (max-width: 480px) {
  [dir="rtl"] .hero__actions { flex-direction: column; align-items: flex-end; }
  [dir="rtl"] .newsletter-inner { align-items: stretch; }
}


/* ── 26. ANGLAIS — LÉGÈRE OPTIMISATION ───────────────────────*/
[lang="en"] body {
  font-family: var(--font-body);
  font-weight: 400;
}

[lang="en"] .section-title,
[lang="en"] .hero__title {
  font-family  : var(--font-display);
  letter-spacing: -0.02em;
}


/* ── 27. RESPONSIVE GLOBAL — MOBILE FIRST ────────────────────*/

/* Tablette paysage */
@media (max-width: 1024px) {
  .navbar__inner { height: 60px; }

  .about-split { grid-template-columns: 1fr; min-height: auto; }
  .about-split__image { min-height: 300px; }
}

/* Tablette portrait */
@media (max-width: 768px) {
  .hero { min-height: 90vh; }

  .stats-bar__inner { grid-template-columns: repeat(2, 1fr); }
  .stat-item:nth-child(2) { border-right: none; }

  .presence-list { grid-template-columns: 1fr; }

  .value-card { padding: var(--space-md); }

  .director-inner { max-width: 100%; }
  .director-quote { padding: 0 var(--space-sm); font-size: var(--ts-md); }
  .director-quote::before { font-size: 3rem; top: -10px; left: 0; }
}

/* Mobile */
@media (max-width: 600px) {
  html { font-size: 14px; }

  .container { padding: 0 16px; }

  .hero__content { padding-top: 32px; }
  .hero__tag    { font-size: 9px; }

  .hero__actions { flex-direction: column; gap: 10px; }
  .hero__actions .btn { width: 100%; justify-content: center; }

  .stats-bar__inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-split__image { min-height: 220px; }

  .section-title { font-size: var(--ts-xl); }

  .filiale-section .grid-2,
  .filiale-detail { grid-template-columns: 1fr !important; direction: ltr !important; gap: var(--space-md) !important; }
  .filiale-detail.reverse { direction: ltr !important; }

  .cta-strip__actions { flex-direction: column; }
  .btn-download       { width: 100%; justify-content: center; }

  .footer__grid { grid-template-columns: 1fr; gap: var(--space-md); }

  .contact-grid { grid-template-columns: 1fr; }
  .form-row     { grid-template-columns: 1fr; }
}

/* Très petit mobile */
@media (max-width: 380px) {
  html { font-size: 13px; }
  .navbar__logo-sub { display: none; }
  .navbar__logo-main { font-size: 15px; }
  .hero__title { font-size: var(--ts-xl); }
  .stat-item { padding: 16px 12px; }
  .stat-item__number { font-size: 1.6rem; }
}


/* ── 28. MICRO-DÉTAILS ───────────────────────────────────────*/

/* Scrollbar discrète */
::-webkit-scrollbar       { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--primary); }

/* Focus visible pour accessibilité */
:focus-visible {
  outline       : 2px solid var(--primary);
  outline-offset: 3px;
  border-radius : 3px;
}

/* Sélection */
::selection {
  background: rgba(40,167,69,0.2);
  color      : var(--text);
}

/* Images — éviter le débordement */
img { max-width: 100%; height: auto; }

/* Smooth transitions globales */
.btn, .btn-download, .navbar__nav a,
.activite-card, .filiale-card, .value-card,
.presence-item, .social-btn, .lang-btn {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
