/*
 Theme Name:   Extra Child - 1abonnement.fr
 Theme URI:    https://1abonnement.fr/
 Description:  Thème enfant du thème Extra (Elegant Themes), créé pour
               1abonnement.fr afin d'ajouter du code sur-mesure (dont le
               formulaire de contact sans plugin) sans risquer de le perdre
               lors des mises à jour d'Extra.
 Author:       Hafid EL HACHMI
 Author URI:   https://1abonnement.fr/
 Template:     Extra
 Version:      1.2.0
*/

/* ==================================================================
   Style partagé pour les pages "maison" (Contact, Cookies,
   Fonctionnement, À propos, Mentions légales...).
   Ce fichier est chargé automatiquement sur tout le site via
   functions.php — contrairement à un <style> collé dans une page,
   il ne peut pas être supprimé par l'éditeur WordPress/Divi.
   ================================================================== */

.abo-page { max-width: 860px; margin: 0 auto; line-height: 1.7; color: #333; }
.abo-page h1 { font-size: 2rem; margin-bottom: 0.5rem; }
.abo-page .abo-maj { color: #777; font-size: 0.9rem; margin-bottom: 2rem; }
.abo-page h2 { font-size: 1.35rem; margin-top: 2.2rem; margin-bottom: 0.8rem; }
.abo-page h3 { font-size: 1.1rem; margin-top: 1.4rem; margin-bottom: 0.5rem; }
.abo-page p { margin-bottom: 1rem; }
.abo-page ul { margin-bottom: 1.2rem; padding-left: 1.4rem; }
.abo-page li { margin-bottom: 0.5rem; }
.abo-page a { color: #0b6efd; text-decoration: underline; }
.abo-page p.abo-intro { margin-bottom: 1.8rem; color: #555; }

.abo-page table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 1rem 0 1.5rem; }
.abo-page th, .abo-page td {
  text-align: left; padding: 0.6rem 0.8rem; border: 1px solid #e2e2e2; font-size: 0.95rem; vertical-align: top;
  word-wrap: break-word; overflow-wrap: break-word;
}
.abo-page th { background: #f7f7f7; width: 35%; }

/* Tableaux responsive : les colonnes se resserrent et le texte s'enroule
   au lieu de faire déborder la page sur mobile. */
@media (max-width: 600px) {
  .abo-page table { font-size: 0.85rem; }
  .abo-page th, .abo-page td { padding: 0.45rem 0.5rem; }
  .abo-page th { width: 40%; }
}

.abo-page .abo-highlight { background: #eef6ff; border-left: 4px solid #0b6efd; padding: 1rem 1.2rem; border-radius: 4px; margin-bottom: 1.5rem; }
.abo-page .abo-flag { background: #fff6e5; border-left: 4px solid #e8a209; padding: 0.9rem 1.1rem; border-radius: 4px; font-size: 0.9rem; margin-bottom: 1rem; }
.abo-page .abo-alt { background: #f7f7f7; border-radius: 8px; padding: 1.2rem 1.4rem; margin-top: 1.5rem; border-left: 4px solid transparent; }

/* Formulaire de contact */
.abo-page form { display: grid; gap: 1rem; max-width: 560px; margin-bottom: 2rem; }
.abo-page form label { font-weight: 600; font-size: 0.95rem; margin-bottom: 0.3rem; display: block; }
.abo-page form input,
.abo-page form select,
.abo-page form textarea {
  width: 100%; padding: 0.65rem 0.8rem; border: 1px solid #d5d5d5; border-radius: 6px;
  font-size: 1rem; font-family: inherit; box-sizing: border-box;
}
.abo-page form textarea { min-height: 140px; resize: vertical; }
.abo-page form button {
  justify-self: start; padding: 0.75rem 1.6rem; border: none; border-radius: 6px;
  background: #0b6efd; color: #fff; font-size: 1rem; font-weight: 600; cursor: pointer;
}
.abo-page form button:hover { background: #0958d9; }

/* Encart auteur (bas d'article) */
.abo-box {
  display: flex; gap: 1rem; align-items: flex-start;
  max-width: 700px; margin: 2.5rem 0; padding: 1.2rem 1.4rem;
  border: 1px solid #e2e2e2; border-radius: 10px; background: #fafafa;
}
.abo-box img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.abo-box .abo-box-nom { font-weight: 700; font-size: 1.05rem; margin-bottom: 0.15rem; }
.abo-box .abo-box-role { font-size: 0.85rem; color: #666; margin-bottom: 0.6rem; }
.abo-box p { margin: 0 0 0.5rem 0; font-size: 0.95rem; }
.abo-box .abo-box-liens { font-size: 0.85rem; }