/*
 * Weclim — components.css (renommé depuis main.css le 2026-08-22)
 * Composants nommés du thème (weclim-*, ds-*, entry-*, page-*, hero, cartes, formulaires...).
 * Tokens : theme.json. Reset de base + les 3 seules utilitaires génériques du thème
 * (.wrap, .screen-reader-text, .skip-link) : assets/css/utilities.css, chargé avant ce fichier.
 */

/* Shared type and buttons */
h1, h2, h3, h4 { margin-top: 0; color: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--serif); font-weight: 400; }
p { margin: 0 0 1em; }
.eyebrow, .article-kicker { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--wp--preset--color--ink-soft); }
.article-kicker { padding: .35rem .75rem; background: var(--wp--preset--color--sage); border-radius: 999px; letter-spacing: .06em; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; padding: .95rem 1.3rem; border: 1px solid transparent; border-radius: 9px; font-weight: 700; line-height: 1; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--ink { color: var(--wp--preset--color--white); background: var(--wp--preset--color--ink); }
.button--ink:hover { color: var(--wp--preset--color--white); background: var(--wp--preset--color--ink-soft); }
.button--orange { color: var(--wp--preset--color--ink-strong); background: var(--wp--preset--color--orange); }
.button--orange:hover { color: var(--wp--preset--color--ink-strong); background: var(--wp--custom--button-orange-hover); }
.button--light { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--paper); }
.button--outline { color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--line); background: transparent; }
.text-link { display: inline-flex; gap: .6rem; align-items: center; color: var(--wp--preset--color--ink); font-weight: 700; }
.text-link::after { content: "→"; font-size: 1.2em; transition: transform .18s ease; }
.text-link:hover::after { transform: translateX(4px); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(251,250,246,.95); border-bottom: 1px solid var(--wp--preset--color--line); backdrop-filter: blur(12px); }
.site-header__inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .55rem; color: var(--wp--preset--color--ink); text-decoration: none; flex-shrink: 0; }
.brand__mark { width: 38px; height: 34px; display: inline-flex; }
.brand__mark svg { width: 100%; height: 100%; }
.brand__name { font: 400 2rem/1 var(--wp--preset--font-family--serif); letter-spacing: -.06em; }
.primary-nav .menu, .footer-links { display: flex; gap: 2rem; list-style: none; margin: 0; padding: 0; }
.primary-nav a { text-decoration: none; font-size: .9rem; font-weight: 650; }
.nav-toggle, .mobile-menu { display: none; }

/* Footer */
.site-footer { margin-top: 6rem; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); padding-top: 4rem; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer a { color: var(--wp--preset--color--paper); }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr .9fr 1fr; gap: 3rem; padding-bottom: 4rem; }
.site-footer__intro p { max-width: 25ch; color: var(--wp--custom--footer-intro-text); margin-top: 1rem; }
.brand--footer { color: var(--wp--preset--color--paper); }
.footer-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--wp--custom--footer-muted-text); font-weight: 700; }
.footer-links { display: grid; gap: .6rem; }
.footer-links a { text-decoration: none; color: var(--wp--preset--color--paper); }
.footer-links .sub-menu { display: grid; gap: .45rem; margin: .45rem 0 0; padding: 0 0 0 1rem; list-style: none; border-left: 1px solid rgba(255,255,255,.18); }
.footer-links .sub-menu a { font-size: .86rem; opacity: .82; }
.site-footer__cta { background: var(--wp--custom--footer-cta-bg); padding: 1.5rem; border-radius: var(--wp--custom--radius); }
.site-footer__cta p:not(.footer-label) { color: var(--wp--custom--footer-cta-text); font-size: .92rem; }
.site-footer__trust { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; padding: 1.6rem 0; border-top: 1px solid rgba(255,255,255,.14); }
.site-footer__trust-item { display: flex; gap: .55rem; align-items: flex-start; font-size: .84rem; color: var(--wp--custom--footer-intro-text); }
.site-footer__trust-item span:first-child { color: var(--wp--preset--color--sage-strong); font-weight: 800; }
.site-footer__bottom { padding: 1.15rem 0; border-top: 1px solid rgba(255,255,255,.18); color: var(--wp--custom--footer-muted-text); font-size: .78rem; }
.site-footer__bottom p { margin: 0; }

/* Homepage */
.hero { padding: clamp(3.5rem, 7vw, 7rem) 0 2.4rem; border-bottom: 1px solid var(--wp--preset--color--line); overflow: hidden; }
.hero__grid { display: grid; grid-template-columns: minmax(0, .93fr) minmax(420px, 1.07fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero__copy p { max-width: 45ch; font-size: 1.1rem; color: var(--wp--preset--color--ink-soft); }
.hero__actions { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; margin-top: 1.6rem; }
.hero__visual { position: relative; min-height: 470px; }
.hero__visual::after { content: ""; position: absolute; inset: 0 0 0 18%; border-radius: 18px; background: radial-gradient(circle at 80% 5%, rgba(255,255,255,.7), transparent 38%), linear-gradient(135deg, var(--wp--custom--hero-visual-gradient-1), var(--wp--custom--hero-visual-gradient-2)); }
.hero__image { position: absolute; inset: 0 0 0 18%; width: 82%; height: 100%; object-fit: cover; border-radius: 18px; z-index: 1; mix-blend-mode: multiply; opacity: .55; }
.diagnostic-card { position: absolute; z-index: 3; top: 8%; left: 0; width: min(410px, 85%); padding: 1.65rem; border-radius: 15px; background: var(--wp--preset--color--white); box-shadow: var(--wp--custom--shadow); }
.diagnostic-card h3 { margin-bottom: 1rem; }
.diagnostic-progress { display: grid; grid-template-columns: repeat(5, 1fr) auto; gap: .35rem; align-items: center; margin-bottom: 1rem; }
.diagnostic-progress span { height: 4px; background: var(--wp--custom--diagnostic-progress-track); border-radius: 10px; }
.diagnostic-progress span:first-child { background: var(--wp--preset--color--ink); }
.diagnostic-progress small { margin-left: .4rem; font-size: .78rem; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin: .9rem 0 1rem; }
.choice { width: 100%; display: flex; align-items: center; justify-content: center; min-height: 48px; padding: .6rem; border: 1px solid var(--wp--preset--color--line); border-radius: 8px; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font-size: .88rem; font-weight: 650; }
.choice:hover, .choice.is-selected { background: var(--wp--preset--color--sage); border-color: var(--wp--preset--color--sage-strong); }
.diagnostic-note { margin: 0; color: var(--wp--preset--color--ink-soft); font-size: .78rem; }
.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); padding: 1.15rem 0; }
.trust-item { display: flex; gap: .85rem; padding: 0 1.4rem; border-right: 1px solid var(--wp--preset--color--line); }
.trust-item:first-child { padding-left: 0; }
.trust-item:last-child { border: 0; }
.trust-item__icon { width: 28px; color: var(--wp--preset--color--ink); flex: 0 0 auto; }
.trust-item strong { display: block; font-size: .9rem; }
.trust-item p { margin: 0; color: var(--wp--preset--color--ink-soft); font-size: .78rem; }
.home-section { padding-top: clamp(3.5rem, 6vw, 6.5rem); }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 1.8rem; }
.section-head h2 { font-size: clamp(2rem, 3vw, 3.2rem); }
.need-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.need-card { min-height: 210px; display: flex; flex-direction: column; padding: 1.45rem; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.need-card:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--sage-strong); }
.need-card__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--wp--preset--color--sage); margin-bottom: 1rem; font-size: .82rem; font-weight: 800; }
.need-card h3 { font: 700 1rem/1.3 var(--wp--preset--font-family--sans); letter-spacing: -.02em; }
.need-card p { margin: 0 0 1rem; color: var(--wp--preset--color--ink-soft); font-size: .86rem; }
.need-card span { margin-top: auto; font-size: 1.25rem; }
.featured-guide { display: grid; grid-template-columns: .9fr 1.2fr; gap: 1.5rem; padding: 1.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--white); }
.featured-guide__media { min-height: 280px; border-radius: 10px; background: linear-gradient(145deg,var(--wp--custom--featured-guide-gradient-1),var(--wp--custom--featured-guide-gradient-2)); position: relative; overflow: hidden; }
.featured-guide__media::before { content: ""; position: absolute; width: 120px; height: 150px; border: 3px solid var(--wp--preset--color--ink-soft); border-radius: 7px; left: 22%; bottom: 15%; background: var(--wp--preset--color--paper); box-shadow: 80px 55px 0 -54px var(--wp--preset--color--ink-soft); }
.featured-guide__media::after { content: "VS"; position: absolute; left: 56%; top: 38%; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--wp--preset--color--paper); background: var(--wp--preset--color--ink); font-size: .75rem; font-weight: 800; }
.featured-guide__body { display: flex; flex-direction: column; }
.featured-guide__body p { color: var(--wp--preset--color--ink-soft); max-width: 56ch; }
.article-meta { display: flex; gap: .8rem; flex-wrap: wrap; align-items: center; color: var(--wp--preset--color--ink-soft); font-size: .76rem; }
.article-meta span + span { padding-left: .8rem; border-left: 1px solid var(--wp--preset--color--line); }
.featured-guide .text-link { margin-top: auto; }
.method-banner { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 2rem; align-items: center; margin-top: 1.4rem; padding: 1.6rem 2rem; background: var(--wp--preset--color--sage); border: 1px solid var(--wp--custom--method-banner-border); border-radius: var(--wp--custom--radius); }
.method-banner h2 { font-size: clamp(1.8rem, 2.6vw, 3rem); margin: 0; }
.method-banner p { margin: 0; color: var(--wp--preset--color--ink-soft); font-size: .9rem; }

