/* =========================================================
   Nava Widgets — Choisissez votre expérience
   3 thèmes : .rx--rose (clair, berry) · .rx--bordeaux (sombre bordeaux, accents rosés) · .rx--red (noir / rouge pur)
   ========================================================= */
.rx{
  /* ---- thème ROSE (défaut) ---- */
  --bg:#FFEFEF;--ink:#2b2b2b;--muted:#6e6266;--quote:#4a3a3e;--li:#2b2b2b;
  --accent:#741E31;--accent-bright:#8C2038;
  --accent-grad:linear-gradient(135deg,#8C2038 0%,#741E31 55%,#420D19 100%);
  --glass:rgba(255,255,255,.55);--gborder:rgba(255,255,255,.65);
  --card-glass:rgba(116,30,49,.06);--card-gborder:rgba(116,30,49,.22);--card-hover:rgba(116,30,49,.45);
  --card-glow:rgba(140,32,56,.10);--sh:rgba(66,13,25,.45);
  --glow1:rgba(214,132,144,.34);--glow2:rgba(140,32,56,.16);--ring:rgba(116,30,49,.16);
  --tag-c:#741E31;--tag-bg:rgba(116,30,49,.07);--tag-bd:rgba(116,30,49,.22);
  --ntag-c:#4a3a3e;--ntag-bg:rgba(43,43,43,.06);--ntag-bd:rgba(43,43,43,.16);
  --nbadge-c:#4a3a3e;--nbadge-bg:rgba(43,43,43,.07);--nbadge-bd:rgba(43,43,43,.18);
  --nbtn-c:#2b2b2b;--nbtn-bd:rgba(43,43,43,.32);--nbtn-hover-bg:#2b2b2b;--nbtn-hover-c:#fff;
  --dot-glow:rgba(140,32,56,.45);--ndot:#b8a3a8;
  position:relative;overflow:hidden;background:var(--bg);color:var(--ink);
  font-family:'Outfit',sans-serif;padding:clamp(66px,10vw,124px) 20px;
}
.rx.rx--bordeaux{
  --bg:#2e0a14;--ink:#fff5f6;--muted:#d9c1c7;--quote:#f3dfe3;--li:#f6e6e9;
  --accent:#ffb1c1;--accent-bright:#ffc4d0;
  --accent-grad:linear-gradient(135deg,#ffa1b6,#e2617f);
  --glass:rgba(255,255,255,.06);--gborder:rgba(255,255,255,.14);
  --card-glass:rgba(255,150,175,.10);--card-gborder:rgba(255,170,190,.30);--card-hover:rgba(255,190,205,.6);
  --card-glow:rgba(255,150,175,.16);--sh:rgba(120,20,50,.6);
  --glow1:rgba(255,140,170,.22);--glow2:rgba(140,32,56,.45);--ring:rgba(255,170,190,.18);
  --tag-c:#ffd9e1;--tag-bg:rgba(255,150,175,.12);--tag-bd:rgba(255,170,190,.32);
  --ntag-c:#f3dfe3;--ntag-bg:rgba(255,255,255,.07);--ntag-bd:rgba(255,255,255,.16);
  --nbadge-c:#f3dfe3;--nbadge-bg:rgba(255,255,255,.10);--nbadge-bd:rgba(255,255,255,.18);
  --nbtn-c:#fff;--nbtn-bd:rgba(255,255,255,.38);--nbtn-hover-bg:#fff;--nbtn-hover-c:#2e0a14;
  --dot-glow:rgba(255,160,185,.9);--ndot:#d9c1c7;
}
.rx.rx--red{
  --bg:#0a0305;--ink:#f6f2f2;--muted:#b6a2a4;--quote:#e9dede;--li:#efe4e4;
  --accent:#ff2626;--accent-bright:#ff4a4a;
  --accent-grad:linear-gradient(135deg,#ff2f2f,#c20000);
  --glass:rgba(255,255,255,.05);--gborder:rgba(255,255,255,.12);
  --card-glass:rgba(255,30,30,.09);--card-gborder:rgba(255,70,70,.30);--card-hover:rgba(255,90,90,.55);
  --card-glow:rgba(255,30,30,.16);--sh:rgba(255,0,0,.5);
  --glow1:rgba(255,20,20,.20);--glow2:rgba(255,20,20,.12);--ring:rgba(255,60,60,.18);
  --tag-c:#ffd6d6;--tag-bg:rgba(255,40,40,.10);--tag-bd:rgba(255,70,70,.3);
  --ntag-c:#e8dede;--ntag-bg:rgba(255,255,255,.06);--ntag-bd:rgba(255,255,255,.14);
  --nbadge-c:#d8cccc;--nbadge-bg:rgba(255,255,255,.10);--nbadge-bd:rgba(255,255,255,.18);
  --nbtn-c:#fff;--nbtn-bd:rgba(255,255,255,.35);--nbtn-hover-bg:#fff;--nbtn-hover-c:#0a0305;
  --dot-glow:rgba(255,40,40,.9);--ndot:#cfc3c3;
}
.rx *{box-sizing:border-box;}
.rx__glow{position:absolute;border-radius:50%;filter:blur(130px);pointer-events:none;z-index:0;}
.rx__glow.g1{width:560px;height:560px;background:radial-gradient(circle,var(--glow1),transparent 70%);top:-180px;left:50%;transform:translateX(-60%);}
.rx__glow.g2{width:440px;height:440px;background:radial-gradient(circle,var(--glow2),transparent 70%);bottom:-120px;right:-120px;}
.rx__ring{position:absolute;width:min(48vw,540px);aspect-ratio:1;border-radius:50%;border:1px solid var(--ring);top:-14%;right:-12%;pointer-events:none;z-index:0;}
.rx__ring::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid var(--ring);opacity:.7;}
.rx__inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;text-align:center;}
.rx__eyebrow{margin:0 0 16px;font-size:clamp(.72rem,1.6vw,.82rem);font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);}
.rx__title{margin:0 0 22px;font-size:clamp(2.1rem,6vw,3.7rem);font-weight:800;line-height:1.05;letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);}
.rx__title i{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;text-transform:none;color:var(--accent);}
.rx__title b{color:var(--accent);}
.rx__concept{margin:0 auto clamp(40px,6vw,60px);max-width:620px;font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(1.15rem,2.6vw,1.5rem);line-height:1.5;color:var(--quote);}
/* photos (2 ou 3) */
.rx__photos{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:clamp(10px,2vw,18px);max-width:860px;margin:calc(-1 * clamp(14px,3vw,26px)) auto clamp(44px,6vw,64px);}
.rx__photo{position:relative;aspect-ratio:4/5;border-radius:clamp(16px,2.4vw,24px);overflow:hidden;border:1px solid var(--gborder);box-shadow:0 26px 50px -30px var(--sh);background:var(--glass);}
.rx__photo img,.rx__photo video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.rx__photo:hover img,.rx__photo:hover video{transform:scale(1.05);}
.rx__photos[style*="--n:3"] .rx__photo:nth-child(2){transform:translateY(clamp(14px,3vw,28px));}
.rx__photos[style*="--n:2"]{max-width:640px;}
.rx__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left;}
@media(max-width:900px){.rx__grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;}}
.rx-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px;padding:clamp(28px,3vw,36px) clamp(24px,3vw,30px);border-radius:24px;
  background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--gborder);
  transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;}
