/* Pages acheteurs : collectivités et dossier administratif (scripts/build-buyer-pages.mjs). */
.buyer-hero { padding: clamp(110px, 14vw, 150px) 0 clamp(40px, 6vw, 64px); background: var(--gradient-hero, #101e34); color: #fff; }
.buyer-kicker { margin: 0 0 12px; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fdba74; }
.buyer-hero h1 { max-width: 22ch; margin: 0 0 16px; color: #fff; text-wrap: balance; }
.buyer-lead { max-width: 62ch; margin: 0 0 24px; font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.7; color: #d0dced; }
.buyer-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.buyer-hero .btn-outline { color: #fff; border-color: rgba(255, 255, 255, .5); }
.buyer-section { padding: clamp(44px, 7vw, 80px) 0; }
.buyer-section--soft { background: var(--gray-50, #f8fafc); }
.buyer-section h2 { margin: 6px 0 12px; text-wrap: balance; }
.buyer-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: clamp(20px, 4vw, 56px); align-items: start; }
.buyer-grid > * { min-width: 0; }
.buyer-text p { margin: 0 0 14px; line-height: 1.75; color: var(--gray-800); }
.buyer-list { margin: 0; padding-left: 1.2em; display: grid; gap: 10px; line-height: 1.6; color: var(--gray-800); }
.buyer-facts { margin: 0 0 18px; display: grid; gap: 0; border-top: 1px solid var(--gray-200); }
.buyer-facts > div { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--gray-200); }
.buyer-facts dt { font-weight: 700; color: var(--gray-900); }
.buyer-facts dd { margin: 0; color: var(--gray-800); line-height: 1.6; overflow-wrap: anywhere; }
.buyer-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.buyer-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.buyer-cards a { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--gray-200); border-radius: var(--radius-lg, 16px); background: var(--white, #fff); color: var(--gray-900); text-decoration: none; transition: border-color .2s; }
.buyer-cards a:hover, .buyer-cards a:focus-visible { border-color: var(--orange, #f97316); }
.buyer-cards strong::after { content: " →"; color: var(--orange, #f97316); }
.buyer-cards span { font-size: .92rem; color: var(--text-secondary); line-height: 1.5; }
.buyer-note { margin: 18px 0 0; color: var(--text-secondary); }
.buyer-next { padding: clamp(44px, 7vw, 72px) 0; text-align: center; }
.buyer-next p { max-width: 60ch; margin: 0 auto; color: var(--gray-800); }
.buyer-next .buyer-actions { justify-content: center; }
.buyer-small { margin-top: 14px !important; font-size: .92rem; }
[data-theme="dark"] .buyer-section--soft { background: rgba(255, 255, 255, .03); }
[data-theme="dark"] .buyer-cards a { background: transparent; border-color: rgba(255, 255, 255, .14); color: #f1f5f9; }
[data-theme="dark"] .buyer-facts dt { color: #f1f5f9; }
[data-theme="dark"] .buyer-facts > div, [data-theme="dark"] .buyer-facts { border-color: rgba(255, 255, 255, .14); }
@media (max-width: 900px) { .buyer-grid { grid-template-columns: 1fr; } .buyer-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .buyer-cards, .buyer-cards--two { grid-template-columns: 1fr; } .buyer-facts > div { grid-template-columns: 1fr; gap: 4px; } }
