/* ==========================================================================
   Thème GTTC — ajouts propres à WordPress (le reste est dans site.css)
   ========================================================================== */

/* Barre d'administration (utilisateurs connectés) */
.admin-bar .site-header { top: 32px; }
.admin-bar .subnav-wrap { top: calc(env(safe-area-inset-top, 0px) + 114px); }
@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
  .admin-bar .subnav-wrap { top: calc(env(safe-area-inset-top, 0px) + 128px); }
}
@media (max-width: 600px) { .admin-bar .site-header.is-scrolled { top: 0; } }

/* Texte réservé aux lecteurs d'écran (classe WordPress) */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Filtres du blog : liens vers les catégories */
a.filter-btn { text-decoration: none; }
.filter-btn[aria-current="page"] { background: var(--teal-700); border-color: var(--teal-700); color: #fff; }
.filter-btn[aria-current="page"] .count { background: rgba(255,255,255,.2); }

/* Pagination du blog */
.pager { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 40px; }
.pager .btn:only-child { margin-left: auto; }

/* Newsletter : prénom facultatif et case de consentement */
.newsletter-row.has-name { flex-wrap: wrap; }
.newsletter-row.has-name > .input { flex: 1 1 200px; }
.newsletter-consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; font-size: .9rem; line-height: 1.45; color: var(--text-dark); cursor: pointer; }
.newsletter-consent input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--orange); }

/* Commentaires */
.comments-sec { padding-top: 0; }
.comments-wrap { max-width: calc(860px + 2 * var(--gutter)); }
.comments-wrap > .sec-head { margin-bottom: 28px; }
.comment-list, .comment-list .children { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.comment-list .children { margin-top: 16px; padding-left: clamp(16px, 4vw, 44px); border-left: 2px solid var(--line-light); }
.comment-card { padding: clamp(18px, 3vw, 26px); border-radius: 22px; }
.comment-head { display: flex; align-items: center; gap: 14px; }
.comment-avatar { width: 44px; height: 44px; font-size: .9rem; flex: none; }
.comment-author { display: block; font: 600 1rem/1.3 var(--font-display); color: var(--ink); }
.comment-date { font-size: .85rem; color: var(--text-light); text-decoration: none; }
.comment-date:hover { text-decoration: underline; }
.comment-text { margin-top: 12px; color: var(--ink); line-height: 1.65; overflow-wrap: anywhere; }
.comment-text p + p { margin-top: 10px; }
.comment-pending { margin-top: 12px; padding: 10px 14px; border-radius: 12px; background: rgba(245,160,32,.14); color: var(--orange-700); font-size: .9rem; font-weight: 600; }
.comment-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; }
.comment-actions a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font: 600 .9rem var(--font-button); color: var(--teal-600); text-decoration: none; }
.comment-actions a:hover { text-decoration: underline; }
.comment-actions .icon { width: 16px; height: 16px; }
.comments-none { margin-bottom: 28px; color: var(--text-light); }
.comment-respond { margin-top: 32px; }
.comment-list .comment-respond { margin-top: 16px; }
.comment-form { display: grid; gap: 18px; margin-top: 18px; }
.comment-reply-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; color: var(--ink); }
.comment-reply-title small a { font: 600 .9rem var(--font-button); color: var(--teal-600); }
.comment-notes { font-size: .9rem; color: var(--text-light); }
.req { color: var(--danger); }
.comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--text-light); }
.comment-form-cookies-consent input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--teal-600); }
.form-submit { margin: 0; }

/* Contenu rédigé dans l'éditeur (articles, pages simples) */
.article-body img { max-width: 100%; height: auto; border-radius: 18px; }
.article-body figure { margin: 28px 0; }
.article-body figcaption { margin-top: 8px; font-size: .88rem; color: var(--text-light); }
.article-body blockquote { margin: 28px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--orange); font: 500 1.15rem/1.6 var(--font-display); color: var(--ink); }
.article-body a { color: var(--teal-600); text-underline-offset: 3px; }
.article-body h3 { margin-top: 32px; font: 600 1.2rem/1.3 var(--font-display); color: var(--ink); }
.article-body table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: .95rem; }
.article-body th, .article-body td { padding: 10px 12px; border-bottom: 1px solid var(--line-light); text-align: left; }
.article-body .wp-block-button__link { display: inline-flex; padding: 14px 24px; border-radius: 999px; background: var(--orange); color: var(--ink); text-decoration: none; font: 600 1rem var(--font-display); }
.alignleft { float: left; margin: 6px 24px 12px 0; }
.alignright { float: right; margin: 6px 0 12px 24px; }
.aligncenter { margin-inline: auto; display: block; }
.wp-caption { max-width: 100%; }

/* ==========================================================================
   Pages créées dans l'éditeur (.gttc-content) et compositions GTTC
   ========================================================================== */