.rx-card:hover{transform:translateY(-8px);}
.rx-card--red{background:var(--card-glass);border-color:var(--card-gborder);}
.rx-card--red::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 50% 0,var(--card-glow),transparent 58%);pointer-events:none;}
.rx-card--red:hover{border-color:var(--card-hover);box-shadow:0 40px 80px -32px var(--sh);}
.rx-card--neutral:hover{border-color:var(--card-hover);box-shadow:0 40px 80px -34px var(--sh);}
.rx-card>*{position:relative;}
.rx-card__badge{align-self:flex-start;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--accent-grad);padding:5px 12px;border-radius:999px;box-shadow:0 6px 16px -6px var(--sh);}
.rx-card__badge--muted{background:var(--nbadge-bg);color:var(--nbadge-c);box-shadow:none;border:1px solid var(--nbadge-bd);}
.rx-card__name{margin:0;font-size:clamp(1.4rem,2.6vw,1.7rem);font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);}
.rx-card__sub{margin:-10px 0 0;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.rx-card--red .rx-card__sub{color:var(--accent-bright);}
.rx-card__desc{margin:0;color:var(--muted);font-weight:300;font-size:.96rem;line-height:1.6;}
.rx-card__meta{display:flex;flex-wrap:wrap;gap:7px;}
.rx-card__meta span{font-size:.72rem;font-weight:500;letter-spacing:.03em;padding:5px 11px;border-radius:999px;color:var(--ntag-c);background:var(--ntag-bg);border:1px solid var(--ntag-bd);}
.rx-card--red .rx-card__meta span{color:var(--tag-c);background:var(--tag-bg);border-color:var(--tag-bd);}
.rx-card__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:2px 0 -6px;}
.rx-card__courses{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;}
.rx-card__courses li{display:flex;align-items:center;gap:9px;font-size:.92rem;font-weight:300;color:var(--li);}
.rx-card__courses li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 7px var(--dot-glow);}
.rx-card--neutral .rx-card__courses li::before{background:var(--ndot);box-shadow:none;}
.rx-card__btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:600;font-size:.9rem;padding:13px 22px;border-radius:999px;transition:all .35s ease;}
.rx-card--red .rx-card__btn{color:#fff;background:var(--accent-grad);box-shadow:0 12px 26px -10px var(--sh);}
.rx-card--red .rx-card__btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px var(--sh);}
.rx-card--neutral .rx-card__btn{color:var(--nbtn-c);background:transparent;border:1.5px solid var(--nbtn-bd);}
.rx-card--neutral .rx-card__btn:hover{background:var(--nbtn-hover-bg);color:var(--nbtn-hover-c);transform:translateY(-2px);}
.rx-card__btn svg{width:15px;height:15px;}
.rx__tagline{margin:clamp(44px,6vw,64px) 0 0;font-size:clamp(.85rem,2vw,1rem);font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);}

/* ---- média (image / vidéo) dans les cartes ---- */
.rx-card{--padx:clamp(24px,3vw,30px);--pady:clamp(28px,3vw,36px);}
.rx-card__media{position:relative;z-index:0;margin:calc(-1 * var(--pady)) calc(-1 * var(--padx)) 4px;aspect-ratio:16/10;overflow:hidden;background:var(--glass);}
.rx-card__media img,.rx-card__media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.rx-card:hover .rx-card__media img,.rx-card:hover .rx-card__media video{transform:scale(1.05);}
.rx-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg),transparent 60%);opacity:.75;pointer-events:none;}