/* Editorial cards, archive and article */
.page-hero { padding: 4.8rem 0 2.5rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.page-hero p { max-width: 58ch; color: var(--wp--preset--color--ink-soft); font-size: 1.08rem; }
.breadcrumbs { display: flex; gap: .6rem; align-items: center; color: var(--wp--preset--color--ink-soft); font-size: .78rem; margin-bottom: 1.4rem; }
.breadcrumbs a { text-decoration: none; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(2rem, 6vw, 6rem); align-items: start; padding-top: 3rem; }
.article-content { max-width: 760px; }
.article-content > * { max-width: 700px; }
.article-content p, .entry-content p { font-size: 1.12rem; line-height: 1.72; color: var(--wp--custom--article-body-text); }
.article-content h2, .entry-content h2 { margin-top: 2em; }
.article-content h3, .entry-content h3 { margin-top: 1.5em; }
.article-content ul, .article-content ol, .entry-content ul, .entry-content ol { font-size: 1.08rem; line-height: 1.7; padding-left: 1.2rem; }
.article-aside { position: sticky; top: 110px; padding: 1.5rem; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); }
.article-aside h3 { font-size: 1.55rem; }
.article-aside ul { display: grid; gap: 1rem; padding: 0; list-style: none; margin: 0; }
.article-aside li { padding-bottom: 1rem; border-bottom: 1px solid var(--wp--preset--color--line); font-size: .86rem; }
.article-aside li:last-child { border: 0; padding: 0; }
.article-aside strong { display: block; margin-bottom: .25rem; }
.entry-header { padding: 4.8rem 0 2.7rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.entry-header__inner { width: var(--wp--custom--reading); margin-inline: auto; }
.entry-summary { max-width: 58ch; color: var(--wp--preset--color--ink-soft); font-size: 1.13rem; }
.entry-content { width: var(--wp--custom--reading); margin: 3.6rem auto 0; }
.entry-content blockquote { margin: 2rem 0; padding: 1.3rem 1.6rem; border-left: 4px solid var(--wp--preset--color--orange); background: var(--wp--preset--color--paper-deep); font: 1.5rem/1.3 var(--wp--preset--font-family--serif); }
.entry-content figure { margin: 2.5rem 0; }
.entry-content figcaption { color: var(--wp--preset--color--ink-soft); font-size: .8rem; margin-top: .5rem; }
.entry-content a { text-decoration-color: var(--wp--preset--color--orange); text-decoration-thickness: 2px; }
.entry-content table { width: 100%; margin: 2rem 0; border-collapse: collapse; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--white); }
.entry-content th, .entry-content td { padding: .85rem 1rem; border-top: 1px solid var(--wp--preset--color--line); text-align: left; font-size: .92rem; }
.entry-content thead th { background: var(--wp--preset--color--paper-deep); font-weight: 750; border-top: 0; }
.entry-content tbody tr:first-child td { border-top: 0; }
@media (max-width: 620px) {
	.entry-content table { display: block; overflow-x: auto; }
}
.entry-related { width: var(--wp--custom--wrap); margin: 4rem auto 0; padding-top: 3rem; border-top: 1px solid var(--wp--preset--color--line); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.post-card { display: flex; flex-direction: column; min-height: 260px; padding: 1.4rem; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); text-decoration: none; }
.post-card__visual { display: none; }
.post-card__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.post-card__meta { color: var(--wp--preset--color--ink-soft); font-size: .75rem; }
.post-card__cats { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.post-card__cats span { padding: .2rem .55rem; border-radius: 999px; background: var(--wp--preset--color--paper-deep); color: var(--wp--preset--color--ink-soft); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.post-card h2, .post-card h3 { font-size: 1.65rem; margin-top: .55rem; }
.post-card p { color: var(--wp--preset--color--ink-soft); font-size: .88rem; }
.post-card .text-link { margin-top: auto; }

/* Bascule grille / liste — pour l’index des articles et les archives de catégorie.
 * Le format "ligne" reprend le gabarit "à la une" du canvas Claude Design
 * (visuel à gauche, contenu à droite) plutôt qu’un nouveau format inventé. */
.post-grid-toolbar { display: flex; justify-content: flex-end; margin-bottom: 1.2rem; }
.view-toggle { display: inline-flex; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; overflow: hidden; }
.view-toggle__btn { min-height: 2.6rem; padding: .5rem 1rem; border: 0; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.view-toggle__btn + .view-toggle__btn { border-left: 1px solid var(--wp--preset--color--line); }
.view-toggle__btn[aria-pressed="true"] { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.post-grid.is-list-view { display: flex; flex-direction: column; gap: 1rem; }
.post-grid.is-list-view .post-card { flex-direction: row; align-items: stretch; min-height: 0; padding: 0; overflow: hidden; }
.post-grid.is-list-view .post-card__visual { display: flex; flex: 0 0 240px; align-items: center; justify-content: center; background: var(--wp--preset--color--paper-deep); }
.post-grid.is-list-view .post-card__visual-label { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); }
.post-grid.is-list-view .post-card__image { width: 100%; height: 100%; object-fit: cover; }
.post-grid.is-list-view .post-card__body { padding: 1.5rem 1.75rem; gap: .25rem; }
.post-grid.is-list-view .post-card h2 { font-size: 1.4rem; margin-top: .3rem; }
@media (max-width: 700px) { .post-grid.is-list-view .post-card { flex-direction: column; } .post-grid.is-list-view .post-card__visual { flex-basis: auto; min-height: 140px; } }

/* Comparison template */
.comparison-intro { padding: 3.5rem 0 1rem; }
.comparison-intro__grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 4rem; align-items: start; }
.comparison-intro__text p { max-width: 56ch; color: var(--wp--preset--color--ink-soft); font-size: 1.08rem; }
.quick-take { padding: 1.45rem; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); }
.quick-take h2 { font-size: 1.65rem; }
.quick-take ul { display: grid; gap: .9rem; padding: 0; list-style: none; margin: 0; }
.quick-take li { padding-left: 1.6rem; position: relative; font-size: .9rem; }
.quick-take li::before { content: ""; position: absolute; width: .55rem; height: .55rem; left: 0; top: .4rem; background: var(--wp--preset--color--sage-strong); border-radius: 50%; }
.comparison-table { margin: 2rem 0 1.5rem; overflow: hidden; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--white); }
.comparison-table__head, .comparison-row { display: grid; grid-template-columns: 180px 1fr 1fr; }
.comparison-table__head { background: var(--wp--custom--comparison-table-head-bg); }
.comparison-table__head > *, .comparison-row > * { padding: 1rem 1.15rem; border-right: 1px solid var(--wp--preset--color--line); }
.comparison-table__head > *:last-child, .comparison-row > *:last-child { border-right: 0; }
.comparison-table__product { min-height: 150px; display: grid; place-content: center; gap: .65rem; text-align: center; font: 1.45rem/1.15 var(--wp--preset--font-family--serif); }
.product-sketch { width: 76px; height: 58px; margin: auto; border: 2px solid var(--wp--preset--color--ink-soft); border-radius: 5px; position: relative; }
.product-sketch--mobile { width: 42px; height: 70px; }
.product-sketch--mobile::after { content: ""; position: absolute; left: 9px; right: 9px; top: 14px; height: 3px; background: var(--wp--preset--color--ink-soft); box-shadow: 0 8px 0 var(--wp--preset--color--ink-soft), 0 16px 0 var(--wp--preset--color--ink-soft); }
.product-sketch--split::after { content: ""; position: absolute; left: 13px; right: 13px; top: 25px; height: 2px; background: var(--wp--preset--color--ink-soft); }
.comparison-row { border-top: 1px solid var(--wp--preset--color--line); font-size: .88rem; }
.comparison-row__label { font-weight: 700; background: var(--wp--custom--comparison-row-label-bg); }
.rating { display: inline-flex; gap: .25rem; }
.rating span { width: 9px; height: 9px; border-radius: 50%; background: var(--wp--custom--rating-off-color); }
.rating span.is-on { background: var(--wp--custom--rating-on-color); }
.verdict { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; padding: 1.8rem; border: 1px solid var(--wp--custom--method-banner-border); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--sage); }
.verdict h2 { font-size: 2.1rem; }
.verdict ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; font-size: .88rem; }
.verdict li::before { content: "✓"; color: var(--wp--custom--verdict-check-color); margin-right: .6rem; font-weight: 800; }
.comparison-cta { margin-top: 1.4rem; padding: 1.8rem; border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.comparison-cta h2 { color: var(--wp--preset--color--paper); font-size: 2rem; margin: 0 0 .3rem; }
.comparison-cta p { color: var(--wp--custom--comparison-cta-text); margin: 0; }

/* Diagnostic template */
.diagnostic-page { padding: clamp(3rem, 7vw, 6rem) 0; }
.diagnostic-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.diagnostic-layout h1 { font-size: clamp(3rem, 5.4vw, 5.4rem); }
.diagnostic-subtitle { max-width: 47ch; color: var(--wp--preset--color--ink-soft); font-size: 1.08rem; }
.wizard { margin-top: 2rem; padding: clamp(1.3rem, 3vw, 2.25rem); background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: 18px; }
.wizard-progress { display: flex; gap: .4rem; margin-bottom: 2rem; }
.wizard-progress span { height: 5px; flex: 1; border-radius: 99px; background: var(--wp--custom--wizard-progress-track); }
.wizard-progress span.is-active { background: var(--wp--preset--color--ink); }
.wizard-step { display: none; }
.wizard-step.is-active { display: block; }
.wizard-step h2 { font-size: clamp(1.85rem, 3vw, 2.8rem); }
.wizard-step p { color: var(--wp--preset--color--ink-soft); }
.wizard-options { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1.5rem 0; }
.wizard-option { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; text-align: left; border: 1px solid var(--wp--preset--color--line); border-radius: 11px; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font-size: 1rem; font-weight: 750; }
.wizard-option:hover, .wizard-option.is-selected { border-color: var(--wp--preset--color--sage-strong); background: var(--wp--preset--color--sage); }
.wizard-option::after { content: "→"; font-size: 1.25rem; }
.wizard-actions { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.wizard-back { border: 0; background: transparent; color: var(--wp--preset--color--ink); text-decoration: underline; text-underline-offset: .2rem; }
.diagnostic-aside { overflow: hidden; border: 1px solid var(--wp--preset--color--line); border-radius: 18px; background: var(--wp--preset--color--white); }
.diagnostic-aside__visual { min-height: 245px; position: relative; overflow: hidden; background: linear-gradient(140deg, var(--wp--custom--diagnostic-visual-gradient-1), var(--wp--custom--diagnostic-visual-gradient-2)); }
.diagnostic-aside__visual::before { content: ""; position: absolute; width: 58%; height: 44%; right: 12%; bottom: 18%; border: 3px solid var(--wp--preset--color--ink-soft); border-radius: 5px; background: rgba(255,255,255,.55); box-shadow: 0 -76px 0 -50px var(--wp--preset--color--ink-soft), -122px 34px 0 -52px var(--wp--preset--color--ink-soft); }
.diagnostic-aside__visual::after { content: ""; position: absolute; width: 86px; height: 86px; border: 2px solid var(--wp--preset--color--sage-strong); border-radius: 50%; top: 23px; right: 30px; box-shadow: -16px 18px 0 -12px var(--wp--custom--diagnostic-visual-accent); }
.diagnostic-aside__body { padding: 1.6rem; }
.diagnostic-aside__body h2 { font-size: 2rem; }
.diagnostic-aside__body p { color: var(--wp--preset--color--ink-soft); }
.diagnostic-reassurance { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; padding: 1rem 1.4rem; border-top: 1px solid var(--wp--preset--color--line); text-align: center; font-size: .75rem; }
.diagnostic-result { padding: 2rem; background: var(--wp--preset--color--sage); border: 1px solid var(--wp--custom--diagnostic-result-border); border-radius: 14px; }
.diagnostic-result h2 { font-size: 2.5rem; }
.result-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; margin: 1.2rem 0; }
.result-fact { padding: .85rem; background: rgba(255,255,255,.65); border-radius: 8px; font-size: .85rem; }

/* Toutes les pages éditoriales passent par page.php. Le template ne fabrique ni
 * titre, ni fil d'Ariane, ni hero : Gutenberg reste propriétaire de la composition.
 * Seuls les éléments de lecture simples sont plafonnés ; les groupes, outils et
 * composants dynamiques conservent toute la largeur du conteneur. */
.page-content { width: var(--wp--custom--wrap); margin: 4rem auto 0; padding-bottom: clamp(4rem, 8vw, 7rem); }
.page-content > :is(h1, h2, h3, h4, p, ul, ol, blockquote):not(.alignwide):not(.alignfull) { max-width: 700px; margin-inline: auto; }
.page-content > .alignwide { width: 100%; margin-inline: auto; }
.page-content > .alignfull { width: 100vw; margin-inline: calc(50% - 50vw); }
.page-content > .alignfull > :not(.alignwide):not(.alignfull) { width: var(--wp--custom--wrap); margin-inline: auto; }
.page-content p, .page-content li { font-size: 1.1rem; line-height: 1.72; }
.wp-block-image img, .wp-post-image { border-radius: var(--wp--custom--radius); }
.navigation.pagination { margin: 3rem 0; }
.nav-links { display: flex; gap: .35rem; }
.nav-links > * { display: grid; min-width: 38px; min-height: 38px; place-items: center; padding: .3rem; border: 1px solid var(--wp--preset--color--line); border-radius: 6px; text-decoration: none; }
.nav-links .current { color: var(--wp--preset--color--paper); background: var(--wp--preset--color--ink); }
.not-found { width: var(--wp--custom--reading); margin: 5rem auto; }

@media (max-width: 980px) {
  .primary-nav, .header-cta { display: none; }
  .nav-toggle { display: grid; gap: 5px; width: 42px; height: 42px; place-content: center; border: 1px solid var(--wp--preset--color--line); border-radius: 8px; background: var(--wp--preset--color--white); }
  .nav-toggle span { display: block; width: 18px; height: 2px; background: var(--wp--preset--color--ink); }
  .mobile-menu:not([hidden]) { display: block; background: var(--wp--preset--color--paper); border-top: 1px solid var(--wp--preset--color--line); }
  .mobile-menu .wrap { display: grid; gap: 1.2rem; padding: 1.4rem 0; }
  .mobile-menu .menu { display: grid; gap: .7rem; list-style: none; padding: 0; margin: 0; }
  .mobile-menu a { font-weight: 700; text-decoration: none; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .hero__grid, .comparison-intro__grid, .diagnostic-layout { grid-template-columns: 1fr; }
  .hero__visual { min-height: 430px; }
  .hero__visual::after, .hero__image { left: 10%; width: 90%; }
  .featured-guide, .content-grid { grid-template-columns: 1fr; }
  .article-aside { position: static; }
  .need-grid { grid-template-columns: repeat(2, 1fr); }
  .post-grid { grid-template-columns: 1fr 1fr; }
  .method-banner, .verdict { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .site-header__inner { min-height: 68px; }
  .brand__name { font-size: 1.8rem; }
  .brand__mark { width: 33px; }
  h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
  .hero { padding-top: 3rem; }
  .hero__visual { min-height: 390px; }
  .diagnostic-card { width: 94%; padding: 1.25rem; }
  .trust-strip { grid-template-columns: 1fr; gap: 1.1rem; }
  .trust-item, .trust-item:first-child { padding: 0; border: 0; }
  .need-grid, .post-grid, .wizard-options, .result-facts { grid-template-columns: 1fr; }
  .featured-guide { padding: 1rem; }
  .featured-guide__media { min-height: 200px; }
  .method-banner { padding: 1.4rem; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .comparison-table { overflow-x: auto; }
  .comparison-table__head, .comparison-row { min-width: 680px; }
  .comparison-cta { display: grid; padding: 1.4rem; }
  .entry-header { padding-top: 3.4rem; }
  .article-content p, .entry-content p { font-size: 1.04rem; }
  .diagnostic-reassurance { grid-template-columns: 1fr; text-align: left; }
}

/* V2 — réglages administrables et accessibilité */
.brand--custom-logo .custom-logo-link { display: flex; align-items: center; }
.brand--custom-logo .custom-logo { width: auto; max-width: 180px; max-height: 48px; height: auto; }
.editorial-proof { max-width: 700px; margin: 3rem 0; padding: 1.45rem 1.6rem; border: 1px solid var(--wp--preset--color--line); border-left: 4px solid var(--wp--preset--color--orange); border-radius: 10px; background: var(--wp--preset--color--paper-deep); }
.editorial-proof h2 { font-size: 2rem; }
.editorial-proof p:last-child { margin-bottom: 0; }

/* Carte de conversion (2026-08-26, Lot 2 — pattern
 * weclim/cta-installateur), utilisable dans un article ou une page standard. */
.weclim-conversion-card { display: flex; min-height: 240px; flex-direction: column; padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--custom--weclim-surface); color: var(--wp--preset--color--ink); }
.weclim-conversion-card--ink { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.weclim-conversion-card--ink h2, .weclim-conversion-card--ink p, .weclim-conversion-card--ink a { color: inherit; }
.weclim-conversion-card p { color: var(--wp--preset--color--ink-soft); }
.weclim-conversion-card a { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; font-weight: 800; }

/* Hero éditorial à deux colonnes (2026-08-26, Lot 2 — pattern
 * weclim/hero-editorial), utilisable sur n'importe quelle page. */
.weclim-solutions-hero { align-items: stretch; gap: clamp(2rem, 4vw, 5rem); margin-block: clamp(2rem, 4vw, 4rem) clamp(4rem, 7vw, 7rem); }
.weclim-solutions-hero__content { display: flex; flex: 0 1 44%; flex-direction: column; justify-content: center; padding: clamp(1rem, 3vw, 3.5rem) 0; }
.weclim-solutions-hero__content h1 { margin-block: .6rem 1rem; color: var(--wp--preset--color--ink); font-size: clamp(2.5rem, 4.5vw, 5.5rem); line-height: .98; }
.weclim-solutions-hero__lead { max-width: 48ch; margin-bottom: 1.5rem; color: var(--wp--preset--color--ink-soft); font-size: clamp(1rem, 1.3vw, 1.2rem); }
.weclim-solutions-hero__media { display: flex; flex: 1 1 52%; align-items: stretch; }
.weclim-solutions-hero__media .wp-block-image, .weclim-solutions-hero__media figure { width: 100%; margin: 0; }
.weclim-solutions-hero__media img { display: block; width: 100%; height: 100%; min-height: 420px; border-radius: var(--wp--custom--radius); object-fit: cover; }
@media (max-width: 760px) {
	.weclim-solutions-hero { gap: 1.5rem; margin-block: 1rem 3.5rem; }
	.weclim-solutions-hero__content h1 { font-size: clamp(2.25rem, 11vw, 3.4rem); }
	.weclim-solutions-hero__media img { min-height: 260px; }
}

/* Compositions Gutenberg du hub Solutions. Ces règles appartiennent aux
 * composants eux-mêmes et ne dépendent plus d'un template PHP particulier. */
.page-content > :is(.weclim-solution-grid, .weclim-solutions-intro, .weclim-choice-guidance, .weclim-guides-section, .weclim-conversion-grid) {
	width: 100%;
	max-width: none;
}
.page-content > :is(.weclim-solutions-intro, .weclim-solution-grid, .weclim-choice-guidance, .weclim-guides-section, .weclim-conversion-grid) + :is(.weclim-solutions-intro, .weclim-solution-grid, .weclim-choice-guidance, .weclim-guides-section, .weclim-conversion-grid) {
	margin-top: clamp(3.5rem, 7vw, 6.5rem);
}
.weclim-solution-grid > .wp-block-weclim-solution-grid {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}
a.weclim-solution-card--media {
	display: grid;
	grid-template-columns: minmax(116px, 40%) 1fr;
	min-height: 246px;
	padding: 0;
	overflow: hidden;
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
a.weclim-solution-card--media:hover {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--sage-strong);
	box-shadow: 0 14px 30px rgba(13, 59, 62, .08);
}
.weclim-solution-card__media { display: block; min-height: 100%; background: var(--wp--preset--color--sage); }
.weclim-solution-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.weclim-solution-card__body { display: flex; flex-direction: column; padding: 1.25rem; }
.weclim-solution-card__kicker { margin-bottom: .65rem; color: var(--wp--preset--color--ink-soft); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.weclim-solution-card__action { margin-top: auto; padding-top: 1rem; }
.weclim-solution-card__action::after { content: "→"; margin-left: .4rem; }
.weclim-conversion-grid, .weclim-conversion-grid--compact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.weclim-guides-section ul { display: grid; gap: .85rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.weclim-guides-section li { padding-bottom: .85rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.weclim-guides-section li:last-child { padding-bottom: 0; border-bottom: 0; }
.weclim-guides-section li a { display: inline-flex; gap: .6rem; align-items: center; color: var(--wp--preset--color--ink); font-weight: 700; text-decoration: none; }
.weclim-guides-section li a::after { content: "→"; font-size: 1.2em; transition: transform .18s ease; }
.weclim-guides-section li a:hover::after { transform: translateX(4px); }
.weclim-constraint-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.75rem; padding: 1.25rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--custom--weclim-surface); }
.weclim-constraint-chips p { margin: 0; }
.weclim-constraint-chips a { display: inline-flex; margin: .4rem .25rem 0 0; padding: .35rem .65rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; color: var(--wp--preset--color--ink); font-size: .82rem; text-decoration: none; }
.weclim-constraint-chips a:hover, .weclim-constraint-chips a:focus-visible { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--paper-deep); }
@media (max-width: 1080px) {
	.weclim-conversion-grid, .weclim-conversion-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.weclim-solution-grid > .wp-block-weclim-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.weclim-conversion-grid, .weclim-conversion-grid--compact, .weclim-constraint-chips { grid-template-columns: 1fr; }
	a.weclim-solution-card--media { grid-template-columns: 38% 1fr; min-height: 190px; }
}
@media (max-width: 620px) {
	.weclim-solution-grid > .wp-block-weclim-solution-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	a.weclim-solution-card--media { transition: none; }
}

/* Encadré "L'essentiel" (2026-08-26, Lot 2 — pattern weclim/essentiel). Reprend
 * le fond var(--sage) déjà utilisé ailleurs (weclim-choice-guidance etc.), pas
 * une nouvelle couleur inventée pour ce composant. */
.weclim-essential { padding: 1.75rem 2rem; margin: 0 0 2rem; border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--sage); }
.weclim-essential h2 { margin: 0 0 1rem; font-family: var(--wp--preset--font-family--sans); font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--ink); }
.weclim-essential ul { margin: 0; padding-left: 1.25rem; display: grid; gap: .85rem; font-size: 1.02rem; line-height: 1.65; }
.weclim-essential li strong { font-weight: 700; }


/* V3 — Accueil et cartes de décision */
:focus-visible { outline: 3px solid var(--wp--custom--weclim-focus); outline-offset: 3px; }
.weclim-home-hero { padding: clamp(3.5rem,7vw,7rem) 0 clamp(2.5rem,5vw,4.75rem); border-bottom: 1px solid var(--wp--preset--color--line); background: linear-gradient(120deg,var(--wp--preset--color--paper) 0%,var(--wp--preset--color--paper) 58%,var(--wp--custom--home-hero-gradient-end) 100%); }
.weclim-home-hero__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:clamp(2.5rem,7vw,8rem); align-items:center; }
.weclim-home-hero__lead { max-width:52ch; color:var(--wp--preset--color--ink-soft); font-size:clamp(1.08rem,1.5vw,1.24rem); }
.weclim-home-hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.65rem; }
.weclim-home-hero__note { max-width:58ch; margin-top:1.2rem; color:var(--wp--preset--color--ink-soft); font-size:.83rem; }
.weclim-orientation-panel { padding:clamp(1.35rem,3vw,2.2rem); border:1px solid var(--wp--custom--orientation-panel-border); border-radius:var(--wp--custom--weclim-radius-lg); background:rgba(255,255,255,.78); box-shadow:var(--wp--custom--shadow); }
.weclim-orientation-panel__eyebrow { margin:0 0 .55rem; font-size:.73rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--wp--preset--color--ink-soft); }
.weclim-orientation-panel h2 { font-size:clamp(2rem,3vw,2.8rem); }
.weclim-orientation-panel__status { margin:1.25rem 0 0; color:var(--wp--preset--color--ink-soft); font-size:.9rem; }
.weclim-path { display:grid; gap:1rem; margin:1.5rem 0; padding:0; list-style:none; }
.weclim-path li { position:relative; padding:0 0 0 3rem; }
.weclim-path li > span { position:absolute; top:.05rem; left:0; display:grid; width:2rem; height:2rem; place-items:center; border-radius:50%; background:var(--wp--preset--color--sage); color:var(--wp--preset--color--ink); font-size:.84rem; font-weight:800; }
.weclim-path strong { display:block; font-size:.96rem; }
.weclim-path p { margin:.12rem 0 0; color:var(--wp--preset--color--ink-soft); font-size:.84rem; }
.weclim-trust-strip { display:grid; grid-template-columns:repeat(3,1fr); padding:1.35rem 0; border-bottom:1px solid var(--wp--preset--color--line); }
.weclim-trust-strip > div { display:flex; gap:.7rem; padding:0 1.5rem; border-right:1px solid var(--wp--preset--color--line); }
.weclim-trust-strip > div:first-child { padding-left:0; }
.weclim-trust-strip > div:last-child { border-right:0; }
.weclim-trust-strip span { color:var(--wp--custom--trust-strip-icon-color); font-weight:800; }
.weclim-trust-strip p { margin:0; color:var(--wp--preset--color--ink-soft); font-size:.85rem; }
.weclim-trust-strip strong { color:var(--wp--preset--color--ink); }
.weclim-section { padding-top:clamp(4rem,8vw,7rem); }
.weclim-section--tint { padding:clamp(3rem,6vw,5rem); border:1px solid var(--wp--custom--section-tint-border); border-radius:var(--wp--custom--weclim-radius-lg); background:var(--wp--preset--color--sage); }
.weclim-section__head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.weclim-section__head h2 { max-width:16ch; margin:0; font-size:clamp(2.2rem,4vw,4rem); }
.weclim-section__head > p { max-width:35ch; margin:0; color:var(--wp--preset--color--ink-soft); }
.weclim-card-grid { display:grid; gap:1rem; }
.weclim-card-grid--needs { grid-template-columns:repeat(5,minmax(0,1fr)); }
.weclim-card-grid--topics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.weclim-card { position:relative; display:flex; flex-direction:column; min-height:258px; padding:1.35rem; border:1px solid var(--wp--preset--color--line); border-radius:var(--wp--custom--radius); background:var(--wp--custom--weclim-surface); color:var(--wp--preset--color--ink); text-decoration:none; }
a.weclim-card { transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
a.weclim-card:hover { transform:translateY(-4px); border-color:var(--wp--preset--color--sage-strong); box-shadow:0 14px 30px rgba(13,59,62,.08); }
.weclim-card__icon { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--wp--preset--color--sage); font-size:1.15rem; }
.weclim-card h3 { margin-top:1rem; font:700 1.08rem/1.3 var(--wp--preset--font-family--sans); letter-spacing:-.02em; }
.weclim-card p { color:var(--wp--preset--color--ink-soft); font-size:.9rem; }
.weclim-card__link,.weclim-card__status { display:inline-flex; align-items:center; gap:.4rem; margin-top:auto; padding-top:1rem; font-size:.84rem; font-weight:800; }
.weclim-card__status { color:var(--wp--preset--color--ink-soft); font-weight:650; }
.weclim-solution-teasers { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.weclim-solution-teaser { padding:1.35rem; border:1px solid rgba(13,59,62,.14); border-radius:12px; background:rgba(255,255,255,.6); }
.weclim-solution-teaser > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:var(--wp--preset--color--ink); color:var(--wp--preset--color--paper); }
.weclim-solution-teaser h3 { margin-top:1.2rem; font:700 1.05rem/1.3 var(--wp--preset--font-family--sans); letter-spacing:-.02em; }
.weclim-solution-teaser p { margin-bottom:0; color:var(--wp--preset--color--ink-soft); font-size:.87rem; }
.weclim-section__action { margin:1.6rem 0 0; }
.weclim-method-callout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:center; margin-top:clamp(4rem,8vw,7rem); padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--wp--custom--method-callout-border); border-radius:var(--wp--custom--weclim-radius-lg); background:linear-gradient(130deg,var(--wp--preset--color--sage),var(--wp--custom--method-callout-gradient-2)); }
.weclim-method-callout h2 { margin:0; font-size:clamp(2.05rem,3.5vw,3.6rem); }
.weclim-method-callout p { color:var(--wp--preset--color--ink-soft); }
.weclim-tool-callout { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:1.5rem; padding:clamp(1.5rem,4vw,3rem); border-radius:var(--wp--custom--weclim-radius-lg); background:var(--wp--preset--color--ink); color:var(--wp--preset--color--paper); }
.weclim-tool-callout h2 { color:var(--wp--preset--color--paper); font-size:clamp(2rem,3.3vw,3.4rem); }
.weclim-tool-callout p { max-width:52ch; color:var(--wp--custom--tool-callout-text); }


