/* ==========================================================================
   Composants : titres, boutons, réseaux sociaux
   ========================================================================== */

/* --------------------------------------------------------------------------
   Titres
   -------------------------------------------------------------------------- */

.eyebrow {
  margin: 0 0 8px;
  color: var(--brown);
  font-family: var(--sans);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.book-copy h1,
.author-copy h2 {
  margin: 0;
  font-weight: 400;
  line-height: 1.05;
  font-size: clamp(3rem, 5vw, 5.2rem);
}

.section-title {
  margin: 0;
  text-align: center;
  color: var(--navy);
  font-family: var(--sans);
  font-size: 1rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.title-rule {
  width: 42px;
  height: 2px;
  margin: 22px 0;
  background: var(--brown);
}

.title-rule--center {
  margin: 15px auto 34px;
}

/* --------------------------------------------------------------------------
   Boutons
   Un seul système pour les liens `.button` et les boutons Gutenberg
   (`.wp-block-button__link`). Les couleurs passent par des variables
   --btn-* : une variante (classe sur le lien OU sur le conteneur
   .wp-block-button) ne fait que les redéfinir.
   -------------------------------------------------------------------------- */

/* Forme commune */
.button,
.wp-block-button .wp-block-button__link {
  box-sizing: border-box;
  min-height: 52px;
  padding: 12px 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 1px solid var(--btn-border, transparent);
  border-radius: 5px;
  background: var(--btn-bg, var(--navy));
  color: var(--btn-fg, var(--white));
  font: inherit;
  line-height: inherit;
  text-decoration: none;
  transition:
    transform 0.15s ease,
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.button:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible {
  background: var(--btn-bg-hover, #1b2d4b);
  border-color: var(--btn-border-hover, var(--btn-border, transparent));
  color: var(--btn-fg, var(--white));
  transform: translateY(-2px);
}

/* Variantes (à poser sur le lien ou sur .wp-block-button) */

/* Marron plein */
.button--primary {
  --btn-bg: var(--brown);
  --btn-fg: var(--white);
  --btn-border: transparent;
  --btn-bg-hover: #795b33;
}

/* Blanc plein : pour les fonds bleus */
.button--white {
  --btn-bg: var(--white);
  --btn-fg: var(--navy);
  --btn-border: var(--white);
  --btn-bg-hover: var(--cream);
  --btn-border-hover: var(--cream);
}

/* Contour blanc : pour les fonds bleus
   (couvre aussi le style « Contour » de Gutenberg) */
.button--outline,
.is-style-outline {
  --btn-bg: transparent;
  --btn-fg: var(--white);
  --btn-border: rgba(255, 255, 255, 0.85);
  --btn-bg-hover: rgba(255, 255, 255, 0.08);
}

/* Contour bleu : pour les fonds clairs */
.button--outline-dark {
  --btn-bg: transparent;
  --btn-fg: var(--navy);
  --btn-border: var(--navy);
  --btn-bg-hover: rgba(36, 59, 99, 0.06);
}

/* Bleu plein : pour les fonds clairs */
.button--navy {
  --btn-bg: var(--navy);
  --btn-fg: var(--white);
  --btn-border: var(--navy);
  --btn-bg-hover: #1b2d4b;
}

/* Sur le fond bleu du hero, un bouton Gutenberg sans variante
   reste en contour blanc (les variantes ci-dessus l'emportent car
   elles sont posées plus près du bouton). */
.book-actions {
  --btn-bg: transparent;
  --btn-fg: var(--white);
  --btn-border: rgba(255, 255, 255, 0.85);
  --btn-bg-hover: rgba(255, 255, 255, 0.08);
}

/* --------------------------------------------------------------------------
   Réseaux sociaux
   -------------------------------------------------------------------------- */

.social-links__icons {
  display: flex;
  align-items: center;
  gap: 18px;
}

.social-links__icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.social-icon {
  width: 22px;
  height: 22px;
}

/* Instagram en contour */
.social-icon--instagram {
  fill: none;
  stroke: currentColor;
}

/* Facebook en plein */
.social-icon--facebook {
  fill: currentColor;
  stroke: none;
}

/* --------------------------------------------------------------------------
   Accessibilité
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .button,
  .wp-block-button .wp-block-button__link {
    transition: none;
  }

  .button:hover,
  .wp-block-button .wp-block-button__link:hover {
    transform: none;
  }
}
