/* Titres Stack3D : Nunito, mots essentiels et couleurs du logo. */
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Variable.ttf') format('truetype');
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}

body :is(h1, h2, h3, h4, h5, h6, .commande-step-title, .form-step-title, .faq-question-text, .mini-faq-item summary) {
  font-family: 'Nunito', sans-serif;
  font-weight: 650;
  font-style: normal;
  letter-spacing: -0.015em;
  text-transform: none;
  color: var(--stack3d-title-text, var(--text, #2a2520));
  background: none;
  -webkit-text-fill-color: currentColor;
}

body :is(h1, h2).stack3d-title { letter-spacing: -0.035em; }
body .exp-faq-q span { font-family: 'Nunito', sans-serif; font-weight: 650; }
body :is(h1, h2, h3, h4, h5, h6) em {
  font-style: normal;
  background: none;
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

.stack3d-title .title-keywords {
  color: var(--stack3d-title-accent);
  -webkit-text-fill-color: currentColor;
}
.stack3d-title .underline-deco { display: none; }
[data-stack3d-accent="0"] { --stack3d-title-accent: var(--stack3d-violet, #7c3aed); }
[data-stack3d-accent="1"] { --stack3d-title-accent: var(--stack3d-deep-violet, #6025c4); }
[data-stack3d-accent="2"] { --stack3d-title-accent: var(--stack3d-orange, #c26b0b); }
[data-stack3d-accent="3"] { --stack3d-title-accent: var(--stack3d-blue, #078aab); }

/* Les encarts foncés conservent des titres clairs et des accents lisibles. */
:is(.pricing-banner, .faq-cta, .exp-cta, .web-cta, .realisations-cta) {
  --stack3d-title-text: var(--cream, #f5f1ea);
  --stack3d-violet: #c4b5fd;
  --stack3d-deep-violet: #bca0ff;
  --stack3d-orange: #fbbf70;
  --stack3d-blue: #67e8f9;
}
