
/* ============================================================
   Toutes les règles sont scopées sous .rc-donation-rivka
   pour ne jamais entrer en collision avec Bootstrap ou le
   reste du template (header / footer existants).
   ============================================================ */
.rc-donation-rivka{
  --noir:      #171009;
  --brun:      #2b1d12;
  --rose:      #b96a5a;
  --rose-vif:  #c97b69;
  --rose-pale: #e0b4a8;
  --creme:     #f4eee5;
  --creme-2:   #ece4d7;
  --blanc:     #ffffff;
  --encre:     #2b2119;
  --encre-2:   #6b5d50;
  --ok:        #8a9a6b;
  --font-display: 'Anton', sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --pad: 24px;
  --radius: 14px;

  font-family: var(--font-body);
  background: var(--noir);
  color: var(--encre);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.rc-donation-rivka,
.rc-donation-rivka *,
.rc-donation-rivka *::before,
.rc-donation-rivka *::after{
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

/* Reset ciblé (sans toucher au reste du template) */
.rc-donation-rivka h1,
.rc-donation-rivka h2,
.rc-donation-rivka h3,
.rc-donation-rivka h4,
.rc-donation-rivka p,
.rc-donation-rivka ul,
.rc-donation-rivka li{
  margin: 0;
  padding: 0;
}
.rc-donation-rivka ul{ list-style: none; }
.rc-donation-rivka a{ text-decoration: none; color: inherit; }
.rc-donation-rivka button{ font: inherit; }

@media (prefers-reduced-motion: reduce){
  .rc-donation-rivka *, .rc-donation-rivka *::before, .rc-donation-rivka *::after{
    animation: none !important; transition: none !important;
  }
}
.rc-fade-in{
  opacity:0;
  transform: translateY(10px);
  transition: opacity .7s ease, transform .7s ease;
}
.rc-fade-in.rc-is-visible{
  opacity:1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .rc-fade-in{ opacity:1; transform:none; }
}
.rc-donation-rivka img{ max-width:100%; display:block; }

.rc-display{
  font-family: var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  line-height:.95;
}
.rc-section-title{
  font-family: var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  font-size: clamp(22px, 5.8vw, 28px);
  line-height:1.1;
  margin-bottom: 6px;
}
.rc-eyebrow{
  color: var(--rose);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 16px;
}

.rc-btn{
  display:flex; align-items:center; justify-content:center; gap:13px;
  width:100%;
  padding: 30px 30px;
  background: var(--rose);
  color: var(--blanc);
  border:none; border-radius:13px;
  font-family: var(--font-body);
  font-weight:900; font-size:19.5px;
  text-transform:uppercase; letter-spacing:.03em;
  text-decoration:none; cursor:pointer;
  box-shadow: 0 12px 32px rgba(185,106,90,.4);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.rc-btn:hover{ background:var(--rose-vif); box-shadow: 0 14px 36px rgba(185,106,90,.5); }
.rc-btn:active{ transform:scale(.97); background:var(--rose-vif); }
.rc-btn svg{ width:25px; height:25px; flex-shrink:0; }

.rc-donation-rivka section{ padding: 44px var(--pad); }
.rc-inner{ max-width: 680px; margin:0 auto; }

/* ===== 1. HERO ===== */
.rc-hero{
  position:relative;
  background: var(--noir);
  color: var(--blanc);
}
.rc-hero-photo{
  position:relative;
  height: 44vh;
  min-height: 280px;
  background: linear-gradient(160deg, #2a1d14 0%, #16100b 70%);
  overflow:hidden;
}
.rc-hero-photo img{ width:100%; height:100%; object-fit:cover; object-position: 55% 20%; }
.rc-hero-photo::after{
  content:'';
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(23,16,9,.05) 35%, var(--noir) 96%);
}
.rc-hero-content{
  position:relative;
  padding: 0 var(--pad) 36px;
  margin-top: -60px;
  max-width: 680px;
  margin-left:auto; margin-right:auto;
}
.rc-hero-title{
  font-size: clamp(74px, 22vw, 134px);
  color: var(--blanc);
}
.rc-hero-title span{
  display:block;
  font-size: clamp(42px, 12vw, 75px);
  color: var(--rose-vif);
  margin-top: 2px;
}
.rc-hero-sub{
  color: rgba(255,255,255,.88);
  font-size: 17px;
  line-height:1.45;
  margin: 18px 0 20px;
}
.rc-hero-sub .rc-accent{ color: var(--rose-pale); font-weight:700; }

/* --- Bloc urgence dans le hero --- */
.rc-urgence{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background: rgba(185,106,90,.3);
  border: 2px solid var(--rose-vif);
  border-radius: 12px;
  padding: 16px 17px;
  margin-bottom: 22px;
  box-shadow: 0 6px 22px rgba(185,106,90,.25);
}
.rc-urgence .rc-glyphe{
  flex-shrink:0;
  margin-top:1px;
  color: var(--rose-pale);
  display:flex;
}
.rc-urgence .rc-txt strong{
  display:block;
  color: var(--rose-pale);
  font-weight:800;
  font-size: 12.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom: 4px;
}
.rc-urgence .rc-txt p{
  color: rgba(255,255,255,.9);
  font-size: 14.5px;
  line-height:1.4;
}
.rc-urgence .rc-txt p b{ color: var(--blanc); }

/* ===== CITATION ===== */
.rc-s-citation{ background: var(--creme); padding-top: 48px; padding-bottom: 12px; }
.rc-citation-bloc{
  border-left: 4px solid var(--rose);
  padding-left: 22px;
}
.rc-citation-bloc p{
  font-family: var(--font-display);
  font-weight:400;
  text-transform:none;
  font-size: clamp(27px, 7.4vw, 40px);
  line-height:1.22;
  color: var(--encre);
  letter-spacing:.005em;
}
.rc-citation-bloc span{
  display:block;
  margin-top: 16px;
  font-size: 14px;
  font-weight:700;
  color: var(--encre-2);
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* ===== 2. TEXTE EXPLICATIF (aéré) ===== */
.rc-s-recit{ background: var(--creme); padding-top: 12px; }
.rc-recit-bloc{ margin-bottom: 18px; }
.rc-recit-bloc:last-of-type{ margin-bottom: 12px; }
.rc-recit-bloc .rc-tag{
  display:inline-block;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing:.07em;
  color: var(--rose);
  margin-bottom: 8px;
}
.rc-recit-bloc p{ color: var(--encre); font-size: 16px; line-height:1.55; }
.rc-recit-bloc p strong{ color: var(--encre); font-weight:800; }
.rc-recit-bloc .rc-phrase-choc{ color: var(--rose); font-weight: 800; }
.rc-recit-divider{
  width: 40px; height: 2px;
  background: var(--rose-pale);
  margin: 22px 0;
  border-radius: 2px;
}

/* ===== SNAPSHOT — Qui est Rivka aujourd'hui ===== */
.rc-s-snapshot{ background: var(--blanc); }
.rc-snapshot-card{
  background: var(--creme-2);
  border-radius: var(--radius);
  padding: 24px 20px;
}
.rc-snapshot-card h3{
  font-family: var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  font-size: 19px;
  color: var(--encre);
  margin-bottom: 16px;
}
.rc-snapshot-liste{ display:flex; flex-direction:column; gap:12px; }
.rc-snapshot-item{
  display:flex; align-items:center; gap:12px;
}
.rc-snapshot-item .rc-emo{
  width:30px; height:24px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  color: var(--rose);
}
.rc-snapshot-item .rc-emo svg{ width:22px; height:22px; }
.rc-snapshot-item span{ font-size:15px; color: var(--encre); }
.rc-snapshot-item strong{ font-weight:700; }

/* ===== VIDÉOS ===== */
.rc-video-box{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius: var(--radius);
  overflow:hidden;
  background: linear-gradient(150deg, #33241a, #17110c);
  margin-bottom: 18px;
}
.rc-video-box iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.rc-video-ph{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  color: rgba(255,255,255,.85);
  cursor:pointer;
}
.rc-video-ph .rc-play{
  width:108px; height:108px; border-radius:50%;
  background: rgba(255,255,255,.97);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 32px rgba(0,0,0,.45);
  transition: transform .15s ease;
}
.rc-video-ph:hover .rc-play{ transform: scale(1.05); }
.rc-video-ph:active .rc-play{ transform: scale(.94); }
.rc-video-ph .rc-play svg{ width:40px; height:40px; margin-left:5px; }
.rc-video-ph .rc-duree{
  position:absolute; right:12px; bottom:10px;
  background: rgba(0,0,0,.6);
  padding:3px 9px; border-radius:5px;
  font-size:12.5px; font-weight:600;
}

/* ===== 3. VIDÉO 1 MIN (fond noir) ===== */
.rc-s-message{ background: var(--brun); color: rgba(255,255,255,.85); }
.rc-s-message .rc-section-title{ color: var(--blanc); }
.rc-s-message .rc-eyebrow{ color: var(--rose-pale); }
.rc-s-message p.rc-desc{ font-size:14.5px; color:rgba(255,255,255,.7); margin-bottom:18px; }

/* ===== JAUGE DE COLLECTE ===== */
.rc-preuve-sociale{
  display:flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:700;
  color: var(--rose-pale);
  margin-top: 26px;
  margin-bottom: 10px;
}
.rc-preuve-sociale svg{ flex-shrink:0; }
.rc-jauge-globale{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: 20px;
  margin-top: 0;
}
.rc-jauge-chiffres{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom: 12px;
}
.rc-jauge-chiffres .rc-collecte{ font-size:22px; font-weight:800; color: var(--blanc); }
.rc-jauge-chiffres .rc-collecte span{ font-size:12.5px; font-weight:600; color:rgba(255,255,255,.55); display:block; text-transform:uppercase; letter-spacing:.05em; }
.rc-jauge-chiffres .rc-objectif{ font-size:14px; color:rgba(255,255,255,.6); text-align:right; }
.rc-jauge-chiffres .rc-objectif strong{ color: var(--rose-pale); }
.rc-jauge-barre{
  height: 12px;
  background: rgba(255,255,255,.1);
  border-radius: 99px;
  overflow:hidden;
  margin-bottom: 8px;
}
.rc-jauge-barre i{
  display:block; height:100%;
  background: linear-gradient(90deg, var(--rose), var(--rose-vif));
  border-radius:99px;
  width:0%;
  transition: width 1.4s cubic-bezier(.2,.8,.2,1);
}
.rc-jauge-pct{ font-size:13px; font-weight:700; color: var(--rose-pale); }

/* ===== 4. BESOINS — CARTES (fond clair) ===== */
.rc-s-besoins{ background: var(--creme); color: var(--encre); }
.rc-s-besoins .rc-section-title{ color: var(--encre); }
.rc-besoins-intro{ font-size: 15.5px; margin-bottom: 24px; color: var(--encre-2); }
.rc-besoins-intro strong{ color: var(--encre); }

.rc-groupe-titre{
  display:flex; align-items:center; gap:10px;
  margin: 30px 0 14px;
}
.rc-groupe-titre:first-of-type{ margin-top:0; }
.rc-groupe-titre .rc-ico{
  width:34px; height:34px; border-radius:9px;
  background: rgba(185,106,90,.14);
  display:flex; align-items:center; justify-content:center;
  color: var(--rose);
  flex-shrink:0;
}
.rc-groupe-titre .rc-ico svg{ width:18px; height:18px; }
.rc-groupe-titre span{
  font-weight:800; font-size:13.5px;
  text-transform:uppercase; letter-spacing:.06em;
  color: var(--rose);
}

.rc-cartes-besoins{
  display:flex; flex-direction:column; gap:12px;
}
.rc-carte-besoin{
  display:flex; align-items:center; gap:14px;
  background: var(--blanc);
  border: 1px solid var(--creme-2);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 2px 10px rgba(43,33,25,.05);
}
.rc-carte-besoin .rc-emo{
  width:44px; height:44px; flex-shrink:0;
  border-radius:10px;
  background: var(--creme-2);
  display:flex; align-items:center; justify-content:center;
  color: var(--rose);
}
.rc-carte-besoin .rc-emo svg{ width:22px; height:22px; }
.rc-carte-besoin .rc-infos{ flex:1; min-width:0; }
.rc-carte-besoin .rc-infos .rc-nom{ font-size:14.5px; font-weight:700; color:var(--encre); }
.rc-carte-besoin .rc-infos .rc-montant{ font-size:13px; color: var(--rose); font-weight:800; margin-top:1px; }
.rc-carte-besoin .rc-offrir{
  flex-shrink:0;
  padding: 13px 22px;
  background: var(--rose);
  color: var(--blanc);
  border-radius: 9px;
  border: 2px solid var(--rose-pale);
  font-family: var(--font-body);
  font-weight:900;
  font-size:14.5px;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  box-shadow: 0 5px 16px rgba(185,106,90,.38);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.rc-carte-besoin .rc-offrir:hover{ background:var(--rose-vif); box-shadow: 0 7px 20px rgba(185,106,90,.5); }
.rc-carte-besoin .rc-offrir:active{ transform:scale(.94); background:var(--rose-vif); }

.rc-don-libre{
  text-align:center; font-size:13.5px;
  color: var(--encre-2);
  margin: 24px 0 20px;
}

/* ===== POURQUOI (carte avec icône) ===== */
.rc-s-pourquoi{ background: var(--creme-2); }
.rc-pourquoi-card{
  background: var(--brun); color: rgba(255,255,255,.85);
  border-radius: var(--radius); padding: 24px 20px;
}
.rc-pourquoi-head{
  display:flex; align-items:center; gap:12px;
  margin-bottom: 12px;
}
.rc-pourquoi-head .rc-ico{
  width:38px; height:38px; flex-shrink:0;
  border-radius:10px;
  background: rgba(185,106,90,.2);
  display:flex; align-items:center; justify-content:center;
  color: var(--rose-pale);
}
.rc-pourquoi-head .rc-ico svg{ width:19px; height:19px; }
.rc-pourquoi-card h3{
  font-family: var(--font-display); font-weight:400; text-transform:uppercase;
  font-size:18px; line-height:1.15; color:var(--blanc);
}
.rc-pourquoi-card p{ font-size:14.5px; }
.rc-pourquoi-card strong{ color: var(--rose-pale); }

/* ===== 5. TÉMOIGNAGE (crème) ===== */
.rc-s-temoignage{ background: var(--creme); }
.rc-s-temoignage p{ color: var(--encre-2); font-size:14.5px; margin-top: 10px; }
.rc-temoignage-titre{
  font-family: var(--font-display);
  font-weight:400;
  text-transform:none;
  font-size: clamp(24px, 6.4vw, 34px);
  line-height:1.2;
  color: var(--encre);
  margin-bottom: 8px;
}
.rc-temoignage-souscritique{
  font-size: 14px !important;
  font-weight: 700;
  color: var(--rose) !important;
  text-transform: uppercase;
  letter-spacing:.04em;
  margin-top: 0 !important;
  margin-bottom: 16px;
}
.rc-lien-youtube{
  display:flex; align-items:center; gap:8px;
  margin-top: 16px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--encre-2);
  text-decoration: none;
  border-bottom: 1px solid var(--encre-2);
  padding-bottom: 2px;
  width: fit-content;
}
.rc-lien-youtube svg{ width:15px; height:15px; flex-shrink:0; }
.rc-lien-youtube:hover{ color: var(--rose); border-color: var(--rose); }

/* ===== 6. CLÔTURE ===== */
.rc-s-cloture{ position:relative; background:var(--noir); color:var(--blanc); padding:0; }
.rc-cloture-photo{
  position:relative; height:42vh; min-height:280px;
  background: linear-gradient(160deg, #4a3d2e 0%, #241a11 80%);
}
.rc-cloture-photo img{ width:100%; height:100%; object-fit:cover; }
.rc-cloture-photo::after{
  content:''; position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(23,16,9,.1) 45%, var(--noir) 97%);
}
.rc-cloture-photo .rc-legende{
  position:absolute; left:var(--pad); right:var(--pad); bottom:18px; z-index:2;
  font-family: var(--font-display); font-weight:400; text-transform:uppercase;
  font-size: clamp(27px, 7.6vw, 38px); line-height:1.1;
  text-shadow: 0 2px 16px rgba(0,0,0,.65);
}
.rc-cloture-photo .rc-legende .rc-accent{ color: var(--rose-vif); }
.rc-cloture-content{
  padding: 30px var(--pad) 44px;
  max-width:680px; margin:0 auto;
}
.rc-cloture-content .rc-merci{
  color: rgba(255,255,255,.85); font-size:16px;
  margin-bottom: 22px;
}
.rc-cloture-content .rc-merci strong{ color: var(--rose-pale); }
.rc-cloture-checklist{
  display:flex; flex-direction:column; gap:11px;
  margin-bottom: 28px;
}
.rc-cloture-checklist .rc-item{
  display:flex; align-items:center; gap:10px;
  font-size: 15px;
  color: rgba(255,255,255,.9);
  font-weight:600;
}
.rc-cloture-checklist .rc-item svg{
  width:20px; height:20px; flex-shrink:0;
  color: var(--ok);
}

/* ===== STICKY CTA ===== */
@media (max-width: 767px){
  .rc-donation-rivka{ padding-bottom: 84px; }
}
.rc-sticky-cta{
  position:fixed; left:0; right:0; bottom:0;
  padding: 10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background: rgba(23,16,9,.92);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  transform: translateY(110%);
  transition: transform .3s ease;
  z-index:50;
}
.rc-sticky-cta.rc-visible{ transform: translateY(0); }
.rc-sticky-cta .rc-btn{ padding:15px 20px; font-size:15.5px; }

/* ===== DESKTOP ===== */
@media (min-width: 768px){
  .rc-donation-rivka{ --pad: 40px; }
  .rc-donation-rivka section{ padding: 68px var(--pad); }
  .rc-hero{ display:grid; grid-template-columns: 1.1fr 1fr; min-height: 82vh; }
  .rc-hero-photo{ order:2; height:auto; min-height:100%; }
  .rc-hero-photo::after{ background: linear-gradient(to right, var(--noir) 0%, rgba(23,16,9,.55) 8%, rgba(23,16,9,0) 24%); }
  .rc-hero-content{
    order:1; margin-top:0;
    display:flex; flex-direction:column; justify-content:center;
    padding: 60px 50px 60px 60px;
  }
  .rc-hero-content .rc-btn{ max-width: 420px; }

  .rc-snapshot-liste{ display:grid; grid-template-columns: 1fr 1fr; gap:14px 24px; }

  .rc-cartes-besoins{ display:grid; grid-template-columns: 1fr 1fr; }

  .rc-s-cloture{ display:grid; grid-template-columns: 1.05fr 1fr; }
  .rc-cloture-photo{ height:auto; min-height:460px; }
  .rc-cloture-photo::after{ background: linear-gradient(to right, rgba(23,16,9,0) 55%, var(--noir) 98%); }
  .rc-cloture-content{ display:flex; flex-direction:column; justify-content:center; padding: 60px; }

  .rc-sticky-cta{ display:none; }
}

/* ===== PANNEAU PHOTO STICKY (desktop large) ===== */
.rc-split-desktop{ display:block; }
.rc-split-sticky{ display:none; }
@media (min-width: 1024px){
  .rc-split-desktop{
    display:grid;
    grid-template-columns: 40vw 1fr;
    align-items:start;
  }
  .rc-split-sticky{
    display:block;
    position:sticky;
    top:0;
    height:100vh;
    background-size:cover;
    background-position:55% 15%;
    background-repeat:no-repeat;
  }
  .rc-split-sticky::after{
    content:'';
    position:absolute; inset:0;
    background: linear-gradient(to bottom, rgba(23,16,9,.08) 0%, rgba(23,16,9,.35) 100%);
  }
  .rc-split-sticky{ position:sticky; }
  .rc-split-content{ min-width:0; }
}
