/* SB Craft Academy — Guides e-books & Accueil (MK Compagnie) */
:root{
  --sbca-ivoire:#FAFBF7; --sbca-noir:#111111; --sbca-taupe:#B8A89C;
  --sbca-rose:#E9D6D3; --sbca-dore:#C9A86A; --sbca-bronze:#A8864C;
  --sbca-serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --sbca-sans:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- Bouton doré (CTA) ---------- */
.sbca-btn, a.sbca-gold, button.sbca-gold, .sbca-gold{
  display:inline-flex !important; align-items:center; justify-content:center;
  background:var(--sbca-dore) !important; background-image:none !important;
  color:var(--sbca-noir) !important; border:1px solid var(--sbca-dore) !important;
  font-family:var(--sbca-sans) !important; font-weight:600 !important;
  font-size:12.5px !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  padding:14px 26px !important; border-radius:2px !important; line-height:1.2 !important;
  text-decoration:none !important; text-align:center; cursor:pointer;
  box-shadow:0 6px 18px rgba(201,168,106,.28);
  transition:background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.sbca-btn:hover, .sbca-btn:focus-visible, .sbca-gold:hover, .sbca-gold:focus-visible{
  background:var(--sbca-bronze) !important; border-color:var(--sbca-bronze) !important;
  color:#fff !important; transform:translateY(-1px); box-shadow:0 10px 24px rgba(168,134,76,.35);
}
.sbca-btn:focus-visible, .sbca-gold:focus-visible{ outline:2px solid var(--sbca-noir); outline-offset:3px; }

.sbca-hero-cta-wrap{ margin-top:28px; }
.sbca-hero-cta{ padding:16px 34px !important; font-size:13px !important; }

/* ---------- Section e-books ---------- */
.sbca-guides{ scroll-margin-top:110px; padding:72px 20px; background:var(--sbca-ivoire); }
.sbca-head{ max-width:760px; margin:0 auto 44px; text-align:center; }
.sbca-surtitre{ font-family:var(--sbca-sans); font-size:12px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--sbca-dore); margin:0 0 12px; }
.sbca-h2{ font-family:var(--sbca-serif) !important; font-weight:600; font-size:clamp(28px,4vw,42px);
  line-height:1.15; color:var(--sbca-noir); margin:0 0 14px; }
.sbca-sub{ font-size:16px; line-height:1.6; color:#4a4540; margin:0; }

.sbca-grid{ max-width:1200px; margin:0 auto; display:grid; gap:28px;
  grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1024px){ .sbca-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .sbca-grid{ grid-template-columns:1fr; gap:24px; } .sbca-guides{ padding:56px 16px; } }

.sbca-card{ background:#fff; border:1px solid rgba(184,168,156,.35); border-radius:4px; overflow:hidden;
  display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(17,17,17,.06);
  transition:transform .3s ease, box-shadow .3s ease; }
.sbca-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(17,17,17,.12); }

.sbca-media{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; text-decoration:none !important;
  background:linear-gradient(135deg,var(--sbca-taupe),var(--sbca-rose)); }
@media (max-width:640px){ .sbca-media{ aspect-ratio:4/3.6; } }
.sbca-media img, .sbca-fallback{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s ease; }
.sbca-card:hover .sbca-media img{ transform:scale(1.04); }

/* Voile sombre 20 % + léger dégradé sous le texte pour la lisibilité sur cire/céramique claires */
.sbca-veil{ position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(17,17,17,0) 45%, rgba(17,17,17,.38) 100%), rgba(17,17,17,.20); }

.sbca-badge{ position:absolute; top:16px; left:16px; z-index:2; max-width:calc(100% - 32px);
  background:rgba(250,251,247,.94); color:var(--sbca-noir); font-family:var(--sbca-sans); font-weight:600;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; padding:8px 12px; border-radius:2px;
  border-left:3px solid var(--sbca-dore); line-height:1.3; }

.sbca-media-text{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 22px 24px; color:#fff; }
.sbca-eyebrow{ display:inline-block; font-family:var(--sbca-sans); font-weight:600; font-size:10.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--sbca-dore); background:rgba(17,17,17,.55);
  padding:5px 9px; margin-bottom:12px; border-radius:2px; }
.sbca-title{ display:block; font-family:var(--sbca-serif) !important; font-style:normal !important; font-weight:700;
  font-size:clamp(20px,2.1vw,25px); line-height:1.2; letter-spacing:.04em; text-transform:uppercase; color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45); }
.sbca-subtitle{ display:block; margin-top:8px; font-family:var(--sbca-serif); font-style:italic; font-weight:500;
  font-size:16px; line-height:1.35; color:#F3E7CF; text-shadow:0 1px 8px rgba(0,0,0,.5); }

.sbca-body{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:14px; flex:1; }
.sbca-hook{ margin:0; font-size:15px; line-height:1.6; color:#3d3833; }
.sbca-access, .sbca-product-badge{ margin:0; font-family:var(--sbca-sans); font-weight:600; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--sbca-bronze); }
.sbca-access span, .sbca-product-badge span{ color:var(--sbca-dore); margin-right:4px; }
.sbca-foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding-top:14px; border-top:1px solid rgba(184,168,156,.35); }
.sbca-price{ font-family:var(--sbca-serif); font-size:19px; font-weight:600; color:var(--sbca-noir); }
.sbca-price del{ font-size:14px; color:#9a8f86; font-weight:400; margin-right:6px; }
.sbca-price ins{ text-decoration:none; }
.sbca-foot .sbca-btn{ flex:1 1 auto; }
@media (max-width:380px){ .sbca-foot .sbca-btn{ width:100%; } }

.sbca-product-badge{ display:inline-block; background:var(--sbca-ivoire); border:1px solid var(--sbca-dore);
  padding:8px 12px; border-radius:2px; margin:0 0 14px; }

/* ---------- Avis clients : carrousel horizontal sur mobile ---------- */
@media (max-width:768px){
  .sbca-carousel{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    grid-template-columns:none !important; overflow-x:auto !important; overflow-y:hidden;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
    gap:16px !important; padding:4px 7.5% 12px !important; margin-left:-16px !important; margin-right:-16px !important;
    scrollbar-width:none; }
  .sbca-carousel::-webkit-scrollbar{ display:none; }
  .sbca-carousel > *{ flex:0 0 85% !important; max-width:85% !important; width:85% !important;
    scroll-snap-align:center; margin:0 !important; }
  .sbca-dots{ display:flex; justify-content:center; gap:8px; margin:14px 0 0; }
  .sbca-dots button{ width:8px; height:8px; padding:0; border:0; border-radius:50%; background:var(--sbca-taupe);
    opacity:.45; cursor:pointer; transition:opacity .2s, width .2s, background .2s; }
  .sbca-dots button[aria-current="true"]{ opacity:1; width:22px; border-radius:4px; background:var(--sbca-dore); }
}
@media (min-width:769px){ .sbca-dots{ display:none; } }

/* ---------- Safari / iPhone : zone de sécurité en bas ---------- */
body{ padding-bottom:env(safe-area-inset-bottom, 0px); }
.sbca-hero-safe{ padding-bottom:max(32px, calc(env(safe-area-inset-bottom, 0px) + 32px)) !important; }

/* ---------- Polices cursives remplacées ---------- */
.sbca-no-script{ font-family:var(--sbca-serif) !important; font-style:normal !important; letter-spacing:.02em; }
