/**
 * Dahu Theme Annad 2026 — gabarits sans maquette : archive produit, actualités, article, recherche, 404,
 * finitions Panier / Commande.
 *
 * Aucun composant inventé : bandeau (banner.css), cartes (.annad-card, product/cross-sell.css),
 * boutons (.annad-btn, buttons.css), tokens de couleur et de typographie (header.css).
 * Mobile-first, breakpoints 40em / 64em. Couleurs : custom properties uniquement.
 */

:root {
	--annad-reading-width: 48rem; /* largeur de lecture (même valeur que contentSize de theme.json) */
	--annad-article-width: 68.75rem; /* 1100 px : corps d'un article seul, plus large que la lecture */
	--annad-field-bg: var(--color-surface-2);
}

/* Titre du bandeau : les termes recherchés longs ne débordent pas */
.annad-banner .annad-account-banner__title {
	overflow-wrap: anywhere;
}

/* ---------- Conteneurs ---------- */

.annad-shop,
.annad-listing {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: 2.5rem var(--gutter) 4rem;
}

@media (min-width: 64em) {
	.annad-shop,
	.annad-listing {
		padding-block: 3rem 5rem;
	}
}

.annad-shop__description,
.annad-listing__description {
	max-width: var(--annad-reading-width);
	margin: 0 auto 2.5rem;
	line-height: 1.6;
	text-align: center;
}

.annad-listing__empty {
	max-width: var(--annad-reading-width);
	margin: 2rem auto;
	text-align: center;
}

/* Liens de texte dans les contenus saisis : même traitement que la description courte produit */
.annad-shop__description a,
.annad-listing__description a,
.annad-prose a:not(.annad-btn):not(.wp-block-button__link) {
	color: var(--color-brand-green);
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

.annad-prose a:not(.annad-btn):not(.wp-block-button__link):hover {
	text-decoration-thickness: 2px;
}

/* ---------- Grilles de cartes : 1 → 2 → 3 colonnes ---------- */

.annad-products,
.annad-posts,
.woocommerce ul.products:has(> .annad-card) {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Clearfix de woocommerce.css sur les listes produit : les pseudo-éléments deviendraient des cellules */
.annad-products::before,
.annad-products::after,
.woocommerce ul.products:has(> .annad-card)::before,
.woocommerce ul.products:has(> .annad-card)::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 40em) {
	.annad-products,
	.annad-posts,
	.woocommerce ul.products:has(> .annad-card) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64em) {
	.annad-products,
	.annad-posts,
	.woocommerce ul.products:has(> .annad-card) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2rem;
	}
}

.woocommerce ul.products li.product.annad-card {
	float: none;
	width: auto;
	margin: 0;
}

/* ---------- Archive produit : sous-catégories ----------
   Pastilles reprenant les pills de variation de la fiche (buybox.css) : contour, forme pilule. */

.annad-subcats {
	margin-bottom: 2rem;
}

.annad-subcats__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.annad-subcats__link {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding: 0.375rem 1.125rem;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	transition: border-color var(--transition), background-color var(--transition), color var(--transition);
}

.annad-subcats__link:hover {
	color: var(--color-on-brand-green);
	background-color: var(--color-brand-green);
	border-color: var(--color-brand-green);
}

.annad-subcats__link:focus-visible {
	outline: 2px solid var(--color-brand-green);
	outline-offset: 2px;
}

/* ---------- Archive produit : barre d'outils (notices, nombre de résultats, tri) ---------- */

.annad-shop__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.annad-shop__toolbar > .woocommerce-notices-wrapper {
	flex: 1 1 100%;
}

.annad-shop__toolbar > .woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce .annad-shop__toolbar .woocommerce-result-count,
.woocommerce .annad-shop__toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
}

.annad-shop__toolbar .woocommerce-result-count {
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

/* ---------- Champs : tri, recherche, formulaires Panier / Commande ---------- */

.annad-shop .orderby,
.search-form .search-field,
.annad-wc-page .input-text,
.annad-wc-page input[type="text"],
.annad-wc-page input[type="email"],
.annad-wc-page input[type="tel"],
.annad-wc-page input[type="number"],
.annad-wc-page input[type="password"],
.annad-wc-page select,
.annad-wc-page textarea {
	min-height: 2.75rem;
	padding: 0.5rem 0.875rem;
	font: inherit;
	color: var(--color-text);
	background-color: var(--annad-field-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--annad-btn-radius, var(--radius));
}

.annad-shop .orderby:focus-visible,
.search-form .search-field:focus-visible,
.annad-wc-page input:focus-visible,
.annad-wc-page select:focus-visible,
.annad-wc-page textarea:focus-visible {
	outline: 2px solid var(--color-brand-green);
	outline-offset: 2px;
}

/* Formulaire de recherche WordPress (search.php, 404.php) */
.annad-listing .search-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	max-width: 36rem;
	margin: 0 auto 2.5rem;
}