/* V3 — Solutions maître, accordéons et tableaux */
.weclim-solutions-hero { padding:clamp(3rem,6vw,6.5rem) 0 2.5rem; border-bottom:1px solid var(--wp--preset--color--line); }
.weclim-solutions-hero__intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:clamp(2rem,6vw,6rem); align-items:end; }
.weclim-solutions-hero__intro p { max-width:58ch; color:var(--wp--preset--color--ink-soft); font-size:1.12rem; }
.weclim-callout { padding:1.25rem 1.4rem; border-left:4px solid var(--wp--preset--color--orange); border-radius:0 var(--wp--custom--radius) var(--wp--custom--radius) 0; background:var(--wp--preset--color--paper-deep); color:var(--wp--preset--color--ink-soft); font-size:.9rem; }
.weclim-key-points { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.weclim-key-points article { padding:1.2rem; border:1px solid var(--wp--preset--color--line); border-radius:12px; background:var(--wp--custom--weclim-surface); }
.weclim-key-points h2 { font:750 1rem/1.35 var(--wp--preset--font-family--sans); letter-spacing:-.02em; }
.weclim-key-points p { margin:.5rem 0 0; color:var(--wp--preset--color--ink-soft); font-size:.87rem; }
.weclim-constraint-list { display:flex; flex-wrap:wrap; gap:.65rem; margin:1.25rem 0 0; padding:0; list-style:none; }
.weclim-constraint-list a,.weclim-constraint-list span { padding:.55rem .75rem; border:1px solid var(--wp--preset--color--line); border-radius:999px; background:var(--wp--custom--weclim-surface); color:var(--wp--preset--color--ink); font-size:.84rem; text-decoration:none; }
.weclim-solution-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.weclim-solution-card { display:grid; min-height:238px; padding:1.25rem; border:1px solid var(--wp--preset--color--line); border-radius:var(--wp--custom--radius); background:var(--wp--custom--weclim-surface); text-align:left; color:var(--wp--preset--color--ink); }
button.weclim-solution-card { width:100%; font:inherit; }
.weclim-solution-card:hover { border-color:var(--wp--preset--color--sage-strong); }
/* Carte "conseil" plutôt que solution matérielle (ex. rafraîchissement passif) :
 * occupe la largeur de 3 cartes pour se distinguer visuellement des équipements. */
.weclim-solution-card--wide { grid-column: span 3; }
@media (max-width:1080px) { .weclim-solution-card--wide { grid-column: span 3; } }
@media (max-width:760px) { .weclim-solution-card--wide { grid-column: 1 / -1; } }
.weclim-solution-card__icon { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--wp--preset--color--sage); font-size:1.12rem; }
.weclim-solution-card__name { margin-top:.9rem; font:750 1rem/1.25 var(--wp--preset--font-family--sans); letter-spacing:-.02em; }
.weclim-solution-card__promise { margin:.65rem 0 1rem; color:var(--wp--preset--color--ink-soft); font-size:.86rem; }
.weclim-solution-card__facts { display:flex; flex-wrap:wrap; gap:.35rem; margin:0; padding:0; list-style:none; }
.weclim-solution-card__facts li { padding:.24rem .42rem; border-radius:999px; background:var(--wp--preset--color--paper-deep); font-size:.72rem; }
.weclim-solution-card__action { align-self:end; margin-top:1rem; font-size:.82rem; font-weight:800; }
.weclim-solution-detail { grid-column:1 / -1; margin-top:.15rem; padding:clamp(1.4rem,4vw,2.4rem); border:1px solid var(--wp--custom--solution-detail-border); border-radius:var(--wp--custom--weclim-radius-lg); background:var(--wp--preset--color--sage); }
.weclim-solution-detail[hidden] { display:none; }
.weclim-solution-detail__head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.weclim-solution-detail__head h3 { font-size:clamp(2rem,3vw,3rem); }
.weclim-solution-detail__close { min-width:44px; min-height:44px; border:1px solid var(--wp--preset--color--line); border-radius:50%; background:var(--wp--preset--color--paper); color:var(--wp--preset--color--ink); }
.weclim-solution-detail__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2.5rem; margin-top:1.25rem; }
.weclim-solution-detail__grid p { color:var(--wp--preset--color--ink-soft); }
.weclim-solution-detail__grid h4 { margin:0 0 .35rem; font:750 .93rem/1.3 var(--wp--preset--font-family--sans); letter-spacing:-.02em; }
.weclim-solution-detail__grid ul { margin:0; padding-left:1.15rem; color:var(--wp--preset--color--ink-soft); }
.weclim-solution-table-wrap { margin-top:1.5rem; overflow-x:auto; border:1px solid rgba(13,59,62,.16); border-radius:10px; background:rgba(255,255,255,.75); }
.weclim-solution-table { width:100%; min-width:620px; border-collapse:collapse; font-size:.88rem; }
.weclim-solution-table th,.weclim-solution-table td { padding:.85rem 1rem; border-bottom:1px solid rgba(13,59,62,.12); text-align:left; vertical-align:top; }
.weclim-solution-table th { width:35%; font-weight:750; }
.weclim-solution-table tr:last-child th,.weclim-solution-table tr:last-child td { border-bottom:0; }
.weclim-comparison-compact { overflow-x:auto; margin-top:1.6rem; border:1px solid var(--wp--preset--color--line); border-radius:var(--wp--custom--radius); background:var(--wp--custom--weclim-surface); }
.weclim-comparison-compact table { min-width:760px; width:100%; border-collapse:collapse; font-size:.87rem; }
.weclim-comparison-compact th,.weclim-comparison-compact td { padding:.85rem 1rem; border-bottom:1px solid var(--wp--preset--color--line); text-align:left; vertical-align:top; }
.weclim-comparison-compact th { background:var(--wp--preset--color--paper-deep); font-weight:750; }
.weclim-comparison-compact tr:last-child td { border-bottom:0; }
.weclim-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.weclim-faq { display:grid; gap:.75rem; }
.weclim-faq details { padding:1rem 1.1rem; border:1px solid var(--wp--preset--color--line); border-radius:10px; background:var(--wp--custom--weclim-surface); }
.weclim-faq summary { cursor:pointer; font-weight:750; }
.weclim-faq p { margin:.85rem 0 0; color:var(--wp--preset--color--ink-soft); }
@media (max-width:1080px) { .weclim-card-grid--needs { grid-template-columns:repeat(3,minmax(0,1fr)); } .weclim-solution-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .weclim-solution-teasers { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .weclim-home-hero__grid,.weclim-solutions-hero__intro,.weclim-method-callout { grid-template-columns:1fr; } .weclim-trust-strip,.weclim-key-points { grid-template-columns:1fr; gap:.85rem; } .weclim-trust-strip > div,.weclim-trust-strip > div:first-child { padding:0; border:0; } .weclim-section__head { display:block; } .weclim-section__head > p { margin-top:.9rem; } .weclim-card-grid--needs,.weclim-card-grid--topics,.weclim-solution-grid,.weclim-related-grid,.weclim-solution-teasers { grid-template-columns:1fr; } .weclim-card { min-height:212px; } .weclim-solution-detail__grid { grid-template-columns:1fr; gap:1rem; } .weclim-tool-callout { display:grid; } }

/* Fiche solution (Claude Design "Weclim Gabarits", 2026-08-26) */
.weclim-fiche-breadcrumb { display:flex; gap:.5rem; margin-bottom:1.75rem; color:var(--wp--preset--color--ink-soft); font-size:.86rem; }
.weclim-fiche-breadcrumb a { color:inherit; }
.weclim-fiche-tags { display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; margin:0; padding:0 0 1.75rem; border-bottom:1px solid var(--wp--preset--color--line); }
.weclim-fiche-tags li { padding:.5rem .9rem; border-radius:999px; background:var(--wp--preset--color--paper-deep); font-size:.82rem; font-weight:700; }
.weclim-fiche-tags li:nth-child(2) { background:var(--wp--preset--color--sage); }
.weclim-fiche-visual { min-height:280px; margin:2rem 0; border-radius:var(--wp--custom--radius); background:var(--wp--preset--color--paper-deep); display:flex; align-items:center; justify-content:center; }
.weclim-fiche-visual span { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--wp--preset--color--ink-soft); }
.weclim-fiche-steps { display:flex; flex-direction:column; gap:2px; list-style:none; margin:0 0 1.5rem; padding:0; }
.weclim-fiche-steps li { display:flex; gap:.9rem; align-items:center; padding:1.5rem 1.75rem; background:var(--wp--preset--color--white); border:1px solid var(--wp--preset--color--line); }
.weclim-fiche-steps .weclim-fiche-steps__num { min-width:28px; line-height:1; font:400 1.6rem/1 var(--wp--preset--font-family--serif); color:var(--wp--preset--color--orange); }
.weclim-fiche-steps h3 { margin:0 0 .35rem; font-size:1.1rem; }
.weclim-fiche-steps p { margin:0; color:var(--wp--preset--color--ink-soft); }
.weclim-fiche-pro { padding:1.4rem 1.6rem; margin-bottom:2.5rem; border-radius:var(--wp--custom--radius); background:var(--wp--preset--color--sage); }
.weclim-fiche-pro p:first-child { margin:0 0 .4rem; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.weclim-fiche-pro p:last-child { margin:0; }
.weclim-fiche-grid2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.25rem; margin-bottom:2.5rem; }
.weclim-fiche-grid2 > div { padding:1.75rem; border-radius:var(--wp--custom--radius); background:var(--wp--preset--color--white); border:1px solid var(--wp--preset--color--line); }
.weclim-fiche-grid2 h3 { margin:0 0 1.1rem; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.weclim-fiche-grid2 ul { margin:0; padding-left:1.25rem; }
.weclim-fiche-grid2 ul li { margin-bottom:.7rem; }
.weclim-fiche-grid2--avantages > div:first-child { border-top:4px solid var(--wp--preset--color--ink); }
.weclim-fiche-grid2--avantages > div:last-child { border-top:4px solid var(--wp--preset--color--orange); }
.weclim-fiche-grid2--pourcontre > div:first-child { background:var(--wp--preset--color--sage); border:0; }
/* La section pour/contre n'a pas de titre propre (comme dans le design) :
 * le padding-top standard de .weclim-section (jusqu'à 7rem) laisse un vide
 * anormal juste après les cartes avantages/inconvénients. */
.weclim-section--tight { padding-top:clamp(1.5rem,3vw,2.5rem); }
.weclim-fiche-verifier { margin:0 0 2.5rem; padding-left:1.4rem; }
.weclim-fiche-verifier li { margin-bottom:.85rem; }
@media (max-width:760px) { .weclim-fiche-grid2 { grid-template-columns:1fr; } .weclim-fiche-steps li { flex-direction:column; gap:.4rem; } }

/* Design System — référence privée du thème */
.ds-hero { padding-bottom:3rem; }
.ds-hero h1 { max-width:15ch; }
.ds-index { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:2rem; }
.ds-index a { padding:.48rem .72rem; border:1px solid var(--wp--preset--color--line); border-radius:999px; background:var(--wp--preset--color--white); color:var(--wp--preset--color--ink); font-size:.8rem; font-weight:750; text-decoration:none; }
.ds-index a:hover { border-color:var(--wp--preset--color--sage-strong); background:var(--wp--preset--color--sage); }
.ds-section { padding-top:clamp(4rem,9vw,8rem); }
.ds-section--last { padding-bottom:1rem; }
.ds-section__head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr); gap:2.5rem; align-items:end; margin-bottom:2rem; }
.ds-section__head h2 { max-width:16ch; margin:0; }
.ds-section__head > p { max-width:41ch; margin:0; color:var(--wp--preset--color--ink-soft); }
.ds-token-grid,.ds-foundation-grid,.ds-structure-grid,.ds-component-grid,.ds-rule-grid,.ds-state-grid,.ds-governance-grid { display:grid; gap:1rem; }
.ds-token-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ds-token-card,.ds-surface-demo,.ds-anatomy,.ds-component,.ds-rule-grid article,.ds-state-card,.ds-governance-grid article,.ds-rating-demo { padding:1.25rem; border:1px solid var(--wp--preset--color--line); border-radius:var(--wp--custom--radius); background:var(--wp--preset--color--white); }
.ds-token-card h3,.ds-surface-demo h3,.ds-component h3,.ds-state-card h3,.ds-rule-grid h3,.ds-governance-grid h3,.ds-rating-demo h3 { font:750 1.02rem/1.35 var(--wp--preset--font-family--sans); letter-spacing:-.02em; }
.ds-token-card p,.ds-surface-demo p,.ds-anatomy p,.ds-component p,.ds-state-card p,.ds-rule-grid p,.ds-governance-grid p,.ds-rating-demo p { color:var(--wp--preset--color--ink-soft); font-size:.88rem; }
.ds-token-card p:last-child,.ds-surface-demo p:last-child,.ds-component p:last-child,.ds-state-card p:last-child { margin-bottom:0; }
.ds-swatch { display:block; height:96px; margin-bottom:1rem; border:1px solid rgba(13,59,62,.14); border-radius:10px; }
.ds-swatch--ink { background:var(--wp--preset--color--ink); }
.ds-swatch--paper { background:var(--wp--preset--color--paper); }
.ds-swatch--sage { background:var(--wp--preset--color--sage); }
.ds-swatch--sage-strong { background:var(--wp--preset--color--sage-strong); }
.ds-swatch--orange { background:var(--wp--preset--color--orange); }
.ds-swatch--line { background:var(--wp--preset--color--line); }
.ds-foundation-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1rem; }
.ds-serif-sample { font:clamp(1.7rem,2.8vw,2.5rem)/1.08 var(--wp--preset--font-family--serif); color:var(--wp--preset--color--ink) !important; letter-spacing:-.035em; }
.ds-sans-sample { font:700 1.1rem/1.45 var(--wp--preset--font-family--sans); color:var(--wp--preset--color--ink) !important; }
.ds-spacing-scale { display:grid; gap:.6rem; }
.ds-spacing-scale div { display:grid; grid-template-columns:32px minmax(18px,1fr); gap:.5rem .75rem; align-items:center; }
.ds-spacing-scale strong { font-size:.76rem; }
.ds-spacing-scale span { display:block; height:8px; max-width:100%; border-radius:99px; background:var(--wp--preset--color--orange); }
.ds-spacing-scale small { grid-column:2; color:var(--wp--preset--color--ink-soft); font-size:.72rem; }
.ds-layout-stack { display:grid; gap:1rem; }
.ds-layout-demo { display:flex; min-height:130px; padding:1rem; border:1px dashed var(--wp--preset--color--sage-strong); background:var(--wp--preset--color--paper-deep); }
.ds-layout-demo > div { display:flex; flex-direction:column; justify-content:center; gap:.25rem; padding:1rem 1.25rem; border:1px solid var(--wp--preset--color--line); border-radius:9px; background:var(--wp--preset--color--white); }
.ds-layout-demo strong { font:1.5rem/1 var(--wp--preset--font-family--serif); }
.ds-layout-demo span,.ds-layout-demo code { color:var(--wp--preset--color--ink-soft); font-size:.82rem; }
.ds-layout-demo--wide > div { width:100%; }
.ds-layout-demo--reading > div { width:min(730px,100%); }
.ds-rule-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1rem; }
.ds-structure-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ds-anatomy { min-height:250px; }
.ds-anatomy ol { display:grid; gap:.45rem; margin:1rem 0 0; padding-left:1.2rem; color:var(--wp--preset--color--ink-soft); font-size:.84rem; }
.ds-header-demo,.ds-footer-demo { display:grid; grid-template-columns:1.4fr 1fr 1fr auto; gap:.5rem; align-items:center; margin:1rem 0; padding:.75rem; border:1px solid var(--wp--preset--color--line); border-radius:9px; background:var(--wp--preset--color--paper); font-size:.72rem; }
.ds-header-demo__brand { font:1.25rem/1 var(--wp--preset--font-family--serif); }
.ds-header-demo__burger { display:none; }
.ds-footer-demo { grid-template-columns:1.4fr 1fr 1fr 1fr; color:var(--wp--preset--color--paper); background:var(--wp--preset--color--ink); }
.ds-component-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ds-component { min-height:198px; display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
.ds-component p { margin-top:auto; }
.ds-component-grid--secondary { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1rem; }
.ds-dark-surface { width:100%; padding:1rem; border-radius:9px; background:var(--wp--preset--color--ink); }
.ds-editorial-demo { width:var(--wp--custom--reading); max-width:100%; margin:0; padding:clamp(1.2rem,4vw,2.5rem); border:1px solid var(--wp--preset--color--line); border-radius:var(--wp--custom--radius); background:var(--wp--preset--color--white); }
.ds-decision-grid { display:grid; grid-template-columns:.85fr .75fr 1.4fr; gap:1rem; align-items:stretch; }
.ds-decision-grid .verdict { grid-template-columns:1fr; padding:1.25rem; }
.ds-decision-grid .verdict h2 { font-size:2rem; }
.ds-rating-demo { display:flex; flex-direction:column; }
.ds-rating-demo .rating { margin:1rem 0; }
/* weclim-table-wrap (renommée depuis ds-table-wrap le 26/08/2026, Lot 2 — pattern
 * weclim/tableau-comparatif) : seule utilisation avant ce jour = page-design-system.php
 * (page interne). Renommée pour ne plus laisser croire qu'elle est réservée à cette
 * page — c'est un composant éditorial d'usage général. */
.weclim-table-wrap { margin-top:1rem; overflow:auto; border:1px solid var(--wp--preset--color--line); border-radius:var(--wp--custom--radius); background:var(--wp--preset--color--white); }
.weclim-table-wrap table { width:100%; min-width:600px; border-collapse:collapse; }
.weclim-table-wrap caption { padding:1rem; color:var(--wp--preset--color--ink-soft); text-align:left; font-size:.82rem; }
.weclim-table-wrap th,.weclim-table-wrap td { padding:.85rem 1rem; border-top:1px solid var(--wp--preset--color--line); text-align:left; font-size:.88rem; }
.weclim-table-wrap th { background:var(--wp--preset--color--paper-deep); font-weight:750; }
.ds-state-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ds-state-card { min-height:265px; }
.ds-state-card .wizard-option { width:100%; min-height:64px; margin:.4rem 0; }
.ds-empty-state { display:grid; gap:.35rem; padding:1rem; border:1px dashed var(--wp--preset--color--line); border-radius:9px; background:var(--wp--preset--color--paper-deep); color:var(--wp--preset--color--ink-soft); font-size:.85rem; }
.ds-empty-state strong { color:var(--wp--preset--color--ink); }
.ds-accessibility-callout { margin-top:1rem; padding:1.1rem 1.25rem; border-left:4px solid var(--wp--preset--color--orange); border-radius:0 var(--wp--custom--radius) var(--wp--custom--radius) 0; background:var(--wp--preset--color--paper-deep); color:var(--wp--preset--color--ink-soft); }
.ds-accessibility-callout strong { color:var(--wp--preset--color--ink); }
.ds-governance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ds-maintenance-note { margin-top:1.25rem; color:var(--wp--preset--color--ink-soft); font-size:.82rem; }
@media (max-width:1080px) { .ds-token-grid,.ds-component-grid,.ds-state-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ds-decision-grid { grid-template-columns:1fr 1fr; } .ds-decision-grid .verdict { grid-column:1 / -1; grid-template-columns:.9fr 1.1fr; } }
@media (max-width:760px) { .ds-section__head,.ds-foundation-grid,.ds-rule-grid,.ds-structure-grid,.ds-component-grid,.ds-component-grid--secondary,.ds-decision-grid,.ds-state-grid,.ds-governance-grid { grid-template-columns:1fr; } .ds-section__head { gap:.85rem; } .ds-section__head h2 { max-width:18ch; } .ds-decision-grid .verdict { grid-column:auto; grid-template-columns:1fr; } .ds-header-demo { grid-template-columns:1fr auto; } .ds-header-demo > :not(:first-child):not(.ds-header-demo__burger) { display:none; } .ds-header-demo__burger { display:block; } .ds-footer-demo { grid-template-columns:1fr 1fr; } }

/* V3.3 — échelle globale, navigation et gabarits administrables */
.site-header__inner { width: var(--wp--custom--nav-wrap); margin-inline: auto; gap: clamp(1rem, 2vw, 2.25rem); }
.primary-nav { margin-inline: auto; }
.primary-nav .menu { gap: clamp(1.15rem, 2vw, 2.4rem); }
h1, h2, h3, h4 { line-height: 1.08; letter-spacing: -.028em; margin-bottom: .55em; text-wrap: balance; }
h1 { font-size: var(--wp--preset--font-size--h-1); }
h2 { font-size: var(--wp--preset--font-size--h-2); }
h3 { font-size: var(--wp--preset--font-size--h-3); line-height: 1.16; }
h4 { font: 750 1rem/1.35 var(--wp--preset--font-family--sans); letter-spacing: -.01em; }
p { margin-bottom: var(--wp--preset--spacing--l); }
.page-hero { padding: var(--wp--preset--spacing--3-xl) 0 var(--wp--preset--spacing--2-xl); }
.page-hero p, .archive-description { max-width: 58ch; color: var(--wp--preset--color--ink-soft); font-size: var(--wp--preset--font-size--lead); }
.entry-header { padding: var(--wp--preset--spacing--3-xl) 0 var(--wp--preset--spacing--2-xl); }
.entry-summary { font-size: var(--wp--preset--font-size--lead); }
.entry-content { margin-top: var(--wp--preset--spacing--2-xl); }
.article-content p, .entry-content p { font-size: 1.08rem; }
.article-content h2, .entry-content h2 { margin-top: var(--wp--preset--spacing--3-xl); }
.article-content h3, .entry-content h3 { margin-top: var(--wp--preset--spacing--2-xl); }
.post-card h2, .post-card h3 { font-size: 1.45rem; margin-top: .65rem; }
.front-page-static { width: 100%; }
.front-page-static__content { width: 100%; margin: 0; }
.front-page-static__content > :not(.alignfull) { width: var(--wp--custom--reading); margin-inline: auto; }
.front-page-static__content > .wp-block-group.alignfull > :not(.alignwide):not(.alignfull) { width: var(--wp--custom--wrap); margin-inline: auto; }
.ds-type-scale { display: grid; gap: var(--wp--preset--spacing--m); margin-top: var(--wp--preset--spacing--l); }
.ds-type-scale > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: var(--wp--preset--spacing--m); align-items: baseline; padding-bottom: var(--wp--preset--spacing--m); border-bottom: 1px solid var(--wp--preset--color--line); }
.ds-type-scale > div:last-child { padding-bottom: 0; border-bottom: 0; }
.ds-type-scale code { color: var(--wp--preset--color--ink-soft); font-size: .78rem; }
.ds-type-display { font: 400 var(--wp--preset--font-size--display)/1.04 var(--wp--preset--font-family--serif); letter-spacing: -.035em; }
.ds-type-h1 { font: 400 var(--wp--preset--font-size--h-1)/1.08 var(--wp--preset--font-family--serif); letter-spacing: -.028em; }
.ds-type-h2 { font: 400 var(--wp--preset--font-size--h-2)/1.08 var(--wp--preset--font-family--serif); letter-spacing: -.028em; }
.ds-type-h3 { font: 400 var(--wp--preset--font-size--h-3)/1.16 var(--wp--preset--font-family--serif); letter-spacing: -.02em; }
.ds-type-body { font: 400 1.08rem/1.72 var(--wp--preset--font-family--sans); }
.ds-template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--l); }
.ds-template-card { padding: var(--wp--preset--spacing--l); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--white); }
.ds-template-card h3 { margin-bottom: var(--wp--preset--spacing--s); }
.ds-template-card p { color: var(--wp--preset--color--ink-soft); font-size: .9rem; }
.ds-template-card code { display: block; margin-top: var(--wp--preset--spacing--m); color: var(--wp--preset--color--ink-soft); font-size: .78rem; }
@media (max-width: 760px) { .ds-template-grid { grid-template-columns: 1fr; } .ds-type-scale > div { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--xs); } }
@media (max-width: 620px) { h1 { font-size: clamp(2.55rem, 12vw, 3.65rem); } .entry-header { padding-top: var(--wp--preset--spacing--2-xl); } }

