/* ==========================================================================
   Nidéo — styles complémentaires à theme.json
   Mobile d'abord ; points de rupture : 782px (tablette), 1080px (bureau)
   ========================================================================== */

:root {
	--nideo-radius: 14px;
	--nideo-radius-lg: 22px;
	--nideo-shadow: 0 10px 30px rgba(31, 77, 51, 0.12);
	--nideo-card-bg: var(--wp--preset--color--surface);
	--nideo-focus: 2px solid var(--wp--preset--color--accent);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }

/* Focus visible et cohérent partout (AA) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: var(--nideo-focus);
	outline-offset: 3px;
}

/* Lien d'évitement */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	padding: 0.75rem 1rem;
	z-index: 100000;
}

/* ---------- Typo utilitaires ---------- */
.is-style-nideo-kicker,
.is-style-nideo-kicker a {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-dark);
	text-decoration: none;
}
.is-style-nideo-ornament::before {
	content: "";
	display: block;
	width: 64px;
	height: 24px;
	margin: 0 0 0.75rem;
	background: url("../images/ornament.svg") no-repeat center / contain;
}
.has-text-align-center.is-style-nideo-ornament::before { margin-inline: auto; }

/* ---------- Boutons ---------- */
.wp-block-button.is-style-nideo-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-nideo-outline .wp-block-button__link:hover,
.wp-block-button.is-style-nideo-outline .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
}
.nideo-btn-on-dark .wp-block-button__link {
	color: var(--wp--preset--color--surface) !important;
	border-color: var(--wp--preset--color--surface) !important;
}
.nideo-btn-on-dark .wp-block-button__link:hover { background: var(--wp--preset--color--surface) !important; color: var(--wp--preset--color--ink) !important; }
.nideo-btn-sun .wp-block-button__link { background: var(--wp--preset--color--wood) !important; border-color: var(--wp--preset--color--wood) !important; color: var(--wp--preset--color--ink) !important; }
.nideo-btn-sun .wp-block-button__link:hover { background: var(--wp--preset--color--surface) !important; border-color: var(--wp--preset--color--surface) !important; }

/* ---------- En-tête ---------- */
.nideo-topbar p { margin: 0; letter-spacing: 0.04em; }
.nideo-header { position: relative; border-bottom: 1px solid var(--wp--preset--color--line); }
.nideo-header__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
}
.nideo-header__row > * { margin-block: 0 !important; } /* annule l'espacement vertical du flux WordPress */
.nideo-header__brand .wp-block-site-title { margin: 0; line-height: 1; }
.nideo-header__brand .wp-block-site-title a { color: var(--wp--preset--color--ink); }

/* Logo : nom en Jost capitales espacées + pictogramme nichoir (SVG en masque, prend la couleur du texte) */
.wp-block-site-title a {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	margin-right: -0.3em; /* compense l'espacement après la dernière lettre */
}
.wp-block-site-title a::before {
	content: "";
	flex: none;
	width: 1.1em;
	height: 1.375em; /* ratio du pictogramme 24×30 */
	margin-top: -0.1em;
	background-color: var(--wp--preset--color--sage);
	-webkit-mask: url("../images/logo-nichoir.svg") no-repeat center / contain;
	mask: url("../images/logo-nichoir.svg") no-repeat center / contain;
}
.nideo-footer .wp-block-site-title a::before { background-color: currentColor; }
.wp-block-site-title a:hover::before { background-color: var(--wp--preset--color--accent); }
@media (max-width: 781px) {
	.nideo-header__brand .wp-block-site-title { font-size: 1.5rem !important; letter-spacing: 0.24em !important; }
}
.nideo-header__tagline { margin: 0.2rem 0 0 !important; letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.6875rem !important; }
.nideo-header__right { justify-content: flex-end; }
.nideo-header .wc-block-mini-cart__button,
.nideo-header .wc-block-customer-account a { color: var(--wp--preset--color--ink); }
.nideo-nav .wp-block-navigation-item__content { padding-block: 0.4rem; }
.nideo-nav .wp-block-navigation__container { row-gap: 0 !important; }
.nideo-search .wp-block-search__button {
	background: transparent; color: var(--wp--preset--color--ink);
	border: 0; padding: 0.4rem; margin: 0;
}
.nideo-search .wp-block-search__button:hover { color: var(--wp--preset--color--accent); background: transparent; }
.nideo-search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }
.nideo-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (min-width: 600px) { .nideo-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (min-width: 1080px) { .nideo-cat-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; } }
.nideo-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	padding: 0.5rem 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: var(--wp--preset--font-size--small);
	min-width: 16rem !important;
}
.nideo-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.45rem 1rem; }
.nideo-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }

/* Mobile : le bouton menu se place à gauche de la ligne logo ; recherche dans le menu */
@media (max-width: 781px) {
	.nideo-header__left { visibility: hidden; }
	.nideo-header__tagline { display: none; }
	/* Pas de transform ici : il casserait le positionnement fixe du menu plein écran. */
	.nideo-header > .nideo-nav {
		position: absolute;
		top: 0;
		bottom: 0;
		left: max(1rem, var(--wp--style--root--padding-left));
		margin: 0 !important;
		align-items: center;
	}
	.nideo-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
	.nideo-nav .is-menu-open .wp-block-navigation__container { gap: 0.75rem !important; font-size: var(--wp--preset--font-size--medium); }
	.nideo-nav-search { width: 100%; margin-bottom: 1rem; }
	.nideo-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .nideo-nav-search { display: none; }
}
@media (min-width: 782px) {
	.nideo-nav-search { display: none !important; }
	.nideo-header > .nideo-nav { margin-top: 0.85rem !important; }
}

