/* quelle-cave : feuille de style principale, traduite des maquettes. */
:root {
	--qc-fond: #EDEFEB;
	--qc-surface: #FFFFFF;
	--qc-encre: #17201C;
	--qc-gris: #4B5651;
	--qc-ligne: #D3D8D3;
	--qc-ligne-douce: #E2E6E1;
	--qc-vin: #7A1E3A;
	--qc-vin-fonce: #561428;
	--qc-vin-clair: #F5E9ED;
	--qc-titre: 'Bricolage Grotesque', Georgia, serif;
	--qc-texte: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
	--qc-mono: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
	--qc-rayon: 12px;
	--qc-largeur: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--qc-fond); color: var(--qc-encre); font-family: var(--qc-texte); font-size: 16px; line-height: 1.55; }
img { max-width: 100%; height: auto; }
a { color: var(--qc-vin); }
a:hover { color: var(--qc-vin-fonce); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.qc-lien-evitement:focus { position: fixed; top: 8px; left: 8px; z-index: 100; background: #fff; padding: 8px 12px; }

/* Utilitaires */
.qc-wrap { max-width: var(--qc-largeur); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.qc-section { padding-top: 48px; padding-bottom: 48px; }
.qc-section--serre { padding-top: 28px; padding-bottom: 28px; }
.qc-bande { background: var(--qc-surface); border-top: 1px solid var(--qc-ligne); border-bottom: 1px solid var(--qc-ligne); }
.qc-bande--sombre { background: var(--qc-encre); color: #fff; }
.qc-bande--sombre .qc-tete-section a { color: #fff; }
.qc-muted { color: var(--qc-gris); }
.qc-small { font-size: 13px; }
.qc-strong { font-weight: 600; }
.qc-mono { font-family: var(--qc-mono); }
.qc-droite { text-align: right; }
.qc-accent { color: var(--qc-vin); font-weight: 500; }
.qc-kicker { margin: 0 0 12px; font-family: var(--qc-mono); font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: var(--qc-gris); }
.qc-h1 { margin: 0 0 14px; font-family: var(--qc-titre); font-size: clamp(34px, 5vw, 48px); line-height: 1.05; letter-spacing: -1.2px; font-weight: 700; }
.qc-h2 { margin: 0 0 16px; font-family: var(--qc-titre); font-size: clamp(24px, 3vw, 30px); letter-spacing: -0.5px; font-weight: 700; line-height: 1.15; }
.qc-h3 { margin: 0 0 12px; font-size: 17px; }
.qc-chapo { margin: 0; font-size: 18px; color: var(--qc-gris); max-width: 680px; }
.qc-tete-section { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 24px; }
.qc-tete-section .qc-h2 { margin: 0; }

/* Boutons */
.qc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 6px; font: 600 15px var(--qc-texte); text-decoration: none; cursor: pointer; border: 1.5px solid transparent; }
.qc-btn--vin { background: var(--qc-vin); color: #fff; }
.qc-btn--vin:hover { background: var(--qc-vin-fonce); color: #fff; }
.qc-btn--encre { background: var(--qc-encre); color: #fff; }
.qc-btn--encre:hover { color: #fff; opacity: .9; }
.qc-btn--contour { border-color: var(--qc-encre); color: var(--qc-encre); background: transparent; }
.qc-btn--contour-vin { border-color: var(--qc-vin); color: var(--qc-vin); background: #fff; }
.qc-btn--blanc { background: #fff; color: var(--qc-encre); }
.qc-btn--large { min-height: 52px; width: 100%; font-size: 16px; }

/* En-tête */
.qc-entete { background: var(--qc-surface); border-bottom: 1px solid var(--qc-ligne); }
.qc-entete__in { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding-top: 16px; padding-bottom: 16px; }
.qc-logo { font-family: var(--qc-titre); font-weight: 700; font-size: 24px; color: var(--qc-encre); text-decoration: none; letter-spacing: -0.5px; }
.qc-logo span { color: var(--qc-vin); }
.qc-logo:hover { color: var(--qc-encre); }
.qc-nav { flex: 1 1 auto; }
.qc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.qc-nav a { color: var(--qc-encre); text-decoration: none; font-size: 15px; font-weight: 500; }
.qc-nav a:hover, .qc-nav .current-menu-item > a, .qc-nav .current-menu-ancestor > a { color: var(--qc-vin); }

/* Fil d'Ariane */
.qc-ariane { font-size: 14px; color: var(--qc-gris); margin-bottom: 20px; }
.qc-ariane ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.qc-ariane li + li::before { content: "/"; margin-right: 4px; }

/* Accueil : hero */
.qc-hero { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; padding-top: 64px; padding-bottom: 48px; }
.qc-hero__texte { flex: 1 1 480px; min-width: 0; }
.qc-hero__titre { margin: 0 0 20px; font-family: var(--qc-titre); font-size: clamp(38px, 6vw, 56px); line-height: 1.05; letter-spacing: -1.5px; font-weight: 700; }
.qc-hero__titre span { color: var(--qc-vin); }
.qc-hero__chapo { margin: 0 0 28px; font-size: 19px; color: var(--qc-gris); max-width: 540px; }
.qc-chiffres { display: flex; flex-wrap: wrap; gap: 32px; font-family: var(--qc-mono); }
.qc-chiffres strong { display: block; font-size: 32px; font-weight: 500; }
.qc-chiffres span { font-size: 13px; color: var(--qc-gris); }

/* Outil de niche */
.qc-outil { flex: 1 1 380px; min-width: 0; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.qc-outil__titre { font-family: var(--qc-titre); font-size: 24px; font-weight: 700; }
.qc-outil fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.qc-outil legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; padding: 0; }
.qc-radio { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--qc-ligne); border-radius: 6px; font-size: 14px; cursor: pointer; }
.qc-radio:has(input:checked) { background: var(--qc-encre); border-color: var(--qc-encre); color: #fff; }
.qc-radio input { accent-color: var(--qc-vin); }
.qc-outil__dims { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.qc-champ { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.qc-champ input, .qc-champ select, .qc-select { min-height: 44px; border: 1.5px solid var(--qc-ligne); border-radius: 6px; padding: 0 12px; font: 500 16px var(--qc-texte); color: var(--qc-encre); background: #fff; width: 100%; }
.qc-champ input { font-family: var(--qc-mono); font-size: 18px; }

/* Grilles de tuiles */
.qc-tuiles { display: flex; flex-wrap: wrap; gap: 12px; }
.qc-tuile { flex: 1 1 150px; display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border: 1px solid var(--qc-ligne); border-radius: 10px; text-decoration: none; color: var(--qc-encre); background: var(--qc-fond); }
.qc-tuile:hover { border-color: var(--qc-encre); color: var(--qc-encre); }
.qc-tuile strong { font-family: var(--qc-mono); font-size: 26px; font-weight: 500; }
.qc-tuile span { font-size: 13px; color: var(--qc-gris); }
.qc-hub { margin: 24px 0 32px; max-width: none; }
.qc-hub .qc-tuile { flex: 1 1 200px; background: var(--qc-surface); }
.qc-hub--marque .qc-tuile strong, .qc-hub--pose .qc-tuile strong, .qc-hub--usage .qc-tuile strong { font-family: var(--qc-titre); font-size: 22px; font-weight: 700; }
.qc-situations { display: flex; flex-wrap: wrap; gap: 16px; }
.qc-situation { flex: 1 1 260px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 22px; text-decoration: none; color: var(--qc-encre); display: flex; flex-direction: column; gap: 6px; }
.qc-situation:hover { border-color: var(--qc-encre); color: var(--qc-encre); }
.qc-situation strong { font-size: 18px; }
.qc-situation span { font-size: 14px; color: var(--qc-gris); }
.qc-situation em { font-style: normal; font-family: var(--qc-mono); font-size: 13px; color: var(--qc-vin); }

/* Cartes produits */
.qc-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.qc-carte { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; display: flex; flex-direction: column; color: var(--qc-encre); }
.qc-carte[hidden] { display: none; }
.qc-carte__visuel { position: relative; height: 170px; background: var(--qc-ligne-douce); display: flex; align-items: center; justify-content: center; }
.qc-carte__visuel img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.qc-carte__pose { position: absolute; top: 12px; left: 12px; background: #fff; border: 1px solid var(--qc-ligne); border-radius: 4px; padding: 2px 8px; font-size: 12px; }
.qc-note { font-family: var(--qc-mono); font-weight: 500; background: var(--qc-vin-clair); color: var(--qc-vin); border-radius: 4px; padding: 2px 8px; font-size: 13px; }
.qc-carte__visuel .qc-note { position: absolute; top: 12px; right: 12px; }
.qc-carte__corps { padding: 18px; display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; }
.qc-carte .qc-carte__nom { font-weight: 600; font-size: 17px; color: var(--qc-encre); text-decoration: none; }
.qc-carte .qc-carte__nom:hover { color: var(--qc-vin); }
.qc-specs { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; font-size: 13px; }
.qc-specs dt { color: var(--qc-gris); }
.qc-specs dd { margin: 0; font-family: var(--qc-mono); }
.qc-carte__pied { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--qc-ligne-douce); }
.qc-carte__prix { font-family: var(--qc-mono); font-size: 18px; font-weight: 500; }
.qc-carte__marchand { font-size: 12px; color: var(--qc-gris); }
.qc-cartes-sombres .qc-carte { border: 0; }

/* Listing */
.qc-listing__tete { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-end; }
.qc-listing__tete > div { flex: 2 1 520px; min-width: 0; }
.qc-listing__maj { flex: 1 1 260px; margin: 0; font-size: 13px; color: var(--qc-gris); font-family: var(--qc-mono); }
.qc-statband { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--qc-ligne); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; }
.qc-statband > div { background: var(--qc-surface); padding: 20px; }
.qc-statband strong { display: block; font-family: var(--qc-mono); font-size: 30px; font-weight: 500; }
.qc-statband span { font-size: 14px; color: var(--qc-gris); }
.qc-filtres { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 16px; }
.qc-filtres__tri { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.qc-filtres__tri .qc-select { width: auto; font-size: 15px; }
.qc-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.qc-filtres .qc-chips { margin: 0; }
.qc-chip { min-height: 44px; padding: 0 16px; border-radius: 999px; font: 500 15px var(--qc-texte); cursor: pointer; background: #fff; color: var(--qc-encre); border: 1.5px solid var(--qc-ligne); }
.qc-chip span { font-family: var(--qc-mono); font-size: 13px; opacity: .8; }
.qc-chip.is-on { background: var(--qc-encre); border-color: var(--qc-encre); color: #fff; }
.qc-chip.is-wine { background: var(--qc-vin); border-color: var(--qc-vin); }
.qc-plus { display: flex; justify-content: center; margin-top: 24px; }
.qc-deux-col { display: flex; flex-wrap: wrap; gap: 40px; }
.qc-deux-col > * { flex: 1 1 420px; min-width: 0; }
.qc-voisines { display: flex; flex-direction: column; gap: 10px; }
.qc-voisines a { display: flex; justify-content: space-between; padding: 14px 16px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: 8px; text-decoration: none; color: var(--qc-encre); }
.qc-voisines a:hover { border-color: var(--qc-encre); }
.qc-voisines span { font-family: var(--qc-mono); color: var(--qc-gris); }

/* Tableaux */
.qc-table-wrap { overflow-x: auto; }
.qc-table { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); }
.qc-table th, .qc-table td { padding: 10px 14px; text-align: left; }
.qc-table thead tr { border-bottom: 2px solid var(--qc-encre); }
.qc-table tbody tr { border-bottom: 1px solid var(--qc-ligne-douce); }
.qc-table tbody tr:last-child { border-bottom: 0; }
.qc-table tbody th { font-weight: 500; color: var(--qc-gris); width: 48%; }
.qc-table .is-courant { background: var(--qc-vin-clair); font-weight: 600; }
.qc-table--nu { border: 0; background: transparent; }
.qc-table--nu td { padding: 8px 0; }

/* Fiche */
.qc-fiche__haut { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.qc-fiche__galerie { flex: 1 1 440px; min-width: 0; }
.qc-fiche__visuel { min-height: 380px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); display: flex; align-items: center; justify-content: center; padding: 24px; }
.qc-fiche__infos { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.qc-score { display: flex; gap: 20px; align-items: center; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 18px; }
.qc-score__global { text-align: center; min-width: 96px; }
.qc-score__global strong { display: block; font-family: var(--qc-mono); font-size: 40px; font-weight: 500; color: var(--qc-vin); line-height: 1; }
.qc-score__detail { flex: 1 1 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; font-size: 14px; }
.qc-score__detail div { display: flex; justify-content: space-between; }
.qc-badges { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; margin: 0; padding: 0; list-style: none; }
.qc-badges li { padding: 4px 10px; border-radius: 999px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); }
.qc-offres { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; }
.qc-offre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--qc-ligne-douce); }
.qc-offre:last-child { border-bottom: 0; }
.qc-offre__droite { display: flex; align-items: center; gap: 14px; }
.qc-offre__prix { font-family: var(--qc-mono); font-size: 20px; font-weight: 500; }
.qc-points { display: flex; flex-wrap: wrap; gap: 20px; }
.qc-points > div { flex: 1 1 240px; }
.qc-points ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.qc-figure { margin: 0; background: var(--qc-fond); border-radius: var(--qc-rayon); padding: 24px; }
.qc-figure figcaption { font-weight: 600; margin-bottom: 12px; }
.qc-schema { width: 100%; height: auto; display: block; }
.qc-mini { max-height: 140px; }

/* Contenu éditorial (éditeur WordPress) */
.qc-prose { font-size: 17px; }
.qc-prose > p, .qc-prose > ul, .qc-prose > ol, .qc-prose > h2, .qc-prose > h3, .qc-prose > details, .qc-prose > blockquote { max-width: 760px; }
.qc-prose .qc-h2 { margin-top: 0; }
.qc-prose .qc-temp + .qc-table-wrap { margin-bottom: 24px; }
.qc-grille-prix > p, .qc-grille-prix br, .qc-carte-prix > p:empty { display: none; }
.qc-prose h2 { font-family: var(--qc-titre); font-size: 28px; letter-spacing: -0.5px; margin: 40px 0 14px; line-height: 1.15; }
.qc-prose h3 { font-size: 20px; margin: 28px 0 10px; }
.qc-prose p, .qc-prose ul, .qc-prose ol { margin: 0 0 16px; }
.qc-prose details { border-top: 1px solid var(--qc-ligne); padding: 16px 0; }
.qc-prose details:last-of-type { border-bottom: 1px solid var(--qc-ligne); }
.qc-prose summary { font-weight: 600; font-size: 17px; cursor: pointer; }
.qc-pleine { max-width: none; }

/* Panneaux de données (shortcodes) */
.qc-panel, .qc-temp { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 28px; margin: 24px 0; }
.qc-panel__tete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; }
.qc-panel__tete .qc-h2 { margin: 0; }
.qc-toggle { display: flex; gap: 8px; }
.qc-toggle__btn { min-height: 44px; padding: 0 14px; border-radius: 6px; font: 500 14px var(--qc-texte); cursor: pointer; background: #fff; color: var(--qc-encre); border: 1.5px solid var(--qc-ligne); }
.qc-toggle__btn.is-on { background: var(--qc-encre); border-color: var(--qc-encre); color: #fff; }
.qc-barres { display: flex; align-items: flex-end; gap: 10px; min-width: 720px; height: 330px; padding-top: 16px; }
.qc-barre { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.qc-barre__valeur { font-family: var(--qc-mono); font-size: 12px; font-weight: 500; white-space: nowrap; }
.qc-barre__fut { width: 100%; max-width: 56px; border-radius: 4px 4px 0 0; background: var(--qc-vin); transition: height .25s; }
.qc-barre.is-faible .qc-barre__fut { background: #B9C1BC; }
.qc-barre__label { font-family: var(--qc-mono); font-size: 13px; border-top: 2px solid var(--qc-encre); width: 100%; text-align: center; padding-top: 6px; }
.qc-barre__n { font-size: 11px; color: var(--qc-gris); }
.qc-grille-prix { display: flex; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.qc-carte-prix { flex: 1 1 280px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 22px; }
.qc-marques { display: flex; flex-direction: column; gap: 10px; margin: 16px 0 10px; }
.qc-marques__ligne { display: flex; align-items: center; gap: 12px; }
.qc-marques__nom { width: 120px; flex: none; color: var(--qc-encre); font-weight: 500; }
.qc-marques__piste { flex: 1 1 auto; height: 22px; background: var(--qc-fond); border-radius: 4px; overflow: hidden; }
.qc-marques__piste span { display: block; height: 100%; background: var(--qc-encre); }
.qc-marques__prix { width: 80px; flex: none; text-align: right; font-size: 14px; }

/* Podium */
.qc-podium { margin: 24px 0 40px; max-width: none; }
.qc-podium__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-bottom: 12px; }
.qc-podium__carte { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; display: flex; flex-direction: column; }
.qc-podium__visuel { height: 150px; background: var(--qc-ligne-douce); display: flex; align-items: center; justify-content: center; }
.qc-podium__visuel img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.qc-podium__corps { padding: 18px; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.qc-podium__corps .qc-btn { margin-top: auto; align-self: flex-start; }
.qc-podium__critere { margin: 0; font-family: var(--qc-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--qc-vin); }
.qc-podium .qc-podium__nom { font-weight: 600; font-size: 17px; color: var(--qc-encre); text-decoration: none; }
.qc-podium .qc-podium__nom:hover { color: var(--qc-vin); }
.qc-podium__valeur { margin: 4px 0 0; font-family: var(--qc-mono); font-size: 26px; font-weight: 500; line-height: 1.2; }
.qc-podium__valeur span { display: block; font-family: var(--qc-texte); font-size: 13px; font-weight: 500; color: var(--qc-encre); }
.qc-podium__ecart, .qc-podium__infos { margin: 0; font-size: 13px; color: var(--qc-gris); }
.qc-podium__infos { margin-bottom: 8px; }

/* Guide des températures */
.qc-thermo { position: relative; height: 92px; margin: 0 8px 8px; }
.qc-thermo__piste { position: absolute; left: 0; right: 0; top: 40px; height: 12px; border-radius: 999px; background: var(--qc-ligne); }
.qc-thermo__bande { position: absolute; top: 4px; height: 26px; background: var(--qc-vin); border-radius: 4px; transition: left .25s, width .25s; }
.qc-thermo__repere { position: absolute; top: 34px; width: 2px; height: 22px; margin-left: -1px; background: #8A948F; }
.qc-thermo__repere.is-on { background: var(--qc-vin); }
.qc-thermo__grad { position: absolute; top: 64px; transform: translateX(-50%); font-family: var(--qc-mono); font-size: 12px; color: var(--qc-gris); white-space: nowrap; }
.qc-thermo__grad--debut { transform: none; }
.qc-thermo__grad--fin { transform: translateX(-100%); }
.qc-temp__resultat { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
.qc-temp__service { flex: 1 1 260px; background: var(--qc-vin-clair); border-radius: 10px; padding: 20px; }
.qc-temp__titre { font-size: 14px; color: var(--qc-vin-fonce); font-weight: 600; }
.qc-temp__valeur { white-space: nowrap; font-family: var(--qc-mono); font-size: clamp(30px, 4vw, 40px); font-weight: 500; color: var(--qc-vin); }
.qc-temp__reglages { flex: 2 1 420px; border: 1px solid var(--qc-ligne); border-radius: 10px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.qc-temp__ligne { display: flex; gap: 12px; font-size: 15px; }
.qc-temp__ligne .qc-mono { min-width: 130px; flex: none; }
.qc-repere { flex: 1 1 340px; border-radius: var(--qc-rayon); padding: 24px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); }
.qc-repere--sombre { background: var(--qc-encre); color: #fff; border: 0; }
.qc-repere strong { display: block; font-family: var(--qc-mono); font-size: 44px; font-weight: 500; margin: 6px 0; }

/* Méthode */
.qc-criteres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.qc-critere { border: 1px solid var(--qc-ligne); border-radius: 10px; padding: 20px; }
.qc-critere em { font-style: normal; font-family: var(--qc-mono); color: var(--qc-vin); font-size: 13px; }
.qc-critere strong { display: block; font-size: 18px; margin: 4px 0; }
.qc-critere p { margin: 0; font-size: 14px; color: var(--qc-gris); }
.qc-auteur { display: flex; gap: 14px; align-items: center; }
.qc-auteur img { border-radius: 50%; }
.qc-guides { display: flex; flex-wrap: wrap; border-top: 1px solid var(--qc-ligne); }
.qc-guides a { flex: 1 1 360px; display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--qc-ligne); text-decoration: none; color: var(--qc-encre); font-weight: 600; font-size: 18px; }
.qc-guides a span { font-family: var(--qc-mono); color: var(--qc-vin); font-weight: 400; }

/* Page Guides */
.qc-guides__intro p { margin: 0 0 12px; }
.qc-outils { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.qc-outil-carte { display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--qc-encre); color: #fff; border-radius: var(--qc-rayon); text-decoration: none; }
.qc-outil-carte:hover { color: #fff; background: #222D28; }
.qc-outil-carte strong { font-family: var(--qc-titre); font-size: 22px; line-height: 1.15; }
.qc-outil-carte span:last-child { color: #C9D0CB; font-size: 15px; }
.qc-outil-carte__tag { align-self: flex-start; font-family: var(--qc-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: #E7A9BC; }
.qc-chip--lien { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.qc-chip--lien:hover { border-color: var(--qc-encre); color: var(--qc-encre); }
.qc-articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.qc-article-carte { display: flex; flex-direction: column; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; text-decoration: none; color: var(--qc-encre); }
.qc-article-carte:hover { border-color: var(--qc-encre); color: var(--qc-encre); }
.qc-article-carte__img img { display: block; width: 100%; height: 170px; object-fit: cover; }
.qc-article-carte__corps { display: flex; flex-direction: column; gap: 8px; padding: 20px; flex: 1 1 auto; }
.qc-article-carte strong { font-size: 18px; line-height: 1.3; }
.qc-article-carte__extrait { font-size: 15px; color: var(--qc-gris); }
.qc-article-carte__meta { margin-top: auto; font-family: var(--qc-mono); font-size: 12px; color: var(--qc-gris); }

/* Pied de page */
.qc-pied { background: var(--qc-encre); color: #C9D0CB; font-size: 14px; }
.qc-pied__in { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; padding-top: 40px; padding-bottom: 40px; }
.qc-pied__in > div:first-child { flex: 1 1 320px; }
.qc-pied .qc-logo { color: #fff; font-size: 22px; }
.qc-pied .qc-logo span { color: #E7A9BC; }
.qc-pied ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 20px; }
.qc-pied a { color: #fff; }

@media (max-width: 640px) {
	.qc-hero { padding-top: 36px; gap: 32px; }
	.qc-outil { padding: 20px; }
	.qc-criteres { grid-template-columns: minmax(0, 1fr); }
	.qc-filtres__tri { margin-left: 0; }
	.qc-score { flex-direction: column; align-items: stretch; }
	.qc-entete__in { gap: 12px 16px; }
	.qc-nav { order: 3; flex-basis: 100%; }
	.qc-nav ul { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
	.qc-nav li { white-space: nowrap; }
	.qc-entete .qc-btn { margin-left: auto; }
}

/* Menu responsive (burger sous 1180 px) */
/* Bureau : logo et bouton sur une ligne, menu complet sur une seconde ligne sans retour */
@media (min-width: 1181px) {
	.qc-entete__in { flex-wrap: wrap; row-gap: 10px; padding-bottom: 12px; }
	.qc-logo { margin-right: auto; }
	.qc-entete .qc-btn--contour { order: 2; }
	.qc-nav { order: 3; flex: 1 1 100%; border-top: 1px solid var(--qc-ligne-douce); padding-top: 10px; }
	.qc-nav ul { flex-wrap: nowrap; justify-content: space-between; gap: 0 16px; }
	.qc-nav li { white-space: nowrap; }
	.qc-nav a { font-size: 14px; }
}

.qc-burger { display: none; }
@media (max-width: 1180px) {
	.qc-entete { position: relative; }
	.qc-entete__in { flex-wrap: nowrap; gap: 12px; }
	.qc-logo { margin-right: auto; }
	.qc-burger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--qc-encre); border-radius: 6px; background: transparent; color: var(--qc-encre); font: 600 15px var(--qc-texte); cursor: pointer; }
	.qc-burger__icone, .qc-burger__icone::before, .qc-burger__icone::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; position: relative; transition: transform .2s ease, background-color .2s ease; }
	.qc-burger__icone::before, .qc-burger__icone::after { content: ""; position: absolute; left: 0; }
	.qc-burger__icone::before { top: -6px; }
	.qc-burger__icone::after { top: 6px; }
	.qc-burger[aria-expanded="true"] .qc-burger__icone { background: transparent; }
	.qc-burger[aria-expanded="true"] .qc-burger__icone::before { transform: translateY(6px) rotate(45deg); }
	.qc-burger[aria-expanded="true"] .qc-burger__icone::after { transform: translateY(-6px) rotate(-45deg); }
	.qc-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 50; background: var(--qc-surface); border-bottom: 1px solid var(--qc-ligne); box-shadow: 0 12px 24px rgba(23, 32, 28, .08); order: initial; flex-basis: auto; }
	.qc-entete.is-ouvert .qc-nav { display: block; }
	.qc-nav ul, .qc-nav .menu { flex-direction: column; flex-wrap: nowrap; gap: 0; max-width: var(--qc-largeur); margin: 0 auto; padding: 8px 24px 16px; overflow: visible; }
	.qc-nav li { white-space: normal; border-bottom: 1px solid var(--qc-ligne-douce); }
	.qc-nav li:last-child { border-bottom: 0; }
	.qc-nav a { display: block; padding: 14px 0; font-size: 16px; }
	.qc-entete .qc-btn--contour { margin-left: 0; }
}
@media (max-width: 420px) {
	.qc-entete .qc-btn--contour { padding: 0 12px; }
	.qc-burger__texte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
	.qc-burger { padding: 0 12px; }
	.qc-logo { font-size: 21px; }
}

/* Titres ajoutés pour la structure Hn */
.qc-carte__titre { margin: 0; font-size: inherit; font-weight: inherit; line-height: 1.3; }
h2.qc-outil__titre { margin: 0 0 16px; line-height: 1.2; }
.qc-offres__titre { margin: 4px 0 10px; font-family: var(--qc-mono); font-size: 13px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: var(--qc-gris); }

/* ==================================================================
   Visuels éditoriaux : critères, usages, installations
   ================================================================== */
.qc-icone { flex: none; color: var(--qc-vin); }
.qc-criteres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 32px; }
.qc-crit { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 12px; }
.qc-crit--large { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); grid-template-areas: "tete visuel" "texte visuel"; column-gap: 32px; row-gap: 10px; grid-template-rows: min-content 1fr; align-items: start; }
.qc-crit--large .qc-crit__tete { grid-area: tete; }
.qc-crit--large > p { grid-area: texte; }
.qc-crit--large > .qc-crit__visuel, .qc-crit--large > .qc-v-plage { grid-area: visuel; align-self: center; }
.qc-crit__tete { display: flex; align-items: center; gap: 12px; }
.qc-crit__tete .qc-icone { width: 44px; height: 44px; padding: 9px; border-radius: 10px; background: var(--qc-vin-clair); }
.qc-prose .qc-crit__titre, .qc-crit__titre { margin: 0; font-family: var(--qc-titre); font-size: 20px; line-height: 1.2; letter-spacing: -0.2px; }
.qc-crit > p, .qc-prose .qc-crit > p { margin: 0; color: var(--qc-gris); font-size: 15.5px; }
.qc-crit__visuel { margin: 0; }
.qc-crit__visuel svg { display: block; width: 100%; height: auto; }
.qc-crit__visuel figcaption { margin-top: 8px; font-size: 13px; color: var(--qc-gris); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.qc-crit__chiffre { display: flex; align-items: baseline; gap: 10px; margin-top: auto; }
.qc-crit__chiffre strong { font-family: var(--qc-mono); font-size: 34px; font-weight: 500; color: var(--qc-vin); line-height: 1; }
.qc-crit__chiffre span { font-size: 14px; color: var(--qc-gris); }

/* Éléments de graphique */
.qc-v-grille line { stroke: var(--qc-ligne-douce); stroke-width: 1; }
.qc-v-axe, .qc-v-axe text { font: 9px var(--qc-mono); fill: var(--qc-gris); }
.qc-crit__visuel svg { max-height: 190px; }
.qc-v-stable { stroke: var(--qc-vin); stroke-width: 3; stroke-linecap: round; }
.qc-v-instable { fill: none; stroke: #A9B1AC; stroke-width: 2; stroke-dasharray: 5 4; }
.qc-v-barre { fill: #C9CFCA; }
.qc-v-barre--on { fill: var(--qc-vin); }
.qc-v-puce { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-left: 6px; }
.qc-v-puce:first-child { margin-left: 0; }
.qc-v-puce--vin { background: var(--qc-vin); }
.qc-v-puce--gris { background: #C9CFCA; }
.qc-v-puce--rose { background: #D9A3B4; }
.qc-v-puce--encre { background: var(--qc-encre); }
.qc-v-jauge { height: 10px; border-radius: 99px; background: var(--qc-ligne-douce); overflow: hidden; }
.qc-v-jauge span { display: block; height: 100%; background: var(--qc-vin); border-radius: 99px; }

.qc-v-echelle { margin-top: auto; padding-top: 6px; }
.qc-v-echelle__piste { position: relative; height: 12px; border-radius: 99px; background: linear-gradient(90deg, #E8D8C4, #E2E6E1 45%, #D3DCE6); }
.qc-v-echelle__zone { position: absolute; top: -3px; bottom: -3px; background: var(--qc-vin); border-radius: 4px; }
.qc-v-echelle__labels { position: relative; height: 18px; margin-top: 6px; font: 11px var(--qc-mono); color: var(--qc-gris); }
.qc-v-echelle__labels span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.qc-v-echelle__labels span:first-child { transform: none; }
.qc-v-echelle__labels span:last-child { transform: translateX(-100%); }
.qc-v-echelle__legende { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; color: var(--qc-gris); }

.qc-v-duel { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; }
.qc-v-duel > div { border: 1px solid var(--qc-ligne); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.qc-v-duel strong { font-size: 15px; }
.qc-v-duel span { font-size: 13px; color: var(--qc-gris); line-height: 1.35; }
.qc-v-duel em { font-style: normal; font: 500 13px var(--qc-mono); color: var(--qc-vin); margin-top: 2px; }
.qc-v-duel > div:first-child { background: var(--qc-vin-clair); border-color: transparent; }

.qc-v-empile { display: flex; height: 14px; border-radius: 99px; overflow: hidden; margin-top: auto; background: var(--qc-ligne-douce); }
.qc-v-empile span { display: block; height: 100%; }
.qc-v-empile__a { background: var(--qc-vin); }
.qc-v-empile__b { background: #D9A3B4; }
.qc-v-empile__c { background: var(--qc-encre); }
.qc-v-legende, .qc-prose .qc-v-legende { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: var(--qc-gris); }
.qc-prose .qc-v-legende li { margin: 0; }
.qc-v-legende b { font-family: var(--qc-mono); font-weight: 500; color: var(--qc-encre); margin-left: 4px; }
.qc-v-legende .qc-v-puce { margin: 0 8px 0 0; }

.qc-v-plage { position: relative; padding: 18px 8px 54px; }
.qc-v-plage__piste { height: 10px; border-radius: 99px; background: linear-gradient(90deg, #7FA38C, #E3C77A 55%, var(--qc-vin)); }
.qc-v-plage__point { position: absolute; top: 13px; width: 20px; height: 20px; margin-left: -10px; border-radius: 50%; background: #fff; border: 3px solid var(--qc-encre); }
.qc-v-plage__point--min { margin-left: -2px; }
.qc-v-plage__point--max { margin-left: -18px; }
.qc-v-plage__labels { position: absolute; left: 8px; right: 8px; top: 42px; height: 40px; font-size: 12.5px; color: var(--qc-gris); }
.qc-v-plage__labels span { position: absolute; transform: translateX(-50%); text-align: center; white-space: nowrap; line-height: 1.3; }
.qc-v-plage__labels span:first-child { transform: none; text-align: left; }
.qc-v-plage__labels span:last-child { transform: translateX(-100%); text-align: right; }
.qc-v-plage__labels b { display: block; font: 500 14px var(--qc-mono); color: var(--qc-encre); }

/* Cartes illustrées : usages et installations */
.qc-cartes-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 32px; }
.qc-carte-guide { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; display: flex; flex-direction: column; }
.qc-carte-guide__visuel { background: var(--qc-fond); border-bottom: 1px solid var(--qc-ligne); display: flex; align-items: center; justify-content: center; padding: 20px 16px 14px; min-height: 180px; }
.qc-carte-guide__visuel svg { width: auto; height: 150px; max-width: 100%; }
.qc-carte-guide__corps { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.qc-prose .qc-carte-guide__titre, .qc-carte-guide__titre { margin: 0; font-family: var(--qc-titre); font-size: 20px; line-height: 1.2; }
.qc-carte-guide__corps > p, .qc-prose .qc-carte-guide__corps > p { margin: 0; color: var(--qc-gris); font-size: 15px; }
.qc-carte-guide__chiffres { display: flex; gap: 24px; margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--qc-ligne-douce); }
.qc-carte-guide__chiffres div { display: flex; flex-direction: column; }
.qc-carte-guide__chiffres dt { font-size: 12px; color: var(--qc-gris); text-transform: uppercase; letter-spacing: .6px; }
.qc-carte-guide__chiffres dd { margin: 0; font: 500 18px var(--qc-mono); color: var(--qc-encre); }
.qc-lien-fleche { font-weight: 600; text-decoration: none; }
.qc-lien-fleche::after { content: " →"; }

.qc-v-cave__corps { fill: var(--qc-encre); }
.qc-v-cave__zone { fill: #2B3631; }
.qc-v-cave__zone--frais { fill: #3E6C8A; }
.qc-v-cave__zone--garde { fill: #5B3A46; }
.qc-v-cave__zone--chambre { fill: var(--qc-vin); }
.qc-v-cave__clayette { stroke: rgba(255,255,255,.22); stroke-width: 1.5; }
.qc-v-cave__temp { font: 600 12px var(--qc-mono); fill: #fff; }

.qc-v-pose__sol { stroke: var(--qc-ligne); stroke-width: 2; }
.qc-v-pose__cave { fill: var(--qc-encre); }
.qc-v-pose__cave--fantome { fill: none; stroke: var(--qc-vin); stroke-width: 1.5; stroke-dasharray: 4 3; }
.qc-v-pose__vitre { fill: #34413B; stroke: var(--qc-vin); stroke-width: 1.5; }
.qc-v-pose__meuble { fill: #FFFFFF; stroke: var(--qc-ligne); stroke-width: 1.5; }
.qc-v-pose__plan { fill: #C8B9A6; }
.qc-v-pose__porte { fill: #F6F7F5; stroke: #B9C0BB; stroke-width: 1.5; }
.qc-v-pose__poignee { fill: #9AA39E; }
.qc-v-pose__joint { stroke: var(--qc-ligne); }
.qc-v-pose__air { fill: none; stroke: var(--qc-vin); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.qc-v-pose__cote { fill: none; stroke: var(--qc-gris); stroke-width: 1.2; }
.qc-v-pose__txt { font: 11px var(--qc-mono); fill: var(--qc-gris); }

@media (max-width: 900px) {
	.qc-cartes-guide { grid-template-columns: minmax(0, 1fr); }
	.qc-carte-guide { flex-direction: row; }
	.qc-carte-guide__visuel { flex: 0 0 160px; border-bottom: 0; border-right: 1px solid var(--qc-ligne); min-height: 0; }
	.qc-carte-guide__visuel svg { height: 120px; }
}
@media (max-width: 760px) {
	.qc-criteres { grid-template-columns: minmax(0, 1fr); }
	.qc-crit--large { display: flex; }
}
@media (max-width: 560px) {
	.qc-carte-guide { flex-direction: column; }
	.qc-carte-guide__visuel { flex-basis: auto; border-right: 0; border-bottom: 1px solid var(--qc-ligne); }
	.qc-v-duel { grid-template-columns: 1fr; }
}

/* ==================================================================
   Visuels éditoriaux, lot 2 : capacité, encastrables, vieillissement, marques
   ================================================================== */
.qc-prose > .qc-panel { max-width: none; }
.qc-gabarits__titre, .qc-prose .qc-calcul__titre, .qc-calcul__titre { margin: 0 0 6px; font-family: var(--qc-titre); font-size: 20px; font-weight: 700; line-height: 1.2; }
.qc-gabarits svg { display: block; width: 100%; height: auto; margin-top: 12px; }
.qc-gabarits__plan { stroke: var(--qc-vin); stroke-width: 1.2; stroke-dasharray: 5 4; }
.qc-gabarits__label { font: 600 11px var(--qc-mono); fill: var(--qc-encre); }

.qc-calcul__champs { display: flex; flex-wrap: wrap; gap: 16px; margin: 14px 0; }
.qc-calcul__champs label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; flex: 1 1 220px; }
.qc-calcul__champs input, .qc-calcul__champs select { min-height: 44px; padding: 0 12px; border: 1.5px solid var(--qc-ligne); border-radius: 6px; font: 500 16px var(--qc-texte); background: #fff; color: var(--qc-encre); }
.qc-calcul__resultat { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; border-radius: 10px; background: var(--qc-vin-clair); }
.qc-calcul__resultat > div { display: flex; flex-direction: column; }
.qc-calcul__resultat strong { font: 500 30px var(--qc-mono); color: var(--qc-vin); line-height: 1.15; }

.qc-bouteilles__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.qc-bouteilles figure { margin: 0; text-align: center; background: var(--qc-fond); border-radius: 10px; padding: 14px 10px; }
.qc-bouteilles svg { width: 100%; max-width: 120px; height: auto; }
.qc-bouteilles figcaption { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--qc-gris); }
.qc-bouteilles figcaption strong { font-size: 15px; color: var(--qc-encre); }
.qc-bouteilles figcaption .qc-mono { color: var(--qc-vin); }
.qc-btl { stroke-width: 1.5; }
.qc-btl__capsule { fill: #C8B9A6; }
.qc-btl--vin { fill: var(--qc-vin); stroke: var(--qc-vin-fonce); }
.qc-btl--rose { fill: #9C5B70; stroke: #6E3A4C; }
.qc-btl--encre { fill: #2E4A3A; stroke: #1E3328; }

.qc-niche__grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 28px; align-items: center; margin-top: 12px; }
.qc-niche svg { width: 100%; height: auto; }
.qc-niche__vide { fill: #E9ECE8; }
.qc-niche__grille-air { fill: none; stroke: #7E8A84; stroke-width: 1.2; stroke-dasharray: 2 2; }
.qc-niche__cote { fill: none; stroke: var(--qc-vin); stroke-width: 1.5; }
.qc-niche__txt { font: 600 11px var(--qc-mono); fill: var(--qc-vin); }
.qc-niche__etapes, .qc-prose .qc-niche__etapes { margin: 0; padding: 0; list-style: none; counter-reset: qcn; display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--qc-gris); max-width: none; }
.qc-niche__etapes li { counter-increment: qcn; position: relative; padding-left: 40px; margin: 0; }
.qc-niche__etapes li::before { content: counter(qcn); position: absolute; left: 0; top: -2px; width: 28px; height: 28px; border-radius: 50%; background: var(--qc-vin); color: #fff; font: 600 14px/28px var(--qc-mono); text-align: center; }
.qc-niche__etapes strong { color: var(--qc-encre); }

.qc-criteres--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.qc-usages-comp__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 14px; }
.qc-usages-comp__grille > div { display: flex; flex-direction: column; gap: 8px; }
.qc-hbar { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 13px; }
.qc-hbar__nom { color: var(--qc-gris); }
.qc-hbar__piste { height: 10px; background: var(--qc-ligne-douce); border-radius: 99px; overflow: hidden; }
.qc-hbar__val { display: block; height: 100%; border-radius: 99px; background: var(--qc-vin); }
.qc-hbar__val--service { background: #3E6C8A; }
.qc-hbar__val--polyvalente { background: #9C5B70; }
.qc-hbar__chiffre { font: 500 13px var(--qc-mono); color: var(--qc-encre); min-width: 56px; text-align: right; }

.qc-marques { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin: 24px 0 12px; }
.qc-marque { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.qc-marque__tete { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.qc-prose .qc-marque__nom, .qc-marque__nom { margin: 0; font-family: var(--qc-titre); font-size: 22px; line-height: 1.15; }
.qc-marque__n { font: 500 13px var(--qc-mono); color: var(--qc-vin); white-space: nowrap; }
.qc-marque__profil, .qc-prose .qc-marque__profil { margin: 0; font-size: 14.5px; color: var(--qc-gris); }
.qc-marque .qc-carte-guide__chiffres { margin-top: 0; gap: 18px; }
.qc-marque__gamme { margin-top: 2px; }
.qc-marque__piste { position: relative; height: 8px; border-radius: 99px; background: var(--qc-ligne-douce); }
.qc-marque__plage { position: absolute; top: 0; bottom: 0; background: #D9A3B4; border-radius: 99px; }
.qc-marque__med { position: absolute; top: -4px; width: 3px; height: 16px; margin-left: -1.5px; background: var(--qc-vin); border-radius: 2px; }
.qc-marque__bornes { display: flex; justify-content: space-between; margin-top: 6px; font: 12px var(--qc-mono); color: var(--qc-gris); }
.qc-marque .qc-lien-fleche { margin-top: auto; }
.qc-marques__autres { max-width: 760px; }

/* Blocs éditoriaux écrits dans le contenu */
.qc-encadre { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-left: 4px solid var(--qc-vin); border-radius: 8px; padding: 18px 22px; margin: 24px 0; max-width: 760px; }
.qc-encadre p:last-child { margin-bottom: 0; }
.qc-encadre__titre { display: block; font: 600 12px var(--qc-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--qc-vin); margin-bottom: 6px; }
.qc-prose .qc-table-wrap { margin: 20px 0 28px; }

@media (max-width: 900px) {
	.qc-criteres--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qc-usages-comp__grille { grid-template-columns: minmax(0, 1fr); }
	.qc-niche__grille { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.qc-criteres--3 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.qc-bouteilles__grille { grid-template-columns: minmax(0, 1fr); }
	.qc-bouteilles figure { display: grid; grid-template-columns: 80px 1fr; text-align: left; align-items: center; gap: 12px; }
}

/* ==================================================================
   Articles de blog : en-tête, sommaire collant, blocs caves, schémas
   ================================================================== */
.qc-article-tete { background: var(--qc-surface); border-bottom: 1px solid var(--qc-ligne); padding: 28px 0 32px; }
.qc-article-tete .qc-h1 { max-width: 880px; }
.qc-article-tete .qc-chapo { max-width: 760px; }
.qc-article-tete__cat { color: var(--qc-vin); margin-top: 18px; }
.qc-article-tete__meta { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font: 13px var(--qc-mono); color: var(--qc-gris); }
.qc-article-tete__meta li { position: relative; }
.qc-article-tete__meta li + li::before { content: ""; position: absolute; left: -12px; top: 50%; width: 3px; height: 3px; margin-top: -1.5px; border-radius: 50%; background: var(--qc-gris); }

.qc-article { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 56px; padding-top: 40px; padding-bottom: 32px; align-items: start; }
.qc-article--sans-sommaire { grid-template-columns: minmax(0, 1fr); }
.qc-article__aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; max-height: calc(100vh - 48px); overflow-y: auto; }
.qc-article__corps { min-width: 0; }
.qc-article__corps > h2:first-child { margin-top: 0; }
.qc-prose h2[id] { scroll-margin-top: 24px; }

.qc-sommaire { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); padding: 18px 18px 14px; }
.qc-sommaire__titre { list-style: none; font: 600 12px var(--qc-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--qc-gris); cursor: pointer; }
.qc-sommaire__titre::-webkit-details-marker { display: none; }
.qc-sommaire__liste { list-style: none; counter-reset: qcs; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.qc-sommaire__liste li { counter-increment: qcs; margin: 0; }
.qc-sommaire__liste a { display: grid; grid-template-columns: 22px 1fr; gap: 4px; padding: 7px 8px 7px 6px; border-left: 2px solid transparent; border-radius: 0 6px 6px 0; font-size: 14px; line-height: 1.35; color: var(--qc-gris); text-decoration: none; }
.qc-sommaire__liste a::before { content: counter(qcs, decimal-leading-zero); font: 500 11px/1.9 var(--qc-mono); color: #8A948F; }
.qc-sommaire__liste a:hover { color: var(--qc-encre); background: var(--qc-fond); }
.qc-sommaire__liste a.est-actif { color: var(--qc-vin); font-weight: 600; border-left-color: var(--qc-vin); background: var(--qc-vin-clair); }
.qc-sommaire__liste a.est-actif::before { color: var(--qc-vin); }
.qc-sommaire__progres { height: 3px; margin-top: 12px; border-radius: 99px; background: var(--qc-ligne-douce); overflow: hidden; }
.qc-sommaire__progres span { display: block; height: 100%; width: 0; background: var(--qc-vin); transition: width .15s linear; }

.qc-article__outil { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: var(--qc-rayon); background: var(--qc-encre); color: #fff; text-decoration: none; }
.qc-article__outil span { font: 600 11px var(--qc-mono); letter-spacing: 1px; text-transform: uppercase; color: #D9A3B4; }
.qc-article__outil strong { font-family: var(--qc-titre); font-size: 18px; line-height: 1.2; }
.qc-article__outil em { font-style: normal; font-size: 13.5px; color: #C9D0CB; }
.qc-article__outil:hover { color: #fff; background: #222D28; }

/* Mise en forme éditoriale dans l'article */
.qc-article__corps > p:first-child { font-size: 19px; color: var(--qc-encre); }
.qc-prose .qc-points { list-style: none; padding: 0; display: grid; gap: 10px; }
.qc-prose .qc-points li { position: relative; padding-left: 28px; margin: 0; }
.qc-prose .qc-points li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 10px; height: 10px; border-radius: 3px; background: var(--qc-vin); }
.qc-resume { background: var(--qc-vin-clair); border-radius: var(--qc-rayon); padding: 20px 24px; margin: 0 0 32px; max-width: 760px; }
.qc-resume__titre { display: block; font: 600 12px var(--qc-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--qc-vin); margin-bottom: 8px; }
.qc-resume ul { margin: 0; padding-left: 20px; }
.qc-resume li { margin: 4px 0; }
.qc-prose .qc-table-wrap { max-width: 760px; }

/* Bloc de caves recommandées */
.qc-reco { margin: 28px 0 36px; padding: 22px; border-radius: var(--qc-rayon); background: var(--qc-fond); border: 1px solid var(--qc-ligne); }
.qc-reco__tete { margin-bottom: 14px; }
.qc-reco__label { display: block; font: 600 11px var(--qc-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--qc-vin); }
.qc-prose .qc-reco__titre, .qc-reco__titre { margin: 4px 0 0; font-family: var(--qc-titre); font-size: 21px; font-weight: 700; line-height: 1.2; }
.qc-reco__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.qc-reco__cave { display: flex; flex-direction: column; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: 10px; overflow: hidden; }
.qc-reco__visuel { display: flex; align-items: center; justify-content: center; height: 150px; padding: 12px; background: #F7F8F6; border-bottom: 1px solid var(--qc-ligne-douce); }
.qc-reco__visuel img, .qc-reco__visuel svg { max-height: 126px; width: auto; max-width: 100%; object-fit: contain; }
.qc-reco__corps { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 16px; flex: 1; }
.qc-prose .qc-reco__nom, .qc-reco__nom { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.25; }
.qc-reco__nom a { color: var(--qc-encre); text-decoration: none; }
.qc-reco__nom a:hover { color: var(--qc-vin); }
.qc-prose .qc-reco__specs, .qc-reco__specs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.qc-prose .qc-reco__specs li { margin: 0; }
.qc-reco__specs li { font: 12.5px var(--qc-mono); color: var(--qc-gris); background: var(--qc-fond); border-radius: 5px; padding: 3px 7px; }
.qc-reco__specs b { font-weight: 600; color: var(--qc-encre); }
.qc-prose .qc-reco__atout, .qc-reco__atout { margin: 0; font-size: 14px; line-height: 1.45; color: var(--qc-gris); }
.qc-reco__pied { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid var(--qc-ligne-douce); }
.qc-reco__prix { display: flex; flex-direction: column; font: 600 18px var(--qc-mono); color: var(--qc-encre); line-height: 1.2; }
.qc-reco__prix small { font: 12px var(--qc-texte); color: var(--qc-gris); }
.qc-reco__pied .qc-btn { min-height: 40px; padding: 0 14px; font-size: 14px; }
.qc-prose .qc-reco__plus { margin: 14px 0 0; }

/* Schémas et graphiques des articles */
.qc-schema svg, .qc-bruit svg { display: block; width: 100%; height: auto; margin-top: 10px; }
.qc-bruit__grille { stroke: var(--qc-ligne-douce); stroke-width: 1; }
.qc-bruit__axe { font: 10px var(--qc-mono); fill: var(--qc-gris); }
.qc-bruit__barre--calme { fill: #D9A3B4; }
.qc-bruit__barre--normal { fill: var(--qc-vin); }
.qc-bruit__barre--fort { fill: var(--qc-vin-fonce); }
.qc-bruit__med { stroke: var(--qc-encre); stroke-width: 1.5; stroke-dasharray: 4 3; }
.qc-bruit__med-txt { font: 600 11px var(--qc-mono); fill: var(--qc-encre); }
.qc-bruit__echelle { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 16px 0 10px; }
.qc-bruit__echelle div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 8px; background: var(--qc-fond); }
.qc-bruit__echelle div:nth-child(3) { background: var(--qc-vin-clair); }
.qc-bruit__echelle strong { font: 600 15px var(--qc-mono); color: var(--qc-vin); }
.qc-bruit__echelle span { font-size: 12.5px; line-height: 1.3; color: var(--qc-gris); }
.qc-panel figcaption, .qc-schema figcaption { font-size: 13px; margin-top: 8px; }
figure.qc-panel { margin-left: 0; margin-right: 0; }

.qc-schema__zone { fill: var(--qc-vin-clair); }
.qc-schema__zone-txt { font: 600 10.5px var(--qc-mono); fill: var(--qc-vin); }
.qc-schema__lib { font: 600 13px var(--qc-texte); fill: var(--qc-encre); }
.qc-schema__lib--vin { fill: var(--qc-vin); }
.qc-schema__plage--froid { fill: #3E6C8A; }
.qc-schema__plage--vin { fill: var(--qc-vin); }
.qc-schema__point { fill: #fff; stroke: #3E6C8A; stroke-width: 3; }
.qc-schema__note { font: 11.5px var(--qc-texte); fill: var(--qc-gris); }
.qc-schema__note--g { font-weight: 600; fill: var(--qc-encre); }
.qc-schema__boite { fill: #F7F8F6; stroke: var(--qc-ligne); stroke-width: 1.5; }
.qc-schema__piece { fill: #fff; stroke: #9AA39E; stroke-width: 1.5; }
.qc-schema__piece--chaud { fill: #F3E2D3; stroke: #C98B5C; }
.qc-schema__piece--froid { fill: #DCE7EF; stroke: #3E6C8A; }
.qc-schema__piece--moteur { fill: var(--qc-encre); stroke: var(--qc-encre); }
.qc-schema__txt { font: 600 11.5px var(--qc-texte); fill: var(--qc-encre); }
.qc-schema__txt--clair { fill: #fff; }
.qc-schema__fleche { fill: none; stroke: var(--qc-vin); stroke-width: 2; }
.qc-schema__pointe { fill: var(--qc-vin); }
.qc-schema__duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.qc-prose .qc-schema__legende, .qc-schema__legende { margin: 8px 0 0; font-size: 14.5px; color: var(--qc-gris); }
.qc-schema__legende strong { color: var(--qc-encre); }
.qc-hygro__sec { fill: #E3C77A; }
.qc-hygro__limite { fill: #D3DCD6; }
.qc-hygro__ideal { fill: var(--qc-vin); }
.qc-hygro__humide { fill: #7FA38C; }

.qc-energie__classes { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; }
.qc-energie__ligne { display: grid; grid-template-columns: 34px minmax(0, 1fr) 92px 96px; align-items: center; gap: 10px; font-size: 13.5px; }
.qc-energie__lettre { display: flex; align-items: center; justify-content: center; height: 26px; border-radius: 4px 12px 12px 4px; font: 700 14px var(--qc-texte); color: #fff; }
.qc-energie__lettre--a { background: #1E8A4C; }
.qc-energie__lettre--b { background: #52A23B; }
.qc-energie__lettre--c { background: #B5C82E; color: var(--qc-encre); }
.qc-energie__lettre--d { background: #F2D21B; color: var(--qc-encre); }
.qc-energie__lettre--e { background: #F2A81D; color: var(--qc-encre); }
.qc-energie__lettre--f { background: #E9661F; }
.qc-energie__lettre--g { background: #D52B1E; }
.qc-energie__piste { height: 12px; border-radius: 99px; background: var(--qc-ligne-douce); overflow: hidden; }
.qc-energie__piste span { display: block; height: 100%; background: var(--qc-encre); border-radius: 99px; }
.qc-energie__n { font-family: var(--qc-mono); color: var(--qc-encre); }
.qc-energie__kwh { font-family: var(--qc-mono); color: var(--qc-gris); text-align: right; }
.qc-prose .qc-energie__note, .qc-energie__note { font-size: 13px; margin: 10px 0 0; }
.qc-energie .qc-calcul { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--qc-ligne-douce); }

.qc-pieces { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0 30px; }
.qc-piece { padding: 16px 18px; border-radius: 10px; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-top: 4px solid; }
.qc-piece--oui { border-top-color: #2F7A4B; }
.qc-piece--sous { border-top-color: #D19A2A; }
.qc-piece--non { border-top-color: #B23A2E; }
.qc-piece__verdict { font: 600 11px var(--qc-mono); letter-spacing: .8px; text-transform: uppercase; }
.qc-piece--oui .qc-piece__verdict { color: #2F7A4B; }
.qc-piece--sous .qc-piece__verdict { color: #9A6E14; }
.qc-piece--non .qc-piece__verdict { color: #B23A2E; }
.qc-prose .qc-piece__nom, .qc-piece__nom { margin: 4px 0 6px; font-family: var(--qc-titre); font-size: 18px; font-weight: 700; }
.qc-prose .qc-piece p:last-child { margin: 0; font-size: 14.5px; color: var(--qc-gris); }

/* Articles liés et appel final */
.qc-articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.qc-article-carte { display: flex; flex-direction: column; background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-radius: var(--qc-rayon); overflow: hidden; text-decoration: none; color: var(--qc-encre); transition: border-color .15s, transform .15s; }
.qc-article-carte:hover { border-color: var(--qc-vin); transform: translateY(-2px); color: var(--qc-encre); }
.qc-article-carte__img img { display: block; width: 100%; height: 170px; object-fit: cover; }
.qc-article-carte__corps { display: flex; flex-direction: column; gap: 8px; padding: 20px; flex: 1; }
.qc-article-carte__corps strong { font-family: var(--qc-titre); font-size: 20px; line-height: 1.2; }
.qc-article-carte__cat { font: 600 11px var(--qc-mono); letter-spacing: 1px; text-transform: uppercase; color: var(--qc-vin); }
.qc-article-carte__extrait { font-size: 14.5px; color: var(--qc-gris); }
.qc-article-carte__meta { margin-top: auto; font: 12px var(--qc-mono); color: var(--qc-gris); }
.qc-lies .qc-h2 { margin-bottom: 18px; }
.qc-article-fin { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 32px; border-radius: var(--qc-rayon); background: var(--qc-vin); color: #fff; }
.qc-article-fin p { margin: 0; color: #F1DDE3; }
.qc-article-fin .qc-article-fin__titre { font-family: var(--qc-titre); font-size: 26px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.qc-article-fin__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.qc-btn--contour-blanc { border-color: #fff; color: #fff; background: transparent; }
.qc-btn--contour-blanc:hover { background: rgba(255,255,255,.12); color: #fff; }

@media (max-width: 999px) {
	.qc-article { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 20px; }
	.qc-article__aside { position: static; max-height: none; overflow: visible; }
	.qc-article__outil { display: none; }
	.qc-sommaire { padding: 0; }
	.qc-sommaire__titre { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; min-height: 48px; font-size: 13px; }
	.qc-sommaire__titre::after { content: "+"; font-size: 20px; line-height: 1; color: var(--qc-vin); }
	.qc-sommaire__details[open] .qc-sommaire__titre::after { content: "−"; }
	.qc-sommaire__liste { margin: 0; padding: 0 10px 12px; }
	.qc-sommaire__progres { display: none; }
}
@media (max-width: 760px) {
	.qc-schema__duo { grid-template-columns: minmax(0, 1fr); }
	.qc-pieces { grid-template-columns: minmax(0, 1fr); }
	.qc-bruit__echelle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.qc-energie__ligne { grid-template-columns: 30px minmax(0, 1fr) 82px; }
	.qc-energie__kwh { display: none; }
	.qc-article-fin { padding: 24px 20px; }
	.qc-reco { padding: 16px; }
}
@media (max-width: 1100px) and (min-width: 761px) {
	.qc-pieces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.qc-prose .qc-carte-guide__corps > p.qc-carte-guide__titre, .qc-carte-guide__corps > p.qc-carte-guide__titre { font-family: var(--qc-titre); font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--qc-encre); }
@media (max-width: 760px) {
	figure.qc-schema, figure.qc-bruit { padding: 18px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	figure.qc-schema > svg, figure.qc-bruit > svg { min-width: 540px; }
	.qc-schema__duo svg { min-width: 0; }
	.qc-energie { padding: 18px; }
}

/* ==================================================================
   Lot 3 : image d'en-tête des articles, accueil, fiches avis, pied
   ================================================================== */
.qc-article-tete--image .qc-wrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.qc-article-tete__img { margin: 0; border-radius: var(--qc-rayon); overflow: hidden; border: 1px solid var(--qc-ligne); background: var(--qc-fond); }
.qc-article-tete__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 999px) {
	.qc-article-tete--image .qc-wrap { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.qc-article-tete__img { order: 2; }
}

/* Accueil : sélection commentée */
.qc-selection__item { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.qc-selection__item > .qc-carte { flex: 1; }
.qc-selection__label { margin: 0; font: 600 12px var(--qc-mono); letter-spacing: .6px; text-transform: uppercase; color: #E7A9BC; }
.qc-selection__intro { margin: -6px 0 24px; color: #C9D0CB; max-width: 760px; }

/* Accueil : guides illustrés */
.qc-accueil-guides .qc-articles { margin-top: 8px; }
.qc-accueil-guides__tous { margin: 20px 0 0; }

/* Auteur : initiales à la place de l'avatar vide */
.qc-auteur__init { flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--qc-vin); color: #fff; font: 700 18px var(--qc-titre); letter-spacing: .5px; }
.qc-auteur a { font-weight: 600; }

/* Fiches avis : pour qui + FAQ */
.qc-avis-plus .qc-h2 { margin-top: 8px; }
.qc-pourqui { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 0 36px; }
.qc-pourqui__col { background: var(--qc-surface); border: 1px solid var(--qc-ligne); border-top: 4px solid; border-radius: 10px; padding: 18px 22px; }
.qc-pourqui__col--oui { border-top-color: #2F7A4B; }
.qc-pourqui__col--non { border-top-color: #B23A2E; }
.qc-pourqui__titre { margin: 0 0 10px; font: 600 12px var(--qc-mono); letter-spacing: .8px; text-transform: uppercase; }
.qc-pourqui__col--oui .qc-pourqui__titre { color: #2F7A4B; }
.qc-pourqui__col--non .qc-pourqui__titre { color: #B23A2E; }
.qc-pourqui ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 15.5px; }
.qc-avis-faq { max-width: 860px; }
@media (max-width: 760px) { .qc-pourqui { grid-template-columns: minmax(0, 1fr); } }

/* Pied de page : liens légaux */
.qc-pied__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 16px; padding-bottom: 28px; border-top: 1px solid #2B3631; font-size: 13px; }
.qc-pied__legal a { color: #C9D0CB; }
.qc-prose mark { background: #FFF1B8; padding: 0 4px; }

.qc-selection__label { min-height: 2.9em; display: flex; align-items: flex-end; }
.qc-article-tete__meta { gap: 6px 0; }
.qc-article-tete__meta li + li::before { position: static; display: inline-block; vertical-align: middle; margin: 0 10px 2px; }
@media (max-width: 760px) { .qc-selection__label { min-height: 0; } }