.gttc-content { max-width: 920px; color: var(--ink); font-size: 1.0625rem; line-height: 1.7; }
.gttc-content > * + * { margin-top: 1.1em; }
.gttc-content > .alignwide, .gttc-content > .gttc-cards, .gttc-content > .gttc-stats, .gttc-content > .gttc-steps, .gttc-content > .gttc-split, .gttc-content > .wp-block-shortcode, .gttc-content > .gallery, .gttc-content > .cards, .gttc-content > .partner-grid, .gttc-content > .t-grid, .gttc-content > .plans, .gttc-content > .info-cards { max-width: none; width: min(1280px, calc(100vw - 2 * var(--gutter))); }
.gttc-content > .alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.gttc-content h2, .gttc-content h3, .gttc-content h4 { color: var(--ink); text-wrap: balance; }
.gttc-content h2 { margin-top: 1.8em; font: 700 var(--fs-h2)/1.08 var(--font-display); letter-spacing: -.025em; }
.gttc-content h3 { margin-top: 1.5em; font: 600 1.3rem/1.25 var(--font-display); letter-spacing: -.015em; }
.gttc-content h4 { margin-top: 1.3em; font: 600 1.08rem/1.3 var(--font-display); }
.gttc-content > :first-child { margin-top: 0; }
.gttc-content p, .gttc-content li { color: var(--text-light); max-width: 70ch; }
.gttc-content ul, .gttc-content ol { padding-left: 1.3em; display: grid; gap: .45em; }
.gttc-content ul li::marker { color: var(--orange-700); }
.gttc-content a:not(.wp-block-button__link):not(.btn) { color: var(--teal-600); text-underline-offset: 3px; }
.gttc-content strong { color: var(--ink); }
.gttc-content img { border-radius: 20px; }
.gttc-content figure { margin: 1.6em 0; }
.gttc-content figcaption { margin-top: 8px; font-size: .88rem; color: var(--text-light); }
.gttc-content blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--orange); font: 500 1.2rem/1.55 var(--font-display); color: var(--ink); }
.gttc-content blockquote p { color: inherit; }
.gttc-content hr, .gttc-content .wp-block-separator { border: 0; border-top: 1px solid var(--line-light); margin: 2.4em 0; }
.gttc-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.gttc-content th, .gttc-content td { padding: 10px 12px; border-bottom: 1px solid var(--line-light); text-align: left; }
.gttc-content .wp-block-table { overflow-x: auto; }
.gttc-content .wp-block-embed iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 18px; }
.gttc-content .wp-block-video video { border-radius: 18px; width: 100%; }
/* Boutons de l'éditeur aux couleurs du site */
.gttc-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.4em; }
.gttc-content .wp-block-button__link { display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 1px solid transparent; background: var(--orange); color: var(--ink); font: 600 1rem/1 var(--font-button); text-decoration: none; transition: translate .25s var(--ease-out), background-color .2s; }
.gttc-content .wp-block-button__link:hover { translate: 0 -2px; background: var(--orange-2); }
.gttc-content .is-style-outline .wp-block-button__link { background: rgba(255,255,255,.6); border-color: rgba(11,31,36,.18); color: var(--ink); }
/* Surtitre */
.gttc-content .gttc-eyebrow { display: inline-flex; align-items: center; gap: 12px; font: 600 .8rem/1.2 var(--font-label); letter-spacing: .2em; text-transform: uppercase; color: var(--orange-700); }
.gttc-content .gttc-eyebrow::before { content: ""; width: 36px; height: 2px; background: currentColor; border-radius: 2px; }
/* Colonnes */
.gttc-content .wp-block-columns { display: grid; gap: 22px; margin-top: 1.8em; }
@media (min-width: 782px) { .gttc-content .wp-block-columns { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 32px; } }
.gttc-content .wp-block-column > * + * { margin-top: .9em; }
.gttc-content .gttc-split { align-items: center; }
.gttc-content .gttc-split img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--shadow-float); }
.gttc-content .gttc-card { padding: 28px; border-radius: var(--radius-card); background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.95); box-shadow: 0 20px 50px -30px rgba(5,47,54,.35); }
.gttc-content .gttc-card h3 { margin-top: 0; }
.gttc-content .gttc-stats .wp-block-column { padding: 24px; border-radius: 22px; background: var(--night-900); }
.gttc-content .gttc-stats p { color: rgba(255,255,255,.76); margin: 0; }
.gttc-content .gttc-stat { font: 700 clamp(1.9rem, 3vw, 2.6rem)/1 var(--font-number) !important; letter-spacing: -.03em; color: var(--orange) !important; font-variant-numeric: tabular-nums; }
.gttc-content .gttc-steps { counter-reset: gttc-step; }
.gttc-content .gttc-steps .wp-block-column { counter-increment: gttc-step; }
.gttc-content .gttc-steps .wp-block-column::before { content: counter(gttc-step); display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(140deg, var(--orange-2), var(--orange)); color: var(--ink); font: 700 1.3rem var(--font-number); }
.gttc-content .gttc-steps h3 { margin-top: 18px; }
/* Questions fréquentes */
.gttc-content .wp-block-details { margin-top: 10px; border-radius: 18px; background: rgba(255,255,255,.72); border: 1px solid rgba(11,31,36,.08); }
.gttc-content .wp-block-details summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; padding: 14px 22px; cursor: pointer; list-style: none; font: 600 1.05rem/1.35 var(--font-display); color: var(--ink); }
.gttc-content .wp-block-details summary::-webkit-details-marker { display: none; }
.gttc-content .wp-block-details summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(10,111,125,.1); color: var(--teal-700); font: 600 1.2rem/1 var(--font-display); transition: rotate .25s var(--ease-out); }
.gttc-content .wp-block-details[open] summary::after { rotate: 45deg; }
.gttc-content .wp-block-details > :not(summary) { padding: 0 22px 18px; margin: 0; }
/* Bandeau sombre */
.gttc-content .gttc-band { margin-top: 2em; padding: clamp(28px, 5vw, 56px); border-radius: var(--radius-media); background: radial-gradient(120% 120% at 100% 0%, rgba(245,160,32,.28), transparent 55%), var(--night-900); }
.gttc-content .gttc-band h2 { margin-top: 0; color: #fff; }
.gttc-content .gttc-band p { color: rgba(255,255,255,.78); }
.gttc-content .gttc-band .is-style-outline .wp-block-button__link { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); color: #fff; }
.gttc-content > .wp-block-shortcode { margin-top: 2em; }