/* ---------- Hero : vidéo plein écran sous un voile vert, fondu vers la page ---------- */
.nideo-hero { padding-block: var(--wp--preset--spacing--60) !important; }
.nideo-hero .wp-block-cover__video-background { object-position: center 45%; }
.nideo-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(90deg, rgba(20, 48, 32, 0.9) 0%, rgba(20, 48, 32, 0.68) 38%, rgba(20, 48, 32, 0.12) 75%, rgba(20, 48, 32, 0) 100%) !important;
}
.nideo-hero::after { /* fondu vers le fond crème de la page */
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(251, 246, 236, 0), var(--wp--preset--color--base));
}
.nideo-hero .wp-block-cover__inner-container { z-index: 2; }
.nideo-hero__kicker {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	background: rgba(246, 192, 78, 0.18);
	color: var(--wp--preset--color--wood);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.nideo-hero h1 { margin-top: 0.5rem; text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25); }
@media (max-width: 781px) {
	/* Sur mobile le texte occupe toute la largeur : voile plus uniforme pour garder le contraste AA */
	.nideo-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(20, 48, 32, 0.4) 0%, rgba(20, 48, 32, 0.8) 100%) !important; }
}

/* ---------- Sections ---------- */
.nideo-promise h2, .nideo-section h2, .nideo-steps h2 { margin-top: 0; }

.nideo-cat-card { position: relative; gap: 0; border-radius: var(--nideo-radius-lg); overflow: hidden; box-shadow: var(--nideo-shadow); }
.nideo-cat-card .wp-block-image { margin: 0; width: 100%; }
.nideo-cat-card img { display: block; width: 100% !important; height: auto !important; transition: transform 0.5s ease; }
.nideo-cat-card:hover img { transform: scale(1.06); }
.nideo-cat-card__label {
	position: absolute; left: 0; right: 0; bottom: 0; margin: 0;
	padding: 2.75rem 1rem 0.9rem;
	background: linear-gradient(180deg, rgba(20, 48, 32, 0) 0%, rgba(20, 48, 32, 0.82) 100%);
	font-weight: 700; font-size: var(--wp--preset--font-size--small); line-height: 1.25; text-align: left !important;
}
.nideo-cat-card__label a { text-decoration: none; color: var(--wp--preset--color--surface); }
.nideo-cat-card__label a::before { content: "→ "; color: var(--wp--preset--color--wood); }
.nideo-cat-card__label a::after { content: ""; position: absolute; inset: 0; }

.nideo-step__num {
	width: 3rem; height: 3rem; margin-inline: auto !important;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--wood);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--ink);
}

.nideo-checklist { list-style: none; padding-left: 0; }
.nideo-checklist li { padding-left: 1.75rem; position: relative; margin-bottom: 0.4rem; }
.nideo-checklist li::before {
	content: ""; position: absolute; left: 0; top: 0.45em;
	width: 1rem; height: 0.55rem;
	border-left: 2px solid var(--wp--preset--color--sage);
	border-bottom: 2px solid var(--wp--preset--color--sage);
	transform: rotate(-45deg);
}

/* ---------- Cartes produit ---------- */
/* Les photos produit sont sur fond blanc (exigé par Google Shopping) : le mode « multiply » sur un fond crème
   rend le blanc identique au fond de la page sans modifier les fichiers. */
.nideo-product-grid { gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important; }
.nideo-products .nideo-product-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (min-width: 1080px) { .nideo-products .nideo-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.nideo-products .nideo-product-grid > li { width: auto !important; max-width: none !important; margin: 0 !important; }
.nideo-product-grid > li { display: flex; flex-direction: column; gap: 0.4rem; }
.nideo-card__image { background: var(--wp--preset--color--base); border-radius: var(--nideo-radius-lg); overflow: hidden; margin-bottom: 0.5rem !important; }
.nideo-card__image img { mix-blend-mode: multiply; filter: brightness(1.03); transition: transform 0.4s ease; } /* brightness : ramène les fonds blanc cassé au blanc */
.nideo-product-grid > li:hover .nideo-card__image img { transform: scale(1.04); }
.nideo-card__title { font-weight: 600; font-size: var(--wp--preset--font-size--medium) !important; margin: 0 !important; line-height: 1.3; letter-spacing: -0.01em; }
.nideo-card__title a { text-decoration: none; }
.nideo-card__price { margin: 0 !important; color: var(--wp--preset--color--sage-dark); font-weight: 700 !important; }
.nideo-card__button { margin-top: auto !important; }
.nideo-card__button .wp-block-button__link,
.nideo-card__button .wc-block-components-product-button__button {
	background: transparent !important;
	color: var(--wp--preset--color--sage-dark) !important;
	border: 2px solid var(--wp--preset--color--sage-dark) !important;
	border-radius: 999px !important;
	text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important;
	width: 100%;
}
.nideo-card__button .wc-block-components-product-button__button:hover { background: var(--wp--preset--color--sage-dark) !important; color: var(--wp--preset--color--surface) !important; }

/* Catalogue + filtres */
.nideo-catalog__bar { margin-bottom: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); }
.nideo-catalog__filters h3 { text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; margin-top: 1.5rem; }
.wc-block-product-filters { font-size: var(--wp--preset--font-size--small); }
@media (min-width: 782px) {
	.nideo-catalog__filters { position: sticky; top: 1rem; align-self: flex-start; }
}

