/*
Theme Name: RAJF
Theme URI: https://rajfrance.org
Author: BL-NK
Author URI: https://bl-nk.fr
Description: Thème custom RAJF (Rassemblement des Avocats Juifs de France) -- maquette validee, 100% code maison, sans plugin de champs.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: rajf
*/

/* Urbanist (Google Fonts, licence SIL Open Font) */
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-MediumItalic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-SemiBoldItalic.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:"Urbanist";src:url("fonts/Urbanist-BoldItalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}

/* RAJF — couleurs */
:root{
  /* Marque */
  --rajf-rose:#00cec8;          /* vert d'eau, CTA (ancien rose #e95095) */
  --rajf-rose-700:#00b5af;      /* survol CTA */
  --rajf-rose-800:#009a95;      /* pression CTA */
  --rajf-rose-100:#ccf5f4;
  --rajf-rose-050:#e6faf9;
  --rajf-navy:#002c57;          /* bleu foncé, texte du logo */
  --rajf-navy-900:#001d3a;
  --rajf-navy-700:#004a81;      /* dégradé de l'emblème */
  --rajf-navy-500:#005e97;      /* reflet clair de l'emblème */
  --rajf-navy-200:#c7d6e6;
  --rajf-navy-100:#e3ebf3;
  --rajf-navy-050:#f1f5f9;

  /* Neutres (gris texte #424242, gris foncé #212121) */
  --grey-0:#ffffff;
  --grey-50:#fafafa;
  --grey-100:#f5f5f5;
  --grey-200:#eeeeee;
  --grey-300:#e0e0e0;
  --grey-400:#bdbdbd;
  --grey-500:#9e9e9e;
  --grey-600:#757575;
  --grey-700:#616161;
  --grey-800:#424242;           /* gris texte */
  --grey-900:#212121;           /* gris foncé */

  /* États */
  --success:#2e7d32; --success-bg:#e8f5e9;
  --warning:#a15c00; --warning-bg:#fff4e0;
  --error:#c62828;   --error-bg:#fdecea;
  --info:var(--rajf-navy-500); --info-bg:var(--rajf-navy-050);

  /* Alias sémantiques */
  --text-heading:var(--rajf-navy);
  --text-strong:var(--grey-900);
  --text-body:var(--grey-800);
  --text-muted:var(--grey-600);
  --text-on-dark:#ffffff;
  --text-on-dark-muted:#c7d6e6;
  --text-link:var(--rajf-navy-500);
  --text-link-hover:var(--rajf-rose);

  --surface-page:#ffffff;
  --surface-alt:var(--grey-100);
  --surface-tint:var(--rajf-navy-050);
  --surface-card:#ffffff;
  --surface-dark:var(--rajf-navy);
  --surface-darker:var(--rajf-navy-900);

  --border-subtle:var(--grey-200);
  --border-default:var(--grey-300);
  --border-strong:var(--grey-500);
  --border-focus:var(--rajf-navy-500);

  --cta-bg:var(--rajf-rose);
  --cta-bg-hover:var(--rajf-rose-700);
  --cta-bg-active:var(--rajf-rose-800);
  --cta-fg:#ffffff;
  --accent:var(--rajf-rose);
  --focus-ring:0 0 0 3px rgba(0,94,151,.35);
}

/* RAJF — typographie (Urbanist, une seule famille) */
:root{
  --font-sans:"Urbanist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:var(--font-sans);
  --font-body:var(--font-sans);

  --fw-light:300; /* @kind font */
  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */
  --fw-extrabold:800; /* @kind font */

  --fs-display:60px;
  --lh-display:1.05; /* @kind font */
  --ls-display:-0.02em; /* @kind font */
  --fs-h1:46px;
  --lh-h1:1.1; /* @kind font */
  --ls-h1:-0.015em; /* @kind font */
  --fs-h2:36px;
  --lh-h2:1.15; /* @kind font */
  --ls-h2:-0.01em; /* @kind font */
  --fs-h3:26px;
  --lh-h3:1.25; /* @kind font */
  --fs-h4:20px;
  --lh-h4:1.35; /* @kind font */
  --fs-lead:21px;
  --lh-lead:1.55; /* @kind font */
  --fs-body:17px;
  --lh-body:1.65; /* @kind font */
  --fs-small:15px;
  --lh-small:1.55; /* @kind font */
  --fs-caption:13px;
  --lh-caption:1.45; /* @kind font */
  --fs-eyebrow:13px;
  --ls-eyebrow:0.14em; /* @kind font */

  --type-heading-weight:var(--fw-bold); /* @kind font */
  --type-display-weight:var(--fw-extrabold); /* @kind font */
  --type-nav-weight:var(--fw-semibold); /* @kind font */
  --type-button-weight:var(--fw-bold); /* @kind font */
}

/* RAJF — espacements, rayons, ombres, mouvement, grille */
:root{
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;

  --section-y:96px;         /* marge verticale d'une section */
  --section-y-sm:64px;
  --container-max:1200px;
  --container-narrow:760px; /* colonne de lecture */
  --gutter:24px;
  --header-h:88px;

  --radius-xs:2px; --radius-sm:4px; --radius-md:8px; --radius-lg:16px; --radius-pill:999px;
  --radius-button:var(--radius-pill);
  --radius-card:var(--radius-md);
  --radius-input:var(--radius-sm);

  --border-width:1px; /* @kind spacing */

  --shadow-xs:0 1px 2px rgba(0,44,87,.06);
  --shadow-sm:0 2px 6px rgba(0,44,87,.08);
  --shadow-md:0 8px 24px rgba(0,44,87,.10);
  --shadow-lg:0 20px 48px rgba(0,44,87,.16);
  --shadow-card:var(--shadow-xs);
  --shadow-card-hover:var(--shadow-md);

  --ease-standard:cubic-bezier(.2,.7,.2,1); /* @kind other */
  --ease-in-out:cubic-bezier(.45,0,.25,1); /* @kind other */
  --dur-fast:120ms; /* @kind other */
  --dur-base:200ms; /* @kind other */
  --dur-slow:360ms; /* @kind other */

  --z-header:50; /* @kind other */
  --z-overlay:90; /* @kind other */
  --z-dialog:100; /* @kind other */
  --z-toast:110; /* @kind other */
  --z-tooltip:120; /* @kind other */
}

/* RAJF — styles de base */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);font-weight:var(--type-heading-weight);margin:0;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
h4{font-size:var(--fs-h4);line-height:var(--lh-h4)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--rajf-rose-100);color:var(--rajf-navy)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}