.annad-listing .search-form label {
	flex: 1 1 16rem;
}

.annad-listing .search-form .search-field {
	width: 100%;
}

/* Bouton d'envoi : habillage .annad-btn (buttons.css), le markup WordPress ne porte pas la classe */
.search-form .search-submit {
	min-height: 2.75rem;
	padding: 0.5rem 1.5rem;
	font-weight: 600;
	color: var(--annad-btn-color);
	background-color: var(--annad-btn-bg);
	border: 1px solid var(--annad-btn-border);
	border-radius: var(--annad-btn-radius);
	box-shadow: var(--annad-btn-shadow);
	transition: background-color var(--transition), box-shadow var(--transition);
}

.search-form .search-submit:hover {
	background-color: var(--annad-btn-bg-hover);
	box-shadow: var(--annad-btn-shadow-hover);
}

.search-form .search-submit:focus-visible {
	outline: 2px solid var(--color-brand-green);
	outline-offset: 3px;
}

/* ---------- Pagination : WooCommerce (.woocommerce-pagination) et WordPress (.annad-pagination) ---------- */

.woocommerce nav.woocommerce-pagination,
.annad-pagination {
	margin-top: 3rem;
	text-align: center;
}

.woocommerce nav.woocommerce-pagination ul,
.annad-pagination .nav-links {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	float: none;
	overflow: visible;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.annad-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.5rem 0.875rem;
	font-weight: 600;
	line-height: 1;
	color: inherit;
	text-decoration: none;
	background: none;
	border: 1px solid var(--color-border);
	border-radius: 999px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.annad-pagination a.page-numbers:hover {
	color: inherit;
	background-color: var(--color-surface-3);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.annad-pagination .page-numbers.current {
	color: var(--color-on-brand-green);
	background-color: var(--color-brand-green);
	border-color: var(--color-brand-green);
}

.annad-pagination .page-numbers.dots {
	border-color: transparent;
}

/* ---------- Recherche : liste sobre ---------- */

.annad-results {
	display: grid;
	gap: 1rem;
	max-width: var(--annad-reading-width);
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

/* ---------- Article seul ---------- */

.annad-single {
	/* Plus large que la largeur de lecture commune (48rem), qui reste celle des chapôs et des
	   pages de résultats : l'article porte des images et des tableaux qui respirent mal à 48rem. */
	max-width: var(--annad-article-width);
	margin-inline: auto;
	padding: 2.5rem var(--gutter) 4rem;
}

.annad-single__meta {
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	text-align: center;
	color: var(--color-text-muted);
}

.annad-single__media {
	margin: 0 0 2.5rem;
	overflow: hidden;
	border-radius: var(--radius-large);
}

.annad-single__media img {
	display: block;
	width: 100%;
	height: auto;
}

/* Corps de texte : échelle typographique de theme.json, Montserrat héritée */
.annad-prose {
	font-size: var(--wp--preset--font-size--moyen);
	line-height: 1.7;
	overflow-wrap: break-word;
}

.annad-prose > * + * {
	margin-top: 1.25em;
}

.annad-prose h2,
.annad-prose h3,
.annad-prose h4 {
	margin-top: 2em;
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 1.25;
}

.annad-prose h2 {
	font-size: var(--wp--preset--font-size--titre);
}

.annad-prose h3 {
	font-size: var(--wp--preset--font-size--grand);
}

.annad-prose ul,
.annad-prose ol {
	padding-left: 1.5em;
}

.annad-prose ul {
	list-style: disc;
}

.annad-prose ol {
	list-style: decimal;
}

.annad-prose blockquote {
	padding-left: 1.25rem;
	border-left: 3px solid var(--color-brand-green);
}

.annad-prose img,
.annad-prose figure {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-large);
}

.annad-single__nav {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-border);
}

.annad-single__nav .nav-links {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}

@media (min-width: 40em) {
	.annad-single__nav .nav-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.annad-single__nav .nav-next {
		grid-column: 2;
		text-align: right;
	}
}

.annad-single__nav a {
	color: inherit;
	font-weight: 600;
	text-decoration: none;
}

.annad-single__nav a:hover {
	text-decoration: underline;
}

.annad-single__nav-label {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--color-text-muted);
}