/* ---------- Fiche produit ---------- */
.nideo-product__top { margin-top: var(--wp--preset--spacing--30); }
.nideo-product__summary h1 { margin-top: 0.25rem; }
.nideo-product__summary .wc-block-components-product-price { color: var(--wp--preset--color--ink); }
.nideo-price-notice { margin: 0 !important; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }
.nideo-short-description ul { padding-left: 1.2rem; }
.nideo-short-description li { margin-bottom: 0.25rem; }

.nideo-delivery {
	display: flex; gap: 0.75rem; align-items: flex-start;
	padding: 0.9rem 1rem;
	background: var(--wp--preset--color--mint);
	border-radius: var(--nideo-radius);
	font-size: var(--wp--preset--font-size--small);
}
.nideo-delivery svg { flex: none; margin-top: 0.15rem; }
.nideo-delivery p { margin: 0; }

.nideo-product .wc-block-add-to-cart-form .single_add_to_cart_button,
.nideo-product .wc-block-add-to-cart-form button[type="submit"] {
	background: var(--wp--preset--color--sage-dark);
	color: var(--wp--preset--color--surface);
	border: 0; border-radius: 999px;
	padding: 1rem 2.25rem;
	font-size: var(--wp--preset--font-size--medium); font-weight: 700;
	cursor: pointer;
}
.nideo-product .wc-block-add-to-cart-form .single_add_to_cart_button:hover { background: var(--wp--preset--color--forest); }
.nideo-product .wc-block-add-to-cart-form .quantity input { min-height: 3rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; }

/* Galerie de la fiche produit : fond blanc des photos fondu dans le crème */
.woocommerce-product-gallery__wrapper, .woocommerce-product-gallery .flex-viewport { background: var(--wp--preset--color--base); border-radius: var(--nideo-radius-lg); overflow: hidden; }
.woocommerce-product-gallery__image img, .woocommerce-product-gallery .flex-control-thumbs img { mix-blend-mode: multiply; filter: brightness(1.03); }
.woocommerce-product-gallery .flex-control-thumbs li { background: var(--wp--preset--color--base); border-radius: var(--nideo-radius); overflow: hidden; }

.nideo-demo-badge {
	display: inline-block; padding: 0.2rem 0.6rem;
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--surface);
	font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: 0.12em;
}

.nideo-product__details { margin-top: var(--wp--preset--spacing--50); }
.nideo-sections details { border-bottom: 1px solid var(--wp--preset--color--line); }
.nideo-sections details:first-child { border-top: 1px solid var(--wp--preset--color--line); }
.nideo-sections summary {
	cursor: pointer; list-style: none;
	padding: 1.1rem 2rem 1.1rem 0; position: relative;
	font-weight: 700; font-size: var(--wp--preset--font-size--large);
}
.nideo-sections summary::-webkit-details-marker { display: none; }
.nideo-sections summary::after {
	content: "+"; position: absolute; right: 0.25rem; top: 50%; transform: translateY(-50%);
	font-size: 1.5rem; color: var(--wp--preset--color--sage-dark);
}
.nideo-sections details[open] > summary::after { content: "–"; }
.nideo-sections .nideo-sections__body { padding: 0 0 1.5rem; }

.nideo-specs { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.nideo-specs th, .nideo-specs td { text-align: left; padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.nideo-specs th { width: 42%; font-weight: 600; background: var(--wp--preset--color--sand); }

.nideo-faq dt { font-weight: 600; margin-top: 1rem; }
.nideo-faq dd { margin: 0.25rem 0 0; color: var(--wp--preset--color--muted); }

.nideo-gpsr {
	margin-top: var(--wp--preset--spacing--40);
	border-radius: var(--nideo-radius-lg);
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--small);
}
.nideo-gpsr h2 { font-size: var(--wp--preset--font-size--large); margin-top: 0; }
.nideo-gpsr__grid { display: grid; gap: 1rem 2rem; grid-template-columns: 1fr; }
@media (min-width: 782px) { .nideo-gpsr__grid { grid-template-columns: 1fr 1fr; } }
.nideo-gpsr h3 { font-size: var(--wp--preset--font-size--x-small); text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; margin: 0 0 0.35rem; }
.nideo-gpsr p, .nideo-gpsr address { margin: 0; font-style: normal; }
.nideo-weee { display: flex; gap: 1rem; align-items: flex-start; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--line); }
.nideo-weee svg { flex: none; }

