/*
Theme Name:   L'Imprudence
Template:     astra
Description:  Thème enfant d'Astra pour limprudence.fr — refonte 2026.
Version:      1.0.0
Text Domain:  limprudence
*/

/* ==========================================================================
   1. Jetons — doublent les « Couleurs et polices globales » d'Elementor.
      Pour changer la police de titre (ex. The Seasons), modifier --imp-serif
      ici ET dans Elementor > Réglages du site > Typographie globale.
   ========================================================================== */
:root {
  --imp-noir:   #141414;
  --imp-creme:  #f2f0ec;
  --imp-gris:   #dde1e8;
  --imp-blanc:  #ffffff;
  --imp-rouge:  #d54837;   /* accent : signes, filets. Jamais pour du texte courant. */
  --imp-sourd:  #4a4d52;   /* texte secondaire sur gris/crème (contraste ≥ 4,5:1) */

  --imp-serif:  'Gloock', 'Libre Baskerville', Georgia, serif;
  --imp-sans:   'Bricolage Grotesque', system-ui, sans-serif;

  --imp-largeur: 1280px;
  --imp-gouttiere: 24px;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
body {
  background: var(--imp-creme);
  color: var(--imp-noir);
  font-family: var(--imp-sans);
  font-weight: 300;
  font-size: 17px;
  line-height: 1.55;
}
h1, h2, h3, .imp-serif {
  font-family: var(--imp-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
}
a { color: var(--imp-noir); }
a:hover, a:focus-visible { color: var(--imp-rouge); }
:focus-visible { outline: 2px solid var(--imp-rouge); outline-offset: 3px; }

.imp-surtitre {
  font-family: var(--imp-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.imp-signe { color: var(--imp-rouge); }

/* Boutons : noir plein ou contour — le rouge n'est pas assez contrasté pour un bouton. */
.imp-bouton,
.woocommerce .single_add_to_cart_button.button,
.woocommerce a.button, .woocommerce button.button {
  font-family: var(--imp-sans);
  font-weight: 600;
  background: var(--imp-noir);
  color: var(--imp-creme);
  border: 0;
  border-radius: 999px;
  padding: 12px 28px;
  min-height: 48px;
}
.imp-bouton:hover,
.woocommerce .single_add_to_cart_button.button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background: #000;
  color: var(--imp-creme);
}

/* ==========================================================================
   3. Logo — [imp_logo]
   ========================================================================== */
.imp-logo { display: inline-flex; align-items: center; min-height: 44px; color: var(--imp-noir); text-decoration: none; }
.imp-logo svg { display: block; height: var(--imp-logo-h, 34px); width: auto; fill: currentColor; }
.imp-logo--clair { color: var(--imp-creme); }

/* ==========================================================================
   4. Grille de livres — [imp_livres]
   ========================================================================== */
.imp-livres {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 40px var(--imp-gouttiere);
}
.imp-livre { border-top: 1px solid var(--imp-noir); padding-top: 20px; }
.imp-livre a { text-decoration: none; display: block; }
.imp-livre__image { aspect-ratio: 2 / 3; background: var(--imp-gris); margin-bottom: 16px; overflow: hidden; }
.imp-livre__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.imp-livre__genre { font-size: 14px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 4px; }
.imp-livre__titre { font-family: var(--imp-serif); font-size: 28px; line-height: 1.1; margin: 0 0 6px; }
.imp-livre__auteurs { margin: 0 0 8px; }
.imp-livre__prix { font-weight: 600; margin: 0; }

/* ==========================================================================
   5. Fiche livre — [imp_fiche_infos], [imp_extrait], [imp_auteurs_livre]
   ========================================================================== */
.imp-infos {
  margin: 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 24px;
  font-size: 15px;
  border-top: 1px solid var(--imp-noir);
  padding-top: 20px;
}
.imp-infos dt { font-weight: 600; }
.imp-infos dd { margin: 0; }

.imp-extrait { display: flex; flex-wrap: wrap; gap: 56px; align-items: center; }
.imp-extrait__image { flex: 1 1 440px; min-width: 0; }
.imp-extrait__image img { width: 100%; height: auto; display: block; }
.imp-extrait__texte { flex: 1 1 440px; min-width: 0; }
.imp-extrait__texte blockquote { margin: 0 0 24px; font-family: var(--imp-serif); font-size: 32px; line-height: 1.3; border: 0; padding: 0; }
.imp-extrait__page { font-size: 15px; opacity: .8; margin: 0; }

.imp-credits { font-size: 19px; margin: 0 0 28px; }
.imp-livraison { font-size: 15px; margin: 12px 0 32px; }

/* Masque l'onglet « Informations complémentaires » et les avis : la fiche les remplace. */
.woocommerce div.product .woocommerce-tabs .additional_information_tab,
.woocommerce div.product .woocommerce-tabs .reviews_tab { display: none; }

/* ==========================================================================
   6. Mobile
   ========================================================================== */
@media (max-width: 640px) {
  .imp-extrait__texte blockquote { font-size: 24px; }
  .imp-livre__titre { font-size: 24px; }
  .imp-infos { grid-template-columns: 1fr; gap: 2px; }
  .imp-infos dd { margin-bottom: 10px; }
}
