/* Guide SEO visa Omra : pilier + articles. */
.gd-page { max-width: 780px; margin: 0 auto; padding: 34px 20px 70px; }
.gd-breadcrumb { font-size: 12.5px; color: #687b75; margin-bottom: 18px; }
.gd-breadcrumb a { color: #131316; text-decoration: none; }
.gd-breadcrumb a:hover { text-decoration: underline; }
.gd-kicker { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f07c1a; }
.gd-head h1 { font-size: clamp(28px, 4.6vw, 40px); color: #131316; margin: 8px 0 14px; line-height: 1.15; }
.gd-head--hub { text-align: center; }
.gd-accroche { font-size: 17px; line-height: 1.65; color: #3d4f48; }
.gd-illustration { margin: 26px 0; border-radius: 16px; overflow: hidden; }
.gd-illustration img { width: 100%; height: auto; display: block; }
.gd-corps h2 { font-size: 23px; color: #131316; margin: 34px 0 12px; }
.gd-corps h3 { font-size: 17.5px; color: #131316; margin: 22px 0 8px; }
.gd-corps p, .gd-corps li { font-size: 15.5px; line-height: 1.7; color: #131316; }
.gd-corps ul, .gd-corps ol { padding-left: 22px; display: grid; gap: 8px; margin: 12px 0; }
.gd-corps a { color: #131316; font-weight: 600; }
.gd-cta { background: #131316; border-radius: 18px; padding: 30px 34px; text-align: center; margin: 38px 0; }
.gd-cta h2 { color: #fff; font-size: 22px; margin: 0 0 8px; }
.gd-cta p { color: rgba(255,255,255,.82); font-size: 14.5px; margin: 0 0 18px; }
.gd-panel { background: #fff; border: 1px solid #e7e1d2; border-radius: 16px; padding: 26px 30px; margin: 24px 0; }
.gd-panel h2 { font-size: 20px; color: #131316; margin: 0 0 12px; }
.gd-panel details { border-bottom: 1px solid #efe9dc; padding: 11px 0; }
.gd-panel details:last-of-type { border-bottom: 0; }
.gd-panel summary { font-weight: 700; color: #131316; cursor: pointer; font-size: 15px; }
.gd-panel details p { font-size: 14px; line-height: 1.65; color: #3d4f48; margin: 10px 0 0; }
.gd-nations { font-size: 14px; line-height: 2.1; }
.gd-nations a { color: #131316; }
.gd-suite h2 { font-size: 16px; color: #687b75; margin: 30px 0 10px; }
.gd-suite ul { list-style: none; padding: 0; display: grid; gap: 7px; }
.gd-suite a { color: #131316; font-size: 14.5px; font-weight: 600; text-decoration: none; }
.gd-suite a:hover { text-decoration: underline; }
.gd-sommaire { margin: 30px 0; }
.gd-sommaire h2 { font-size: 22px; color: #131316; margin-bottom: 16px; }
.gd-sommaire__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 14px; }
.gd-chapitre { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid #e7e1d2; border-radius: 14px; padding: 20px 22px; text-decoration: none; transition: box-shadow .14s, transform .14s; }
.gd-chapitre:hover { box-shadow: 0 8px 22px rgba(0,0,0,.12); transform: translateY(-2px); }
.gd-chapitre strong { color: #131316; font-size: 15.5px; line-height: 1.35; }
.gd-chapitre span { color: #4a5d55; font-size: 13px; line-height: 1.55; }
.gd-chapitre em { color: #f07c1a; font-style: normal; font-weight: 700; font-size: 13px; }
/* Signature de fraîcheur : Google et le lecteur veulent savoir de quand date
   un contenu saisonnier. « Mis à jour en » remplace « Publié en » dès qu'une
   date de mise à jour plus récente est renseignée dans la fiche de l'article. */
.gd-dates { margin: 10px 0 0; color: #7a7268; font-size: 12.5px; display: flex; flex-wrap: wrap; gap: 6px; }
.gd-dates time { color: #5d564d; font-weight: 600; }

/* Encart de mise au point : sert notamment à rappeler que nous décrivons
   l'organisation pratique, pas les règles du culte. */
.gd-note { margin: 0 0 26px; padding: 16px 20px; border-left: 4px solid #f07c1a; border-radius: 0 12px 12px 0; background: #fdf6ec; color: #4a4136; font-size: 14px; line-height: 1.65; }
.gd-note strong { color: #131316; }

@media (max-width: 640px) { .gd-cta, .gd-panel { padding: 22px 18px; } }

/* Articles longs (16-09-2026, stratégie SEO) : réponse directe, sommaire,
   tableaux comparatifs. Le tableau défile horizontalement sur téléphone
   plutôt que d'élargir la page. */
.gd-reponse { margin: 0 0 22px; padding: 16px 20px; border-radius: 12px; background: #f1f7f4; border: 1px solid #cfe3d9; color: #26352f; font-size: 15px; line-height: 1.65; }
.gd-reponse strong { color: #131316; }
.gd-toc { margin: 0 0 30px; padding: 16px 20px; border: 1px solid #e6e1d6; border-radius: 12px; background: #fff; }
.gd-toc p { margin: 0 0 8px; font-size: 13px; color: #131316; }
.gd-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 28px; font-size: 14px; line-height: 1.8; }
.gd-toc a { color: #155743; }
.gd-table-wrap { margin: 22px 0 28px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gd-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.gd-table caption { caption-side: top; text-align: left; margin-bottom: 8px; font-size: 13px; color: #5c6b65; }
.gd-table th, .gd-table td { padding: 10px 12px; border: 1px solid #e3e8e5; text-align: left; vertical-align: top; }
.gd-table thead th { background: #131316; color: #fff; font-weight: 800; }
.gd-table tbody th { background: #f7f5ef; color: #131316; font-weight: 700; width: 26%; }
@media (max-width: 640px) { .gd-toc ol { columns: 1; } }