/* Produits associés (ventes croisées / montées en gamme) */
.nideo-related { margin-top: var(--wp--preset--spacing--50); }
.nideo-related h2 { text-align: center; }
.nideo-related__grid { list-style: none; padding: 0; display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 782px) { .nideo-related__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nideo-related__item { display: flex; flex-direction: column; gap: 0.4rem; text-align: center; position: relative; }
.nideo-related__item img { background: var(--wp--preset--color--base); mix-blend-mode: multiply; border-radius: var(--nideo-radius-lg); aspect-ratio: 1; object-fit: cover; width: 100%; }
.nideo-related__item h3 { font-size: var(--wp--preset--font-size--medium); font-weight: 600; margin: 0.5rem 0 0; }
.nideo-related__item h3 a { text-decoration: none; }
.nideo-related__item h3 a::after { content: ""; position: absolute; inset: 0; }
.nideo-related__item .price { font-size: var(--wp--preset--font-size--small); }

/* ---------- Réassurance ---------- */
.nideo-reassurance { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 600px) { .nideo-reassurance { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .nideo-reassurance { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.nideo-reassurance a { text-decoration: none; }
.nideo-reassurance a:hover { text-decoration: underline; }
.nideo-reassurance li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.4rem; font-size: var(--wp--preset--font-size--small); }
.nideo-reassurance strong { font-weight: 700; font-size: var(--wp--preset--font-size--medium); }
.nideo-reassurance span { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.nideo-reassurance svg { color: var(--wp--preset--color--sage); }
.nideo-reassurance--compact { grid-template-columns: 1fr 1fr !important; gap: 0.6rem; margin-top: 1.25rem; }
.nideo-reassurance--compact li { flex-direction: row; text-align: left; align-items: center; gap: 0.6rem; }
.nideo-reassurance--compact strong { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; }
.nideo-reassurance--compact span { display: none; }

/* ---------- Avis ---------- */
.nideo-reviews__grid { display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: 1fr; list-style: none; padding: 0; }
@media (min-width: 782px) { .nideo-reviews__grid { grid-template-columns: repeat(3, 1fr); } }
.nideo-reviews__grid li { background: var(--wp--preset--color--surface); padding: var(--wp--preset--spacing--30); border-radius: var(--nideo-radius-lg); box-shadow: var(--nideo-shadow); }
.nideo-stars { color: var(--wp--preset--color--accent); letter-spacing: 0.1em; }
.nideo-verified { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--sage-dark); font-weight: 600; }

/* ---------- Formulaires ---------- */
.nideo-form { display: grid; gap: 1rem; }
.nideo-form label { display: block; font-weight: 600; font-size: var(--wp--preset--font-size--small); margin-bottom: 0.3rem; }
.nideo-form input[type="text"], .nideo-form input[type="email"], .nideo-form input[type="date"], .nideo-form textarea, .nideo-form select,
.wp-block-search__input {
	width: 100%; padding: 0.75rem 0.9rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid #a9ad9c; border-radius: 12px;
	font: inherit; color: var(--wp--preset--color--ink);
}
.nideo-form .nideo-check { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; }
.nideo-form .nideo-check input { margin-top: 0.3rem; }
.nideo-form button {
	justify-self: start;
	background: var(--wp--preset--color--sage-dark); color: var(--wp--preset--color--surface);
	border: 0; border-radius: 999px; padding: 0.9rem 1.75rem; cursor: pointer;
	font-size: var(--wp--preset--font-size--small); font-weight: 700;
}
.nideo-form button:hover { background: var(--wp--preset--color--forest); }
.nideo-form .nideo-hp { position: absolute; left: -9999px; }
.nideo-form small { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.nideo-notice { padding: 0.9rem 1rem; border-left: 4px solid var(--wp--preset--color--sage); border-radius: var(--nideo-radius); background: var(--wp--preset--color--mint); }
.nideo-notice--error { border-color: #A3261B; }
.nideo-newsletter .nideo-form--inline { grid-template-columns: 1fr; }
@media (min-width: 600px) {
	.nideo-newsletter .nideo-form--inline .nideo-form__row { display: flex; gap: 0.5rem; }
	.nideo-newsletter .nideo-form--inline .nideo-form__row > div { flex: 1; }
	.nideo-newsletter .nideo-form--inline button { align-self: end; }
}
.nideo-newsletter .nideo-form label.nideo-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Pages de contenu / légales ---------- */
.nideo-breadcrumbs { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }
.nideo-breadcrumbs a { color: inherit; }
.nideo-todo { background: #FFF3CD; color: #5C4400; padding: 0 0.25em; border-radius: 2px; }
.nideo-company { font-style: normal; }
.nideo-company p { margin: 0 0 0.25rem; }
.nideo-legal-box { padding: 1.25rem; border-radius: var(--nideo-radius); background: var(--wp--preset--color--mint); }
.nideo-cat-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; list-style: none; padding: 0; }
.nideo-cat-pills a { display: inline-block; padding: 0.4rem 1rem; border-radius: 999px; background: var(--wp--preset--color--mint); text-decoration: none; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.nideo-cat-pills a:hover { background: var(--wp--preset--color--sage-dark); color: var(--wp--preset--color--surface); }

/* Articles */
.nideo-posts .wp-block-post-featured-image { margin-bottom: 0.75rem; background: var(--wp--preset--color--sand); border-radius: var(--nideo-radius-lg); overflow: hidden; }
.nideo-posts .wp-block-post-title a { text-decoration: none; }
.nideo-posts .wp-block-post-title { margin: 0.25rem 0; }
.nideo-posts .wp-block-post-terms { margin: 0; }

/* ---------- Pied de page ---------- */
.nideo-footer .wp-block-site-title a { color: var(--wp--preset--color--base); }
.nideo-footer__title {
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 700 !important; letter-spacing: 0.14em; text-transform: uppercase;
}
.nideo-footer__links { list-style: none; padding: 0; }
.nideo-footer__links li { margin-bottom: 0.45rem; }
.nideo-footer a { text-decoration: none; }
.nideo-footer a:hover, .nideo-footer a:focus-visible { text-decoration: underline; color: var(--wp--preset--color--wood); }
.nideo-footer :focus-visible { outline-color: var(--wp--preset--color--wood); }
.nideo-footer .nideo-company { opacity: 0.95; }
.nideo-footer .cmplz-manage-consent, .nideo-footer .nideo-cookie-link {
	background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; text-decoration: none;
}

/* ---------- WooCommerce : panier / commande ---------- */
.wc-block-components-button:not(.is-link) {
	background: var(--wp--preset--color--sage-dark);
	color: var(--wp--preset--color--surface);
	border-radius: 999px;
	font-weight: 700;
}
.wc-block-components-button:not(.is-link):hover { background: var(--wp--preset--color--forest); }
/* Vignettes du panier et de la commande fondues dans le fond */
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img, .wc-block-mini-cart__products-table img { mix-blend-mode: multiply; }

/* Sections de l'accueil */
.nideo-split img { border-radius: var(--nideo-radius-lg); box-shadow: var(--nideo-shadow); }
.nideo-steps .nideo-step { background: var(--wp--preset--color--surface); border-radius: var(--nideo-radius-lg); padding: var(--wp--preset--spacing--30); box-shadow: 0 4px 18px rgba(31, 77, 51, 0.06); }
.nideo-checkout-notice { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }

/* Curseur de prix : rester dans la colonne des filtres */
.nideo-catalog__filters { min-width: 0; }
.nideo-catalog__filters .wc-block-product-filter-price-slider { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.nideo-catalog__filters .wc-block-product-filter-price-slider__range { width: 100%; min-width: 0; flex: 1 1 100%; }
.nideo-catalog__filters .wc-block-product-filter-price-slider__left,
.nideo-catalog__filters .wc-block-product-filter-price-slider__right { flex: 1 1 0; min-width: 0; }
.nideo-catalog__filters .wc-block-product-filter-price-slider input.min,
.nideo-catalog__filters .wc-block-product-filter-price-slider input.max { width: 100%; }
.nideo-catalog__filters .wp-block-woocommerce-product-filter-price-slider input[type="text"] { min-width: 0; max-width: 100%; box-sizing: border-box; }

/* La galerie WooCommerce est masquée (opacity:0) jusqu'au chargement de jQuery : on l'affiche
   immédiatement pour ne pas retarder l'élément LCP de la fiche produit. */
.woocommerce-product-gallery { opacity: 1 !important; }

/* Menu mobile ouvert : liste simple, alignée à gauche */
.nideo-nav .is-menu-open .wp-block-navigation__container,
.nideo-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.nideo-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important; background: transparent !important;
	padding: 0.25rem 0 0.5rem 1rem !important; min-width: 0 !important;
	font-size: var(--wp--preset--font-size--small);
}
.nideo-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.35rem 0; }
.nideo-nav .wp-block-search__input { text-transform: none; letter-spacing: 0; }

/* ---------- Panier et commande (blocs WooCommerce) aux couleurs du site ---------- */
.wc-block-components-product-metadata__description { display: none; } /* extrait tronqué de la description courte */
.wc-block-components-product-name { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ink); }
.wc-block-components-product-name:hover { color: var(--wp--preset--color--accent-dark); }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: var(--nideo-radius); background: var(--wp--preset--color--base); }
.wc-block-components-quantity-selector { border-radius: 999px !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { border-radius: 999px !important; border-color: var(--wp--preset--color--line) !important; }

/* Encadrés récapitulatifs */
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--wp--preset--color--surface);
	border: 0 !important;
	border-radius: var(--nideo-radius-lg);
	box-shadow: var(--nideo-shadow);
	padding: 0.5rem 1.25rem 1.25rem;
}
.wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text { font-weight: 700 !important; text-transform: none !important; font-size: var(--wp--preset--font-size--large) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 700; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--forest); }
.wc-block-components-totals-shipping .wc-block-components-totals-item__value,
.wc-block-components-totals-shipping strong { color: var(--wp--preset--color--sage-dark); }

/* Titres d'étapes */
.wc-block-components-checkout-step__title, .wc-block-components-title.wc-block-components-title { font-weight: 700 !important; font-size: var(--wp--preset--font-size--large) !important; }

/* Champs */
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea, .wc-block-components-totals-coupon input {
	border-radius: 12px !important;
	border: 1px solid #c9c2b1 !important;
	background: var(--wp--preset--color--surface) !important;
}
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus { border-color: var(--wp--preset--color--sage-dark) !important; box-shadow: 0 0 0 1px var(--wp--preset--color--sage-dark) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-radius: 6px; border-color: #a9ad9c; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--wp--preset--color--sage-dark); border-color: var(--wp--preset--color--sage-dark); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--surface); }

/* Options de livraison et de paiement : cartes arrondies, option choisie en vert */
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option {
	border-radius: 14px !important;
}
.wc-block-components-radio-control--highlight-checked { background: var(--wp--preset--color--surface); box-shadow: none !important; border: 1px solid var(--wp--preset--color--line) !important; }
.wc-block-components-radio-control--highlight-checked::after { border-radius: 14px !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--sage-dark) !important;
	background: var(--wp--preset--color--mint);
}
.wc-block-components-radio-control__input:checked { border-color: var(--wp--preset--color--sage-dark) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--wp--preset--color--sage-dark) !important; }

