/* ==========================================================================
   TekyMag — Ajustements specifiques par gabarit de page
   (le gros du systeme vit dans tokens/base/components/cards ; ce fichier ne
   contient que les compositions propres a un template donne)
   ========================================================================== */

/* ---- Page statique (a-propos, contact, publicite...) ---- */
.static-page { max-width: var(--teky-container-mid); margin: 0 auto; }
.static-hero { text-align: center; max-width: 680px; margin: 0 auto 2.5rem; }
.static-page .article-body { font-family: var(--teky-font-ui); font-size: var(--teky-body); }
.static-page .article-body h2 { font-size: 1.4rem; }

.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
@media (max-width: 800px) { .contact-layout { grid-template-columns: 1fr; } }
.contact-info-card { background: var(--teky-grey); border-radius: var(--teky-radius-lg); padding: 1.75rem; }
.contact-info-card ul { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.contact-info-card li { display: flex; gap: .75rem; align-items: flex-start; font-size: .92rem; }

.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }
@media (max-width: 720px) { .team-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .team-grid { grid-template-columns: 1fr; } }
.team-card { text-align: center; }
.team-card .avatar { margin: 0 auto .9rem; }
.team-card .name { font-weight: 800; color: var(--teky-navy); }
.team-card .role { font-size: .82rem; color: var(--teky-muted); }

.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2rem 0; }
@media (max-width: 720px) { .value-grid { grid-template-columns: 1fr; } }

.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; text-align: center; margin: 2.5rem 0; }
@media (max-width: 720px) { .stat-row { grid-template-columns: 1fr 1fr; } }
.stat-row .num { font-family: var(--teky-font-display); font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 800; color: var(--teky-navy); display: block; }
.stat-row .label { font-size: .82rem; color: var(--teky-muted); }

/* ---- Advertising / partnership page ---- */
.ad-format-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 820px) { .ad-format-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ad-format-grid { grid-template-columns: 1fr; } }
.ad-format-card { border: 1px solid var(--teky-line); border-radius: var(--teky-radius-lg); padding: 1.5rem; text-align: center; }
.ad-format-card .ad-slot { margin-bottom: 1rem; }

/* ---- Search results page ---- */
.search-page-head { margin-bottom: 2rem; }
.search-page-head form { display: flex; gap: .6rem; max-width: 560px; margin-top: 1rem; }
.search-page-head .input { flex: 1; }
.search-filters { display: flex; gap: .6rem; flex-wrap: wrap; margin: 1.25rem 0 2rem; }
.results-count { color: var(--teky-muted); font-size: .9rem; margin-bottom: 1.25rem; }

/* ---- Author page ---- */
.author-hero { display: flex; gap: 1.75rem; align-items: center; margin-bottom: 2.5rem; flex-wrap: wrap; }
.author-hero .bio { max-width: 60ch; color: var(--teky-muted); }
.author-hero__social { display: flex; gap: .6rem; margin-top: .9rem; }

/* ---- Dossier / guide page ---- */
.dossier-hero { background: var(--teky-navy); color: var(--teky-white); border-radius: var(--teky-radius-lg); padding: clamp(2rem, 6vw, 3.5rem); text-align: center; margin-bottom: 2.5rem; }
.dossier-hero h1 { color: var(--teky-white); }
.dossier-hero p { color: rgba(255,255,255,.7); max-width: 60ch; margin-inline: auto; }
.dossier-chapters { counter-reset: chapter; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.dossier-chapters li { counter-increment: chapter; display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid var(--teky-line); }
.dossier-chapters li::before { content: counter(chapter, decimal-leading-zero); font-family: var(--teky-font-display); font-weight: 800; font-size: 1.5rem; color: var(--teky-cyan-100); -webkit-text-stroke: 1px var(--teky-cyan-700); }

/* ---- Submit-a-tool page ---- */
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2rem 0 2.5rem; }
@media (max-width: 820px) { .plan-grid { grid-template-columns: 1fr; } }
.plan-card { border: 1.5px solid var(--teky-line); border-radius: var(--teky-radius-lg); padding: 1.75rem; text-align: center; }
.plan-card.is-highlight { border-color: var(--teky-cyan); box-shadow: var(--teky-shadow-md); position: relative; }
.plan-card .price { font-family: var(--teky-font-display); font-size: 1.8rem; font-weight: 800; color: var(--teky-navy); margin: .5rem 0 1rem; }
.plan-card ul { list-style: none; padding: 0; margin: 0 0 1.5rem; text-align: left; }
.plan-card li { display: flex; gap: .5rem; margin-bottom: .6rem; font-size: .9rem; }
.plan-card li::before { content: '✓'; color: var(--teky-success); font-weight: 800; }
