@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&display=swap");
h1, h2, h3 { font-family: "Cinzel", serif; }
p, li { line-height: 1.6; }
body { background-color:#000000 !important; color:#D4AF37 !important; } 
h1, h2, h3 { font-family: "Cinzel", serif !important; color:#D4AF37 !important; letter-spacing:1px; } 
.btn-gold { background-color:#000000 !important; border:1px solid #D4AF37 !important; color:#D4AF37 !important; } 
.container, main, footer { background-color:transparent !important; }
/* Minimal base styles */
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#0b0b0b;color:#f5f5f5}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px}
.brand{display:flex;align-items:center;font-weight:700;letter-spacing:.4px}
.brand img{width:36px;height:36px;border-radius:8px;object-fit:cover}
.brand span{font-size:18px}
.hero{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url('/assets/img/hero.jpg') center/cover no-repeat;filter:brightness(1.1)}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center, rgba(255,255,255,.08), rgba(0,0,0,.5))}
.hero .inner{position:relative;text-align:center;padding:24px}
.hero h1{font-size:clamp(32px,6vw,64px);margin:0 0 10px;font-weight:800}
.hero p{opacity:.9;margin:0 0 18px}
.cta{display:inline-block;background:#f8f8f8;color:#0b0b0b;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.footer{opacity:.7;text-align:center;padding:20px 0;border-top:1px solid #222;margin-top:40px}


/* Social links bar */
.footer .socials{margin-top:10px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.footer .socials a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#1a1a1a;color:#f5f5f5;opacity:.95;text-decoration:none;transition:transform .15s ease, opacity .15s ease}
.footer .socials a:hover{transform:translateY(-2px);opacity:1}
.footer .socials svg{display:block}


/* Top navigation */
.topnav{display:flex;gap:18px;align-items:center}
@media (min-width: 720px){
  .header{gap:20px}
  .header .brand{margin-right:auto}
  .header .topnav{margin-left:auto}
}
.topnav a{color:#f5f5f5;text-decoration:none;opacity:.9;font-weight:600}
.topnav a:hover{opacity:1;text-decoration:underline}


/* RF gold & shine */
.logo-rf{
  display:inline-block;
  margin-right:10px;
  font-weight:900;
  font-size:22px;
  line-height:1;
  letter-spacing:0.5px;
  position:relative;
  padding:6px 10px;
  border-radius:10px;
  background: linear-gradient(135deg, #edc04a 0%, #ffd05e 35%, #d18f00 60%, #ffe099 85%, #b07000 100%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow:
    0 1px 1px rgba(0,0,0,.32),
    0 0 12px rgba(237,192,74,.28);
}
.logo-rf::after{
  content:"";
  position:absolute;
  top:-20%;
  left:-30%;
  width:40%;
  height:140%;
  transform:skewX(-20deg);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.95) 48%, rgba(255,255,255,0) 100%);
  filter: blur(1.6px);
  animation: rf-shine 2.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes rf-shine{
  0% { left:-30%; opacity:.0; }
  20% { opacity:.9; }
  45% { left:110%; opacity:.0; }
  100% { left:110%; opacity:.0; }
}
.brand-name{
  font-weight:800;
}
/* Slightly enlarge brand row on desktop */
@media (min-width: 720px){
  .brand img{ width:40px; height:40px; }
  .brand-name{ font-size:19px; }
  .logo-rf{ font-size:24px; }
}


/* Footer tabs (bottom-only nav) */
.footer-tabs{margin-top:14px;border-top:1px solid #222;padding-top:12px}
.footer-tabs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.footer-tabs > ul > li{position:relative}
.footer-tabs a{color:#f5f5f5;text-decoration:none;font-weight:700;opacity:.92}
.footer-tabs a:hover{text-decoration:underline;opacity:1}
.footer-tabs .sublinks{display:none;position:absolute;left:50%;transform:translateX(-50%);bottom:130%;min-width:180px;background:#121212;border:1px solid #222;border-radius:10px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.footer-tabs .sublinks li{margin:6px 0;text-align:center}
.footer-tabs li:hover > .sublinks{display:block}
@media (max-width:640px){
  .footer-tabs .sublinks{position:static;transform:none;bottom:auto;margin-top:8px}
}
/* Ensure top nav is hidden if present anywhere */
.topnav{display:none!important}


/* --- Top band & stray-left text cleanup --- */
html,body{margin:0!important;padding:0!important;overflow-x:hidden!important}
#rf-banner{display:none!important}
.header{display:none!important;border:none!important;box-shadow:none!important;background:transparent!important}
.brand,.brand-name,.logo-rf{display:none!important}
.hero{margin-top:0!important;position:relative!important;overflow:hidden!important}
.hero::before{inset:-1px!important} /* avoid sub-pixel seam */


/* --- Projection panel (extends hero image into the button area) --- */
.projection-panel{
  position:relative;
  border-radius:16px;
  padding:28px 22px;
  overflow:hidden;
  background:#0b0b0b;
}
.projection-panel::before{
  content:"";
  position:absolute; inset:0;
  background: url('/assets/img/hero.jpg') center top / cover no-repeat;
  filter: brightness(0.9) saturate(1.05);
  transform: translateY(-12%); /* subtle upward shift to feel like a continuation */
  z-index:0;
}
.projection-panel::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(11,11,11,0.0) 0%, rgba(11,11,11,0.65) 55%, rgba(11,11,11,0.95) 100%);
  pointer-events:none; z-index:1;
}

.action-grid{
  position:relative; z-index:2;
  display:grid; gap:14px;
  }

/* --- Gold relief buttons (black base + warm gold accents) --- */
.btn-gold{
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; padding:0 18px;
  font-weight:800; letter-spacing:.2px; text-decoration:none;
  color:#ffe7a8;
  background: linear-gradient(180deg, #0f0f0f 0%, #0b0b0b 60%, #050505 100%);
  border:1px solid #b07000;
  border-radius:12px;
  box-shadow:
    inset 0 1px 0 rgba(255,240,200,.25),
    inset 0 -2px 6px rgba(0,0,0,.55),
    0 6px 16px rgba(0,0,0,.45),
    0 0 0 1px rgba(237,192,74,.15);
  position:relative;
}
.btn-gold::before{
  content:"";
  position:absolute; inset:1px;
  border-radius:10px;
  background: linear-gradient(135deg, rgba(237,192,74,.25), rgba(176,112,0,.12));
  opacity:.35; pointer-events:none;
}
.btn-gold:hover{
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,240,200,.3),
    inset 0 -2px 6px rgba(0,0,0,.55),
    0 10px 24px rgba(0,0,0,.55),
    0 0 0 1px rgba(237,192,74,.22);
}
.btn-gold:active{
  transform: translateY(0);
  box-shadow:
    inset 0 1px 0 rgba(255,240,200,.2),
    inset 0 -1px 3px rgba(0,0,0,.6),
    0 4px 12px rgba(0,0,0,.4),
    0 0 0 1px rgba(237,192,74,.22);
}

/* Utility: accessible hidden */
.visually-hidden{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}


/* --- Compact player row --- */
.player-row{display:flex;flex-direction:column;gap:12px;grid-column:1/-1;background:rgba(0,0,0,.35);border:1px solid #222;border-radius:12px;padding:12px}
.player-row audio{width:100%;height:36px;background:#0b0b0b;border-radius:8px}
.player-actions{display:flex;gap:12px;flex-wrap:wrap}

/* --- YouTube modal (deferred embed) --- */
.yt-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1000}
.yt-modal[aria-hidden="false"]{display:flex}
.yt-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:saturate(110%) blur(2px)}
.yt-modal__dialog{position:relative;max-width:min(960px, 96vw);width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);overflow:hidden}
.yt-modal__content, .yt-modal__content iframe{width:100%;height:100%;display:block;border:0}
.yt-modal__close{position:absolute;top:6px;right:8px;background:#111;color:#fff;border:1px solid #333;border-radius:8px;width:36px;height:32px;font-size:22px;line-height:22px;cursor:pointer;opacity:.85}
.yt-modal__close:hover{opacity:1}


/* --- Hero brand overlay with silver tagline --- */
.hero{position:relative}
.hero-brand{
  position:relative;
  display:inline-block;
  padding:12px 16px;
  border-radius:12px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  backdrop-filter:saturate(110%) blur(2px);
  text-align:center;
}

.hero .hb-line{display:flex; align-items:flex-end; gap:10px; margin-bottom:2.8vh;}
.hero .hb-line .brand-name{font-size:18px; font-weight:800}
.tagline-silver{ text-align:center;  margin-top:6px;
  margin:0;
  font-size:clamp(16px, 2.8vw, 22px);
  font-weight:800;
  letter-spacing:.3px;
  line-height:1.25;
  position:relative;
  color:transparent;
  background-image: linear-gradient(90deg, #ffffff 0%, #e9ecf0 12%, #cfd4d9 24%, #8b939c 36%, #3f464d 50%, #9aa2aa 64%, #d8dde2 78%, #ffffff 100%);
  background-clip: text; -webkit-background-clip: text;
  background-size: 200% 100%;
  animation: silver-sheen 3s linear infinite;
  text-shadow: 0 2px 2px rgba(0,0,0,.28), 0 0 20px rgba(255,255,255,.18), 0 0 2px rgba(255,255,255,.55);
}
@keyframes silver-sheen {
  0%   { background-position: 200% 0; }
  100% { background-position: 0 0; }
}
/* Position within the hero */
@media (min-width: 720px){
  .hero .inner{display:flex; justify-content:flex-start}
  .hero-brand{margin-top:12vh}
}

/* --- Excellence headline (under RF) --- */
.tagline-excellence{ text-align:center;  margin-top: calc(8.00cm + 6px);
  margin:0 0 4px 0;
  font-weight:900;
  letter-spacing:.6px;
  line-height:1.05;
  /* ~4x bigger than typical body text, responsive */
  font-size: clamp(34px, 8vw, 76px);
  color: transparent;
  background-image: linear-gradient(90deg, #ffffff 0%, #e9ecf0 12%, #cfd4d9 24%, #8b939c 36%, #3f464d 50%, #9aa2aa 64%, #d8dde2 78%, #ffffff 100%);
  background-clip: text; -webkit-background-clip: text;
  background-size: 200% 100%;
  animation: silver-sheen 3s linear infinite; /* sync with tagline */
  text-shadow: 0 2px 2px rgba(0,0,0,.28), 0 0 20px rgba(255,255,255,.18), 0 0 2px rgba(255,255,255,.55);
}

.tagline-excellence{ margin-top:6px; position:relative; }
.tagline-excellence::after{
  content:"";
  position:absolute; top:-10%; bottom:-10%; left:-20%;
  width:28%; transform:skewX(-18deg);
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 45%, rgba(255,255,255,0) 100%);
  filter: blur(1.2px);
  animation: chrome-flare 3s linear infinite;
  pointer-events:none;
}
@keyframes chrome-flare{
  0% { left:-20%; opacity:.0; }
  20% { opacity:.85; }
  50% { left:110%; opacity:.0; }
  100% { left:110%; opacity:.0; }
}

@media (min-width: 720px){
  .hero-brand{ margin-top: calc(28vh + 4cm); }
}


/* --- Theming du lecteur audio (or/argent/brun/jaune) --- */
:root{
  --rf-gold:#edc04a;         /* or chaud */
  --rf-gold-deep:#b07000;    /* brun-or (bordure) */
  --rf-silver:#d8dde2;       /* argent doux */
  --rf-amber:#ffdf6e;        /* jaune ambré (effet hover) */
  --rf-panel:#0b0b0b;        /* fond panel */
}

.player-row{ 
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.22));
  border:1px solid rgba(237,192,74,.22);
  box-shadow: 0 8px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
}

.player-row audio{
  width:100%;
  height:40px;
  background:#0d0d0d;
  border:1px solid var(--rf-gold-deep);
  border-radius:10px;
  accent-color: var(--rf-gold);     /* barre de progression / curseur (navigateurs compatibles) */
  color: var(--rf-silver);
  outline:none;
  box-shadow:
    inset 0 1px 0 rgba(255,240,200,.08),
    inset 0 -2px 6px rgba(0,0,0,.45);
}

.player-row audio:focus{
  box-shadow:
    0 0 0 2px rgba(237,192,74,.2),
    inset 0 1px 0 rgba(255,240,200,.08),
    inset 0 -2px 6px rgba(0,0,0,.45);
  border-color: var(--rf-gold);
}

/* Boutons voisins (déjà .btn-gold), ajout léger survol ambré */
.player-actions .btn-gold:hover{
  color:#fff6d2;
  box-shadow:
    inset 0 1px 0 rgba(255,240,200,.35),
    inset 0 -2px 6px rgba(0,0,0,.55),
    0 12px 28px rgba(0,0,0,.55),
    0 0 0 1px rgba(237,192,74,.28);
}

/* --- Ajustements spécifiques WebKit pour un meilleur thème (optionnels, sans casser ailleurs) --- */
.player-row audio::-webkit-media-controls-panel{
  background: linear-gradient(180deg, #0f0f0f 0%, #0b0b0b 60%, #080808 100%);
  border-radius:10px;
}
.player-row audio::-webkit-media-controls-play-button,
.player-row audio::-webkit-media-controls-mute-button{
  filter: saturate(1.2) sepia(.15) hue-rotate(-10deg);
}
.player-row audio::-webkit-media-controls-current-time-display,
.player-row audio::-webkit-media-controls-time-remaining-display{
  color: var(--rf-silver);
}
.player-row audio::-webkit-media-controls-timeline-container{ 
  filter: drop-shadow(0 0 2px rgba(237,192,74,.25));
}
.player-row audio::-webkit-media-controls-timeline{ 
  background: rgba(237,192,74,.15);
  border-radius: 999px;
}
.player-row audio::-webkit-media-controls-volume-slider{
  background: rgba(237,192,74,.15);
  border-radius: 999px;
}
.player-row audio::-webkit-media-controls-seek-back-button,
.player-row audio::-webkit-media-controls-seek-forward-button{
  filter: saturate(1.1);
}

/* --- Footer --- */
.site-footer{ background:#0b0b0b; border-top:1px solid rgba(237,192,74,.2); padding:18px 0; }
.site-footer .copy{ margin:0; color:#cbd2d8; display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:14px; }
.site-footer .sep{ opacity:.6 }
.site-footer a{ color:#edc04a; text-decoration:none; }
.site-footer a:hover{ color:#fff2c4; text-decoration:underline; }

/* --- Contrôle musique de fond --- */
.bg-audio-ctrl{
  position: fixed; bottom: 14px; right: 14px; z-index: 1001;
  display: flex; gap: 8px; flex-wrap: wrap;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(237,192,74,.25);
  padding: 8px; border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  backdrop-filter: saturate(110%) blur(2px);
}
.bg-audio-ctrl .btn-gold{ height:36px; padding:0 12px; }

/* --- Services subpage grid --- */
.services-grid{ display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); margin:20px 0 40px }
.services-grid .card{ background: rgba(0,0,0,.28); border:1px solid rgba(237,192,74,.18); border-radius:12px; padding:14px; box-shadow: 0 8px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06) }
.services-grid h3 abbr{ border-bottom:1px dotted rgba(237,192,74,.5); cursor:help }
.hero--sub{ min-height: 22vh; background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.08)); border-bottom:1px solid rgba(237,192,74,.15) }
.stack > * + *{ margin-top: 10px }

/* --- Bouton retour accueil --- */
.backbar{ display:flex; justify-content:flex-start; align-items:center; padding-top:10px; padding-bottom:4px; }
.backbar .back-home{ font-weight:700; }
@media (min-width: 960px){
  .backbar{ padding-top:12px; }
}

/* --- Mise en page Services/offre avec barre gauche "Retour" --- */
.services-layout{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap: 16px;
  align-items:start;
  margin-top: 8px;
}
.back-left{ 
  padding-top: 6px;
}
.back-left .back-home{ 
  display:inline-flex; align-items:center; font-weight:700;
}
@media (max-width: 959px){
  .services-layout{ grid-template-columns: 1fr; }
  .back-left{ order:-1; margin-bottom: 8px; }
}

/* --- RF gold titles (DEV) --- */
.rf-gold-title{
  color: var(--rf-gold);
  text-shadow:
    0 1px 0 rgba(0,0,0,.6),
    0 0 6px rgba(237,192,74,.35);
}

/* RF: PHOTO STRIP 3-UP */
.rf-photo-strip {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  margin-bottom: 24px;
  flex-wrap: nowrap;
}

.rf-photo-strip .rf-photo {
  text-align: center;
}

.rf-photo-strip .rf-photo img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* photo centrale (plus grande) */
.rf-photo-strip .rf-photo-main img {
  max-width: 60vw;
}

/* photos avant/après (plus petites) */
.rf-photo-strip .rf-photo-prev img,
.rf-photo-strip .rf-photo-next img {
  max-width: 20vw;
  opacity: 0.95;
}

/* petites légendes copyright */
.rf-photo-strip .rf-photo figcaption {
  font-size: 0.8rem;
  margin-top: 4px;
}

/* RF: masquer le bloc player-actions sur la page d accueil */
.player-actions{display:none !important;}

/* RF: locale musicale – boutons audio ronds */
.rf-locale-grid{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  justify-content:center;
  align-items:center;
  margin-top:1.5rem;
}

.rf-sound-btn{
  width:80px;
  height:80px;
  border-radius:9999px;
  border:2px solid #d4af37;
  background:#000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
}

.rf-sound-btn:focus{
  outline:2px solid #ffffff;
  outline-offset:3px;
}

.rf-sound-icon{
  max-width:60px;
  max-height:60px;
  display:block;
}

/* RF: locale musicale – boutons audio ronds */
.rf-locale-grid{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  justify-content:center;
  align-items:center;
  margin-top:1.5rem;
}

.rf-sound-btn{
  width:80px;
  height:80px;
  border-radius:9999px;
  border:2px solid #d4af37;
  background:#000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
}

.rf-sound-btn:focus{
  outline:2px solid #ffffff;
  outline-offset:3px;
}

.rf-sound-icon{
  max-width:60px;
  max-height:60px;
  display:block;
}

/* RF: locale musicale – boutons audio ronds */
.rf-locale-grid{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  justify-content:center;
  align-items:center;
  margin-top:1.5rem;
}

.rf-sound-btn{
  width:80px;
  height:80px;
  border-radius:9999px;
  border:2px solid #d4af37;
  background:#000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
}

.rf-sound-btn:focus{
  outline:2px solid #ffffff;
  outline-offset:3px;
}

.rf-sound-icon{
  max-width:60px;
  max-height:60px;
  display:block;
}

/* RF: texte paragraphes or blanc satiné */
p, li {
  color: #FFF3C8 !important;
}

/* RF: titres soulignés or blanc satiné */
h1, h2, h3 {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
  text-decoration-color: #FFF3C8;
}

/* RF: titres à 20px comme les paragraphes */
h1, h2, h3 {
  font-size: 20px !important;
}

/* RF: paragraphes à 24px */
p, li {
  font-size: 24px !important;
}

/* RF: bouton "Retour à l’accueil" même style que paragraphes */
.btn-gold.back-home {
  font-size: 24px !important;
  color: #FFF3C8 !important;
}

/* RF: override tailles titres (version réduite) */
h1 { font-size: 26px; }
h2 { font-size: 24px; }
h3 { font-size: 22px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }


/* RF: style commun pour tous les boutons 'Retour à l’accueil' */
.btn-gold.back-home {
  font-size: 15px;
  line-height: 1.2;
  padding: 6px 18px;
}


/* RF: style commun pour tous les boutons 'Retour à l’accueil' (version finale) */
.btn-gold.back-home {
  display: inline-block;
  font-size: 14px;
  line-height: 1.3;
  padding: 6px 18px;
}


/* RF: style commun pour tous les boutons 'Retour à l’accueil' */
.btn-gold.back-home {
  display: inline-block;
  font-size: 14px;
  line-height: 1.3;
  padding: 4px 16px;
}


/* RF: force 'Retour à l’accueil' à 14px sur toutes les pages */
.btn-gold.back-home {
  font-size: 14px !important;
}


/* RF: bouton "Voir nos services en détail" — encadré plus grand, texte argent brillant */
.btn-gold.rf-services-detail {
  display: inline-block;
  padding: 12px 32px;
  font-size: 18px;
  letter-spacing: 0.04em;
  /* texte argenté */
  background-image: linear-gradient(120deg, #ffffff, #d0d0d0, #f8f8f8);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow:
    0 0 4px rgba(255,255,255,0.9),
    0 0 10px rgba(200,200,200,0.8);
  position: relative;
  overflow: hidden;
}

/* petit effet étoilé discret dans le coin */
.btn-gold.rf-services-detail::before {
  content: "✦";
  position: absolute;
  top: 4px;
  right: 10px;
  font-size: 12px;
  opacity: 0.9;
}


/* RF: corrige débordement du bouton "pub vaccination" */
.btn-gold.rf-pub-vacc {
  font-size: 14px;
  padding: 6px 14px;
  line-height: 1.2;
  white-space: normal; /* autorise retour à la ligne propre */
}

/* RF: centrage du bouton "Retour à l’accueil" dans toutes les pages */
.btn-gold.back-home {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* RF: Fond de la page Vidéo */
.page-video {
  background-image: url("/assets/img/video_bg_france.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* RF: Fond de la page Vidéo */
.page-video {
  background-image: url("/assets/images/rf_france_bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* RF: Fond de la page Vidéo (FORCÉ) */
.page-video {
  background-image: url("/assets/images/rf_france_bg.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

/* RF: Vidéo — harmonisation des boutons */
.page-video .rf-youtube-links,
.page-video main > p {
  text-align: left;
  margin-bottom: 12px;
}

.page-video .rf-youtube-links a.btn-gold,
.page-video main > p > a.btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;   /* texte centré dans le bouton */
  min-width: 220px;          /* largeur visuelle uniforme */
  font-size: 16px;           /* plus petit que les gros boutons */
  font-weight: 500;          /* moins gras que bold complet */
}

/* RF: Vidéo — harmonisation des boutons */
.page-video .rf-youtube-links,
.page-video main > p {
  text-align: left;
  margin-bottom: 12px;
}

.page-video .rf-youtube-links a.btn-gold,
.page-video main > p > a.btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;   /* texte centré dans le bouton */
  min-width: 220px;          /* largeur visuelle uniforme */
  font-size: 16px;           /* plus petit que les gros boutons */
  font-weight: 500;          /* moins gras que bold complet */
}

/* RF: Vidéo — harmonisation v3 */

/* 1. Tout aligner à gauche */
.page-video main,
.page-video .services-layout,
.page-video .rf-youtube-links {
  text-align: left !important;
}

/* 2. Style uniforme des boutons */
.page-video a.btn-gold {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 250px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

/* 3. Correction spécifique du bouton "pub. vaccination" */
.page-video p > a.btn-gold {
  display: inline-flex !important;
  white-space: nowrap !important;  /* garder sur une seule ligne */
  width: fit-content !important;
  padding-left: 24px;
  padding-right: 24px;
}


/* RF: Vidéo — harmonisation v4 (overrides forts) */

/* Aligner tout le contenu vidéo à gauche */
.page-video .services-layout,
.page-video .services-layout p,
.page-video .services-layout .rf-youtube-links,
.page-video .services-layout .rf-youtube-links p {
  text-align: left !important;
}

/* Tous les boutons de la page Vidéo, même style */
.page-video .services-layout a.btn-gold {
  display: block !important;
  width: 260px !important;
  max-width: 100% !important;
  margin: 8px 0 8px 0 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

/* Bouton "pub. vaccination" : une seule ligne */
.page-video .services-layout p > a.btn-gold {
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* RF: SOCIAL BUTTONS v1 */
.rf-social{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
  margin: 18px 0 0;
}

.rf-social-btn{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  text-decoration:none;
  border:1px solid rgba(212,175,55,.45);
  background: linear-gradient(135deg, rgba(20,16,10,.92), rgba(0,0,0,.55));
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  position:relative;
  overflow:hidden;
}

.rf-social-btn::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(500px 120px at 20% 0%, rgba(212,175,55,.28), transparent 60%),
    radial-gradient(420px 140px at 90% 100%, rgba(212,175,55,.18), transparent 55%);
  opacity:.9;
  pointer-events:none;
}

.rf-social-btn .rf-ico{
  width:42px; height:42px;
  border-radius:14px;
  display:grid; place-items:center;
  border:1px solid rgba(212,175,55,.55);
  background: rgba(0,0,0,.35);
  flex: 0 0 auto;
  z-index:1;
  color:#d4af37;
  font-weight:700;
}

.rf-social-btn .rf-txt{
  display:flex;
  flex-direction:column;
  line-height:1.15;
  z-index:1;
}
.rf-social-btn .rf-txt strong{
  color:#d4af37;
  font-size:16px;
  letter-spacing:.3px;
}
.rf-social-btn .rf-txt small{
  color: rgba(212,175,55,.75);
  font-size:12px;
}

.rf-social-btn .rf-go{
  margin-left:auto;
  z-index:1;
  color: rgba(212,175,55,.85);
  font-size:16px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.35);
  background: rgba(0,0,0,.25);
}

.rf-social-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(0,0,0,.45);
  border-color: rgba(212,175,55,.75);
}
.rf-social-btn:active{ transform: translateY(0); }

/* Inactif pour l'instant */
.rf-social-btn[aria-disabled="true"]{
  pointer-events:none;
  opacity:.78;
}

/* RF: SOCIAL BUTTONS v1 - FORCE CLICK */
.rf-social-btn{ pointer-events:auto !important; cursor:pointer; }
.rf-social-btn *{ pointer-events:none; } /* le clic reste sur le <a> */

/* RF: NAV ROUND BUTTONS v1 (pages) */
/* Cible uniquement les liens internes du menu (Services/Audio/Vidéo/Photos/Contact) via href */
a[href="/services/"],
a[href="/audio/"],
a[href="/video/"],
a[href="/photo/"],
button.btn-gold[data-open-youtube],
a[href="/photos/"],
a[href="/contact/"],
a[href="/contact"]{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  min-height: 52px;
  border-radius: 999px; /* rond/capsule sans casser le texte */
  text-decoration: none !important;

  /* relief/lumière façon "médaillon" */
  border: 1px solid rgba(212,175,55,.55);
  background:
    radial-gradient(220px 80px at 30% 20%, rgba(212,175,55,.26), transparent 60%),
    radial-gradient(220px 90px at 70% 120%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(135deg, rgba(18,14,10,.92), rgba(0,0,0,.65));
  box-shadow:
    0 12px 28px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10);

  color: #e9d8a6 !important;
  letter-spacing: .2px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, filter .12s ease;
}

a[href="/services/"]:hover,
a[href="/audio/"]:hover,
a[href="/video/"]:hover,
a[href="/photo/"]:hover,
a[href="/photos/"]:hover,
a[href="/contact/"]:hover,
a[href="/contact"]:hover{
  transform: translateY(-1px);
  border-color: rgba(212,175,55,.85);
  box-shadow:
    0 16px 36px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.12);
  filter: brightness(1.03);
}

a[href="/services/"]:active,
a[href="/audio/"]:active,
a[href="/video/"]:active,
a[href="/photo/"]:active,
a[href="/photos/"]:active,
a[href="/contact/"]:active,
a[href="/contact"]:active{
  transform: translateY(0);
}

/* Optionnel: l’état actif (si le navigateur met aria-current) */
a[aria-current="page"]{
  border-color: rgba(212,175,55,1) !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.14) !important;
}

/* RF: VIDEO PUB COLOR v1 */
.page-video a.btn-gold[href*="youtube.com"],
.page-video a.btn-gold[href*="youtu.be"],
.page-video a.btn-gold{
  color: #e9d8a6 !important;
}

/* RF: VIDEO PUB COLOR v1 */
.page-video a.btn-gold[href*="youtube.com"],
.page-video a.btn-gold[href*="youtu.be"],
.page-video a.btn-gold{
  color: #e9d8a6 !important;
}

/* RF: HOME PUB BUTTON MATCH v1 */
button.btn-gold[data-open-youtube]{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  min-height: 52px;
  border-radius: 999px;
  text-decoration: none !important;

  border: 1px solid rgba(212,175,55,.55) !important;
  background:
    radial-gradient(220px 80px at 30% 20%, rgba(212,175,55,.26), transparent 60%),
    radial-gradient(220px 90px at 70% 120%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(135deg, rgba(18,14,10,.92), rgba(0,0,0,.65)) !important;

  box-shadow:
    0 12px 28px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10) !important;

  color: #e9d8a6 !important;
  letter-spacing: .2px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, filter .12s ease;
}

button.btn-gold[data-open-youtube]:hover{
  transform: translateY(-1px);
  border-color: rgba(212,175,55,.85) !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  filter: brightness(1.03);
}
button.btn-gold[data-open-youtube]:active{ transform: translateY(0); }


/* RF: HOME PUB BUTTON MATCH v2 (force) */
/* couvre: button data-open-youtube + liens btn-gold youtube + leurs enfants */
body button.btn-gold[data-open-youtube],
body a.btn-gold[href*="youtube.com"],
body a.btn-gold[href*="youtu.be"]{
  color:#e9d8a6 !important;
  border:1px solid rgba(212,175,55,.55) !important;
  background:
    radial-gradient(220px 80px at 30% 20%, rgba(212,175,55,.26), transparent 60%),
    radial-gradient(220px 90px at 70% 120%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(135deg, rgba(18,14,10,.92), rgba(0,0,0,.65)) !important;
}

/* si la couleur vient d’un span/svg interne, on force aussi */
body button.btn-gold[data-open-youtube] *,
body a.btn-gold[href*="youtube.com"] *,
body a.btn-gold[href*="youtu.be"] *{
  color:#e9d8a6 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* RF: HOME PUB = PHOTOS (btn-gold) v1 */
/* Applique au bouton PUB le style du bouton Photos (a.btn-gold[href="/photo/"]) */
body button.btn-gold[data-open-youtube]{
  all: unset; /* on efface le style natif button */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* On réapplique le "skin" btn-gold via les mêmes valeurs que nos boutons pages */
body button.btn-gold[data-open-youtube]{
  padding: 12px 18px;
  min-height: 52px;
  border-radius: 999px;
  letter-spacing: .2px;
  color:#e9d8a6 !important;

  border:1px solid rgba(212,175,55,.55) !important;
  background:
    radial-gradient(220px 80px at 30% 20%, rgba(212,175,55,.26), transparent 60%),
    radial-gradient(220px 90px at 70% 120%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(135deg, rgba(18,14,10,.92), rgba(0,0,0,.65)) !important;

  box-shadow:
    0 12px 28px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body button.btn-gold[data-open-youtube]:hover{
  transform: translateY(-1px);
  border-color: rgba(212,175,55,.85) !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.12) !important;
  filter: brightness(1.03);
}
body button.btn-gold[data-open-youtube]:active{ transform: translateY(0); }

/* Forcer la couleur sur le contenu interne (texte + icône) */
body button.btn-gold[data-open-youtube] *,
body button.btn-gold[data-open-youtube] svg{
  color:#e9d8a6 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* RF: HOME PUB = PHOTOS (simple exact) v2 */
/* même bloc que Photos (a[href="/photo/"]) + on ajoute le button pub */
a[href="/photo/"],
button.btn-gold[data-open-youtube],
button.btn-gold[data-open-youtube]{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 12px 18px !important;
  min-height: 52px !important;
  border-radius: 999px !important;
  text-decoration: none !important;

  border: 1px solid rgba(212,175,55,.55) !important;
  background:
    radial-gradient(220px 80px at 30% 20%, rgba(212,175,55,.26), transparent 60%),
    radial-gradient(220px 90px at 70% 120%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(135deg, rgba(18,14,10,.92), rgba(0,0,0,.65)) !important;

  box-shadow:
    0 12px 28px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10) !important;

  color: #e9d8a6 !important;
  letter-spacing: .2px !important;

  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* forcer texte + icône du bouton pub à hériter */
button.btn-gold[data-open-youtube] *,
button.btn-gold[data-open-youtube] svg{
  color:#e9d8a6 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* RF: HOME PUB = PHOTOS (override safe) v1 */
/* But: rendre button "Publicité/Vidéos" identique au bouton Photos (a[href="/photo/"]) */
button.btn-gold[data-open-youtube]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:12px 18px !important;
  min-height:52px !important;
  border-radius:999px !important;

  border:1px solid rgba(212,175,55,.55) !important;
  background:
    radial-gradient(220px 80px at 30% 20%, rgba(212,175,55,.26), transparent 60%),
    radial-gradient(220px 90px at 70% 120%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(135deg, rgba(18,14,10,.92), rgba(0,0,0,.65)) !important;

  box-shadow:
    0 12px 28px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10) !important;

  color:#e9d8a6 !important;
  letter-spacing:.2px !important;

  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

/* Force couleur pour le contenu interne (texte + svg) */
button.btn-gold[data-open-youtube] *,
button.btn-gold[data-open-youtube] svg{
  color:#e9d8a6 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* RF: PHOTO PAGE — alignement titres galeries */
.rf-photo-galleries{
  min-height: 70vh;
  display: flex;
  flex-direction: column;
}
.rf-photo-galleries > h2{
  text-align: center;
  width: 100%;
  margin-bottom: 18px;
}

.rf-photo-galleries .rf-gallery:first-of-type{
  margin-top: auto;
}
.rf-photo-galleries .rf-gallery:last-child{
  padding-bottom: 24px;
}

/* RF: PHOTO CAPTIONS — Copyright */
.rf-photo-item{ margin:0; }
.rf-photo-copyright{
  font-size:12px;
  opacity:0.75;
  margin-top:4px;
  text-align:center;
  line-height:1.2;
}

/* RF: PHOTO — STOP texte généré/overlays dans la grille Galeries (override safe) */
.rf-photo-galeries *::before,
.rf-photo-galeries *::after {
  content: none !important;
}

.rf-photo-galeries figcaption,
.rf-photo-galeries .caption,
.rf-photo-galeries .title,
.rf-photo-galeries .label,
.rf-photo-galeries .rf-caption,
.rf-photo-galeries .rf-title {
  display: none !important;
}


/* RF: PHOTO — Copyright visible sous chaque vignette */
.rf-photo-item { display: inline-block; text-decoration: none; }
.rf-photo-copyright{
  display:block;
  margin-top:6px;
  text-align:center;
  font-size:13px;
  font-weight:700;
  color:#d4af37;
  opacity:0.95;
}

/* RF: PREUVES — style léger, responsive */
.rf-preuves{
  margin-top: 22px;
  padding: 18px 16px;
  border-top: 1px solid rgba(212,175,55,0.30);
}
.rf-preuves h2{ margin: 0 0 12px 0; }
.rf-preuves-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.rf-preuve{
  margin: 0;
}
.rf-preuve img{
  width: 100%;
  height: auto;
  display: block;
}
.rf-preuve-title{
  font-weight: 800;
}
.rf-preuve-note{
  margin-top: 6px;
  opacity: 0.95;
}
@media (max-width: 900px){
  .rf-preuves-grid{ grid-template-columns: 1fr; }
}

/* RF — Slogan transparent cinéma */
.tagline-silver.rf-transparent {
  color: transparent;
  -webkit-text-stroke: 0.6px rgba(212,175,55,0.85);
  text-stroke: 0.6px rgba(212,175,55,0.85);
  letter-spacing: 0.04em;
  opacity: 0.9;
}

/* RF — HERO-BRAND overlay droite (devant les fenêtres) */
.hero { position: relative; }
.hero .hero-brand{
  position: absolute;
  right: 5.5vw;
  top: 7.5vh;
  max-width: min(520px, 44vw);
  z-index: 50;
  padding: 18px 18px 16px;
  border-radius: 16px;
  background: rgba(0,0,0,0.22);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* Mobile: on évite l’overlay (lisibilité + empilement naturel) */
@media (max-width: 900px){
  .hero .hero-brand{
    position: static;
    max-width: none;
    padding: 0;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* RF: POST-SOUMISSION (réassurance) */
.rf-post-soumission{
  margin: 16px 0 8px;
  padding: 14px 16px;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 12px;
  background: rgba(0,0,0,.20);
}
.rf-post-soumission p{
  margin: 0;
  line-height: 1.45;
}

/* RF: CONTACT (intro + questionnaire) */
.rf-contact-intro a{
  display:inline;
  padding:0;
  border:0;
  background:transparent;
  border-radius:0;
  text-decoration: underline;
}

.rf-contact-form{
  margin: 18px 0 12px;
  padding: 16px;
  border: 1px solid rgba(212,175,55,.25);
  border-radius: 14px;
  background: rgba(0,0,0,.14);
}
.rf-contact-form h2{
  margin: 0 0 10px;
}
.rf-contact-form label{
  display:block;
  margin: 10px 0;
  font-weight: 700;
}
.rf-contact-form input,
.rf-contact-form select,
.rf-contact-form textarea{
  width:100%;
  margin-top:6px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.22);
  color: inherit;
}
.rf-form-note{
  margin-top: 10px;
  opacity: .9;
  font-size: 13px;
}

/* RF: POST-SOUMISSION (inline) */
.rf-post-soumission p{ line-height: 1.6; }



/* RF: HORIZONTAL BOXES (contact) */
.rf-form-note,
.rf-post-soumission{
  width: 100%;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.rf-post-soumission{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 14px 18px;
}

.rf-post-soumission p{
  margin: 0;
  white-space: nowrap;
}

.rf-post-soumission-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.rf-post-soumission-list li{
  margin: 0;
  white-space: nowrap;
}

.rf-post-soumission-list li::before{ content: "• "; }
.rf-post-soumission-list li:first-child::before{ content: ""; }

/* RF: POST-SOUMISSION (titre hors encadré) */
.rf-post-soumission-title{
  margin: 10px auto 8px;
  width: 100%;
  max-width: 980px;
}

/* RF: CONTACT INTRO (horizontal justifié) */
.rf-contact-intro{
  width: 100%;
  max-width: 980px;
  margin: 0 auto 16px;
  text-align: justify;
  text-justify: inter-word;
  line-height: 1.6;
}

/* RF: CONTACT FORM (wider textarea) */
.rf-contact-form{ width:100%; max-width:980px; margin-left:auto; margin-right:auto; }
.rf-contact-form textarea{ width:100%; min-height:140px; }
@media (min-width: 900px){ .rf-contact-form textarea{ font-size:16px; } }

/* RF: CONTACT PAGE (wider container) */
body .container{ max-width:1100px; }

/* RF: CONTACT FORCE WIDEN */
body .container{ max-width:1100px !important; }
main.container{ max-width:1100px !important; }
.rf-contact-form{ max-width:1100px !important; }

/* CLEANUP (disabled): RF: CONTACT PAGE (scoped widen) */
/* .rf-contact-page{ max-width: 1200px !important; } */

/* CLEANUP (disabled): RF: CONTACT PAGE (force width) */
/* .rf-contact-page{ width:100% !important; max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; } */

/* CLEANUP (disabled): RF: CONTACT (widen services-layout container) */
/* .rf-contact-page .services-layout.container{ width:100% !important; max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; } */

/* RF: CONTACT widen container */
main.rf-contact-page.container{ max-width:1200px !important; }

/* RF: CONTACT layout breathe (desktop) */
@media (min-width: 960px){
  .rf-contact-page .services-layout{ grid-template-columns: 280px 1fr; gap: 24px; }
}

/* RF: CONTACT remove justify */
.rf-contact-page p,
.rf-contact-page li{
  text-align: left !important;
  text-justify: auto !important;
}

/* RF: SOUMISSION — visuel droite (logo partenaires) */
.rf-soumission-visual,
.rf-soumission-right,
.rf-contact-visual {
  background-image: url("/assets/img/contact/rf_photologo.jpeg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* RF: SOUMISSION — visuel droite (logo en premier plan) */
.rf-soumission-visual,
.rf-soumission-right,
.rf-contact-visual {
  position: relative;
}

.rf-soumission-visual::before,
.rf-soumission-right::before,
.rf-contact-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/assets/img/contact/rf_photologo.jpeg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  z-index: 2;
  pointer-events: none;
}


/* RF: SOUMISSION — panneau visuel droite (DISABLED: retour layout normal) */



/* RF: HOME — boutons plus compacts (sans toucher aux autres pages) */
.projection-panel .action-grid > .btn-gold,
.projection-panel .player-actions .btn-gold{
  height: 36px;
  padding: 0 12px;
  font-size: 14px;
  border-radius: 10px;
}

/* RF: HOME — boutons plus compacts (projection-panel only, override safe) */
.projection-panel .btn-gold{
  height: 36px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  border-radius: 14px !important;
}

/* RF: HOME — neutralise le preset data-open-youtube (HOME seulement) */
.projection-panel button.btn-gold[data-open-youtube]{
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
}
/* RF: HOME — grille actions plus étroite (action-grid) */
.projection-panel .action-grid{
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  justify-content: center !important;
}
/* RF: HOME — boutons centrés dans leur cellule */
.projection-panel .action-grid > .btn-gold{
  justify-self: center !important;
}

/* RF: HOME — bouton "Voir la vidéo sur YouTube" : éviter le débordement (ciblage strict) */
.rf-preuves-grid .rf-preuve a.btn-gold[href*="youtube.com/watch"]{
  font-size: 13px;
  line-height: 1.1;
}

/* RF: UNIVERS RF (page /a-propos/) — mise en forme ciblée, sans impact global */
.rf-univers{
  max-width: 980px;
  margin: 0 auto;
  padding: 6px 0 26px 0;
}
.rf-univers h1{
  margin: 0 0 16px 0;
  line-height: 1.15;
}
.rf-univers h2{
  margin: 22px 0 10px 0;
  line-height: 1.2;
}
.rf-univers p{
  margin: 0 0 12px 0;
  line-height: 1.6;
}
.rf-univers .btn-gold{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/* RF: BACK-HOME -25% (global) */
.btn-gold.back-home{
  display: inline-block;
  transform: scale(0.75);
  transform-origin: left center;
}

/* RF: UNIVERS SLIDE (gauche -> droite, 5s) */
.rf-univers-slide{
  position: relative;
  overflow: visible;
  padding: 6px 0;
}

.rf-univers-slide > .rf-univers-inner{
  display: inline-block;
  white-space: nowrap;
  animation: rf-univers-move 5s ease-in-out infinite alternate;
}

/* Mouvement gauche -> droite */
@keyframes rf-univers-move{
  from{ transform: translateX(0); }
  to{ transform: translateX(40px); }
}

/* Respect accessibilité */
@media (prefers-reduced-motion: reduce){
  .rf-univers-slide > .rf-univers-inner{
    animation: none;
  }
}


@keyframes rf-cta-glow{
  from{
    filter: brightness(1);
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
  to{
    filter: brightness(1.18);
    box-shadow: 0 0 18px rgba(212,175,55,0.35);
  }
}

/* Respect accessibilité */
@media (prefers-reduced-motion: reduce){
}

/* Respect accessibilité */
@media (prefers-reduced-motion: reduce){
}

/* RF: HOME — UNIVERS CTA (use rf-cta-pulse)
   Cible uniquement le bouton "Découvrir l’univers RF" sans créer une 2e animation.
*/
.rf-univers-slide{ overflow: visible; }

.rf-univers-slide .btn-gold{
    height: 36px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  border-radius: 14px !important;
position: relative;
  display: inline-block;
  will-change: transform, filter;
  animation: rf-cta-pulse 2.8s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion: reduce){
}


/* RF: CTA KEYFRAMES (unique) — modéré */
@keyframes rf-cta-pulse{
  from{
    transform: translateY(0);
    filter: brightness(1.02) saturate(1.05);
    text-shadow: 0 0 6px rgba(212,175,55,0.20);
    box-shadow: 0 0 22px rgba(212,175,55,0.18);
  }
  to{
    transform: translateY(-2px);
    filter: brightness(1.30) saturate(1.18);
    text-shadow: 0 0 14px rgba(212,175,55,0.48);
    box-shadow: 0 0 34px rgba(212,175,55,0.42);
  }
}


   Autorité finale: ON par défaut, OFF seulement si reduced-motion.
*/
.rf-univers-slide .btn-gold{
    height: 36px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  border-radius: 14px !important;
animation: rf-cta-pulse 2.8s ease-in-out infinite alternate !important;
  will-change: transform, filter;
}

@media (prefers-reduced-motion: reduce){
}



/* =========================================================
   RF: BTN GEOMETRIE (PROPORTIONS) — v1
   Objectif: uniformiser forme + centrage + ratio texte/padding
   (esthétique = plus tard)
   ========================================================= */

/* Applique à TOUS les boutons or existants (a + button) */
a.btn-gold, button.btn-gold, .btn-gold{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* stop aux tailles fixes incohérentes */
  height: auto !important;
  min-height: 44px !important;

  /* proportion texte/padding (cohérence globale) */
  padding: 10px 16px !important;
  line-height: 1.15 !important;

  /* typographie “neutre” (juste cohérente) */
  font-size: 15px !important;
  letter-spacing: .2px !important;
}

/* Les boutons avec icône (spans/SVG) restent centrés */
.btn-gold .btn-ico,
.btn-gold svg{
  display: inline-block !important;
  flex: 0 0 auto !important;
}
.btn-gold .btn-txt{
  line-height: 1.15 !important;
}

/* Retour à l'accueil: même géométrie (juste un peu plus compact) */
/* Contrôles audio utilitaires: compacts (sinon trop gros) */
.bg-audio-ctrl .btn-gold{
  min-height: 36px !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
}


/* RF: HOME — BTN THEME (VIDEO TABS) — v1
   Applique aux boutons de la page d'accueil les tons sombres + texte clair inspirés des onglets/vidéo,
   tout en gardant l'accent or RF. Ciblage HOME uniquement (projection-panel / action-grid).
*/
.projection-panel .btn-gold,
.projection-panel .action-grid .btn-gold,
.projection-panel .player-actions .btn-gold{
  position: relative;
  color: #f5f5f5;                 /* onglets */
  border-color: #222;             /* onglets border */
  background:
    radial-gradient(120% 160% at 30% 0%, rgba(255, 231, 168, 0.10) 0%, rgba(255, 231, 168, 0.00) 55%),
    linear-gradient(180deg, #121212 0%, #0b0b0b 60%, #050505 100%); /* sombre RF + onglets */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(0,0,0,0.40),
    0 0 0 1px rgba(0,0,0,0.45),
    0 10px 26px rgba(0,0,0,0.46);
  text-shadow: 0 1px 0 rgba(0,0,0,0.60);
}

.projection-panel .btn-gold::after,
.projection-panel .action-grid .btn-gold::after,
.projection-panel .player-actions .btn-gold::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  pointer-events:none;
  box-shadow: inset 0 0 0 1px rgba(176,112,0,0.35); /* #b07000 */
  opacity: 1;
}

.projection-panel .btn-gold:hover,
.projection-panel .action-grid .btn-gold:hover,
.projection-panel .player-actions .btn-gold:hover{
  border-color: rgba(255,231,168,0.38);
  filter: brightness(1.06) saturate(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 -1px 0 rgba(0,0,0,0.38),
    0 0 0 1px rgba(0,0,0,0.48),
    0 0 0 6px rgba(255, 231, 168, 0.12),
    0 14px 34px rgba(0,0,0,0.54);
}

.projection-panel .btn-gold:active,
.projection-panel .action-grid .btn-gold:active,
.projection-panel .player-actions .btn-gold:active{
  filter: brightness(0.98) saturate(1.02);
  box-shadow:
    inset 0 2px 6px rgba(0,0,0,0.46),
    0 0 0 1px rgba(0,0,0,0.55),
    0 8px 18px rgba(0,0,0,0.52);
}

.projection-panel .btn-gold:focus-visible,
.projection-panel .action-grid .btn-gold:focus-visible,
.projection-panel .player-actions .btn-gold:focus-visible{
  outline: none;
  border-color: rgba(255,231,168,0.55);
  box-shadow:
    0 0 0 2px rgba(0,0,0,0.65),
    0 0 0 7px rgba(255, 231, 168, 0.18),
    0 14px 34px rgba(0,0,0,0.54);
}


/* RF: HOME — BTN KIT (uniforme) — v1
   But: proportions identiques, texte centré, pas de “boutons laids” variables.
*/
.projection-panel .action-grid > .btn-gold,
.projection-panel .player-actions .btn-gold{
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1.05;
  letter-spacing: .2px;
  white-space: nowrap;
  border-radius: 14px; /* arrondi propre, constant */
}

/* RF: BTN RETOUR — KIT GLOBAL (egal partout) — v1
   Couvre:
   - /a-propos/ : a.btn-gold[aria-label="Retour à l’accueil"]
   - autres pages : a.btn-gold.back-home (dans .back-left)
*/
a.btn-gold.back-home,
a.btn-gold[aria-label="Retour à l’accueil"]{
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1.05;
  letter-spacing: .2px;
  border-radius: 14px;
}


/* RF: HOME — bouton "Découvrir l’univers RF" : coins arrondis (ciblage strict) */
a.btn-gold[aria-label="Découvrir l’univers RF"]{
  border-radius: 14px !important;
}


/* RF: HOME — Découvrir l’univers RF : TEXTE argent brillant (sans toucher au halo/animation existants) */
.rf-univers-slide a.btn-gold[aria-label="Découvrir l’univers RF"]{
  color: #e7eef7 !important;
  text-shadow:
    0 0 8px rgba(231,238,247,.22),
    0 0 14px rgba(231,238,247,.14),
    0 0 2px rgba(255,255,255,.18) !important;
}

/* RF: HOME — Faites-vous voir et entendre, avec RF : TEXTE argent brillant (sans toucher au halo/animation existants) */
a.btn-gold[aria-label="Faites-vous voir et entendre, avec RF"]{
  color: #e7eef7 !important;
  text-shadow:
    0 0 8px rgba(231,238,247,.22),
    0 0 14px rgba(231,238,247,.14),
    0 0 2px rgba(255,255,255,.18) !important;
}