/* Bouton de commande plus visible */
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { min-height: 3.4rem; font-size: var(--wp--preset--font-size--medium) !important; }

/* Messages (ajout au panier, erreurs) */
.wc-block-components-notice-banner { border-radius: var(--nideo-radius) !important; border: 0 !important; }
.wc-block-components-notice-banner.is-success { background: var(--wp--preset--color--mint) !important; }
.wc-block-components-notice-banner.is-success > svg { background: var(--wp--preset--color--sage-dark) !important; }
.wc-block-components-notice-banner .wc-forward { color: var(--wp--preset--color--sage-dark) !important; font-weight: 600; }
.woocommerce-message, .woocommerce-info { border-radius: var(--nideo-radius); border-top-color: var(--wp--preset--color--sage) !important; background: var(--wp--preset--color--mint); }

/* Mini-panier (tiroir) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-weight: 700; }
.wc-block-mini-cart__badge { background: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--surface) !important; }
.wc-block-mini-cart__footer-actions .wc-block-components-button.outlined { background: transparent; color: var(--wp--preset--color--sage-dark); box-shadow: inset 0 0 0 2px var(--wp--preset--color--sage-dark); }
.wc-block-mini-cart__footer-actions .wc-block-components-button.outlined:hover { background: var(--wp--preset--color--sage-dark); color: var(--wp--preset--color--surface); }

/* ---------- Formulaires WooCommerce classiques (compte, suivi de commande, variantes) ---------- */
.woocommerce form .input-text, .woocommerce form select, .woocommerce-page form .input-text,
.woocommerce div.product form.cart .variations select, .wc-block-add-to-cart-form .variations select {
	width: 100%; padding: 0.7rem 0.9rem; min-height: 2.9rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid #c9c2b1; border-radius: 12px;
	font: inherit; color: var(--wp--preset--color--ink);
}
.woocommerce form .input-text:focus, .woocommerce form select:focus { border-color: var(--wp--preset--color--sage-dark); outline: 2px solid var(--wp--preset--color--sage-dark); outline-offset: 0; }
.woocommerce form.login, .woocommerce form.register {
	border: 0 !important; border-radius: var(--nideo-radius-lg) !important;
	background: var(--wp--preset--color--surface); box-shadow: var(--nideo-shadow); padding: 1.5rem !important;
}
.woocommerce .woocommerce-form-login__submit, .woocommerce .woocommerce-form-register__submit, .woocommerce form.track_order button { border-radius: 999px; }
.woocommerce form.track_order { max-width: 34rem; }
.woocommerce form.track_order > p:first-child { display: none; } /* consigne déjà donnée en tête de page */
.woocommerce form.track_order .form-row-first, .woocommerce form.track_order .form-row-last { width: 100%; float: none; }
.woocommerce form.track_order label { font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 0.25rem; }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.55rem 1rem; border-radius: 999px; text-decoration: none; font-weight: 600; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); }
.checkout-order-summary-block-fill { border-radius: var(--nideo-radius-lg) !important; background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--line) !important; }

