/* =========================================================
   PAGE /oral-bpjeps — « Oral BPJEPS : comment le préparer et le réussir »
   Page informationnelle (cross-sell fiches). Designs de Marion refactorés :
   CSS consolidé, police système (Inter/@import retirés). AUCUN JS : le jury
   (onglets + accordéons) et la FAQ sont 100% CSS (radios/checkboxes :checked).
   Renommages : sbpj-oral-jury-v3 -> sbpj-oral-jury, sbpj-oral-faq-v2 ->
   sbpj-oral-faq, reco -> sbpj-oral-reco.
   ========================================================= */

/* ---------------------------------------------------------
   Rythme de page : espacement vertical + gouttières. Hero à part.
   !important car les sections portent un padding !important d'origine.
   --------------------------------------------------------- */
.sbpj-oral > .sbpj-oral-epreuve,
.sbpj-oral > .sbpj-oral-jury,
.sbpj-oral > .sbpj-oral-erreurs,
.sbpj-oral > .sbpj-oral-tl,
.sbpj-oral > .sbpj-oral-cta,
.sbpj-oral > .sbpj-oral-faq,
.sbpj-oral > .sbpj-oral-reco {
	padding-top: var(--sbpj-section-pad-y) !important;
	padding-bottom: var(--sbpj-section-pad-y) !important;
	padding-left: var(--sbpj-gutter) !important;
	padding-right: var(--sbpj-gutter) !important;
}
/* 1re section après le hero : padding-top renforcé. */
.sbpj-oral > .sbpj-oral-epreuve { padding-top: var(--sbpj-section-pad-y-first) !important; }

/* =========================================================
   HERO — full-bleed centré (1 colonne), fond dégradé de marque violet.
   DÉCISION Marion : dégradé de marque. 📌 RAPPEL WebP : image de fond hero.
   Navbar transparente « sbpj-has-hero » superposée → padding-top généreux.
   ========================================================= */
.sbpj-oral > .sbpj-oral-hero {
	background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 45%, #1B0A3D 100%) !important; /* dégradé bannière unifié (17/07), comme le héros du livre */
	min-height: var(--sbpj-hero-min-h) !important;
	justify-content: center !important;
	padding: 176px 20px 96px !important;
	border-bottom: var(--sbpj-hero-border) !important;
}
@media (max-width: 600px) {
	.sbpj-oral > .sbpj-oral-hero { padding: 112px 20px 64px !important; min-height: 0 !important; }
}

/* ---------------------------------------------------------
   HERO — bloc (design Marion, police système, !important conservés).
   --------------------------------------------------------- */
