/*
Theme Name: Univers Zoo Tech
Theme URI: https://universzootech.com/
Author: Univers Zoo Tech
Description: Thème complet, chaleureux et responsive pour Univers Zoo Tech. Palette centralisée, accueil éditorial, archives, articles et commentaires compacts.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: univers-zoo-tech
*/

@font-face {
	font-family: "UZT Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/Poppins-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "UZT DM Serif";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/DMSerifDisplay-Regular.ttf") format("truetype");
}

:root {
	--uzt-sand: #d8c5a5;
	--uzt-green: #214d40;
	--uzt-green-dark: #18372e;
	--uzt-terracotta: #a8532c;
	--uzt-terracotta-dark: #843d20;
	--uzt-ivory: #fff9ef;
	--uzt-ink: #28342e;
	--uzt-grey: #b8b0a3;
	--uzt-page: #f3ede2;
	--uzt-paper: #fffdf8;
	--uzt-muted: #6c706b;
	--uzt-line: #ded2c0;
	--uzt-soft-green: #e1e9e3;
	--uzt-soft-rust: #f0ddd2;
	--uzt-shadow: 0 18px 45px rgba(40, 52, 46, 0.10);
	--uzt-shadow-small: 0 8px 24px rgba(40, 52, 46, 0.08);
	--uzt-radius: 18px;
	--uzt-radius-small: 12px;
	--uzt-width: 1180px;
	--uzt-content: 780px;

	/* Compatibilité avec les composants du module Univers Zoo Tech. */
	--uzt-navy: var(--uzt-green);
	--uzt-navy-deep: var(--uzt-green-dark);
	--uzt-teal: var(--uzt-terracotta);
	--uzt-teal-dark: var(--uzt-terracotta-dark);
	--uzt-accent: var(--uzt-terracotta);
	--uzt-accent-soft: var(--uzt-soft-rust);
	--uzt-soft: var(--uzt-soft-green);
	--uzt-page-width: var(--uzt-width);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.uzt-theme {
	background: var(--uzt-page);
	color: var(--uzt-ink);
	font-family: "UZT Poppins", Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
	min-height: 100vh;
	overflow-wrap: break-word;
}

body.uzt-theme.menu-is-open {
	overflow: hidden;
}

body.uzt-theme > .uzt-topbar,
body.uzt-theme > .uzt-home-intro,
body.uzt-theme > .uzt-footer {
	display: none !important;
}

/* Annule le cadre général ajouté par l’ancien module autour des modèles. */
body.uzt-theme.uzt-site main#uzt-main {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.uzt-theme.uzt-site main#uzt-main .entry-content > :not(.alignwide):not(.alignfull):not(.uzt-article-shell) {
	max-width: var(--uzt-content) !important;
	width: auto !important;
}

body.uzt-theme.uzt-site main#uzt-main .entry-content > .uzt-article-shell {
	max-width: var(--uzt-width) !important;
	width: 100% !important;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 0;
}

