/*
 * Schema Clean — defroisseur.info
 * Minimaliste et frais : gris perle, bleu glacier, vert sauge, bleu marine.
 * Beaucoup d'air, comme un vêtement fraîchement défroissé.
 */

:root,
body {
	--swb-bg: #f8f9f8;
	--swb-surface: #ffffff;
	--swb-surface-2: #eef2f4;
	--swb-text: #2c3440;
	--swb-text-soft: #5f6b78;
	--swb-heading: #1c2b3a;
	--swb-border: #e3e8ec;
	--swb-accent: #2f7a9a;
	--swb-accent-hover: #23607a;
	--swb-on-accent: #ffffff;
	--swb-accent-2: #6f9a86;
	--swb-accent-soft: #e6f3f8;
	--swb-glacier: #dceff6;
	--swb-selection: rgb(47 122 154 / 0.16);

	--swb-header-bg: rgb(248 249 248 / 0.82);
	--swb-header-border: rgb(28 43 58 / 0.06);
	--swb-footer-bg: #1c2b3a;
	--swb-footer-text: #b9c6d3;
	--swb-footer-heading: #ffffff;
	--swb-footer-link: #ffffff;
	--swb-footer-border: rgb(255 255 255 / 0.1);

	--swb-font-body: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
	--swb-font-heading: var(--swb-font-body);
	--swb-font-ui: var(--swb-font-body);
	--swb-heading-weight: 750;
	--swb-heading-tracking: -0.025em;
	--swb-heading-lh: 1.18;
	--swb-lh: 1.78;
	--swb-fs-base: clamp(1.0313rem, 0.98rem + 0.22vw, 1.0938rem);

	--swb-radius-sm: 10px;
	--swb-radius: 16px;
	--swb-radius-lg: 24px;
	--swb-radius-btn: 999px;
	--swb-radius-img: 16px;
	--swb-shadow-sm: 0 1px 2px rgb(28 43 58 / 0.04);
	--swb-shadow: 0 16px 40px -20px rgb(28 43 58 / 0.22);
	--swb-shadow-lg: 0 30px 70px -30px rgb(28 43 58 / 0.32);

	--swb-content: 44rem;
	--swb-gap: clamp(2.5rem, 6vw, 5rem);
}

/* Halo de vapeur en haut de page */
body {
	background:
		radial-gradient(900px 420px at 85% -120px, rgb(220 239 246 / 0.9), transparent 70%),
		radial-gradient(700px 360px at 5% -160px, rgb(111 154 134 / 0.14), transparent 70%),
		var(--swb-bg);
	background-repeat: no-repeat;
}

.site-main {
	padding-top: clamp(2.25rem, 6vw, 4.5rem);
}

.entry-title,
.archive-header__title {
	font-weight: 800;
	letter-spacing: -0.035em;
}

.entry-content h2 {
	margin-top: 3em;
}

.entry-content > * {
	margin-bottom: 1.5rem;
}

.main-nav__menu a,
.main-nav__menu .menu-label {
	font-weight: 600;
	font-size: 0.9375rem;
}

.main-nav__menu > .current-menu-item > a,
.main-nav__menu > .current-menu-ancestor > a,
.main-nav__menu > .current-menu-ancestor > .menu-label {
	border-radius: 999px;
	background: var(--swb-glacier);
	box-shadow: none;
}

.badge {
	background: color-mix(in srgb, var(--swb-accent-2) 14%, #fff);
	color: #3f6655;
	font-weight: 700;
}

.card {
	box-shadow: none;
}

.card:hover {
	border-color: color-mix(in srgb, var(--swb-accent) 35%, var(--swb-border));
	box-shadow: var(--swb-shadow);
}

.card__title {
	font-weight: 700;
	letter-spacing: -0.015em;
}

.widget {
	box-shadow: none;
}

.widget-title,
.toc__heading,
.toc__title {
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--swb-text-soft);
}

/* Tableaux comparatifs : grille nette, en-tête glacier */
.entry-content table {
	font-size: 0.9375rem;
	font-variant-numeric: tabular-nums;
}

.entry-content thead th,
.entry-content tr:first-child th {
	background: var(--swb-glacier);
	color: var(--swb-heading);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.entry-content .is-style-swb-compare thead th {
	background: var(--swb-heading);
	color: #fff;
}

.entry-content .is-style-swb-compare thead th:first-child {
	background: #14212e;
}

.is-style-swb-compare td,
.is-style-swb-compare th {
	padding-block: 1rem;
}

.is-style-swb-compare tbody tr:nth-child(even) {
	background: #f7fafb;
}

.swb-yes {
	background: var(--swb-glacier);
	color: var(--swb-accent-hover);
}

/* Encadrés */
.is-style-swb-tip {
	background: var(--swb-glacier);
}

.is-style-swb-key {
	border-color: color-mix(in srgb, var(--swb-accent-2) 40%, var(--swb-border));
	background: color-mix(in srgb, var(--swb-accent-2) 8%, #fff);
}

.is-style-swb-key::before {
	background: var(--swb-accent-2);
}

.entry-content blockquote,
.wp-block-quote {
	border-left-color: var(--swb-accent-2);
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--swb-border);
}

.author-box {
	box-shadow: none;
}

.author-box__img {
	box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--swb-glacier);
}

.toc--box {
	box-shadow: none;
}

.toc a.is-active {
	background: var(--swb-glacier);
}

.site-footer__grid {
	padding-block: clamp(3.5rem, 7vw, 5.5rem);
}