/* ---- Site RAJF : compléments à la feuille du design system ---- */
body{margin:0;background:#fff;font-family:"Urbanist",system-ui,sans-serif}
a{color:#005e97}a:hover{color:#00cec8}
img{max-width:100%}
/* en-têtes : bureau (>= 1040 px) et mobile avec menu burger */
.hd-m{display:none!important}
@media (max-width:1039.98px){.hd-d{display:none!important}.hd-m{display:block!important}}
.hd-m .mpanel{display:none!important}
.hd-m .mnav:checked~div .mpanel{display:flex!important}
.hd-m .ic-x{display:none!important}
.hd-m .mnav:checked~div .ic-x{display:inline-flex!important}
.hd-m .mnav:checked~div .ic-menu{display:none!important}
.hd-m label[for]{cursor:pointer}
/* animations d'apparition : les éléments pré-marqués sont masqués dès le premier affichage quand le script tourne (html.js),
   puis révélés par assets/motion.js ; sans script, repli CSS au défilement dans les navigateurs récents */
html.js [data-rv]{opacity:0}
@keyframes rv-up{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}
@keyframes rv-fade{from{opacity:0}to{opacity:1}}
@keyframes rv-zoom{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes rv-zoom-img{from{transform:scale(1.06)}to{transform:none}}
@supports (animation-timeline: view()){
  html:not(.js) [data-rv=up]{animation:rv-up .75s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 45%}
  html:not(.js) [data-rv=fade]{animation:rv-fade .75s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 45%}
  html:not(.js) [data-rv=zoom]{animation:rv-zoom .75s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 45%}
  html:not(.js) [data-rv=zoom] img{animation:rv-zoom-img 1.4s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 0% entry 60%}
}

/* états de survol, de focus et de pression des composants */
.scp-index-0:hover { color: rgb(0, 206, 200) !important; }
.hx1yjoffl-a:hover{color:var(--rajf-navy)!important}
.hx1yjoffl-a:hover .hx1yjoffl-1{transform:scaleX(1)!important}
.hx16f89g2-a:hover{background:var(--cta-bg-hover)!important}
.hxny84df-a:hover{background:var(--cta-bg-hover)!important}
.hx17ikwg2-a:hover{background:var(--rajf-navy)!important;color:rgb(255, 255, 255)!important}
.hxg3v9mc-a:hover{border:1px solid var(--rajf-navy-200)!important;box-shadow:var(--shadow-card-hover)!important}
.hxg3v9mc-a:hover .hxg3v9mc-1{background:var(--rajf-rose)!important}
.hxg3v9mc-a:hover .hxg3v9mc-2{color:var(--rajf-navy-700)!important}
.hx1ytytm3-a:hover{background:var(--rajf-navy-700)!important}
.hx1mcsqa1-a:hover{background:var(--rajf-navy-050)!important}
.hx175ik9u-a:hover{background:rgb(255, 255, 255)!important;color:var(--rajf-navy)!important}
.hx26uoz6-a:hover .hx26uoz6-0{text-decoration:underline!important}
.hx26uoz6-a:hover .hx26uoz6-1{transform:translateX(3px)!important}
.hx1f8zu5y-a:hover{background:var(--rajf-navy)!important;color:rgb(255, 255, 255)!important}
.hx17w89hy-a:focus{border:1px solid var(--border-focus)!important;box-shadow:var(--focus-ring)!important}
.hx1xvcjig-a:focus{border:1px solid var(--border-focus)!important;box-shadow:var(--focus-ring)!important}
.hx16f89g2-a:active{background:var(--cta-bg-active)!important;transform:translateY(1px)!important}
.hxny84df-a:active{background:var(--cta-bg-active)!important;transform:translateY(1px)!important}
.hx17ikwg2-a:active{transform:translateY(1px)!important}
.hx1ytytm3-a:active{background:var(--rajf-navy-900)!important;transform:translateY(1px)!important}
.hx1mcsqa1-a:active{transform:translateY(1px)!important}