a {
	color: var(--uzt-terracotta);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

a:hover {
	color: var(--uzt-terracotta-dark);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid rgba(168, 83, 44, 0.42);
	outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--uzt-green);
	font-family: "UZT DM Serif", Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

p:first-child {
	margin-top: 0;
}

.wrap {
	margin-inline: auto;
	max-width: var(--uzt-width);
	padding-inline: 20px;
	width: 100%;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: var(--uzt-ivory);
	clip: auto !important;
	clip-path: none;
	color: var(--uzt-green);
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 8px;
	padding: 12px 16px;
	top: 8px;
	width: auto;
	z-index: 100000;
}

.site-header {
	background: var(--uzt-green);
	border-bottom: 1px solid rgba(255, 249, 239, 0.15);
	box-shadow: 0 5px 24px rgba(24, 55, 46, 0.16);
	color: var(--uzt-ivory);
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-bar .site-header {
	top: 32px;
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-inline: auto;
	max-width: var(--uzt-width);
	min-height: 74px;
	padding: 9px 20px;
}

.site-brand {
	align-items: center;
	color: var(--uzt-ivory);
	display: inline-flex;
	flex: 0 0 auto;
	gap: 11px;
	text-decoration: none;
}

.site-brand:hover {
	color: var(--uzt-ivory);
}

.site-brand__mark {
	align-items: center;
	background: var(--uzt-terracotta);
	border: 2px solid rgba(255, 249, 239, 0.7);
	border-radius: 50%;
	display: inline-flex;
	font-size: 19px;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.site-brand__logo,
.site-brand__logo .custom-logo-link {
	display: flex;
}

.site-brand__logo img {
	max-height: 50px;
	width: auto;
}

.site-brand__text {
	display: grid;
	line-height: 1.1;
}

.site-brand__text strong {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.site-brand__text small {
	color: rgba(255, 249, 239, 0.72);
	font-size: 10px;
	margin-top: 4px;
}

.primary-navigation {
	margin-left: auto;
}

.primary-menu,
.primary-navigation ul {
	align-items: center;
	display: flex;
	gap: 3px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu li {
	position: relative;
}

.primary-menu a {
	border-radius: 999px;
	color: var(--uzt-ivory);
	display: block;
	font-size: 13px;
	font-weight: 700;
	padding: 8px 11px;
	text-decoration: none;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current-menu-ancestor > a {
	background: rgba(255, 249, 239, 0.13);
	color: #fff;
}

.primary-menu .sub-menu {
	align-items: stretch;
	background: var(--uzt-green-dark);
	border-radius: var(--uzt-radius-small);
	box-shadow: var(--uzt-shadow);
	display: none;
	flex-direction: column;
	left: 0;
	min-width: 210px;
	padding: 8px;
	position: absolute;
	top: calc(100% + 6px);
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	display: flex;
}

.menu-toggle {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(255, 249, 239, 0.32);
	border-radius: 999px;
	color: var(--uzt-ivory);
	cursor: pointer;
	display: none;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	gap: 8px;
	padding: 8px 12px;
}

.menu-toggle__bars {
	display: grid;
	gap: 3px;
}

.menu-toggle__bars i {
	background: currentColor;
	display: block;
	height: 2px;
	width: 15px;
}

.site-main {
	min-height: 55vh;
}

.eyebrow,
.content-label {
	color: var(--uzt-terracotta);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.3;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.button,
.wp-element-button,
.wp-block-button__link,
input[type="submit"] {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 40px;
	padding: 10px 17px;
	text-decoration: none;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
	transform: translateY(-1px);
}

.button--accent,
.wp-element-button,
.wp-block-button__link,
input[type="submit"] {
	background: var(--uzt-terracotta);
	color: var(--uzt-ivory);
}

.button--accent:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
	background: var(--uzt-terracotta-dark);
	color: #fff;
}

.button--light {
	background: transparent;
	border-color: rgba(255, 249, 239, 0.55);
	color: var(--uzt-ivory);
}

.button--light:hover {
	background: rgba(255, 249, 239, 0.12);
	border-color: var(--uzt-ivory);
	color: #fff;
}

.home-hero {
	border-radius: 0 0 28px 28px;
	display: grid;
	grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
	overflow: hidden;
	padding: 22px 20px 0;
}

.home-hero::before {
	background: var(--uzt-green);
	border-radius: 22px;
	content: "";
	grid-column: 1 / -1;
	grid-row: 1;
}

.home-hero__copy {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	grid-column: 1;
	grid-row: 1;
	justify-content: center;
	max-width: 660px;
	padding: clamp(36px, 5vw, 70px);
	position: relative;
	z-index: 1;
}

.home-hero__copy .eyebrow {
	color: var(--uzt-sand);
}

.home-hero__copy h1 {
	color: var(--uzt-ivory);
	font-size: clamp(38px, 5.1vw, 64px);
	letter-spacing: -0.035em;
	margin: 0 0 18px;
	max-width: 720px;
}

.home-hero__copy > p:not(.eyebrow) {
	color: rgba(255, 249, 239, 0.82);
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
	max-width: 590px;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.home-hero__visual {
	background: var(--uzt-sand);
	border-radius: 0 22px 22px 0;
	grid-column: 2;
	grid-row: 1;
	min-height: 460px;
	overflow: hidden;
	position: relative;
}

.home-hero__visual::after {
	background: linear-gradient(180deg, transparent 48%, rgba(24, 55, 46, 0.82));
	content: "";
	inset: 0;
	position: absolute;
}

.home-hero__visual img {
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
	width: 100%;
}

.home-hero__visual:hover img {
	transform: scale(1.035);
}

.home-hero__label {
	bottom: 30px;
	color: var(--uzt-ivory);
	display: grid;
	left: 30px;
	position: absolute;
	right: 30px;
	z-index: 1;
}

.home-hero__label small {
	font-size: 10px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.home-hero__label strong {
	font-family: "UZT DM Serif", Georgia, serif;
	font-size: 28px;
	font-weight: 400;
}

.home-hero__label em {
	color: var(--uzt-sand);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	margin-top: 4px;
}

.home-section {
	padding-block: 68px;
}

.home-section--categories {
	padding-bottom: 76px;
}

.home-section--latest {
	background: rgba(216, 197, 165, 0.28);
	border-block: 1px solid rgba(184, 176, 163, 0.42);
}

.section-heading {
	align-items: end;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-bottom: 26px;
}

.section-heading h2 {
	font-size: clamp(30px, 3.4vw, 43px);
	margin: 0;
}

.section-heading > p {
	color: var(--uzt-muted);
	font-size: 14px;
	margin: 0 0 5px;
	max-width: 390px;
	text-align: right;
}

.category-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.category-card {
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: var(--uzt-radius);
	box-shadow: 0 4px 15px rgba(40, 52, 46, 0.04);
	color: var(--uzt-ink);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.category-card:hover {
	box-shadow: var(--uzt-shadow-small);
	color: var(--uzt-ink);
	transform: translateY(-4px);
}

.category-card img {
	aspect-ratio: 16 / 10;
	display: block;
	object-fit: cover;
	transition: transform 0.35s ease;
	width: 100%;
}

.category-card:hover img {
	transform: scale(1.035);
}

.category-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 152px;
	padding: 16px;
	position: relative;
}

.category-card__body strong {
	color: var(--uzt-green);
	font-family: "UZT DM Serif", Georgia, serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.15;
}

.category-card__body small {
	color: var(--uzt-muted);
	font-size: 12px;
	line-height: 1.45;
	margin-top: 8px;
}

.category-card__body em {
	align-items: center;
	background: var(--uzt-soft-rust);
	border-radius: 50%;
	color: var(--uzt-terracotta);
	display: inline-flex;
	font-style: normal;
	height: 28px;
	justify-content: center;
	margin-top: auto;
	width: 28px;
}

.home-latest-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
}

.home-feature-card,
.home-mini-card,
.archive-card {
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: var(--uzt-radius);
	box-shadow: 0 5px 18px rgba(40, 52, 46, 0.045);
	overflow: hidden;
}

.home-feature-card {
	grid-row: span 2;
}

.home-mini-card {
	display: grid;
	grid-template-columns: 148px minmax(0, 1fr);
}

.post-card__media,
.archive-card__media {
	background: var(--uzt-sand);
	display: block;
	overflow: hidden;
}

.home-feature-card .post-card__media img,
.home-feature-card .post-card__media .uzt-placeholder {
	aspect-ratio: 16 / 8.4;
	display: flex;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.home-mini-card .post-card__media,
.home-mini-card .post-card__media img,
.home-mini-card .post-card__media .uzt-placeholder {
	height: 100%;
	min-height: 174px;
	object-fit: cover;
	width: 100%;
}

.post-card__body {
	padding: 22px;
}

.home-mini-card .post-card__body {
	padding: 15px 16px;
}

.post-card__body h3 {
	font-size: 26px;
	margin: 3px 0 9px;
}

.home-mini-card .post-card__body h3 {
	font-size: 18px;
	margin-bottom: 6px;
}

.post-card__body h3 a,
.archive-card h2 a {
	color: var(--uzt-green);
	text-decoration: none;
}

.post-card__body h3 a:hover,
.archive-card h2 a:hover {
	color: var(--uzt-terracotta);
}

.post-card__excerpt,
.archive-card__excerpt {
	color: var(--uzt-muted);
	font-size: 13px;
	line-height: 1.55;
}

.post-card__excerpt p,
.archive-card__excerpt p {
	margin: 0;
}

.home-mini-card .post-card__excerpt,
.home-mini-card .text-link {
	display: none;
}

.text-link {
	color: var(--uzt-terracotta);
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 6px;
	margin-top: 14px;
	text-decoration: none;
}

.uzt-placeholder {
	align-items: center;
	background: linear-gradient(135deg, var(--uzt-soft-green), var(--uzt-sand));
	color: var(--uzt-green);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 190px;
}

.uzt-placeholder > span {
	font-size: 34px;
}

.uzt-placeholder small {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.breadcrumbs {
	align-items: center;
	color: var(--uzt-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 11px;
	gap: 7px;
	padding-block: 20px 8px;
}

.breadcrumbs a {
	color: var(--uzt-terracotta);
	text-decoration: none;
}

.breadcrumbs [aria-current="page"] {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.archive-wrap {
	padding-bottom: 70px;
}

.archive-header,
.page-header {
	max-width: 820px;
	padding-block: 38px 36px;
}

.archive-header h1,
.page-header h1 {
	font-size: clamp(38px, 5vw, 58px);
	margin: 0;
}

.archive-header > p:not(.eyebrow),
.archive-header__description,
.archive-header__description p {
	color: var(--uzt-muted);
	font-size: 15px;
	margin: 12px 0 0;
}

.archive-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.archive-card {
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.archive-card:hover {
	box-shadow: var(--uzt-shadow-small);
	transform: translateY(-3px);
}

.archive-card__media img,
.archive-card__media .uzt-placeholder {
	aspect-ratio: 16 / 9;
	display: flex;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.archive-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.archive-card__meta {
	align-items: center;
	color: var(--uzt-muted);
	display: flex;
	font-size: 10px;
	gap: 8px;
	justify-content: space-between;
	text-transform: uppercase;
}

.archive-card__meta span {
	color: var(--uzt-terracotta);
	font-weight: 800;
}

.archive-card h2 {
	font-size: 23px;
	margin: 8px 0 10px;
}

.archive-card .text-link {
	margin-top: auto;
	padding-top: 16px;
}

.navigation.pagination {
	margin-top: 34px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.page-numbers {
	align-items: center;
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: 50%;
	color: var(--uzt-green);
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	height: 38px;
	justify-content: center;
	text-decoration: none;
	width: 38px;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--uzt-green);
	color: var(--uzt-ivory);
}

.empty-state {
	align-items: center;
	background: var(--uzt-paper);
	border: 1px dashed var(--uzt-grey);
	border-radius: var(--uzt-radius);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 240px;
	padding: 32px;
	text-align: center;
}

.empty-state > span {
	font-size: 42px;
}

.empty-state p {
	color: var(--uzt-muted);
}

.single-article,
.page-article {
	padding-bottom: 72px;
}

.single-header {
	margin-inline: auto;
	max-width: 960px;
	padding-block: 34px 30px;
	text-align: center;
}

.single-header__categories,
.single-header__categories a {
	color: var(--uzt-terracotta);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.single-header h1 {
	font-size: clamp(40px, 5.7vw, 66px);
	margin: 10px 0 14px;
}

.single-header__meta {
	align-items: center;
	color: var(--uzt-muted);
	display: flex;
	font-size: 12px;
	gap: 8px;
	justify-content: center;
}

.single-featured-image {
	background: var(--uzt-sand);
	border-radius: var(--uzt-radius);
	margin: 0 auto 22px;
	max-width: 980px;
	overflow: hidden;
}

.single-featured-image img {
	display: block;
	max-height: 620px;
	object-fit: cover;
	width: 100%;
}

.entry-content {
	font-size: 16px;
	line-height: 1.75;
}

.page-content {
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: var(--uzt-radius);
	box-shadow: var(--uzt-shadow-small);
	margin-right: auto;
	max-width: 920px;
	padding: clamp(24px, 4vw, 48px);
}

.entry-content > :not(.alignwide):not(.alignfull):not(.uzt-article-shell) {
	margin-inline: auto;
	max-width: var(--uzt-content);
}

.entry-content > .uzt-article-shell {
	max-width: var(--uzt-width);
}

.entry-content h2 {
	font-size: clamp(28px, 3.5vw, 38px);
	margin-top: 1.8em;
}

.entry-content h3 {
	font-size: clamp(22px, 2.7vw, 29px);
	margin-top: 1.6em;
}

.entry-content blockquote {
	background: var(--uzt-soft-green);
	border-left: 4px solid var(--uzt-green);
	border-radius: 0 var(--uzt-radius-small) var(--uzt-radius-small) 0;
	color: var(--uzt-green-dark);
	font-family: "UZT DM Serif", Georgia, serif;
	font-size: 20px;
	margin-block: 28px;
	padding: 20px 24px;
}

.entry-content img {
	border-radius: var(--uzt-radius-small);
}

.entry-content figcaption {
	color: var(--uzt-muted);
	font-size: 11px;
	margin-top: 7px;
	text-align: center;
}

.entry-content table {
	border-collapse: collapse;
	font-size: 14px;
	width: 100%;
}

.entry-content th,
.entry-content td {
	border: 1px solid var(--uzt-line);
	padding: 10px 12px;
	text-align: left;
}

.entry-content th {
	background: var(--uzt-green);
	color: var(--uzt-ivory);
}

.entry-content tr:nth-child(even) td {
	background: rgba(216, 197, 165, 0.18);
}

/* Neutralise les couleurs enregistrées directement dans les anciens blocs. */
.uzt-theme .page-content > .has-background,
.uzt-theme .page-content > [style*="background-color"],
.uzt-theme .entry-content > .wp-block-group.has-background,
.uzt-theme .entry-content > .wp-block-columns.has-background {
	background-color: var(--uzt-paper) !important;
	color: var(--uzt-ink) !important;
}

.uzt-theme .entry-content .has-text-color:not(.wp-block-button__link),
.uzt-theme .page-content [style*="color:"]:not(.wp-block-button__link) {
	color: var(--uzt-ink) !important;
}

.uzt-theme .entry-content h1.has-text-color,
.uzt-theme .entry-content h2.has-text-color,
.uzt-theme .entry-content h3.has-text-color,
.uzt-theme .entry-content h4.has-text-color {
	color: var(--uzt-green) !important;
}

/* Les classes du module gardent leurs fonctions, avec la palette chaude. */
.uzt-theme .uzt-article-main,
.uzt-theme .uzt-sidebar-intro,
.uzt-theme .uzt-sidebar-related,
.uzt-theme .uzt-product-card,
.uzt-theme .uzt-home-post-card,
.uzt-theme .wp-block-comments {
	border-color: var(--uzt-line);
}

.uzt-theme .uzt-article-main {
	background: var(--uzt-paper);
	box-shadow: var(--uzt-shadow-small);
}

.uzt-theme .uzt-article-main > h2,
.uzt-theme .uzt-article-main > h3,
.uzt-theme .uzt-sidebar-intro h2,
.uzt-theme .uzt-sidebar-related h2,
.uzt-theme .uzt-sidebar-card h3 a {
	color: var(--uzt-green) !important;
}

.uzt-theme .uzt-sidebar-intro {
	background: var(--uzt-green);
	border-color: var(--uzt-green);
	color: rgba(255, 249, 239, 0.82);
}

.uzt-theme .uzt-sidebar-intro h2,
.uzt-theme .uzt-sidebar-intro a {
	color: var(--uzt-ivory) !important;
}

.uzt-theme .uzt-sidebar-intro .uzt-content-label,
.uzt-theme .uzt-sidebar-intro a span {
	color: var(--uzt-sand);
}

.uzt-theme .uzt-amazon-button,
.uzt-theme .wp-block-button__link.uzt-amazon-button {
	background: var(--uzt-ivory) !important;
	border-color: var(--uzt-terracotta) !important;
	color: var(--uzt-terracotta-dark) !important;
}

.uzt-theme .uzt-amazon-button:hover,
.uzt-theme .wp-block-button__link.uzt-amazon-button:hover {
	background: var(--uzt-soft-rust) !important;
}

.post-navigation {
	margin: 32px auto 0;
	max-width: 980px;
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.post-navigation a {
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: var(--uzt-radius-small);
	color: var(--uzt-green);
	display: grid;
	height: 100%;
	padding: 15px;
	text-decoration: none;
}

.post-navigation .nav-next {
	text-align: right;
}

.post-navigation small {
	color: var(--uzt-muted);
	font-size: 10px;
	text-transform: uppercase;
}

.post-navigation span {
	font-family: "UZT DM Serif", Georgia, serif;
	font-size: 17px;
}

/* Commentaires compacts — dimensions validées. */
.comments-area,
.wp-block-comments {
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: var(--uzt-radius-small);
	box-sizing: border-box;
	height: auto !important;
	margin: 24px auto !important;
	max-width: 840px !important;
	min-height: 0 !important;
	padding: 22px 28px !important;
	width: calc(100% - 32px) !important;
}

.comments-title,
.comment-reply-title,
.wp-block-post-comments-form h3 {
	font-size: 20px !important;
	line-height: 1.2 !important;
	margin: 0 0 12px !important;
}

.comment-list,
.comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list .children {
	border-left: 2px solid var(--uzt-line);
	margin-left: 20px;
	padding-left: 16px;
}

.comment-body {
	border-bottom: 1px solid var(--uzt-line);
	font-size: 13px;
	padding: 12px 0;
}

.comment-meta {
	font-size: 11px;
}

.comment-author .avatar {
	border-radius: 50%;
	float: left;
	margin-right: 9px;
}

#respond,
.comment-respond,
.wp-block-post-comments-form {
	box-sizing: border-box !important;
	margin: 24px auto !important;
	max-width: 760px !important;
	width: calc(100% - 32px) !important;
}

.comments-area #respond,
.comments-area .comment-respond,
.wp-block-comments #respond,
.wp-block-comments .comment-respond,
.wp-block-comments .wp-block-post-comments-form {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.comment-form p,
.wp-block-post-comments-form p {
	font-size: 13px !important;
	line-height: 1.3 !important;
	margin: 0 0 9px !important;
}

.comment-form label {
	display: block;
	font-size: 13px !important;
	line-height: 1.2 !important;
	margin-bottom: 3px !important;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	box-sizing: border-box !important;
	font-size: 13px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 5px 9px !important;
	width: 100%;
}

#comment,
.comment-form textarea,
.wp-block-post-comments-form textarea {
	box-sizing: border-box !important;
	font-size: 13px !important;
	height: 90px !important;
	line-height: 1.3 !important;
	min-height: 90px !important;
	padding: 7px 9px !important;
	resize: vertical;
	width: 100%;
}

.comment-form input,
.comment-form textarea {
	background: #fff;
	border: 1px solid var(--uzt-line);
	border-radius: 6px;
	color: var(--uzt-ink);
	font-family: inherit;
}

.comment-form-cookies-consent {
	align-items: center !important;
	display: flex !important;
	gap: 7px !important;
}

.comment-form-cookies-consent input {
	height: 15px !important;
	margin: 0 !important;
	width: 15px !important;
}

.comment-form-cookies-consent label {
	margin: 0 !important;
}

.comment-form input[type="submit"] {
	font-size: 13px !important;
	line-height: 1.2 !important;
	min-height: 34px !important;
	padding: 6px 14px !important;
}

.search-form {
	display: flex;
	gap: 8px;
	margin-top: 22px;
	max-width: 600px;
}

.search-form label {
	flex: 1;
}

.search-field {
	background: var(--uzt-paper);
	border: 1px solid var(--uzt-line);
	border-radius: 999px;
	color: var(--uzt-ink);
	font: inherit;
	font-size: 14px;
	height: 44px;
	padding: 9px 17px;
	width: 100%;
}

.search-submit {
	background: var(--uzt-green);
	border: 0;
	border-radius: 999px;
	color: var(--uzt-ivory);
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	padding: 9px 18px;
}

.not-found {
	align-items: center;
	display: flex;
	flex-direction: column;
	min-height: 66vh;
	padding-block: 72px;
	text-align: center;
}

.not-found__mark {
	align-items: center;
	background: var(--uzt-soft-green);
	border-radius: 50%;
	display: flex;
	font-size: 48px;
	height: 110px;
	justify-content: center;
	margin-bottom: 22px;
	width: 110px;
}

.not-found h1 {
	font-size: clamp(38px, 5vw, 58px);
	margin: 0;
	max-width: 760px;
}

.not-found > p:not(.eyebrow) {
	color: var(--uzt-muted);
	max-width: 620px;
}

.not-found .search-form {
	margin-bottom: 20px;
	width: 100%;
}

.site-footer {
	background: var(--uzt-green-dark);
	color: rgba(255, 249, 239, 0.74);
	margin-top: 0;
}

.site-footer__inner {
	display: grid;
	gap: 42px;
	grid-template-columns: 1.2fr 0.7fr 1fr;
	margin-inline: auto;
	max-width: var(--uzt-width);
	padding: 46px 20px 38px;
}

.site-footer strong {
	color: var(--uzt-ivory);
	font-size: 14px;
}

.site-footer p,
.site-footer a,
.footer-menu {
	font-size: 12px;
}

.site-footer__brand > a {
	align-items: center;
	color: var(--uzt-ivory);
	display: flex;
	gap: 8px;
	text-decoration: none;
}

.site-footer__brand > a span {
	align-items: center;
	background: var(--uzt-terracotta);
	border-radius: 50%;
	display: flex;
	height: 32px;
	justify-content: center;
	width: 32px;
}

.site-footer__brand p,
.site-footer__notice p {
	margin: 8px 0 0;
	max-width: 390px;
}

.footer-menu {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}

.footer-menu a {
	color: rgba(255, 249, 239, 0.76);
	text-decoration: none;
}

.footer-menu a:hover {
	color: var(--uzt-ivory);
}

.site-footer__bottom {
	border-top: 1px solid rgba(255, 249, 239, 0.12);
	padding: 12px 20px;
	text-align: center;
}

.site-footer__bottom p {
	font-size: 10px;
	margin: 0;
}

@media (max-width: 1080px) {
	.category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.primary-menu a {
		font-size: 12px;
		padding-inline: 8px;
	}

	.site-brand__text small {
		display: none;
	}

	.archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.admin-bar .site-header {
		top: 46px;
	}

	.menu-toggle {
		display: inline-flex;
		margin-left: auto;
	}

	.primary-navigation {
		background: var(--uzt-green-dark);
		border-top: 1px solid rgba(255, 249, 239, 0.13);
		display: none;
		left: 0;
		max-height: calc(100vh - 74px);
		overflow-y: auto;
		padding: 12px 20px 20px;
		position: absolute;
		right: 0;
		top: 100%;
	}

	.primary-navigation.is-open {
		display: block;
	}

	.primary-menu,
	.primary-navigation ul {
		align-items: stretch;
		flex-direction: column;
	}

	.primary-menu a {
		font-size: 14px;
		padding: 10px 12px;
	}

	.primary-menu .sub-menu {
		background: transparent;
		box-shadow: none;
		display: flex;
		margin-left: 14px;
		padding: 0;
		position: static;
	}

	.home-hero {
		grid-template-columns: 1fr;
	}

	.home-hero::before {
		border-radius: 22px 22px 0 0;
		grid-row: 1;
	}

	.home-hero__copy {
		grid-column: 1;
		grid-row: 1;
	}

	.home-hero__visual {
		border-radius: 0 0 22px 22px;
		grid-column: 1;
		grid-row: 2;
		min-height: 340px;
	}

	.home-latest-grid {
		grid-template-columns: 1fr;
	}

	.home-feature-card {
		grid-row: auto;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__notice {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.site-header {
		position: relative;
		top: 0 !important;
	}

	.site-header__inner {
		min-height: 66px;
		padding-inline: 14px;
	}

	.site-brand__mark {
		height: 36px;
		width: 36px;
	}

	.site-brand__text strong {
		font-size: 15px;
	}

	.wrap {
		padding-inline: 14px;
	}

	.home-hero {
		padding: 12px 10px 0;
	}

	.home-hero__copy {
		padding: 34px 22px 38px;
	}

	.home-hero__copy h1 {
		font-size: 39px;
	}

	.home-hero__visual {
		min-height: 270px;
	}

	.home-section {
		padding-block: 48px;
	}

	.section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.section-heading > p {
		text-align: left;
	}

	.category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-mini-card {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.archive-grid {
		grid-template-columns: 1fr;
	}

	.archive-header,
	.page-header {
		padding-block: 28px;
	}

	.single-header {
		padding-block: 24px;
	}

	.single-header h1 {
		font-size: 40px;
	}

	.uzt-article-shell {
		grid-template-columns: 1fr !important;
	}

	.uzt-article-sidebar {
		position: static !important;
	}

	.post-navigation .nav-links {
		grid-template-columns: 1fr;
	}

	.comments-area,
	.wp-block-comments {
		padding: 18px !important;
	}

	.site-footer__inner {
		gap: 28px;
		grid-template-columns: 1fr;
		padding-block: 36px;
	}

	.site-footer__notice {
		grid-column: auto;
	}
}

@media (max-width: 470px) {
	.site-brand__text strong {
		font-size: 14px;
	}

	.menu-toggle {
		padding-inline: 10px;
	}

	.home-hero__actions,
	.home-hero__actions .button {
		width: 100%;
	}

	.category-grid {
		grid-template-columns: 1fr;
	}

	.category-card {
		display: grid;
		grid-template-columns: 128px minmax(0, 1fr);
	}

	.category-card img {
		aspect-ratio: auto;
		height: 100%;
	}

	.category-card__body {
		min-height: 125px;
	}

	.home-mini-card {
		grid-template-columns: 100px minmax(0, 1fr);
	}

	.search-form {
		align-items: stretch;
		flex-direction: column;
	}

	.search-submit {
		height: 42px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media print {
	.site-header,
	.site-footer,
	.breadcrumbs,
	.post-navigation,
	.comments-area,
	.wp-block-comments {
		display: none !important;
	}

	body.uzt-theme {
		background: #fff;
		color: #000;
		font-size: 11pt;
	}

	.entry-content,
	.uzt-article-main {
		background: #fff !important;
		border: 0 !important;
		box-shadow: none !important;
		max-width: none !important;
		padding: 0 !important;
	}

	a {
		color: #000;
		text-decoration: none;
	}
}