/* ---------- 404 ---------- */

.annad-404 {
	text-align: center;
}

.annad-404__text {
	max-width: var(--annad-reading-width);
	margin: 0 auto 1.5rem;
	font-size: var(--wp--preset--font-size--moyen);
}

.annad-404__actions {
	margin-bottom: 2.5rem;
}

/* ---------- Panier / Commande : finitions (page.php, .annad-wc-page) ----------
   Gabarits classiques (shortcodes : .shop_table, .cart_totals…) et blocs WooCommerce
   (.wp-block-woocommerce-cart / -checkout) : liens, lignes, boutons, carte des totaux. */

.annad-wc-page a:not(.annad-btn):not(.button):not(.wc-block-components-button) {
	color: inherit;
	text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
	text-underline-offset: 0.2em;
}

.annad-wc-page a:not(.annad-btn):not(.button):not(.wc-block-components-button):hover {
	text-decoration-color: currentColor;
}

.annad-wc-page table.shop_table {
	width: 100%;
	margin: 0 0 2rem;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
}

.annad-wc-page table.shop_table th,
.annad-wc-page table.shop_table td {
	padding: 1rem 0.75rem;
	text-align: left;
	vertical-align: middle;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--color-border);
}

.annad-wc-page table.shop_table thead th {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.annad-wc-page table.shop_table img {
	width: 4.5rem;
	height: auto;
	background-color: var(--color-surface-light);
	border-radius: var(--annad-btn-radius, var(--radius));
}

.annad-wc-page .product-name a {
	font-weight: 600;
	text-decoration: none;
}

/* Bouton de suppression (×) : discret, sans rouge par défaut */
.annad-wc-page a.remove {
	color: var(--color-text-muted) !important;
	font-weight: 400;
}

.annad-wc-page a.remove:hover {
	color: var(--color-on-brand-green) !important;
	background-color: var(--color-brand-green);
}

.annad-wc-page .quantity .qty {
	width: 4.5rem;
	text-align: center;
}

/* Boutons WooCommerce : habillage .annad-btn (buttons.css) ; action principale en vert Annad */
.annad-wc-page .button,
.annad-wc-page button.button,
.annad-wc-page input.button,
.annad-wc-page #place_order,
.annad-wc-page .wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.625rem 1.5rem;
	font-family: var(--font-body);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	color: var(--annad-btn-color);
	background-color: var(--annad-btn-bg);
	border: 1px solid var(--annad-btn-border);
	border-radius: var(--annad-btn-radius);
	box-shadow: var(--annad-btn-shadow);
	transition: background-color var(--transition), box-shadow var(--transition);
}

.annad-wc-page .button:hover,
.annad-wc-page #place_order:hover,
.annad-wc-page .wc-block-components-button:not(.is-link):hover {
	color: var(--annad-btn-color);
	background-color: var(--annad-btn-bg-hover);
	box-shadow: var(--annad-btn-shadow-hover);
}

.annad-wc-page .button:disabled,
.annad-wc-page .button[disabled] {
	opacity: 0.5;
}

.annad-wc-page .checkout-button,
.annad-wc-page #place_order,
.annad-wc-page .wc-block-cart__submit-button,
.annad-wc-page .wc-block-components-checkout-place-order-button {
	--annad-btn-color: var(--color-on-brand-green);
	--annad-btn-bg: var(--color-brand-green);
	--annad-btn-bg-hover: color-mix(in srgb, var(--color-brand-green) 88%, var(--color-surface-light));
	--annad-btn-border: var(--color-brand-green);
	width: 100%;
	font-size: 1.0625rem;
}

.annad-wc-page .button:focus-visible,
.annad-wc-page #place_order:focus-visible,
.annad-wc-page .wc-block-components-button:focus-visible {
	outline: 2px solid var(--color-brand-green);
	outline-offset: 3px;
}

/* Carte « Total panier » / récapitulatif de commande : surface-2 */
.annad-wc-page .cart_totals,
.annad-wc-page .woocommerce-checkout-review-order,
.annad-wc-page .wc-block-cart__sidebar,
.annad-wc-page .wc-block-checkout__sidebar {
	padding: 1.5rem;
	color: var(--color-on-surface);
	background-color: var(--color-surface-2);
	border-radius: var(--radius-large);
}

