/* DataSAI - Page Bootcamps premium : polices et palette du site (Instrument Serif, Inter, IBM Plex Mono ; or champagne,
   bleu SAI, émeraude, encre de nuit), sections de vente illustrées en 3D. Les titres découpés en lettres prennent un or uni. */
:root { --bp-or: #e7d9b6; --bp-or2: #c9a86a; --bp-bronze: #9a6a31; --bp-sai: #38b6ff; --bp-sai-clair: #1677b8; --bp-encre: #0b1220; --bp-gris: #4a5468;
  --bp-nuit: linear-gradient(165deg, #16233f 0%, #0d1730 52%, #080d1c 100%); }

/* Polices */
html body { font-family: 'Inter', system-ui, sans-serif !important; }
html body .hero h1, html body .bc-open h2, html body .cat-next h2, html body .bc-next h3, html body .avis h2, html body .bc-open-price b {
  font-family: 'Instrument Serif', Georgia, serif !important; font-weight: 400 !important; letter-spacing: -.005em; }
html body .bc-open h2 span, html body .avis-plus { font-family: 'Inter', sans-serif !important; }
html body .bc-open-status, html body .bc-next-when, html body .avis-prog, html body .cat-next span { font-family: 'IBM Plex Mono', monospace !important; letter-spacing: .1em; }

/* En-tête */
html body .hero { padding-top: 120px !important; padding-bottom: 88px !important; }
html body .bp-sur { position: relative; z-index: 2; margin: 18px 0 14px; font: 600 12.5px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--bp-or); }
html body .hero h1 { font-size: clamp(44px, 6vw, 82px) !important; line-height: 1.02 !important; max-width: 21ch; margin-left: auto; margin-right: auto; }
html body .hero h1 em, html body .hero h1 em * { font-style: italic; color: var(--bp-or) !important; -webkit-text-fill-color: var(--bp-or) !important; background: none !important; }
html body .hero .hero-sub { font-family: 'Inter', sans-serif !important; font-size: 18px !important; line-height: 1.65 !important; max-width: 640px; color: rgba(226,232,240,.8) !important; }
.bp-hero-btns { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 30px 0 0; }
.bp-btn-or, .bp-btn-clair { display: inline-flex; align-items: center; padding: 16px 28px; border-radius: 999px; font: 700 16px 'Inter', sans-serif; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.bp-btn-or { color: #1a1206 !important; background: linear-gradient(180deg, #f2e4ca 0%, #e7d9b6 40%, #c9a86a 100%); box-shadow: 0 14px 34px rgba(201,150,63,.35); }
.bp-btn-clair { color: #fff !important; border: 1px solid rgba(231,217,182,.4); background: rgba(255,255,255,.04); }
.bp-btn-or:hover, .bp-btn-clair:hover { transform: translateY(-2px); }
.bp-promesses { position: relative; z-index: 2; list-style: none; margin: 40px auto 0; padding: 0; max-width: 900px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 26px; text-align: left; }
.bp-promesses li { border-top: 1px solid rgba(231,217,182,.35); padding-top: 12px; }
.bp-promesses b { display: block; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 30px; line-height: 1; color: #fff; }
.bp-promesses span { display: block; margin-top: 6px; font-size: 13.5px; line-height: 1.4; color: rgba(226,232,240,.7); }

/* Sections de vente */
.bp-sec { max-width: 1200px; margin: 0 auto; padding: 96px 48px 0; }
.bp-label { margin: 0 0 12px; font: 600 12px 'IBM Plex Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--bp-sai-clair); }
.bp-titre { margin: 0 0 12px; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: clamp(34px, 3.8vw, 52px); line-height: 1.04; color: var(--bp-encre); }
.bp-titre em, .bp-titre em * { font-style: italic; color: var(--bp-bronze) !important; -webkit-text-fill-color: var(--bp-bronze) !important; background: none !important; }
.bp-intro { max-width: 660px; margin: 0 0 34px; font-size: 16.5px; line-height: 1.65; color: var(--bp-gris); }
.bp-objet { width: 64px; height: 64px; display: block; filter: drop-shadow(0 12px 14px rgba(0,0,0,.35)); animation: bp-flotte 6s ease-in-out infinite; }
@keyframes bp-flotte { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-7px) rotate(-3deg); } }

/* Quel bootcamp pour vous */
.bp-choix-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.bp-choix { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px 26px 26px; border-radius: 22px; text-decoration: none; color: #fff; overflow: hidden;
  background: radial-gradient(80% 60% at 100% 0%, rgba(231,217,182,.14), transparent 60%), var(--bp-nuit); border: 1px solid rgba(231,217,182,.18);
  box-shadow: 0 24px 48px rgba(5,9,20,.2); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, border-color .35s; }
.bp-choix:hover { transform: translateY(-5px); border-color: rgba(231,217,182,.45); box-shadow: 0 32px 60px rgba(5,9,20,.3); }
.bp-tag { align-self: flex-start; margin-top: 8px; padding: 5px 11px; border-radius: 999px; border: 1px solid rgba(231,217,182,.35); font: 600 11px 'IBM Plex Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--bp-or); }
.bp-choix h3 { margin: 4px 0 0; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 27px; line-height: 1.1; color: #fff; }
.bp-choix p { margin: 0; font-size: 15.5px; line-height: 1.6; color: rgba(226,232,240,.78); flex: 1; }
.bp-prog { margin-top: 8px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); font: 600 12px 'IBM Plex Mono', monospace; letter-spacing: .06em; color: #8fd6ff; }
.bp-voir { font-weight: 700; font-size: 15px; color: var(--bp-or); }

/* Pourquoi DataSAI */
.bp-args { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bp-arg { padding: 28px 26px 26px; border-radius: 22px; background: #fff; border: 1px solid #eadfc8; box-shadow: 0 14px 30px rgba(20,30,50,.07); transition: transform .3s, box-shadow .3s; }
.bp-arg:hover { transform: translateY(-4px); box-shadow: 0 22px 40px rgba(20,30,50,.12); }
.bp-arg .bp-objet { width: 56px; height: 56px; margin-bottom: 16px; filter: drop-shadow(0 10px 12px rgba(20,30,50,.22)); }
.bp-arg h3 { margin: 0 0 8px; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 25px; line-height: 1.1; color: var(--bp-encre); }
.bp-arg p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--bp-gris); }
.bp-args .bp-arg:nth-child(2) .bp-objet { animation-delay: -1s; } .bp-args .bp-arg:nth-child(3) .bp-objet { animation-delay: -2s; }
.bp-args .bp-arg:nth-child(4) .bp-objet { animation-delay: -3s; } .bp-args .bp-arg:nth-child(5) .bp-objet { animation-delay: -4s; }

/* Déroulé */
.bp-etapes { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; position: relative; }
.bp-etapes::before { content: ""; position: absolute; top: 58px; left: 12%; right: 12%; border-top: 2px dashed rgba(197,152,100,.55); }
.bp-etape { position: relative; text-align: center; }
.bp-etape-objet { width: 116px; height: 116px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(circle at 35% 30%, #fff 0%, #f3ead8 70%); border: 1px solid #eadfc8; box-shadow: 0 18px 34px rgba(20,30,50,.1); }
.bp-etape-objet img { width: 68px; height: 68px; filter: drop-shadow(0 10px 12px rgba(20,30,50,.22)); animation: bp-flotte 6s ease-in-out infinite; }
.bp-num { display: block; margin-bottom: 6px; font: 600 12px 'IBM Plex Mono', monospace; letter-spacing: .12em; color: var(--bp-bronze); }
.bp-etape h3 { margin: 0 0 8px; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 25px; line-height: 1.1; color: var(--bp-encre); }
.bp-etape p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bp-gris); }

/* Garantie et appel */
.bp-garantie { display: flex; align-items: center; gap: 28px; padding: 34px 36px; border-radius: 26px; color: #fff;
  background: radial-gradient(60% 90% at 0% 0%, rgba(31,174,127,.22), transparent 60%), var(--bp-nuit); border: 1px solid rgba(110,231,183,.3); box-shadow: 0 28px 56px rgba(5,9,20,.25); }
.bp-garantie-objet { width: 96px; height: 96px; flex: none; filter: drop-shadow(0 14px 18px rgba(0,0,0,.45)); animation: bp-flotte 6s ease-in-out infinite; }
.bp-garantie h2 { margin: 0 0 10px; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.05; color: #fff; }
.bp-garantie h2 em, .bp-garantie h2 em * { font-style: italic; color: #6ee7b7 !important; -webkit-text-fill-color: #6ee7b7 !important; background: none !important; }
.bp-garantie p { margin: 0 0 12px; max-width: 760px; font-size: 16.5px; line-height: 1.65; color: rgba(226,232,240,.82); }
.bp-garantie a { font-weight: 600; color: #6ee7b7; text-decoration: underline; text-underline-offset: 3px; }
.bp-mini-appel { display: flex; align-items: center; gap: 16px; max-width: 780px; margin: 26px auto 0; padding: 14px 16px 14px 14px; border-radius: 999px; background: #fff; border: 1px solid #eadfc8; box-shadow: 0 12px 28px rgba(20,30,50,.08); }
.bp-mini-photo { width: 54px; height: 54px; flex: none; border-radius: 50%; object-fit: cover; object-position: center 20%; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c9963f; }
.bp-mini-appel p { flex: 1; margin: 0; font-size: 15px; line-height: 1.45; color: #2a3446; }
.bp-mini-appel b { color: var(--bp-encre); }
.bp-mini-btn { flex: none; padding: 11px 20px; border-radius: 999px; font-weight: 700; font-size: 14.5px; white-space: nowrap; text-decoration: none; color: #1a1206 !important; background: linear-gradient(180deg, #f2e4ca, #c9a86a); }

/* Catalogue : titres et sous-titre de section */
html body .catalogue { padding-top: 96px !important; }
html body .cat-next h2 { font-size: clamp(30px, 3.2vw, 42px) !important; }

/* Avis (les avis actuels sont gardés, le style suit le site) */
html body .avis { padding-top: 96px !important; border-top: 0 !important; }
html body .avis h2 { font-size: clamp(34px, 3.8vw, 52px) !important; line-height: 1.04 !important; color: var(--bp-encre) !important; }
html body .avis h2 em, html body .avis h2 em * { color: var(--bp-bronze) !important; -webkit-text-fill-color: var(--bp-bronze) !important; background: none !important; }
html body .avis-intro { color: var(--bp-gris) !important; font-size: 16.5px !important; }
html body .avis-carte { background: var(--bp-nuit) !important; border: 1px solid rgba(231,217,182,.18) !important; border-radius: 22px !important; box-shadow: 0 20px 40px rgba(5,9,20,.18); }
html body .avis-prog { color: #8fd6ff !important; }
html body .avis-etoiles { color: #e2bf86 !important; }
html body .avis-texte { font-family: 'Instrument Serif', Georgia, serif !important; font-size: 14px !important; line-height: 1.55 !important; color: #fff !important; }
html body .avis-initiale { font-family: 'Instrument Serif', Georgia, serif !important; background: rgba(231,217,182,.12) !important; border-color: rgba(231,217,182,.35) !important; color: var(--bp-or) !important; }
html body .avis-nom { font-family: 'Inter', sans-serif !important; color: #fff !important; }
html body .avis-role { color: rgba(226,232,240,.6) !important; }
html body .avis-plus { border-radius: 999px !important; color: var(--bp-encre) !important; border-color: #d9c9a6 !important; background: #fff !important; font-weight: 600 !important; }
html body .avis-carte.bp-avis-reel .avis-prog::after { content: " · avis vérifié"; color: #6ee7b7; }
html[lang="en"] body .avis-carte.bp-avis-reel .avis-prog::after { content: " · verified review"; }

/* Bandeau final */
.bp-bas { margin: 96px 0 0; padding: 88px 24px 96px; text-align: center; color: #fff;
  background: radial-gradient(60% 80% at 50% 0%, rgba(231,217,182,.16), transparent 65%), linear-gradient(180deg, #0b142a, #060a16); }
.bp-bas h2 { margin: 0 auto 14px; max-width: 18ch; font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.04; }
.bp-bas h2 em, .bp-bas h2 em * { font-style: italic; color: var(--bp-or) !important; -webkit-text-fill-color: var(--bp-or) !important; background: none !important; }
.bp-bas > p { max-width: 620px; margin: 0 auto 28px; font-size: 17px; line-height: 1.65; color: rgba(226,232,240,.78); }
.bp-bas-btn { display: inline-flex; padding: 17px 32px; border-radius: 999px; font-weight: 700; font-size: 16.5px; text-decoration: none; color: #1a1206 !important;
  background: linear-gradient(180deg, #f2e4ca 0%, #e7d9b6 40%, #c9a86a 100%); box-shadow: 0 14px 34px rgba(201,150,63,.35); }
.bp-bas .bp-bas-rdv { margin: 22px auto 0; max-width: 640px; text-align: center; font-size: 15px; color: rgba(226,232,240,.7); }
.bp-bas .bp-bas-rdv a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Écrans moyens et mobiles */
@media (max-width: 1000px) {
  .bp-choix-grille, .bp-args { grid-template-columns: 1fr 1fr; }
  .bp-etapes { grid-template-columns: 1fr 1fr; row-gap: 40px; } .bp-etapes::before { display: none; }
}
@media (max-width: 700px) {
  .bp-sec { padding: 72px 16px 0; }
  .bp-promesses { grid-template-columns: 1fr 1fr; gap: 18px 16px; margin-top: 32px; }
  .bp-promesses b { font-size: 25px; } .bp-promesses span { font-size: 12.5px; }
  .bp-choix-grille, .bp-args, .bp-etapes { grid-template-columns: 1fr; }
  .bp-etape { display: grid; grid-template-columns: 84px 1fr; column-gap: 16px; text-align: left; }
  .bp-etape-objet { width: 84px; height: 84px; margin: 0; grid-row: span 3; } .bp-etape-objet img { width: 50px; height: 50px; }
  .bp-garantie { flex-direction: column; align-items: flex-start; padding: 26px 20px; gap: 16px; }
  .bp-garantie-objet { width: 72px; height: 72px; }
  .bp-mini-appel { flex-wrap: wrap; border-radius: 22px; } .bp-mini-btn { width: 100%; text-align: center; }
  .bp-btn-or, .bp-btn-clair { width: 100%; justify-content: center; }
  html body .hero { padding-top: 96px !important; padding-bottom: 64px !important; }
}
@media (prefers-reduced-motion: reduce) { .bp-objet, .bp-etape-objet img, .bp-garantie-objet { animation: none; } }