/* ---------- Offre groupée (fiche produit) ---------- */
.nideo-bundle {
	margin: 1.25rem 0 0; padding: 1rem 1.1rem 1.1rem;
	border: 0; border-radius: var(--nideo-radius-lg);
	background: var(--wp--preset--color--sun-light);
	width: 100%;
}
.nideo-bundle__title { float: left; width: 100%; padding: 0; font-weight: 700; font-size: var(--wp--preset--font-size--medium); margin-bottom: 0.6rem; }
.nideo-bundle__title span { font-weight: 400; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nideo-bundle__item {
	display: grid; grid-template-columns: auto 56px 1fr; grid-template-areas: "check img name" "check img prices";
	align-items: center; column-gap: 0.8rem; row-gap: 0.15rem;
	padding: 0.6rem 0.75rem; margin-top: 0.5rem; clear: both;
	background: var(--wp--preset--color--surface); border-radius: var(--nideo-radius);
	border: 2px solid transparent; cursor: pointer; transition: border-color 0.2s ease;
}
.nideo-bundle__item:has(input:checked) { border-color: var(--wp--preset--color--sage-dark); }
.nideo-bundle__item input { grid-area: check; width: 1.25rem; height: 1.25rem; accent-color: var(--wp--preset--color--sage-dark); }
.nideo-bundle__img { grid-area: img; width: 56px !important; height: 56px !important; object-fit: contain; border-radius: 10px; background: var(--wp--preset--color--base); mix-blend-mode: multiply; }
.nideo-bundle__name { grid-area: name; font-size: var(--wp--preset--font-size--small); font-weight: 600; line-height: 1.3; align-self: end; }
.nideo-bundle__prices { grid-area: prices; font-size: var(--wp--preset--font-size--small); align-self: start; }
.nideo-bundle__prices strong { color: var(--wp--preset--color--sage-dark); }
.nideo-bundle__regular { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.nideo-bundle__saving { display: inline-block; margin-left: 0.25rem; padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--x-small); font-weight: 700; }

/* ---------- Menu mobile ouvert : liens illustrés, réassurance et aide ---------- */
.nideo-menu-extra { display: none; }
@media (max-width: 781px) {
	.nideo-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0.5rem; }
	.nideo-nav .is-menu-open .wp-block-navigation__container { gap: 0.5rem !important; width: 100%; }
	.nideo-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
	.nideo-nav .is-menu-open .wp-block-navigation-item__content {
		display: flex !important; align-items: center; gap: 0.9rem; width: 100%; box-sizing: border-box;
		padding: 0.45rem 0.6rem !important; border-radius: var(--nideo-radius);
		background: var(--wp--preset--color--surface);
		text-transform: none; letter-spacing: 0; font-weight: 700; font-size: var(--wp--preset--font-size--medium);
	}
	.nideo-nav .is-menu-open .wp-block-navigation-item__content::before {
		content: ""; flex: none; width: 52px; height: 52px; border-radius: 12px;
		background: var(--wp--preset--color--sand) center / cover no-repeat;
	}
	.nideo-nav .is-menu-open .wp-block-navigation-item__content::after { content: "→"; margin-left: auto; color: var(--wp--preset--color--sage-dark); }
	.nideo-nav .is-menu-open .nideo-nav-nichoirs > a::before { background-image: url("../images/cat-nichoirs.webp?v=2"); }
	.nideo-nav .is-menu-open .nideo-nav-cameras > a::before { background-image: url("../images/cat-cameras.webp?v=2"); }
	.nideo-nav .is-menu-open .nideo-nav-mangeoires > a::before { background-image: url("../images/cat-mangeoires.webp?v=2"); }
	.nideo-nav .is-menu-open .nideo-nav-accessoires > a::before { background-image: url("../images/cat-solaires.webp?v=2"); }
	.nideo-nav .is-menu-open .nideo-nav-guides > a::before { background-image: url("../images/camera-nichoir.webp?v=2"); }

	.nideo-nav .is-menu-open .nideo-menu-extra { display: block; width: 100%; box-sizing: border-box; margin-top: 1.5rem; text-transform: none; letter-spacing: 0; }
	.nideo-menu-perks { list-style: none; margin: 0; padding: 0.9rem 1rem; display: grid; gap: 0.7rem; border-radius: var(--nideo-radius-lg); background: var(--wp--preset--color--mint); }
	.nideo-menu-perks li { display: flex; align-items: center; gap: 0.75rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
	.nideo-menu-perks svg { flex: none; color: var(--wp--preset--color--sage-dark); }
	.nideo-menu-perks strong { display: block; color: var(--wp--preset--color--ink); }
	.nideo-menu-extra__title { margin: 1.4rem 0 0.5rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--accent-dark); }
	.nideo-menu-help { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
	.nideo-menu-help a { display: block; padding: 0.6rem 0.8rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); text-align: center; text-decoration: none; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
	.nideo-menu-extra__mail { margin: 1.2rem 0 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
}

/* ---------- Catalogue : tri et filtres aux couleurs du site ---------- */
.nideo-catalog__filters .wp-block-woocommerce-product-filters {
	padding: 1.25rem 1.25rem 1.5rem; border-radius: var(--nideo-radius-lg);
	background: var(--wp--preset--color--surface); box-shadow: 0 4px 18px rgba(31, 77, 51, 0.06);
}
.nideo-catalog__filters .wp-block-woocommerce-product-filters > h2 { margin-top: 0; }
.nideo-catalog__filters h3 { color: var(--wp--preset--color--forest); font-size: var(--wp--preset--font-size--x-small) !important; padding-top: 1.1rem; border-top: 1px solid var(--wp--preset--color--line); }

/* Sans filtre actif, le bloc masqué ne doit laisser ni trou ni filet sous le titre « Filtrer » */
.wp-block-woocommerce-product-filter-active.wc-block-product-filter--hidden { display: none; }
.wc-block-product-filter--hidden + .wp-block-woocommerce-product-filter-price h3 { margin-top: 0.75rem; padding-top: 0; border-top: 0; }

/* Curseur de prix */
.wc-block-product-filter-price-slider__range { color: var(--wp--preset--color--sage-dark); --track-background: var(--wp--preset--color--line); }
.wc-block-product-filter-price-slider__range { height: 6px !important; border-radius: 999px; background: var(--wp--preset--color--line); }
.wc-block-product-filter-price-slider__range .range-bar { background: transparent !important; }
.wc-block-product-filter-price-slider__range::before { height: 6px !important; border-radius: 999px; background: var(--wp--preset--color--sage-dark) !important; }
.wc-block-product-filter-price-slider__range input[type="range"]::-webkit-slider-thumb {
	width: 20px; height: 20px; border-radius: 50%; cursor: pointer;
	background: var(--wp--preset--color--surface); border: 3px solid var(--wp--preset--color--sage-dark);
	box-shadow: 0 2px 6px rgba(31, 77, 51, 0.25);
}
.wc-block-product-filter-price-slider__range input[type="range"]::-moz-range-thumb {
	width: 16px; height: 16px; border-radius: 50%; cursor: pointer;
	background: var(--wp--preset--color--surface); border: 3px solid var(--wp--preset--color--sage-dark);
}
.nideo-catalog__filters .wp-block-woocommerce-product-filter-price-slider input[type="text"] {
	padding: 0.45rem 0.7rem; border-radius: 999px; text-align: center;
	border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--base);
	font: inherit; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--ink);
}