.annad-wc-page .cart_totals h2,
.annad-wc-page #order_review_heading,
.annad-wc-page .woocommerce-billing-fields h3,
.annad-wc-page .woocommerce-shipping-fields h3,
.annad-wc-page .woocommerce-additional-fields h3 {
	margin-bottom: 1rem;
	font-family: var(--font-heading);
	font-size: var(--wp--preset--font-size--grand);
	font-weight: 700;
}

.woocommerce .annad-wc-page .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
}

@media (min-width: 64em) {
	.woocommerce .annad-wc-page .cart-collaterals .cart_totals {
		width: 28rem;
		margin-left: auto;
	}
}

.annad-wc-page .cart_totals table.shop_table th,
.annad-wc-page .cart_totals table.shop_table td,
.annad-wc-page .woocommerce-checkout-review-order table.shop_table th,
.annad-wc-page .woocommerce-checkout-review-order table.shop_table td {
	padding-inline: 0;
}

/* Coupon */
.annad-wc-page .actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.woocommerce .annad-wc-page table.cart td.actions .coupon .input-text {
	width: auto;
	min-width: 10rem;
	margin: 0;
	padding: 0.5rem 0.875rem;
	border-color: var(--color-border);
}

/* Commande classique : formulaire */
.annad-wc-page .form-row {
	margin: 0 0 1rem;
}

.annad-wc-page .form-row label {
	display: block;
	margin-bottom: 0.375rem;
	font-weight: 600;
}

.annad-wc-page .input-text,
.annad-wc-page .form-row select {
	width: 100%;
}

.annad-wc-page .select2-container .select2-selection--single {
	min-height: 2.75rem;
	color: var(--color-text);
	background-color: var(--annad-field-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--annad-btn-radius, var(--radius));
}

.annad-wc-page .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 2.75rem;
	color: var(--color-text);
}

.annad-wc-page .select2-container .select2-selection--single .select2-selection__arrow {
	height: 2.75rem;
}

/* Moyens de paiement : fond gris clair de woocommerce.css remplacé par les surfaces du thème */
.woocommerce-checkout .annad-wc-page #payment {
	color: var(--color-on-surface);
	background-color: var(--color-surface-3);
	border-radius: var(--radius-large);
}

.woocommerce-checkout .annad-wc-page #payment ul.payment_methods {
	border-bottom-color: var(--color-border);
}

.woocommerce-checkout .annad-wc-page #payment div.payment_box {
	color: var(--color-on-surface);
	background-color: var(--color-surface-2);
}

.woocommerce-checkout .annad-wc-page #payment div.payment_box::before {
	border-bottom-color: var(--color-surface-2);
}

/* Notices WooCommerce : carte sombre, filet vert (mêmes rôles que les notices de Mon compte) */
.annad-wc-page .woocommerce-message,
.annad-wc-page .woocommerce-info,
.annad-wc-page .woocommerce-error {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	list-style: none;
	color: var(--color-on-surface);
	background-color: var(--color-surface-2);
	border: 0;
	border-left: 4px solid var(--color-brand-green);
	border-radius: var(--annad-btn-radius, var(--radius));
}

.annad-wc-page .woocommerce-message::before,
.annad-wc-page .woocommerce-info::before,
.annad-wc-page .woocommerce-error::before {
	display: none;
}

/* Blocs Panier / Commande : lignes et textes secondaires aux tokens */
.annad-wc-page .wc-block-components-product-name {
	font-weight: 600;
	color: inherit;
	text-decoration: none;
}

.annad-wc-page .wc-block-cart-items td,
.annad-wc-page .wc-block-cart-items th,
.annad-wc-page .wc-block-components-totals-item,
.annad-wc-page .wc-block-components-panel {
	border-color: var(--color-border);
}

.annad-wc-page .wc-block-components-text-input input,
.annad-wc-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.annad-wc-page .wc-blocks-components-select .wc-blocks-components-select__select {
	color: var(--color-text);
	background-color: var(--annad-field-bg);
	border-color: var(--color-border);
	border-radius: var(--annad-btn-radius, var(--radius));
}

.annad-wc-page .wc-block-components-text-input label,
.annad-wc-page .wc-blocks-components-select__label {
	/*color: var(--color-text-muted);*/
}

@media (prefers-reduced-motion: reduce) {
	.annad-subcats__link,
	.search-form .search-submit,
	.annad-wc-page .button,
	.annad-wc-page #place_order,
	.annad-wc-page .wc-block-components-button {
		transition: none;
	}
}