/* Archive À la une éditoriale — lecture progressive des taxonomies WordPress.
 * Alignée sur le gabarit "Page multiarticles" (Claude Design, Weclim Gabarits, 2026-08-26) :
 * carte "à la une" claire avec visuel placeholder, filtres en pastilles, plus de bandeau ink plein. */
.archive-featured-hero { padding: var(--wp--preset--spacing--2-xl) 0 var(--wp--preset--spacing--l); border-bottom: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--paper); }
.archive-featured-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: var(--wp--preset--spacing--l); }
.archive-featured-hero h1 { margin: var(--wp--preset--spacing--xs) 0 0; color: var(--wp--preset--color--ink-strong); text-wrap: balance; }
.archive-sort { display: flex; align-items: end; gap: .5rem; flex-wrap: wrap; }
.archive-sort label, .archive-facet legend { width: 100%; margin-bottom: .35rem; color: var(--wp--preset--color--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.archive-sort select, .archive-sort button { min-height: 2.8rem; border: 1px solid var(--wp--preset--color--line); border-radius: 3px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); font: inherit; font-weight: 600; }
.archive-sort select { min-width: 12rem; padding: .5rem .7rem; }.archive-sort button { padding: .5rem .8rem; font-weight: 800; }
.archive-filter-bar { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--wp--preset--spacing--s); padding-top: var(--wp--preset--spacing--m); }.archive-filter-bar__facets { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--s); flex: 1; }.archive-facet { min-width: min(100%, 15rem); margin: 0; padding: 0; border: 0; }.archive-facet__options { display: flex; flex-wrap: wrap; gap: .5rem; }.archive-facet__option { padding: .5rem .9rem; min-height: 2.75rem; display: inline-flex; align-items: center; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); font-size: .82rem; font-weight: 600; text-decoration: none; }.archive-facet__option.is-active { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.archive-results { padding-top: var(--wp--preset--spacing--l); }.archive-featured-card { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(0, 1.6fr); margin-bottom: var(--wp--preset--spacing--l); overflow: hidden; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius); background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); }.archive-featured-card__visual { display: flex; align-items: center; justify-content: center; min-height: 260px; overflow: hidden; padding: var(--wp--preset--spacing--s); background: var(--wp--preset--color--paper-deep); }.archive-featured-card__visual > span { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); }.archive-featured-card__image { width: 100%; height: 100%; object-fit: cover; }.archive-featured-card__content { display: grid; align-content: center; gap: .5rem; padding: clamp(1.35rem,3vw,2.25rem); }.archive-featured-card .post-card__meta { color: var(--wp--preset--color--ink-soft); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }.archive-featured-card h2 { max-width: 25ch; margin: var(--wp--preset--spacing--xs) 0; font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.02; }.archive-featured-card h2 a, .archive-featured-card .text-link { color: inherit; text-decoration: none; }.archive-featured-card p:not(.post-card__meta) { max-width: 68ch; margin-bottom: .8rem; color: var(--wp--preset--color--ink-soft); font-size: .94rem; }.archive-featured-card .text-link { margin-top: var(--wp--preset--spacing--xs); font-weight: 700; color: var(--wp--preset--color--ink); }.archive-post-grid .post-card h2 { font-size: 1.45rem; }.archive-empty, .archive-results__complete { margin-top: var(--wp--preset--spacing--l); padding: var(--wp--preset--spacing--m); border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--paper-deep); }
@media (max-width: 700px) { .archive-featured-hero__inner { align-items: start; flex-direction: column; }.archive-sort { width: 100%; }.archive-sort select { flex: 1; }.archive-featured-card { grid-template-columns: 1fr; }.archive-featured-card__visual { min-height: 180px; }.archive-featured-card__content { padding: var(--wp--preset--spacing--m); }.archive-filter-bar { display: grid; }.archive-facet { width: 100%; min-width: 0; }.archive-facet__options { min-width: 0; }.archive-facet__option { overflow-wrap: anywhere; } }