.sbpj-oral-hero *,.sbpj-oral-hero *::before,.sbpj-oral-hero *::after{box-sizing:border-box!important;margin:0!important;padding:0!important;border:none!important;background:none!important;font-family:inherit!important;line-height:inherit!important;color:inherit!important;text-decoration:none!important;}
.sbpj-oral-hero{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;-webkit-font-smoothing:antialiased!important;color:#ffffff!important;text-align:center!important;gap:0!important;}
.sbpj-oral-hero__eyebrow{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:6px 18px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:99px!important;font-size:.78rem!important;font-weight:700!important;color:rgba(255,255,255,.88)!important;letter-spacing:.14em!important;text-transform:uppercase!important;}
.sbpj-oral-hero__h1{font-size:2.6rem!important;font-weight:900!important;color:#ffffff!important;line-height:1.15!important;letter-spacing:-.02em!important;padding-top:20px!important;max-width:820px!important;}
.sbpj-oral-hero__h1 em{font-style:italic!important;color:rgba(255,255,255,.75)!important;}
.sbpj-oral-hero__sub{font-size:1.08rem!important;font-weight:500!important;color:rgba(255,255,255,.68)!important;padding-top:14px!important;max-width:620px!important;line-height:1.65!important;}
.sbpj-oral-hero__checks{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:28px!important;padding-top:28px!important;}
.sbpj-oral-hero__check{display:flex!important;align-items:center!important;gap:10px!important;font-size:.88rem!important;color:rgba(255,255,255,.85)!important;font-weight:600!important;}
.sbpj-oral-hero__check-icon{flex-shrink:0!important;width:22px!important;height:22px!important;border-radius:50%!important;background:rgba(34,197,94,.15)!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.sbpj-oral-hero__check-icon svg{width:12px!important;height:12px!important;fill:none!important;stroke:#16a34a!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.sbpj-oral-hero__cta-wrap{padding-top:32px!important;}
.sbpj-oral-hero__cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:18px 44px!important;background:linear-gradient(135deg,#7A2F8F 0%,#4C1D73 45%,#1B0A3D 100%)!important;color:#ffffff!important;font-size:.9rem!important;font-weight:800!important;border-radius:14px!important;cursor:pointer!important;transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease!important;box-shadow:0 4px 14px rgba(0,0,0,.25)!important;}
@media(hover:hover) and (pointer:fine){
.sbpj-oral-hero__cta:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px rgba(0,0,0,.35)!important;}
}
@media(max-width:640px){
.sbpj-oral-hero__h1{font-size:1.65rem!important;}
.sbpj-oral-hero__h1 br{display:none!important;}
.sbpj-oral-hero__sub{font-size:.95rem!important;}
.sbpj-oral-hero__checks{flex-direction:column!important;align-items:center!important;gap:14px!important;}
.sbpj-oral-hero__cta{width:100%!important;padding:16px 24px!important;}
}

.sbpj-oral-epreuve,
.sbpj-oral-epreuve *,
.sbpj-oral-epreuve *::before,
.sbpj-oral-epreuve *::after { box-sizing: border-box; margin: 0; padding: 0; }

.sbpj-oral-epreuve {
  max-width: var(--sbpj-content-max, 1200px);
  margin: 0 auto;
  padding: 0 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ── Header ── */
.sbpj-oral-epreuve__header {
  text-align: center;
  margin-bottom: 40px;
}

.sbpj-oral-epreuve__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  color: #7A2F8F;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 16px;
}
.sbpj-oral-epreuve__eyebrow::before,
.sbpj-oral-epreuve__eyebrow::after {
  content: '';
  width: 20px;
  height: 2px;
  background: #7A2F8F;
  border-radius: 2px;
  flex-shrink: 0;
}

.sbpj-oral-epreuve__title {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.03em;
  color: #0f172a;
  margin-bottom: 14px;
}
.sbpj-oral-epreuve__title em {
  font-style: normal;
  background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.sbpj-oral-epreuve__sub {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(15, 23, 42, 0.62);
  max-width: 680px;
  margin: 0 auto;
}

/* ── Intro texte ── */
.sbpj-oral-epreuve__intro {
  max-width: var(--sbpj-content-max, 1200px);
  margin: 0 auto 40px;
  text-align: justify;
}

.sbpj-oral-epreuve__intro p {
  font-size: 0.92rem;
  line-height: 1.75;
  color: rgba(15, 23, 42, 0.62);
  margin-bottom: 14px;
}
.sbpj-oral-epreuve__intro p:last-child { margin-bottom: 0; }

/* ── Grid 4 cartes ── */
.sbpj-oral-epreuve__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* ── Carte ── */
.sbpj-oral-epreuve__card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  box-shadow: 0 2px 12px rgba(0,0,0, 0.04);
}

.sbpj-oral-epreuve__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(122, 47, 143, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex-shrink: 0;
}

.sbpj-oral-epreuve__card-title {
  font-size: 0.92rem;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -.01em;
}

.sbpj-oral-epreuve__card-text {
  font-size: 0.82rem;
  line-height: 1.7;
  color: rgba(15, 23, 42, 0.62);
}

/* ── Tablette ── */
@media (max-width: 900px) {
  .sbpj-oral-epreuve__title { font-size: 1.5rem; }
  .sbpj-oral-epreuve__header { margin-bottom: 32px; }
  .sbpj-oral-epreuve__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Mobile ── */
@media (max-width: 640px) {
  .sbpj-oral-epreuve__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .sbpj-oral-epreuve__title { font-size: 1.3rem; }
  .sbpj-oral-epreuve__sub { font-size: 0.93rem; }
  .sbpj-oral-epreuve__eyebrow::before,
  .sbpj-oral-epreuve__eyebrow::after { display: none; }
  .sbpj-oral-epreuve__intro { text-align: center; }
  .sbpj-oral-epreuve__intro p { text-align: center; }
}

.sbpj-oral-jury,
.sbpj-oral-jury *,
.sbpj-oral-jury *::before,
.sbpj-oral-jury *::after{box-sizing:border-box!important;margin:0!important;padding:0!important;}

.sbpj-oral-jury{max-width:var(--sbpj-content-max, 1200px)!important;margin:0 auto!important;padding:0 20px!important;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;-webkit-font-smoothing:antialiased!important;}

/* ── Hidden inputs ── */
.sbpj-oral-jury__tab-radio,
.sbpj-oral-jury__acc-check{display:none!important;}

/* ── Header ── */
.sbpj-oral-jury__header{text-align:center!important;margin-bottom:40px!important;}
.sbpj-oral-jury__eyebrow{display:inline-flex!important;align-items:center!important;gap:10px!important;font-size:11px!important;font-weight:700!important;color:#7A2F8F!important;text-transform:uppercase!important;letter-spacing:.14em!important;margin-bottom:16px!important;}
.sbpj-oral-jury__eyebrow::before,.sbpj-oral-jury__eyebrow::after{content:''!important;width:20px!important;height:2px!important;background:#7A2F8F!important;border-radius:2px!important;flex-shrink:0!important;}
.sbpj-oral-jury__title{font-size:1.8rem!important;font-weight:900!important;line-height:1.12!important;letter-spacing:-.03em!important;color:#0f172a!important;margin-bottom:14px!important;}
.sbpj-oral-jury__title em{font-style:normal!important;background:linear-gradient(135deg,#7A2F8F 0%,#4C1D73 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.sbpj-oral-jury__sub{font-size:1rem!important;line-height:1.75!important;color:rgba(15,23,42,0.62)!important;max-width:900px!important;margin:0 auto!important;}

/* ── Tabs bar ── */
.sbpj-oral-jury__tabs{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:24px!important;padding-bottom:4px!important;}

.sbpj-oral-jury__tab-label{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 20px!important;border-radius:12px!important;border:1px solid rgba(15,23,42,0.10)!important;background:#ffffff!important;color:rgba(15,23,42,0.55)!important;font-size:0.82rem!important;font-weight:700!important;cursor:pointer!important;white-space:nowrap!important;transition:all .28s cubic-bezier(.4,0,.2,1)!important;flex-shrink:0!important;user-select:none!important;}
.sbpj-oral-jury__tab-label:hover{border-color:rgba(122,47,143,0.25)!important;color:#7A2F8F!important;}
.sbpj-oral-jury__tab-icon{font-size:1.1rem!important;line-height:1!important;}
.sbpj-oral-jury__tab-count{font-size:0.65rem!important;font-weight:800!important;background:rgba(15,23,42,0.08)!important;color:rgba(15,23,42,0.45)!important;padding:2px 7px!important;border-radius:6px!important;line-height:1.4!important;transition:all .28s cubic-bezier(.4,0,.2,1)!important;}

/* ── Active tab via radio ── */
#sbpj-tab-physio:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-physio"],
#sbpj-tab-anat:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-anat"],
#sbpj-tab-mouv:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-mouv"],
#sbpj-tab-prog:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-prog"],
#sbpj-tab-publics:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-publics"]{
  background:linear-gradient(135deg,#7A2F8F 0%,#4C1D73 100%)!important;color:#ffffff!important;border-color:transparent!important;box-shadow:0 4px 16px rgba(0,0,0,0.25)!important;
}
#sbpj-tab-physio:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-physio"]:hover,
#sbpj-tab-anat:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-anat"]:hover,
#sbpj-tab-mouv:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-mouv"]:hover,
#sbpj-tab-prog:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-prog"]:hover,
#sbpj-tab-publics:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-publics"]:hover{color:#ffffff!important;}

#sbpj-tab-physio:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-physio"] .sbpj-oral-jury__tab-count,
#sbpj-tab-anat:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-anat"] .sbpj-oral-jury__tab-count,
#sbpj-tab-mouv:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-mouv"] .sbpj-oral-jury__tab-count,
#sbpj-tab-prog:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-prog"] .sbpj-oral-jury__tab-count,
#sbpj-tab-publics:checked ~ .sbpj-oral-jury__tabs .sbpj-oral-jury__tab-label[for="sbpj-tab-publics"] .sbpj-oral-jury__tab-count{background:rgba(255,255,255,0.20)!important;color:#ffffff!important;}

/* ── Panels show/hide ── */
.sbpj-oral-jury__panel{display:none!important;}
#sbpj-tab-physio:checked ~ .sbpj-oral-jury__panels .sbpj-oral-jury__panel--physio,
#sbpj-tab-anat:checked ~ .sbpj-oral-jury__panels .sbpj-oral-jury__panel--anat,
#sbpj-tab-mouv:checked ~ .sbpj-oral-jury__panels .sbpj-oral-jury__panel--mouv,
#sbpj-tab-prog:checked ~ .sbpj-oral-jury__panels .sbpj-oral-jury__panel--prog,
#sbpj-tab-publics:checked ~ .sbpj-oral-jury__panels .sbpj-oral-jury__panel--publics{display:block!important;animation:sbpjJuryFade .35s cubic-bezier(.4,0,.2,1)!important;}

@keyframes sbpjJuryFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ── Accordion item ── */
.sbpj-oral-jury__accordion{background:#ffffff!important;border:1px solid rgba(15,23,42,0.08)!important;border-radius:14px!important;margin-bottom:10px!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(0,0,0,0.03)!important;transition:box-shadow .28s ease,border-color .28s ease!important;}
.sbpj-oral-jury__accordion:last-child{margin-bottom:0!important;}

/* ── Question label ── */
.sbpj-oral-jury__q-label{display:flex!important;align-items:center!important;gap:14px!important;padding:18px 22px!important;cursor:pointer!important;user-select:none!important;transition:background .2s ease!important;width:100%!important;}
.sbpj-oral-jury__q-label:hover{background:rgba(122,47,143,0.02)!important;}

.sbpj-oral-jury__q-number{width:32px!important;height:32px!important;border-radius:9px!important;background:rgba(122,47,143,0.07)!important;color:#7A2F8F!important;font-size:0.72rem!important;font-weight:800!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;transition:all .28s cubic-bezier(.4,0,.2,1)!important;}

.sbpj-oral-jury__q-text{flex:1!important;font-size:0.88rem!important;font-weight:600!important;line-height:1.5!important;color:#0f172a!important;}

.sbpj-oral-jury__chevron{width:20px!important;height:20px!important;flex-shrink:0!important;transition:transform .3s cubic-bezier(.4,0,.2,1)!important;color:rgba(15,23,42,0.30)!important;}

/* ── Answer reveal via checkbox ── */
.sbpj-oral-jury__answer-wrap{max-height:0!important;overflow:hidden!important;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1)!important;}

.sbpj-oral-jury__answer{padding:0 22px 0 68px!important;}
.sbpj-oral-jury__answer-label{font-size:0.65rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:rgba(15,23,42,0.35)!important;margin-bottom:6px!important;}
.sbpj-oral-jury__answer-text{font-size:0.85rem!important;line-height:1.75!important;color:rgba(15,23,42,0.62)!important;text-align:justify!important;padding-bottom:20px!important;}
.sbpj-oral-jury__answer-text strong{font-weight:700!important;color:#7A2F8F!important;}

/* ── Checked state ── */
.sbpj-oral-jury__acc-check:checked + .sbpj-oral-jury__accordion{border-color:rgba(122,47,143,0.18)!important;box-shadow:0 4px 20px rgba(0,0,0,0.08)!important;}
.sbpj-oral-jury__acc-check:checked + .sbpj-oral-jury__accordion .sbpj-oral-jury__q-number{background:linear-gradient(135deg,#7A2F8F 0%,#4C1D73 100%)!important;color:#ffffff!important;}
.sbpj-oral-jury__acc-check:checked + .sbpj-oral-jury__accordion .sbpj-oral-jury__chevron{transform:rotate(180deg)!important;color:#7A2F8F!important;}
.sbpj-oral-jury__acc-check:checked + .sbpj-oral-jury__accordion .sbpj-oral-jury__answer-wrap{max-height:300px!important;}

/* ── Tablette ── */
@media(max-width:900px){
  .sbpj-oral-jury__title{font-size:1.5rem!important;}
  .sbpj-oral-jury__header{margin-bottom:32px!important;}
}

/* ── Mobile ── */
@media(max-width:640px){
  .sbpj-oral-jury__title{font-size:1.3rem!important;}
  .sbpj-oral-jury__sub{font-size:0.93rem!important;}
  .sbpj-oral-jury__eyebrow::before,.sbpj-oral-jury__eyebrow::after{display:none!important;}
  .sbpj-oral-jury__tabs{justify-content:center!important;gap:6px!important;}
  .sbpj-oral-jury__tab-label{padding:10px 14px!important;font-size:0.75rem!important;border-radius:10px!important;}
  .sbpj-oral-jury__tab-count{display:none!important;}
  .sbpj-oral-jury__tab-icon{font-size:1rem!important;}
  .sbpj-oral-jury__accordion{border-radius:12px!important;margin-bottom:8px!important;}
  .sbpj-oral-jury__q-label{padding:14px 14px!important;gap:10px!important;}
  .sbpj-oral-jury__q-number{width:28px!important;height:28px!important;border-radius:8px!important;font-size:0.65rem!important;}
  .sbpj-oral-jury__q-text{font-size:0.82rem!important;}
  .sbpj-oral-jury__chevron{width:18px!important;height:18px!important;}
  .sbpj-oral-jury__answer{padding:0 14px 0 52px!important;}
  .sbpj-oral-jury__answer-text{font-size:0.82rem!important;line-height:1.65!important;}
  .sbpj-oral-jury__answer-label{font-size:0.6rem!important;}
}

@media(prefers-reduced-motion:reduce){
  .sbpj-oral-jury__panel{animation:none!important;}
  .sbpj-oral-jury__answer-wrap{transition:none!important;}
  .sbpj-oral-jury__chevron{transition:none!important;}
}

.sbpj-oral-erreurs,
.sbpj-oral-erreurs *,
.sbpj-oral-erreurs *::before,
.sbpj-oral-erreurs *::after { box-sizing: border-box!important; margin: 0!important; padding: 0!important; }

.sbpj-oral-erreurs {
  max-width: var(--sbpj-content-max, 1200px)!important;
  margin: 0 auto!important;
  padding: 0 20px!important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;
  -webkit-font-smoothing: antialiased!important;
}

/* ── Header ── */
.sbpj-oral-erreurs__header {
  text-align: center!important;
  margin-bottom: 40px!important;
}

.sbpj-oral-erreurs__eyebrow {
  display: inline-flex!important;
  align-items: center!important;
  gap: 10px!important;
  font-size: 11px!important;
  font-weight: 700!important;
  color: #7A2F8F!important;
  text-transform: uppercase!important;
  letter-spacing: .14em!important;
  margin-bottom: 16px!important;
}
.sbpj-oral-erreurs__eyebrow::before,
.sbpj-oral-erreurs__eyebrow::after {
  content: ''!important;
  width: 20px!important;
  height: 2px!important;
  background: #7A2F8F!important;
  border-radius: 2px!important;
  flex-shrink: 0!important;
}

.sbpj-oral-erreurs__title {
  font-size: 1.8rem!important;
  font-weight: 900!important;
  line-height: 1.12!important;
  letter-spacing: -.03em!important;
  color: #0f172a!important;
  margin-bottom: 14px!important;
}
.sbpj-oral-erreurs__title em {
  font-style: normal!important;
  background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 100%)!important;
  -webkit-background-clip: text!important;
  background-clip: text!important;
  color: transparent!important;
}

.sbpj-oral-erreurs__sub {
  font-size: 1rem!important;
  line-height: 1.75!important;
  color: rgba(15, 23, 42, 0.62)!important;
  max-width: 680px!important;
  margin: 0 auto!important;
}

/* ── Grid ── */
.sbpj-oral-erreurs__grid {
  display: grid!important;
  grid-template-columns: repeat(3, 1fr)!important;
  gap: 16px!important;
}

/* ── Carte ── */
.sbpj-oral-erreurs__card {
  background: #ffffff!important;
  border: 1px solid rgba(15, 23, 42, 0.08)!important;
  border-radius: 16px!important;
  padding: 32px 24px!important;
  display: flex!important;
  flex-direction: column!important;
  align-items: center!important;
  text-align: center!important;
  gap: 14px!important;
  box-shadow: 0 2px 12px rgba(0,0,0, 0.04)!important;
}

.sbpj-oral-erreurs__icon {
  width: 52px!important;
  height: 52px!important;
  border-radius: 14px!important;
  background: rgba(239, 68, 68, 0.06)!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  font-size: 26px!important;
  flex-shrink: 0!important;
}

.sbpj-oral-erreurs__card-title {
  font-size: 0.95rem!important;
  font-weight: 800!important;
  color: #0f172a!important;
  letter-spacing: -.01em!important;
}

.sbpj-oral-erreurs__card-text {
  font-size: 0.85rem!important;
  line-height: 1.7!important;
  color: rgba(15, 23, 42, 0.62)!important;
  text-align: justify!important;
}

/* ── Tablette ── */
@media (max-width: 900px) {
  .sbpj-oral-erreurs__title { font-size: 1.5rem!important; }
  .sbpj-oral-erreurs__header { margin-bottom: 32px!important; }
}

/* ── Mobile ── */
@media (max-width: 640px) {
  .sbpj-oral-erreurs__grid {
    grid-template-columns: 1fr!important;
    gap: 12px!important;
  }
  .sbpj-oral-erreurs__title { font-size: 1.3rem!important; }
  .sbpj-oral-erreurs__sub { font-size: 0.93rem!important; }
  .sbpj-oral-erreurs__eyebrow::before,
  .sbpj-oral-erreurs__eyebrow::after { display: none!important; }
  .sbpj-oral-erreurs__card { padding: 28px 20px!important; }
  .sbpj-oral-erreurs__card-text { text-align: center!important; }
}

.sbpj-oral-tl,
.sbpj-oral-tl *,
.sbpj-oral-tl *::before,
.sbpj-oral-tl *::after { box-sizing: border-box!important; margin: 0!important; padding: 0!important; }

.sbpj-oral-tl {
  max-width: var(--sbpj-content-max, 1200px)!important;
  margin: 0 auto!important;
  padding: 0 20px!important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;
  -webkit-font-smoothing: antialiased!important;
}

/* ── Header ── */
.sbpj-oral-tl__header {
  text-align: center!important;
  margin-bottom: 48px!important;
}

.sbpj-oral-tl__eyebrow {
  display: inline-flex!important;
  align-items: center!important;
  gap: 10px!important;
  font-size: 11px!important;
  font-weight: 700!important;
  color: #7A2F8F!important;
  text-transform: uppercase!important;
  letter-spacing: .14em!important;
  margin-bottom: 16px!important;
}
.sbpj-oral-tl__eyebrow::before,
.sbpj-oral-tl__eyebrow::after {
  content: ''!important;
  width: 20px!important;
  height: 2px!important;
  background: #7A2F8F!important;
  border-radius: 2px!important;
  flex-shrink: 0!important;
}

.sbpj-oral-tl__title {
  font-size: 1.8rem!important;
  font-weight: 900!important;
  line-height: 1.12!important;
  letter-spacing: -.03em!important;
  color: #0f172a!important;
  margin-bottom: 14px!important;
}
.sbpj-oral-tl__title em {
  font-style: normal!important;
  background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 100%)!important;
  -webkit-background-clip: text!important;
  background-clip: text!important;
  color: transparent!important;
}

.sbpj-oral-tl__sub {
  font-size: 1rem!important;
  line-height: 1.75!important;
  color: rgba(15, 23, 42, 0.62)!important;
  max-width: 680px!important;
  margin: 0 auto!important;
}

/* ── Timeline container ── */
.sbpj-oral-tl__timeline {
  position: relative!important;
  max-width: var(--sbpj-content-max, 1200px)!important;
  margin: 0 auto!important;
}

/* ── Ligne centrale ── */
.sbpj-oral-tl__timeline::before {
  content: ''!important;
  position: absolute!important;
  left: 50%!important;
  top: 0!important;
  bottom: 0!important;
  width: 2px!important;
  background: linear-gradient(180deg, #7A2F8F 0%, #4C1D73 50%, rgba(76, 29, 115, 0.15) 100%)!important;
  transform: translateX(-50%)!important;
  border-radius: 2px!important;
}

/* ── Step row ── */
.sbpj-oral-tl__step {
  display: grid!important;
  grid-template-columns: 1fr 60px 1fr!important;
  align-items: start!important;
  margin-bottom: 48px!important;
  position: relative!important;
}
.sbpj-oral-tl__step:last-child {
  margin-bottom: 0!important;
}

/* ── Numéro central ── */
.sbpj-oral-tl__dot {
  grid-column: 2!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 48px!important;
  height: 48px!important;
  border-radius: 50%!important;
  background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 100%)!important;
  color: #ffffff!important;
  font-weight: 800!important;
  font-size: 0.82rem!important;
  margin: 0 auto!important;
  position: relative!important;
  z-index: 2!important;
  box-shadow: 0 0 0 6px #ffffff, 0 2px 12px rgba(0,0,0, 0.20)!important;
  flex-shrink: 0!important;
}

/* ── Card contenu ── */
.sbpj-oral-tl__card {
  background: #ffffff!important;
  border: 1px solid rgba(15, 23, 42, 0.08)!important;
  border-radius: 16px!important;
  padding: 28px 24px!important;
  box-shadow: 0 2px 12px rgba(0,0,0, 0.04)!important;
}

.sbpj-oral-tl__card-title {
  font-size: 1rem!important;
  font-weight: 800!important;
  color: #0f172a!important;
  letter-spacing: -.01em!important;
  margin-bottom: 10px!important;
  line-height: 1.3!important;
}

.sbpj-oral-tl__card-text {
  font-size: 0.85rem!important;
  line-height: 1.75!important;
  color: rgba(15, 23, 42, 0.62)!important;
  text-align: justify!important;
}

/* ── Alternance gauche / droite ── */
.sbpj-oral-tl__step--left .sbpj-oral-tl__card {
  grid-column: 1!important;
  grid-row: 1!important;
}
.sbpj-oral-tl__step--left .sbpj-oral-tl__dot {
  grid-row: 1!important;
}
.sbpj-oral-tl__step--left .sbpj-oral-tl__spacer {
  grid-column: 3!important;
  grid-row: 1!important;
}

.sbpj-oral-tl__step--right .sbpj-oral-tl__card {
  grid-column: 3!important;
  grid-row: 1!important;
}
.sbpj-oral-tl__step--right .sbpj-oral-tl__dot {
  grid-row: 1!important;
}
.sbpj-oral-tl__step--right .sbpj-oral-tl__spacer {
  grid-column: 1!important;
  grid-row: 1!important;
}

/* ── Tablette ── */
@media (max-width: 900px) {
  .sbpj-oral-tl__title { font-size: 1.5rem!important; }
  .sbpj-oral-tl__header { margin-bottom: 40px!important; }
  .sbpj-oral-tl__step { grid-template-columns: 1fr 50px 1fr!important; margin-bottom: 36px!important; }
  .sbpj-oral-tl__dot { width: 42px!important; height: 42px!important; font-size: 0.75rem!important; }
  .sbpj-oral-tl__card { padding: 24px 20px!important; }
}

/* ── Mobile ── */
@media (max-width: 640px) {
  .sbpj-oral-tl__title { font-size: 1.3rem!important; }
  .sbpj-oral-tl__sub { font-size: 0.93rem!important; }
  .sbpj-oral-tl__eyebrow::before,
  .sbpj-oral-tl__eyebrow::after { display: none!important; }

  .sbpj-oral-tl__timeline::before {
    left: 20px!important;
    transform: none!important;
  }

  .sbpj-oral-tl__step {
    grid-template-columns: 40px 1fr!important;
    gap: 16px!important;
    margin-bottom: 28px!important;
  }

  .sbpj-oral-tl__dot {
    grid-column: 1!important;
    grid-row: 1!important;
    width: 40px!important;
    height: 40px!important;
    font-size: 0.72rem!important;
    box-shadow: 0 0 0 5px #ffffff, 0 2px 8px rgba(0,0,0, 0.15)!important;
  }

  .sbpj-oral-tl__step--left .sbpj-oral-tl__card,
  .sbpj-oral-tl__step--right .sbpj-oral-tl__card {
    grid-column: 2!important;
    grid-row: 1!important;
  }

  .sbpj-oral-tl__spacer { display: none!important; }

  .sbpj-oral-tl__card { padding: 20px 18px!important; }
  .sbpj-oral-tl__card-text { text-align: justify!important; font-size: 0.82rem!important; }
}

.sbpj-oral-cta,
.sbpj-oral-cta *,
.sbpj-oral-cta *::before,
.sbpj-oral-cta *::after { box-sizing: border-box!important; margin: 0!important; padding: 0!important; }
.sbpj-oral-cta {
  max-width: var(--sbpj-content-max, 1200px)!important;
  margin: 0 auto!important;
  padding: 0 20px!important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;
  -webkit-font-smoothing: antialiased!important;
}
.sbpj-oral-cta__card {
  width: 100%!important;
  padding: 56px 48px!important;
  border-radius: 16px!important;
  background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 45%, #1B0A3D 100%)!important;
  box-shadow: 0 10px 35px rgba(0,0,0, 0.25)!important;
  text-align: center!important;
}
.sbpj-oral-cta__title {
  font-size: 1.8rem!important;
  font-weight: 900!important;
  line-height: 1.12!important;
  letter-spacing: -.03em!important;
  color: #ffffff!important;
  margin-bottom: 16px!important;
}
.sbpj-oral-cta__text {
  font-size: 0.95rem!important;
  line-height: 1.7!important;
  color: rgba(255, 255, 255, 0.72)!important;
  max-width: 620px!important;
  margin: 0 auto 36px!important;
}
.sbpj-oral-cta__actions {
  display: flex!important;
  gap: 16px!important;
  justify-content: center!important;
  flex-wrap: wrap!important;
}
.sbpj-oral-cta__btn {
  display: inline-flex!important;
  align-items: center!important;
  justify-content: center!important;
  padding: 18px 44px!important;
  border-radius: 14px!important;
  font-size: 0.9rem!important;
  font-weight: 800!important;
  letter-spacing: 0.01em!important;
  text-decoration: none!important;
  cursor: pointer!important;
  min-width: 220px!important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;
  transition: opacity .22s cubic-bezier(.4, 0, .2, 1), transform .22s cubic-bezier(.4, 0, .2, 1), box-shadow .22s cubic-bezier(.4, 0, .2, 1)!important;
  border: none!important;
}
.sbpj-oral-cta__btn--primary {
  background: #ffffff!important;
  color: #1B0A3D!important;
  box-shadow: 0 4px 14px rgba(0,0,0, 0.15)!important;
}
.sbpj-oral-cta__btn--outline {
  background: transparent!important;
  color: #ffffff!important;
  border: 2px solid rgba(255, 255, 255, 0.30)!important;
  box-shadow: none!important;
}
@media (hover: hover) and (pointer: fine) {
  .sbpj-oral-cta__btn--primary:hover {
    opacity: .9!important;
    transform: translateY(-2px)!important;
    box-shadow: 0 6px 20px rgba(0,0,0, 0.20)!important;
  }
  .sbpj-oral-cta__btn--outline:hover {
    background: rgba(255, 255, 255, 0.08)!important;
    transform: translateY(-2px)!important;
  }
}
/* ── Tablette ── */
@media (max-width: 900px) {
  .sbpj-oral-cta__card { padding: 44px 32px!important; }
  .sbpj-oral-cta__title { font-size: 1.5rem!important; }
}
/* ── Mobile ── */
@media (max-width: 640px) {
  .sbpj-oral-cta__card { padding: 36px 20px!important; }
  .sbpj-oral-cta__title { font-size: 1.3rem!important; }
  .sbpj-oral-cta__text { font-size: 0.88rem!important; margin-bottom: 28px!important; }
  .sbpj-oral-cta__actions {
    flex-direction: column!important;
    gap: 12px!important;
  }
  .sbpj-oral-cta__btn {
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    padding: 16px 24px!important;
    font-size: 0.92rem!important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sbpj-oral-cta__btn { transition: none!important; }
}

.sbpj-oral-faq,
.sbpj-oral-faq *,
.sbpj-oral-faq *::before,
.sbpj-oral-faq *::after { box-sizing: border-box!important; margin: 0!important; padding: 0!important; }

.sbpj-oral-faq {
  max-width: var(--sbpj-content-max, 1200px)!important;
  margin: 0 auto!important;
  padding: 0 20px!important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif!important;
  -webkit-font-smoothing: antialiased!important;
}

/* ── Header ── */
.sbpj-oral-faq__header {
  text-align: center!important;
  margin-bottom: 40px!important;
}

.sbpj-oral-faq__eyebrow {
  display: inline-flex!important;
  align-items: center!important;
  gap: 10px!important;
  font-size: 11px!important;
  font-weight: 700!important;
  color: #7A2F8F!important;
  text-transform: uppercase!important;
  letter-spacing: .14em!important;
  margin-bottom: 16px!important;
}
.sbpj-oral-faq__eyebrow::before,
.sbpj-oral-faq__eyebrow::after {
  content: ''!important;
  width: 20px!important;
  height: 2px!important;
  background: #7A2F8F!important;
  border-radius: 2px!important;
  flex-shrink: 0!important;
}

.sbpj-oral-faq__title {
  font-size: 1.8rem!important;
  font-weight: 900!important;
  line-height: 1.12!important;
  letter-spacing: -.03em!important;
  color: #0f172a!important;
  margin-bottom: 14px!important;
}
.sbpj-oral-faq__title em {
  font-style: normal!important;
  background: linear-gradient(135deg, #7A2F8F 0%, #4C1D73 100%)!important;
  -webkit-background-clip: text!important;
  background-clip: text!important;
  color: transparent!important;
}

.sbpj-oral-faq__sub {
  font-size: 1rem!important;
  line-height: 1.75!important;
  color: rgba(15, 23, 42, 0.62)!important;
  max-width: 620px!important;
  margin: 0 auto!important;
}

/* ── Hidden radios ── */
.sbpj-oral-faq__radio { display: none!important; }

/* ── List ── */
.sbpj-oral-faq__list {
  max-width: var(--sbpj-content-max, 1200px)!important;
  margin: 0 auto!important;
}

/* ── Item ── */
.sbpj-oral-faq__item {
  border-bottom: 1px solid rgba(122, 47, 143, 0.10)!important;
}
.sbpj-oral-faq__item:first-of-type {
  border-top: 1px solid rgba(122, 47, 143, 0.10)!important;
}

/* ── Question label ── */
.sbpj-oral-faq__question {
  display: flex!important;
  justify-content: space-between!important;
  align-items: center!important;
  padding: 18px 0!important;
  cursor: pointer!important;
  gap: 16px!important;
  user-select: none!important;
}

.sbpj-oral-faq__q-text {
  font-size: 0.95rem!important;
  font-weight: 700!important;
  line-height: 1.3!important;
  color: #0f172a!important;
  letter-spacing: -.01em!important;
}

.sbpj-oral-faq__icon {
  font-size: 28px!important;
  line-height: 1!important;
  color: #7A2F8F!important;
  flex-shrink: 0!important;
  transition: transform .35s cubic-bezier(.4, 0, .2, 1)!important;
}

/* ── Answer ── */
.sbpj-oral-faq__answer {
  max-height: 0!important;
  overflow: hidden!important;
  transition: max-height .4s cubic-bezier(.4, 0, .2, 1)!important;
}

.sbpj-oral-faq__answer-inner {
  padding-bottom: 16px!important;
}

.sbpj-oral-faq__answer p {
  font-size: 0.88rem!important;
  line-height: 1.7!important;
  color: rgba(15, 23, 42, 0.62)!important;
  text-align: justify!important;
}

/* ── Checked state (radio = one open at a time) ── */
#sbpj-ofaq-1:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(1) .sbpj-oral-faq__icon,
#sbpj-ofaq-2:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(2) .sbpj-oral-faq__icon,
#sbpj-ofaq-3:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(3) .sbpj-oral-faq__icon,
#sbpj-ofaq-4:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(4) .sbpj-oral-faq__icon,
#sbpj-ofaq-5:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(5) .sbpj-oral-faq__icon,
#sbpj-ofaq-6:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(6) .sbpj-oral-faq__icon,
#sbpj-ofaq-7:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(7) .sbpj-oral-faq__icon {
  transform: rotate(45deg)!important;
}

#sbpj-ofaq-1:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(1) .sbpj-oral-faq__answer,
#sbpj-ofaq-2:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(2) .sbpj-oral-faq__answer,
#sbpj-ofaq-3:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(3) .sbpj-oral-faq__answer,
#sbpj-ofaq-4:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(4) .sbpj-oral-faq__answer,
#sbpj-ofaq-5:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(5) .sbpj-oral-faq__answer,
#sbpj-ofaq-6:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(6) .sbpj-oral-faq__answer,
#sbpj-ofaq-7:checked ~ .sbpj-oral-faq__list .sbpj-oral-faq__item:nth-of-type(7) .sbpj-oral-faq__answer {
  max-height: 500px!important;
}

/* ── Tablette ── */
@media (max-width: 900px) {
  .sbpj-oral-faq__title { font-size: 1.5rem!important; }
  .sbpj-oral-faq__header { margin-bottom: 32px!important; }
}

/* ── Mobile ── */
@media (max-width: 640px) {
  .sbpj-oral-faq__title { font-size: 1.3rem!important; }
  .sbpj-oral-faq__sub { font-size: 0.93rem!important; }
  .sbpj-oral-faq__eyebrow::before,
  .sbpj-oral-faq__eyebrow::after { display: none!important; }
  .sbpj-oral-faq__question { padding: 16px 0!important; }
  .sbpj-oral-faq__q-text { font-size: 0.88rem!important; }
  .sbpj-oral-faq__icon { font-size: 26px!important; }
  .sbpj-oral-faq__answer p { font-size: 0.85rem!important; }
}

@media (prefers-reduced-motion: reduce) {
  .sbpj-oral-faq__icon { transition: none!important; }
  .sbpj-oral-faq__answer { transition: none!important; }
}

.sbpj-oral-reco,
  .sbpj-oral-reco *,
  .sbpj-oral-reco *::before,
  .sbpj-oral-reco *::after { box-sizing: border-box; margin: 0; padding: 0; }

  .sbpj-oral-reco {
    --accent:      #7A2F8F;
    --accent-mid:  #4C1D73;
    --accent-dark: #1B0A3D;
    --grad-cta:    linear-gradient(135deg, #7A2F8F 0%, #4C1D73 45%, #1B0A3D 100%);
    --text:        #0f172a;
    --text-soft:   rgba(15, 23, 42, 0.60);
    --border:      rgba(15, 23, 42, 0.08);
    --shadow:      0 4px 16px rgba(15, 23, 42, 0.05);
    --font:        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ease:        cubic-bezier(.4, 0, .2, 1);
  }

  .sbpj-oral-reco {
    width: 100%;
    max-width: var(--sbpj-content-max, 1200px);
    margin: 0 auto;
    font-family: var(--font);
  }

  .sbpj-oral-reco__header {
    text-align: center;
    margin-bottom: 48px;
  }

  .sbpj-oral-reco__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 700;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 16px;
  }
  .sbpj-oral-reco__eyebrow::before,
  .sbpj-oral-reco__eyebrow::after {
    content: '';
    width: 20px;
    height: 2px;
    background: var(--accent);
    border-radius: 2px;
    flex-shrink: 0;
  }

  .sbpj-oral-reco__h2 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.03em;
    color: var(--text);
    margin-bottom: 14px;
  }
  .sbpj-oral-reco__h2 em {
    font-style: normal;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-mid) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .sbpj-oral-reco__tagline {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--text-soft);
    max-width: 100%;
    margin: 0 auto;
    white-space: nowrap;
  }

  .sbpj-oral-reco__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
  }

  .sbpj-oral-reco__card {
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 0;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
  }

  @media (hover: hover) and (pointer: fine) {
    .sbpj-oral-reco__card:hover {
      transform: translateY(-5px);
      box-shadow: 0 14px 36px rgba(0,0,0, 0.10);
      border-color: rgba(122, 47, 143, 0.22);
    }
  }

  .sbpj-oral-reco__img-wrap {
    width: 100%;
    aspect-ratio: 4 / 3.6;
    overflow: hidden;
    background: #f4f4f6;
    border-bottom: 1px solid var(--border);
  }

  .sbpj-oral-reco__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s var(--ease);
  }

  @media (hover: hover) and (pointer: fine) {
    .sbpj-oral-reco__card:hover .sbpj-oral-reco__img { transform: scale(1.03); }
  }

  .sbpj-oral-reco__body {
    padding: 20px 20px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px;
  }

  .sbpj-oral-reco__title {
    font-size: .95rem;
    font-weight: 600;
    color: var(--text);
    letter-spacing: -.01em;
    text-transform: uppercase;
  }

  .sbpj-oral-reco__desc {
    font-size: .82rem;
    line-height: 1.6;
    color: var(--text-soft);
    flex: 1;
    text-align: justify;
  }

  .sbpj-oral-reco__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 11px 18px;
    background: var(--grad-cta);
    color: #ffffff;
    font-family: var(--font);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0, 0.30);
    transition: opacity .22s, transform .22s, box-shadow .22s;
  }

  @media (hover: hover) and (pointer: fine) {
    .sbpj-oral-reco__cta:hover {
      opacity: .9;
      transform: translateY(-1px);
      box-shadow: 0 6px 20px rgba(0,0,0, 0.4);
    }
  }

  @media (max-width: 860px) {
    .sbpj-oral-reco__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .sbpj-oral-reco__h2   { font-size: 1.5rem; }
  }

  @media (max-width: 480px) {
    .sbpj-oral-reco__grid    { grid-template-columns: 1fr; gap: 14px; }
    .sbpj-oral-reco__h2      { font-size: 1.3rem; }
    .sbpj-oral-reco__header  { margin-bottom: 32px; }
    .sbpj-oral-reco__tagline { white-space: normal; }
    .sbpj-oral-reco__desc    { white-space: normal; overflow: visible; text-overflow: unset; }
  }

  @media (prefers-reduced-motion: reduce) {
    .sbpj-oral-reco__card,
    .sbpj-oral-reco__img,
    .sbpj-oral-reco__cta { transition: none; }
  }
/* Fond étoilé SmartRoom (BRAND-KIT §5) — uniformisation 17/07/2026 */
.sbpj-oral-cta__card { position: relative !important; overflow: hidden !important; }
.sbpj-oral-cta__card::before,
.sbpj-oral-cta__card::after {
  content: ""; position: absolute; border-radius: 50%;
  background: rgba(255,255,255,.10); pointer-events: none;
}
.sbpj-oral-cta__card::before { width: 224px; height: 224px; left: -110px; top: -110px; }
.sbpj-oral-cta__card::after  { width: 288px; height: 288px; right: -80px; bottom: -80px; background: rgba(255,255,255,.07); }
.sbpj-oral-cta__card > * { position: relative; z-index: 1; }
.sbpj-oral-cta__star { position: absolute; color: rgba(255,255,255,.7); pointer-events: none; user-select: none; line-height: 1; z-index: 0 !important; }