/* Cases à cocher */
.wc-block-product-filter-checkbox-list__items { border: 0 !important; padding: 0 !important; display: grid; gap: 0.35rem; }
.wc-block-product-filter-checkbox-list__label { display: flex; align-items: center; gap: 0.6rem; cursor: pointer; }
.wc-block-product-filter-checkbox-list__input-wrapper { position: relative; display: inline-grid; place-items: center; }
.wp-block-woocommerce-product-filter-checkbox-list fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wc-block-product-filter-checkbox-list__input-wrapper::before { display: none !important; }
.wc-block-product-filter-checkbox-list__input.wc-block-product-filter-checkbox-list__input {
	appearance: none; -webkit-appearance: none; margin: 0;
	width: 1.2rem !important; height: 1.2rem !important; border-radius: 6px !important;
	border: 2px solid #b8b29f !important; background: var(--wp--preset--color--surface) !important; cursor: pointer;
}
.wc-block-product-filter-checkbox-list__input.wc-block-product-filter-checkbox-list__input:checked { background: var(--wp--preset--color--sage-dark) !important; border-color: var(--wp--preset--color--sage-dark) !important; }
.wc-block-product-filter-checkbox-list__mark { position: absolute; width: 0.7rem; color: var(--wp--preset--color--surface); pointer-events: none; }
.wc-block-product-filter-checkbox-list__count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }

/* Filtres actifs */
.wc-block-product-filter-removable-chips__item {
	border-radius: 999px !important; background: var(--wp--preset--color--mint) !important; border: 0 !important;
	padding: 0.25rem 0.4rem 0.25rem 0.85rem !important; font-weight: 600; color: var(--wp--preset--color--forest);
}
.wc-block-product-filter-removable-chips__remove { color: var(--wp--preset--color--sage-dark); }

/* Barre de résultats et tri */
.nideo-catalog__bar { align-items: center; }
.nideo-catalog__bar .woocommerce-result-count { margin: 0; color: var(--wp--preset--color--muted); }
.wc-block-catalog-sorting select.orderby {
	appearance: none; -webkit-appearance: none;
	padding: 0.6rem 2.6rem 0.6rem 1.1rem; border-radius: 999px; cursor: pointer;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%232E7443' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
	font: inherit; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--ink);
	box-shadow: 0 2px 10px rgba(31, 77, 51, 0.06);
}
.wc-block-catalog-sorting select.orderby:hover { border-color: var(--wp--preset--color--sage-dark); }

/* Rayons d'une catégorie (panneau de gauche ; pastilles sur mobile) */
.nideo-rayons {
	margin-bottom: var(--wp--preset--spacing--30); padding: 1.25rem 0.75rem 0.75rem; border-radius: var(--nideo-radius-lg);
	background: var(--wp--preset--color--surface); box-shadow: 0 4px 18px rgba(31, 77, 51, 0.06);
}
.nideo-rayons__title { margin: 0 0 0.6rem 0.5rem; }
.nideo-rayons ul { display: grid; gap: 0.15rem; margin: 0; padding: 0; list-style: none; }
.nideo-rayons__link {
	display: flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.5rem; border-radius: var(--nideo-radius);
	color: var(--wp--preset--color--ink); font-size: var(--wp--preset--font-size--small); font-weight: 500; line-height: 1.25; text-decoration: none;
	transition: background-color 0.15s ease;
}
.nideo-rayons__link:hover { background: var(--wp--preset--color--sand); }
.nideo-rayons__link[aria-current="page"] { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); font-weight: 700; }
.nideo-rayons__thumb {
	display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; overflow: hidden; isolation: isolate;
	border-radius: 10px; background: var(--wp--preset--color--base); color: var(--wp--preset--color--sage-dark);
}
.nideo-rayons__thumb img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; filter: brightness(1.03); }
.nideo-rayons__name { flex: 1; min-width: 0; }
.nideo-rayons__count { flex: none; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); font-weight: 600; }
@media (max-width: 781px) {
	.nideo-rayons { padding: 0; background: none; box-shadow: none; }
	.nideo-rayons__title { display: none; }
	.nideo-rayons ul { display: flex; flex-wrap: wrap; gap: 0.4rem; }
	.nideo-rayons__link { gap: 0.35rem; padding: 0.4rem 0.75rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: var(--wp--preset--color--surface); font-size: 0.8125rem; }
	.nideo-rayons__link[aria-current="page"] { border-color: var(--wp--preset--color--sage-dark); }
	.nideo-rayons__thumb { display: none; }
}

/* Zoom de la galerie : la photo agrandie se fond dans le crème (multiply), donc la photo de base transparaîtrait
   à travers elle. On la masque tant que le zoom est visible (jQuery Zoom écrit « opacity: 0; » quand il est fermé). */
.woocommerce-product-gallery__image:has(> .zoomImg:not([style*="opacity: 0;"])) > a > img { visibility: hidden; }
