/*
Theme Name: Nail Pop Studio
Theme URI: https://nailpopstudio.fr
Author: Up'silon Digital
Author URI: https://upsilon.digital
Description: Thème bloc (FSE) sur mesure pour Nail Pop Studio : prestations, boutique Press On (WooCommerce en blocs) et demande de rendez-vous (extension nailpop-rdv).
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Version: 0.5.47
License: Propriétaire
Text Domain: nailpop
*/

/* Ce fichier ne contient que ce que theme.json et les blocs ne savent pas faire. */

/* Seules les graisses 400 et 500 de Poppins sont chargées : pas de faux gras */
strong, b { font-weight: 500; }

/* ---------- En-tête : verre dépoli collant ----------
   Le flou est porté par un pseudo-élément : un backdrop-filter sur l'en-tête lui-même
   enfermerait l'overlay du menu mobile (position fixed) dans ses 76 px. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 20;
	border-bottom: 1px solid rgba(79, 36, 27, 0.08);
}
.wp-site-blocks > header.wp-block-template-part::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(246, 241, 235, 0.76);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	pointer-events: none;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0px); }
@media (prefers-reduced-transparency: reduce) {
	.wp-site-blocks > header.wp-block-template-part::before { background: var(--wp--preset--color--base); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* Menu principal en pastilles (aussi déclaré dans theme.json) : la classe est sur le bloc
   Navigation lui-même, la règle s'applique donc avec n'importe quel template, WooCommerce compris. */
.wp-block-navigation.np-main-nav .wp-block-navigation__container { gap: 4px; }
.wp-block-navigation.np-main-nav .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border-radius: var(--wp--custom--radius--pill);
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
}
.wp-block-navigation.np-main-nav .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation.np-main-nav .wp-block-navigation-item__content[aria-current="page"] { background: rgba(239, 168, 184, 0.45); }

/* Icônes compte et panier : cibles de 44 px */
.np-header-bar .wp-block-woocommerce-customer-account a,
.np-header-bar .wc-block-mini-cart__button { min-width: 44px; min-height: 44px; justify-content: center; }

@media (max-width: 599px) { .np-header-bar .np-header-cta { display: none; } }

/* Bouton « Prendre rendez-vous » de l'en-tête : toujours sur une ligne */
.np-header-bar .np-header-cta .wp-block-button__link { white-space: nowrap; }
/* De 1101 à 1279 px : menu et bouton resserrés pour tenir sur une ligne */
@media (min-width: 1101px) and (max-width: 1279px) {
	.np-header-bar > .alignwide { gap: 16px !important; }
	.wp-block-navigation.np-main-nav .wp-block-navigation__container { gap: 0; }
	.wp-block-navigation.np-main-nav .wp-block-navigation-item > .wp-block-navigation-item__content { padding: 0 10px; font-size: 0.9375rem; }
	.np-header-bar .np-header-cta .wp-block-button__link { padding: 0 14px; font-size: 0.9375rem; }
	.np-header-bar .wp-block-site-logo img { width: 140px !important; }
}
/* Menu burger jusqu'à 1100 px (le bloc Navigation bascule nativement à 600 px) */
@media (max-width: 1100px) {
	.np-header-bar .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.np-header-bar .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* Burger et Fermer : 44 × 44 px, ronds comme la maquette */
.np-header-bar .wp-block-navigation__responsive-container-open,
.np-header-bar .wp-block-navigation__responsive-container-close {
	align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	border: 1px solid rgba(64, 31, 31, 0.15); border-radius: var(--wp--custom--radius--pill);
	background: rgba(255, 255, 255, 0.7); color: var(--wp--preset--color--contrast);
}
.np-header-bar .wp-block-navigation__responsive-container-close { display: inline-flex; top: 16px; right: 24px; }
.np-header-bar .wp-block-navigation__responsive-container-open svg,
.np-header-bar .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
/* Overlay plein écran, fond crème */
.np-header-bar .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed; inset: 0; width: 100vw; height: 100dvh; overflow-y: auto;
	background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast) !important;
	padding: 0;
}
.admin-bar .np-header-bar .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 0px); height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px)); }
.np-header-bar .is-menu-open .wp-block-navigation__responsive-close,
.np-header-bar .is-menu-open .wp-block-navigation__responsive-dialog { max-width: none; margin: 0 !important; }
.np-header-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 84px 24px 32px; align-items: stretch;
}
/* Bouton « Prendre rendez-vous » : seulement dans l'overlay, sous les liens */
.np-header-bar .wp-block-navigation__responsive-container:not(.is-menu-open) .np-nav-cta { display: none; }
.np-header-bar .is-menu-open .np-nav-cta { width: 100%; margin-top: 20px; }
.np-header-bar .is-menu-open .np-nav-cta .wp-block-button { width: 100%; }
.np-header-bar .is-menu-open .np-nav-cta .wp-block-button__link { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 0 24px; font-size: 1rem; }
.np-header-bar .wp-block-navigation .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.np-header-bar .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--line); }
.np-header-bar .wp-block-navigation .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
	min-height: 56px;
	padding: 0;
	border-radius: 0;
	background: none !important;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.875rem;
	font-weight: 400;
}

/* ---------- Pied de page ---------- */
.np-footer a:not(.wp-social-link a):not(.wp-block-social-link-anchor) { color: var(--wp--preset--color--ink); text-decoration: none; }
.np-footer a:not(.wp-block-social-link-anchor):is(:hover, :focus-visible) { text-decoration: underline; }
.np-footer .np-mail a { color: var(--wp--preset--color--accent); text-decoration: underline; }
.wp-block-social-links:not(.has-visible-labels) .wp-social-link { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-social-links:not(.has-visible-labels) .wp-social-link a { width: 100%; height: 100%; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; line-height: 0; }
.wp-block-social-links:not(.has-visible-labels) .wp-social-link svg { width: 22px; height: 22px; }

/* ---------- Accueil ---------- */
/* Une seule animation d'entrée : le titre du hero */
@media (prefers-reduced-motion: no-preference) {
	.np-rise { animation: npRise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; }
	@keyframes npRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}

/* Hero mobile : carte rose, photo pleine largeur en 4:3, texte dessous
   (les marges en ligne du bloc Couverture sont annulées, d'où !important) */
@media (max-width: 767px) {
	.wp-block-cover.np-hero {
		flex-direction: column; align-items: stretch; justify-content: flex-start;
		min-height: 0 !important; padding: 0 !important; overflow: hidden;
		border-radius: 16px; background: #F3C8D1;
	}
	.wp-block-cover.np-hero img.wp-block-cover__image-background {
		position: static; order: -1; width: 100%; height: auto; aspect-ratio: 4 / 3;
		object-fit: cover; object-position: 85% 50% !important;
	}
	.wp-block-cover.np-hero .wp-block-cover__inner-container { width: 100% !important; max-width: none; margin: 0 !important; padding: 28px 24px 32px; box-sizing: border-box; }
	.np-hero .wp-block-buttons { flex-direction: column; align-items: stretch; width: 100%; }
	.np-hero .wp-block-button, .np-hero .wp-block-button__link { width: 100%; }
}
/* Tablette : le texte reste sur la moitié gauche, hors de la main et du pull */
@media (min-width: 768px) and (max-width: 1024px) {
	.wp-block-cover.np-hero .wp-block-cover__inner-container { max-width: 50%; }
	.np-hero h1 { font-size: clamp(2.25rem, 5vw, 3rem); }
}

/* Tuiles prestations */
.np-tile { transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition); }
.np-tile:hover { background-color: rgba(255, 255, 255, 0.1) !important; border-color: rgba(253, 212, 142, 0.5) !important; }

/* Sets Press On : défilement horizontal sur mobile */
.np-sets .wc-block-product-template { gap: 20px; }
@media (max-width: 767px) {
	.np-sets .wc-block-product-template {
		display: flex !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 12px;
	}
	.np-sets .wc-block-product-template > li { flex: 0 0 72%; scroll-snap-align: start; }
}

/* Atouts Press On : l'icône ne rétrécit pas */
.np-atouts .wp-block-image { flex-shrink: 0; }

/* Avis : étoiles */
.np-stars { letter-spacing: 3px; }

/* Galerie : première photo en grand */
.np-gal.wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: clamp(150px, 17vw, 260px);
	gap: 12px;
}
.np-gal.wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; margin: 0; }
.np-gal.wp-block-gallery.has-nested-images figure.wp-block-image img { height: 100%; object-fit: cover; }
.np-gal > figure:first-child { grid-column: span 2; grid-row: span 2; }
@media (max-width: 767px) {
	.np-gal.wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 44vw; }
}

/* Kicker (étiquette au-dessus d'un titre) */
.np-kicker { display: inline-flex; align-items: center; gap: 12px; }
.np-kicker::before { content: ""; width: 28px; height: 1px; background: currentColor; }

/* Boutons principaux pleine largeur sur mobile (contenu des pages ; en-tête et pied exclus) */
@media (max-width: 767px) {
	main .wp-block-buttons, .np-btn-full-sm { width: 100%; flex-basis: 100%; }
	main .wp-block-buttons > .wp-block-button { flex: 1 1 100%; width: 100%; }
	main .wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; }
}

/* ---------- Pages ---------- */
/* Bannière : titre limité en largeur, main au trait à 48 px du haut */
.np-banner { position: relative; overflow: hidden; background-size: auto calc(100% - 48px) !important; }
.np-banner h1 { position: relative; max-width: 17ch; font-size: clamp(2.375rem, 4.8vw, 4.375rem); line-height: 1.05; }
/* Mobile : 360 px, main atténuée (une image de fond ne prend pas d'opacité, d'où le pseudo-élément) */
@media (max-width: 767px) {
	.np-banner { min-height: 360px !important; background-image: none !important; }
	.np-banner::before {
		content: "";
		position: absolute;
		top: 48px; right: 0; bottom: 0; width: 60%;
		background: url("assets/images/main-au-trait.png") no-repeat right bottom / contain;
		opacity: 0.55;
		pointer-events: none;
	}
	/* Boutique : la main recouvrirait le titre, le texte et les boutons */
	.np-banner--shop::before { display: none; }
}

/* À propos : seconde photo décalée vers le bas */
.np-offset-down { transform: translateY(32px); }

/* Bloc image + texte : la photo occupe toute la hauteur */
.np-split { overflow: hidden; }
.np-split .wp-block-column:first-child .wp-block-image,
.np-split .wp-block-column:first-child .wp-block-image img { height: 100%; max-height: 560px; width: 100%; }

/* Cartes : l'image suit le rayon */
.np-card { overflow: hidden; }

/* ---------- Boutique : carte produit (accueil, boutique, produits liés) ---------- */
.np-card-product { position: relative; height: 100%; }
.np-card-product .np-card-image { position: relative; margin: 0; border-radius: var(--wp--custom--radius--lg); overflow: hidden; background: #EFE7DE; aspect-ratio: 1; }
.np-card-product .np-card-image img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; padding: 4%; box-sizing: border-box; border-radius: 0; transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.np-card-product .np-card-image__alt { position: absolute; inset: 0; object-fit: cover !important; padding: 0 !important; opacity: 0; }
.np-card-product:hover .np-card-image__alt, .np-card-product:focus-within .np-card-image__alt { opacity: 1; }
/* Carte entièrement cliquable : le lien du nom couvre la carte */
.np-card-product .np-card-title a { text-decoration: none; }
.np-card-product .np-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--wp--custom--radius--lg); }
.np-card-product .np-card-title a:focus-visible { outline: none; }
.np-card-product .np-card-title a:focus-visible::after { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.np-card-product .wp-block-woocommerce-product-price { white-space: nowrap; color: var(--wp--preset--color--contrast); }
@media (prefers-reduced-motion: reduce) { .np-card-product .np-card-image img { transition: none; } }

/* Pastilles de coloris sous le nom */
.np-coloris { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--ink); }
.np-coloris__dots { display: inline-flex; gap: 4px; }
.np-coloris__dot { display: inline-block; flex: 0 0 14px; width: 14px; height: 14px; box-sizing: border-box; border-radius: 50%; border: 1px solid rgba(79, 36, 27, 0.2); background: var(--dot, #D9CFC6); }

/* Grilles de sets : 4 colonnes, 40 px / 20 px */
.np-sets .wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; }

/* ---------- Boutique : page « Press On Nails » ---------- */
.np-banner--shop .np-banner-lead { max-width: 34ch; position: relative; }
.np-banner--shop .wp-block-buttons { position: relative; }

/* La grille de la boutique englobe aussi la tuile sur-mesure : le conteneur de la
   collection devient la grille, la liste des produits « disparaît » dans celle-ci. */
.np-shop { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; align-items: stretch; }
.wp-block-woocommerce-product-collection.np-shop > ul.wc-block-product-template { display: contents !important; }
.np-shop > * { min-width: 0; }
.np-shop > .np-shopbar,
.np-shop > .wp-block-query-pagination,
.np-shop > .wp-block-woocommerce-product-collection-no-results { grid-column: 1 / -1; }

/* Barre de filtres collante sous l'en-tête */
.np-shopbar {
	position: sticky;
	top: calc(76px + var(--wp-admin--admin-bar--height, 0px));
	z-index: 5;
	padding: 14px 0;
	background: var(--wp--preset--color--base);
	border-top: 1px solid rgba(79, 36, 27, 0.15);
	border-bottom: 1px solid rgba(79, 36, 27, 0.15);
}
.np-shopbar .wp-block-woocommerce-product-filter-taxonomy h3 { display: none; }
.np-shopbar .wc-block-product-filter-chips__items { gap: 8px; }
.np-shopbar .wc-block-product-filter-chips__item {
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid rgba(79, 36, 27, 0.25);
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 0.9375rem;
	font-weight: 500;
}
.np-shopbar .wc-block-product-filter-chips__item[aria-checked="true"] { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--white); }
.np-shopbar .wc-block-product-filter-chips__item:hover { border-color: var(--wp--preset--color--contrast); }
/* Tri : menu natif, rendu discret */
.np-shopbar .wc-block-catalog-sorting select,
.np-shopbar .woocommerce-ordering select {
	min-height: 44px;
	padding: 0 36px 0 14px;
	border: 1px solid rgba(79, 36, 27, 0.25);
	border-radius: var(--wp--custom--radius--pill);
	background-color: transparent;
	color: var(--wp--preset--color--contrast);
	font: 500 0.9375rem/1 var(--wp--preset--font-family--body);
}

/* Tuile sur-mesure (dernière case de la grille) */
.np-tile-custom {
	position: relative;
	min-height: 100%;
	aspect-ratio: auto;
	background: var(--wp--preset--color--contrast) url("assets/images/main-au-trait.png") no-repeat right -12px top 24px / auto 70%;
	color: rgba(246, 241, 235, 0.85);
}
.np-tile-custom__title a { color: var(--wp--preset--color--white); text-decoration: none; }
.np-tile-custom__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--wp--custom--radius--lg); }
.np-tile-custom:hover .np-tile-custom__title a { text-decoration: underline; text-decoration-color: var(--wp--preset--color--gold); }

/* Guide : formes et tableau des longueurs */
.np-guide .wp-block-details { margin-top: 12px; }
.np-guide .wp-block-details summary { font-weight: 500; font-size: 1.125rem; min-height: 44px; display: flex; align-items: center; }
.np-forme img { max-height: 140px; width: auto; margin: 0 auto; display: block; }
.np-forme figcaption { text-align: center; font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-table table { border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.np-table th, .np-table td { padding: 10px 12px; border-bottom: 1px solid rgba(79, 36, 27, 0.15); text-align: left; }
.np-table thead th { color: var(--wp--preset--color--contrast); font-weight: 500; }

@media (max-width: 1024px) {
	.np-shop, .np-sets .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.np-shop { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.np-shopbar { position: static; }
	.np-shopbar, .np-shopbar > *, .np-shopbar .wp-block-woocommerce-product-filters, .np-shopbar .wp-block-woocommerce-product-filter-taxonomy, .np-shopbar .wc-block-product-filter-chips { min-width: 0; max-width: 100%; }
	.np-shopbar > .wp-block-woocommerce-product-filters { flex: 1 1 100%; }
	.np-shopbar .wc-block-product-filter-chips__items { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 2px; }
	.np-shopbar .wc-block-product-filter-chips__item { white-space: nowrap; }
	.np-sets .wc-block-product-template { display: flex !important; }
	.np-related .wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 12px; overflow: visible; }
	.np-related .wc-block-product-template > li { flex: none; }
	html, body { overflow-x: clip; }
}

/* ---------- Fiche produit ---------- */
/* Galerie : image carrée sur fond, vignettes carrées égales */
.np-gallery .wc-block-product-gallery-large-image__inner-blocks,
.np-gallery .wp-block-woocommerce-product-gallery-large-image { border-radius: var(--wp--custom--radius--lg); overflow: hidden; background: #EFE7DE; }
.np-gallery .wp-block-woocommerce-product-gallery-large-image img { aspect-ratio: 1; object-fit: contain; width: 100%; }
.np-gallery { gap: 12px; }
.np-gallery .wp-block-woocommerce-product-gallery-large-image { width: 100%; }
.np-gallery .wc-block-product-gallery-thumbnails { width: 100%; flex-basis: auto !important; aspect-ratio: auto !important; }
.np-gallery .wc-block-product-gallery-thumbnails__scrollable { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; flex-direction: row !important; overflow: visible; }
.np-gallery .wc-block-product-gallery-thumbnails__thumbnail { width: auto !important; flex-basis: auto !important; aspect-ratio: 1; }
.np-gallery .wc-block-product-gallery-thumbnails__thumbnail__image {
	width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover;
	border-radius: var(--wp--custom--radius--md);
	background: #EFE7DE;
	outline: 0 !important;
	box-shadow: 0 0 0 1px rgba(79, 36, 27, 0.15);
	opacity: 1 !important;
}
.np-gallery .wc-block-product-gallery-thumbnails__thumbnail__image--is-active { box-shadow: 0 0 0 2px var(--wp--preset--color--contrast); }

/* Options : pastilles */
.np-atc .np-option .wc-block-add-to-cart-with-options-variation-selector-attribute-name,
.np-atc .np-option label { font-size: 0.875rem; font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-atc .wc-block-product-filter-chips__items { gap: 8px; }
.np-atc .wc-block-product-filter-chips__item {
	min-height: 44px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1px rgba(79, 36, 27, 0.15);
	color: var(--wp--preset--color--contrast);
	font-size: 0.9375rem;
	font-weight: 500;
}
.np-atc .wc-block-product-filter-chips__item[aria-checked="true"] { box-shadow: 0 0 0 2px var(--wp--preset--color--contrast); }
.np-atc .wc-block-product-filter-chips__item:disabled, .np-atc .wc-block-product-filter-chips__item[aria-disabled="true"] { opacity: 0.45; }
/* Coloris : pastilles rondes de couleur (attribut de type « Visuel ») */
.np-atc .is-style-swatch .wc-block-product-filter-chips__item { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; background: transparent; }
.np-atc .is-style-swatch .wc-block-product-filter-chips__swatch { width: 36px; height: 36px; border-radius: 50%; }
.np-atc .is-style-swatch .wc-block-product-filter-chips__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.np-option-hint { color: var(--wp--preset--color--ink); }

/* Encart taille : icône */
.np-size-note::before { content: ""; flex: 0 0 28px; width: 28px; height: 28px; background: url("assets/images/icons/taille-sur-mesure.svg") no-repeat center / contain; }

/* Quantité − / + (44 px) et bouton pleine largeur restante (54 px) */
.np-buy-row { align-items: center; }
.np-buy-row .wp-block-woocommerce-add-to-cart-with-options-quantity-selector { flex: 0 0 148px; align-self: center; }
.np-buy-row .wc-block-components-quantity-selector,
.np-buy-row .quantity { box-sizing: border-box; width: 148px; height: 54px; margin: 0; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(79, 36, 27, 0.2); border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--white); }
.np-buy-row .wc-block-components-quantity-selector button,
.np-buy-row .quantity button { min-width: 44px; height: 44px; border: 0; background: none; color: var(--wp--preset--color--contrast); font-size: 1.25rem; cursor: pointer; }
.np-buy-row input.qty, .np-buy-row .wc-block-components-quantity-selector input { width: 40px; border: 0; background: none; text-align: center; font: 500 1rem var(--wp--preset--font-family--body); color: var(--wp--preset--color--contrast); -moz-appearance: textfield; }
.np-buy-row .wp-block-woocommerce-product-button { flex: 1 1 auto; }
.np-buy-row .wp-block-woocommerce-product-button .wp-block-button__link,
.np-buy-row .wp-block-woocommerce-product-button button { width: 100%; min-height: 54px; justify-content: center; }

/* Prix de la fiche */
.np-pdp-price { margin: 0; }
/* Accordéons : filets plutôt que cartes */
.np-accordions .wp-block-details { background: none; border-radius: 0; padding: 0; border-top: 1px solid rgba(79, 36, 27, 0.2); }
.np-accordions .wp-block-details:last-child { border-bottom: 1px solid rgba(79, 36, 27, 0.2); }
.np-accordions .wp-block-details summary { min-height: 56px; display: flex; align-items: center; font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-accordions .wp-block-details > :not(summary) { padding-bottom: 18px; }
/* Contenu des accordéons issu des compositions synchronisées : taille small, listes lisibles */
.np-accordions .wp-block-details > .wp-block-block, .np-accordions .wp-block-details > :not(summary) { font-size: var(--wp--preset--font-size--small); line-height: 1.55; }
.np-accordions .wp-block-details p, .np-accordions .wp-block-details ul, .np-accordions .wp-block-details ol { margin: 0 0 10px; font-size: var(--wp--preset--font-size--small); }
.np-accordions .wp-block-details > :not(summary) > :last-child { margin-bottom: 0; }
.np-accordions .wp-block-details ul, .np-accordions .wp-block-details ol { padding-left: 1.25em; }
.np-accordions .wp-block-details li { margin-bottom: 4px; }

/* ---------- Pages légales ---------- */
.np-legal-toc { position: sticky; top: calc(76px + 24px + var(--wp-admin--admin-bar--height, 0px)); }
/* Sommaire : <details> ouvert au-delà de 900 px (le résumé sert d'intitulé), repliable en dessous */
.np-toc > summary { display: block; margin-bottom: 12px; list-style: none; font-size: 0.875rem; font-weight: 500; color: var(--wp--preset--color--contrast); cursor: default; }
.np-toc > summary::-webkit-details-marker { display: none; }
@media (max-width: 900px) {
	.np-toc { border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--white); box-shadow: inset 0 0 0 1px rgba(79, 36, 27, 0.12); }
	.np-toc > summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; margin: 0; padding: 0 16px; font-size: 1rem; cursor: pointer; }
	.np-toc > summary::after { content: ""; width: 10px; height: 10px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform var(--wp--custom--transition); }
	.np-toc[open] > summary::after { transform: translateY(3px) rotate(-135deg); }
	.np-toc > nav { padding: 0 16px 12px; }
}
/* Contenu aligné sur le titre (pas de marge globale ajoutée par la mise en page contrainte) */
/* Le contenu des pages légales est souvent un groupe « pleine largeur » à marge globale (24 px) : annulée */
.np-legal-content.has-global-padding,
.np-legal-content .has-global-padding,
.np-legal .wp-block-column.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
.np-legal-content .alignfull { margin-left: 0 !important; margin-right: 0 !important; width: auto; max-width: none; }
.np-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid rgba(79, 36, 27, 0.2); }
.np-toc li a {
	display: block;
	padding: 8px 0 8px 16px;
	margin-left: -1px;
	border-left: 2px solid transparent;
	color: var(--wp--preset--color--ink);
	font-size: 0.9375rem;
	line-height: 1.4;
	text-decoration: none;
}
.np-toc li a:hover, .np-toc li a:focus-visible { color: var(--wp--preset--color--accent); border-left-color: var(--wp--preset--color--accent); }
.np-legal-content h2 { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--heading-small); font-weight: 500; scroll-margin-top: calc(76px + 24px + var(--wp-admin--admin-bar--height, 0px)); }
@media (max-width: 781px) {
	.np-legal-toc { position: static; }
}

/* ---------- Guide à onglets (bloc Onglets du cœur) ---------- */
.np-guide-tabs .wp-block-tab-list {
	display: inline-flex; gap: 4px; padding: 4px; margin-bottom: var(--wp--preset--spacing--40);
	background: rgba(255, 255, 255, 0.65); border: 1px solid rgba(79, 36, 27, 0.12); border-radius: var(--wp--custom--radius--pill);
}
.np-guide-tabs .wp-block-tab-list button {
	min-height: 44px; padding: 0 22px; border: 0; border-radius: var(--wp--custom--radius--pill);
	background: transparent; color: var(--wp--preset--color--contrast);
	font: 500 0.9375rem/1 var(--wp--preset--font-family--body); cursor: pointer;
}
.np-guide-tabs .wp-block-tab-list button[aria-selected="true"] { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--white); }
.np-guide-tabs .wp-block-tab-list button:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.np-guide-card { align-items: center; text-align: center; }
.np-guide-card .np-forme-img img { height: 64px; width: auto; }
.np-guide-card--len { align-items: stretch; }
.np-guide-card--len .np-forme-img { align-self: center; }
.np-len { padding: 8px 12px; border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--base); font-size: 0.9375rem; }
.np-len p:first-child { color: var(--wp--preset--color--ink); }
.np-len p:last-child { font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-len--na { background: transparent; box-shadow: inset 0 0 0 1px rgba(79, 36, 27, 0.12); }
.np-len--na p, .np-len--na p:last-child { color: rgba(79, 36, 27, 0.5); font-weight: 400; }
.np-steps { counter-reset: np-step; list-style: none; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.np-steps li { counter-increment: np-step; display: flex; gap: 14px; align-items: flex-start; }
.np-steps li::before {
	content: counter(np-step); flex: 0 0 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; background: var(--wp--preset--color--peach); color: var(--wp--preset--color--accent); font-weight: 500; font-size: 0.875rem;
}
.np-next-step .np-steps li::before { background: var(--wp--preset--color--base); }
@media (max-width: 767px) { .np-guide-tabs .wp-block-tab-list { display: flex; } .np-guide-tabs .wp-block-tab-list button { flex: 1; padding: 0 10px; } }

/* ---------- Mini-panier ----------
   Titre en haut, articles défilants, puis encart, sous-total et boutons fixés en bas.
   Une seule marge horizontale : 24 px. */
.wc-block-mini-cart__drawer.wc-block-components-drawer {
	width: min(440px, 100vw) !important; max-width: 100vw; box-sizing: border-box;
	background: var(--wp--preset--color--base); border-radius: 0 !important; overflow: hidden;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block {
	height: 100%; min-height: 0; display: flex; flex-direction: column; box-sizing: border-box;
	background: var(--wp--preset--color--base); border-radius: 0 !important;
}
.wc-block-mini-cart__drawer *, .wc-block-mini-cart__drawer *::before, .wc-block-mini-cart__drawer *::after { box-sizing: border-box; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { position: absolute; top: 16px; right: 16px; z-index: 3; margin: 0; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	position: static; display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; min-height: 44px; padding: 0; margin: 0; border-radius: 50%;
	border: 1px solid rgba(79, 36, 27, 0.2); background: var(--wp--preset--color--white); color: var(--wp--preset--color--contrast);
}
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-block {
	flex: 0 0 auto; margin: 0; padding: 20px 76px 20px 24px; border-bottom: 1px solid rgba(79, 36, 27, 0.12);
	font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 1.875rem; line-height: 1.1; color: var(--wp--preset--color--contrast);
}
.wc-block-mini-cart__drawer .np-minicart-added { display: none; flex: 0 0 auto; margin: 16px 24px 0; font-size: 0.90625rem; font-weight: 500; color: #1E6B3A; }
.wc-block-mini-cart__drawer .np-minicart-added.is-visible { display: flex; align-items: center; gap: 8px; }
.wc-block-mini-cart__drawer .np-minicart-added::before { content: "✓"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; border: 2px solid currentColor; font-size: 0.75rem; line-height: 1; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-items-block { flex: 1 1 auto; min-height: 0; overflow-y: auto; margin: 0; padding: 8px 24px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart-items { width: 100%; }
.wc-block-mini-cart__drawer .wc-block-cart-items__header { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(79, 36, 27, 0.12); }
.wc-block-mini-cart__drawer .wc-block-cart-items__row > td { padding: 0; border: 0; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image { width: 88px; min-width: 88px; padding: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image a { display: block; width: 88px; height: 88px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { width: 88px !important; height: 88px !important; max-width: none !important; aspect-ratio: 1; object-fit: contain; padding: 6px; background: #EFE7DE; border-radius: 12px; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; line-height: 1.1; color: var(--wp--preset--color--contrast); text-decoration: none; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total { font-weight: 500; color: var(--wp--preset--color--contrast); white-space: nowrap; text-align: right; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { display: inline-flex; align-items: center; border: 1px solid rgba(64, 31, 31, 0.2); border-radius: var(--wp--custom--radius--pill); background: var(--wp--preset--color--white); }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button { width: 44px; height: 44px; min-width: 44px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input { width: 32px; height: 44px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link { min-height: 44px; display: inline-flex; align-items: center; }
.wc-block-mini-cart__drawer .np-minicart-note { flex: 0 0 auto; margin: 16px 24px 0; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-footer-block { flex: 0 0 auto; margin: 0; padding: 16px 24px 0; border-top: 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal { padding: 0; font-weight: 500; color: var(--wp--preset--color--contrast); }
.wc-block-mini-cart__drawer .wc-block-components-totals-item__description { font-size: 0.8125rem; color: #6B4A43; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions { display: flex !important; flex-direction: column; gap: 12px; margin-top: 12px; width: 100%; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions > * { width: 100% !important; max-width: 100%; flex: none !important; margin: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { min-height: 56px; padding: 0 24px; display: flex; align-items: center; justify-content: center; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart {
	min-height: 48px; padding: 0 24px; display: flex; align-items: center; justify-content: center;
	background: transparent !important; border: 1px solid rgba(79, 36, 27, 0.3) !important; color: var(--wp--preset--color--contrast) !important;
	border-radius: var(--wp--custom--radius--sm); font-size: 0.9375rem; font-weight: 500;
}
.wc-block-mini-cart__drawer .np-minicart-continue { flex: 0 0 auto; margin: 4px 24px 16px; }
.wc-block-mini-cart__drawer .np-minicart-continue a { display: inline-flex; align-items: center; min-height: 44px; }

/* Attributs d'un article (mini-panier, panier, commande) : une ligne par attribut */
.wc-block-components-product-details { display: flex; flex-direction: column; gap: 2px; margin: 4px 0 0; padding: 0; list-style: none; font-size: 0.84375rem; line-height: 1.5; color: #6B4A43; }
.wc-block-components-product-details > span:not([hidden]), .wc-block-components-product-details > li { display: block; }
.wc-block-components-product-details span[aria-hidden="true"] { display: none; }
.wc-block-components-product-details__name { font-weight: 400; }

/* ---------- Panier, commande, confirmation, compte : base commune ---------- */
.np-shop-page h1, .np-shop-page .wc-block-order-confirmation-status { color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--display); font-weight: 400; }
.np-shop-page .wc-block-components-text-input input,
.np-shop-page .wc-block-components-text-input textarea,
.np-shop-page .wc-blocks-components-select .wc-blocks-components-select__select,
.np-shop-page .wc-block-components-textarea,
.np-shop-page .woocommerce form .input-text,
.np-account input.input-text, .np-account select {
	min-height: 52px; border: 1px solid rgba(64, 31, 31, 0.2) !important; border-radius: var(--wp--custom--radius--md) !important;
	background: var(--wp--preset--color--white); font-size: 1rem; color: var(--wp--preset--color--ink); box-shadow: none;
}
.np-shop-page .wc-block-components-text-input input:focus,
.np-shop-page .wc-blocks-components-select__select:focus,
.np-account input.input-text:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: transparent !important; }

/* Panier */
.np-cart .wc-block-cart-items__header { display: none; }
.np-cart .wc-block-cart-items__row { border-top: 1px solid rgba(79, 36, 27, 0.12); }
.np-cart .wc-block-cart-item__image { width: 112px; }
.np-cart .wc-block-cart-item__image img { width: 112px; height: 112px; object-fit: contain; padding: 6%; box-sizing: border-box; background: #EFE7DE; border-radius: 14px; }
.np-cart .wc-block-components-product-name { font-family: var(--wp--preset--font-family--display); font-size: 1.625rem; line-height: 1.1; color: var(--wp--preset--color--contrast); text-decoration: none; }
.np-cart .wc-block-cart__totals-title, .np-cart .wp-block-woocommerce-cart-order-summary-heading-block { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.625rem, 2.4vw, 2.125rem); text-transform: none; color: var(--wp--preset--color--contrast); }
.np-cart .wp-block-woocommerce-cart-totals-block {
	position: sticky; top: calc(76px + 24px + var(--wp-admin--admin-bar--height, 0px));
	background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--lg); padding: clamp(20px, 2.6vw, 32px);
}
.np-cart .wc-block-cart__submit-button { min-height: 56px; }
.np-cart-sizes {
	position: relative; margin-top: 28px; padding: 20px 20px 20px 106px; min-height: 72px;
	border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--peach); font-size: 0.90625rem; line-height: 1.55;
}
.np-cart-sizes::before { content: ""; position: absolute; left: 20px; top: 20px; width: 72px; height: 72px; border-radius: 12px; background: url("assets/images/guide-tailles-photo.webp") center / cover no-repeat; }
.np-cart-sizes strong { display: block; margin-bottom: 4px; font-size: 1rem; color: var(--wp--preset--color--contrast); }
.np-cart-continue { margin-top: 20px; font-size: 0.9375rem; }
@media (max-width: 1024px) { .np-cart .wp-block-woocommerce-cart-totals-block { position: static; } }

/* Validation de commande */
.np-checkout .wc-block-components-checkout-step__title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 1.75rem; line-height: 1.1; color: var(--wp--preset--color--contrast); }
.np-checkout.wc-block-checkout .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before,
.np-checkout .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__heading::before {
	display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-right: 12px; vertical-align: middle;
	border-radius: 50%; background: var(--wp--preset--color--peach); color: var(--wp--preset--color--accent);
	font: 500 0.875rem/1 var(--wp--preset--font-family--body);
}
.np-checkout .wc-block-components-checkout-step__container::after,
.np-checkout .wc-block-components-checkout-step::after { display: none; }
.np-checkout .wc-block-components-radio-control-accordion-option,
.np-checkout .wc-block-components-radio-control__option--checked-option-highlighted,
.np-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
	background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); box-shadow: none; margin-bottom: 10px;
}
.np-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.np-checkout .wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: 0 0 0 2px var(--wp--preset--color--contrast) !important; }
.np-checkout .wc-block-components-checkout-place-order-button { width: 100%; min-height: 56px; }
.np-checkout .wp-block-woocommerce-checkout-totals-block .wc-block-components-sidebar,
.np-checkout .wp-block-woocommerce-checkout-totals-block .wc-block-components-totals-wrapper:first-child {
	border: 0;
}
.np-checkout .wp-block-woocommerce-checkout-totals-block {
	position: sticky; top: calc(76px + 24px + var(--wp-admin--admin-bar--height, 0px));
	background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--lg); padding: clamp(20px, 2.6vw, 32px);
}
.np-checkout .wc-block-components-order-summary-item__image img { background: #EFE7DE; border-radius: 12px; object-fit: contain; padding: 4px; box-sizing: border-box; }
@media (max-width: 1024px) { .np-checkout .wp-block-woocommerce-checkout-totals-block { position: static; } }

/* Confirmation de commande */
.np-facts ul, .np-facts .wc-block-order-confirmation-summary-list {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; list-style: none;
	background: rgba(79, 36, 27, 0.12); border-radius: var(--wp--custom--radius--lg); overflow: hidden;
}
.np-facts li { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; background: var(--wp--preset--color--white); font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-facts li .wc-block-order-confirmation-summary-list-item__key { font-size: 0.875rem; font-weight: 400; color: #6B4A43; }
.np-card-white { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--lg); padding: clamp(20px, 2.6vw, 32px); }
.np-card-peach, .np-confirmation .wp-block-woocommerce-order-confirmation-create-account { background: var(--wp--preset--color--peach); border-radius: var(--wp--custom--radius--lg); padding: clamp(20px, 2.6vw, 32px); }
@media (max-width: 900px) { .np-facts ul, .np-facts .wc-block-order-confirmation-summary-list { grid-template-columns: 1fr 1fr; } }

/* Mon compte */
.np-account .woocommerce .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: 100%; }
.np-account .woocommerce .u-columns.col2-set::before, .np-account .woocommerce .u-columns.col2-set::after { display: none; }
.np-account .woocommerce .u-columns.col2-set .u-column1,
.np-account .woocommerce .u-columns.col2-set .u-column2 { float: none; width: auto; max-width: none; padding: clamp(20px, 2.6vw, 32px); border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--white); }
.np-account #customer_login.u-columns.col2-set .u-column2 { background: var(--wp--preset--color--peach); }
.np-account #customer_login h2, .np-account .np-account__section-title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.625rem, 2.4vw, 2.125rem); color: var(--wp--preset--color--contrast); margin: 0 0 16px; }
.np-account .woocommerce form.login, .np-account .woocommerce form.register { border: 0; padding: 0; margin: 0; }
.np-account .woocommerce form .form-row { display: flex; flex-direction: column; gap: 8px; padding: 0; margin: 0 0 16px; }
.np-account .woocommerce form .form-row label { font-weight: 500; font-size: 0.875rem; color: var(--wp--preset--color--contrast); }
.np-account .woocommerce input.input-text { width: 100%; padding: 0 16px; box-sizing: border-box; }
.np-account .woocommerce .woocommerce-Button, .np-account .woocommerce button.button {
	min-height: 56px; padding: 0 30px; border-radius: var(--wp--custom--radius--sm); border: 1px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); font: 500 1rem/1 var(--wp--preset--font-family--body);
}
.np-account .woocommerce .u-column2 button.button { background: var(--wp--preset--color--white); border-color: rgba(79, 36, 27, 0.3); color: var(--wp--preset--color--contrast); }


/* ---------- 0.5.1 ---------- */
/* Pages boutique : pas de grand vide au-dessus du titre quand il n'y a pas d'avis */
.np-shop-page > .wp-block-woocommerce-store-notices:not(:has(.wc-block-components-notice-banner)) { display: none; }
.np-shop-page > .wp-block-woocommerce-store-notices:not(:has(.wc-block-components-notice-banner)) + * { margin-block-start: 0 !important; }
@media (max-width: 767px) { .np-shop-page { padding-top: 16px !important; } }

/* Validation de commande : récapitulatif en une seule carte */
.np-checkout .wp-block-woocommerce-checkout-order-summary-block,
.np-checkout .wc-block-components-checkout-order-summary__content,
.np-checkout .wc-block-components-order-summary,
.np-checkout .wp-block-woocommerce-checkout-totals-block .wc-block-components-totals-wrapper { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.np-checkout .wp-block-woocommerce-checkout-totals-block .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper,
.np-checkout .wc-block-components-totals-footer-item { border-top: 1px solid rgba(79, 36, 27, 0.12) !important; }
.np-checkout .wc-block-components-totals-wrapper:empty { display: none; }
.np-checkout .wc-block-components-checkout-order-summary__title-text,
.np-checkout .wc-block-components-checkout-order-summary__title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.625rem, 2.4vw, 2.125rem); color: var(--wp--preset--color--contrast); }
/* Mention de TVA sous le total (panier et commande) : micro-entreprise, TVA non applicable */
.np-checkout .wc-block-components-totals-footer-item,
.np-cart .wc-block-components-totals-footer-item { flex-wrap: wrap; }
.np-checkout .wc-block-components-totals-footer-item::after,
.np-cart .wc-block-components-totals-footer-item::after {
	content: "TVA non applicable, art. 293 B du CGI"; flex: 0 0 100%; margin-top: 2px;
	font-size: 13px; font-weight: 400; line-height: 1.4; color: color-mix(in srgb, var(--wp--preset--color--ink) 70%, transparent);
}
.np-checkout .wc-block-components-totals-footer-item-tax,
.np-cart .wc-block-components-totals-footer-item-tax { display: none; }
.np-checkout .wc-block-components-order-summary-item__image { width: 64px; }
.np-checkout .wc-block-components-order-summary-item__image img { width: 64px; height: 64px; max-width: none; background: #EFE7DE; border-radius: 12px; object-fit: contain; padding: 4px; }
.np-checkout .wc-block-components-order-summary-item__quantity { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--white); border: 0; }
/* Paiement express */
.np-checkout .wc-block-components-express-payment__title,
.np-checkout .wc-block-components-express-payment__title-container .wc-block-components-title { font-family: var(--wp--preset--font-family--body) !important; font-weight: 500 !important; font-size: 0.875rem !important; line-height: 1.4; color: #6B4A43; }
.np-checkout .wc-block-components-express-payment__event-buttons { gap: 10px; }
.np-checkout .wc-block-components-express-payment-continue-rule { font-size: 0.875rem; color: #6B4A43; text-transform: none; }

/* Confirmation de commande */
.np-order-status { display: flex; flex-direction: column; gap: 14px; }
.np-order-status > * { max-width: 760px; }
.np-order-status__label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 0.90625rem; font-weight: 500; color: #1E6B3A; }
.np-order-status__label::before { content: "✓"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; border: 2px solid currentColor; font-size: 0.75rem; line-height: 1; }
.np-order-status__title { margin: 0; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(2.375rem, 4.4vw, 3.75rem); line-height: 1.04; color: var(--wp--preset--color--contrast); }
.np-order-status__text { margin: 0; max-width: 56ch; }
.np-confirmation .wp-block-woocommerce-order-confirmation-status { margin-top: 0; }
ul.np-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 24px 0 0; padding: 0; list-style: none; background: rgba(79, 36, 27, 0.12); border-radius: var(--wp--custom--radius--lg); overflow: hidden; }
ul.np-facts li { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; background: var(--wp--preset--color--white); }
.np-facts__key { font-size: 0.875rem; color: #6B4A43; }
.np-facts__value { font-weight: 500; color: var(--wp--preset--color--contrast); }
@media (max-width: 900px) { ul.np-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.np-next-step__photo img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }
/* Bouton « Envoyer mes photos » (bloc de l'extension) puis lien secondaire vers le guide */
.np-sizes-actions .np-sizes-guide { margin: 0; }
.np-sizes-actions .np-sizes-guide a { display: inline-flex; align-items: center; min-height: 44px; color: var(--wp--preset--color--contrast); }
.np-sizes-button { display: inline-flex; align-items: center; min-height: 56px; padding: 0 30px; border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white) !important; text-decoration: none; font-weight: 500; }
.np-recap__items { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.np-recap__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.np-recap__thumb img { width: 64px; height: 64px; object-fit: contain; padding: 4px; box-sizing: border-box; background: #EFE7DE; border-radius: 12px; display: block; }
.np-recap__body { display: flex; flex-direction: column; min-width: 0; }
.np-recap__name { font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-recap__qty { font-weight: 400; color: #6B4A43; }
.np-recap__meta { display: flex; flex-direction: column; font-size: 0.84375rem; line-height: 1.5; color: #6B4A43; }
.np-recap__price { font-weight: 500; color: var(--wp--preset--color--contrast); white-space: nowrap; }
.np-recap__row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--wp--preset--color--line-light); border-top-color: rgba(79, 36, 27, 0.12); font-size: 0.90625rem; }
.np-recap__total { font-weight: 500; font-size: 1.125rem; color: var(--wp--preset--color--contrast); }
.np-recap__tax { margin: 0; font-size: 0.8125rem; color: #6B4A43; }
.np-confirmation .wc-block-order-confirmation-shipping-address,
.np-confirmation .wc-block-order-confirmation-billing-address,
.np-confirmation address { border: 0 !important; padding: 0 !important; margin: 0; font-style: normal; font-size: 0.90625rem; }
.np-confirmation .np-card-white h2, .np-confirmation .np-card-white h3 { margin-top: 0; }
.np-confirmation .wp-block-woocommerce-order-confirmation-create-account .wp-block-button__link,
.np-confirmation .wc-block-order-confirmation-create-account-form button {
	min-height: 48px; padding: 0 22px; border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--white);
	border: 1px solid rgba(79, 36, 27, 0.3); color: var(--wp--preset--color--contrast); font-weight: 500;
}

/* En-tête : lien panier sur les pages Panier et Commande */
.np-cart-link .wc-block-mini-cart__button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--wp--preset--color--contrast); }
.np-cart-link .wc-block-mini-cart__quantity-badge { position: relative; display: inline-flex; }
.np-cart-link .wc-block-mini-cart__icon { width: 26px; height: 26px; }
.np-cart-link .wc-block-mini-cart__badge { position: absolute; top: -4px; right: -8px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: var(--wp--custom--radius--pill); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); font-size: 0.6875rem; font-weight: 500; line-height: 18px; text-align: center; }

/* Guide : panneau Taille */
.np-guide-size { align-items: start; }
.np-guide-tabs .wp-block-tab-panel[hidden] { display: none !important; }
.np-guide-tabs .wp-block-tab-panel > :last-child { margin-bottom: 0; }

/* Mon compte : connexion et inscription sur toute la largeur */
.np-account .woocommerce, .woocommerce-account .np-account .woocommerce { max-width: none !important; width: 100%; margin: 0; }
@media (max-width: 781px) { .np-account .woocommerce .u-columns.col2-set { grid-template-columns: 1fr; } }
@media (min-width: 782px) { .np-account .woocommerce .u-columns.col2-set { grid-template-columns: 1fr 1fr; } }

/* ---------- 0.5.3 : mobile ---------- */
/* Panier : image 112 px tant que la ligne est en grille, 80 px sous 600 px, 12 px d'écart */
.np-cart :is(.is-medium, .is-small, .is-mobile) .wc-block-cart-items__row,
.np-cart:is(.is-medium, .is-small, .is-mobile) .wc-block-cart-items__row { grid-template-columns: 112px minmax(0, 1fr); column-gap: 16px; }
.np-cart :is(.is-medium, .is-small, .is-mobile) .wc-block-cart-item__image,
.np-cart:is(.is-medium, .is-small, .is-mobile) .wc-block-cart-item__image { padding: 0 !important; }
@media (max-width: 599px) {
	.np-cart .wc-block-cart-items__row { grid-template-columns: 80px minmax(0, 1fr) !important; column-gap: 12px !important; }
	.np-cart .wc-block-cart-item__image { width: 80px; padding: 0 !important; }
	.np-cart .wc-block-cart-item__image img { width: 80px; height: 80px; border-radius: 12px; }
	.np-cart .wc-block-components-product-name { font-size: 1.375rem; }
}

/* Cartes produit : nom au-dessus, prix en dessous ; lien du nom haut de 44 px */
.np-card-product .np-card-title a { display: inline-block; padding-block: 12px; margin-block: -12px; }
@media (max-width: 767px) {
	.np-card-product .np-card-text { gap: 4px; }
}

/* Boutique : pastille « Tous les sets » (lien) et défilement qui déborde jusqu'au bord de l'écran */
.np-shopbar a.np-chip-all { display: inline-flex; align-items: center; text-decoration: none; white-space: nowrap; }
.np-shopbar a.np-chip-all[aria-current="page"] { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--white); }
@media (max-width: 767px) {
	.np-shopbar .wc-block-product-filter-chips__items {
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 24px));
		padding-right: var(--wp--style--root--padding-right, 24px);
		scroll-padding-inline: 0 24px;
	}
	.np-shopbar .wc-block-product-filter-chips__item { flex: 0 0 auto; }
	/* Tuile sur-mesure sur toute la largeur de la grille */
	.np-shop > .np-tile-custom { grid-column: 1 / -1; min-height: 200px; }
}

/* Accueil : bande pêche autour du formulaire de rendez-vous, 20 px de marge intérieure sur mobile */
@media (max-width: 767px) {
	.np-rdv { padding: 20px !important; }
}

/* 404 */
.np-404 { text-align: center; }
.np-404 > * { margin: 0; }
.np-404 p:not(.has-display-font-family) { max-width: 520px; }
.np-404-hand img { height: 200px; width: auto; }
@media (max-width: 767px) { .np-404-hand img { height: 140px; } }

/* Validation de commande mobile : récapitulatif replié sur une ligne, sans filets vides */
@media (max-width: 781px) {
	.np-checkout .wc-block-components-checkout-order-summary__title {
		display: flex; align-items: center; gap: 12px; min-height: 56px; margin: 0; padding: 0;
		border: 0 !important; font-family: var(--wp--preset--font-family--body) !important; font-size: 1rem !important; font-weight: 500 !important;
	}
	.np-checkout .wc-block-components-checkout-order-summary__title-text,
	.np-checkout .wc-block-components-checkout-order-summary__title-price {
		font-family: var(--wp--preset--font-family--body) !important; font-size: 1rem !important; font-weight: 500 !important; line-height: 1.4; color: var(--wp--preset--color--contrast);
	}
	.np-checkout .wc-block-components-checkout-order-summary__title-price { margin-left: auto; }
	.np-checkout .wc-block-components-checkout-order-summary,
	.np-checkout .wc-block-components-checkout-order-summary__content { border: 0 !important; }
	.np-checkout .wp-block-woocommerce-checkout-totals-block:not(:has(.wc-block-components-checkout-order-summary__content)) .wc-block-components-totals-wrapper { border: 0 !important; }
	.np-checkout .wc-block-components-checkout-order-summary:not(.is-open) .wc-block-components-totals-wrapper { border-top: 0 !important; }
}

/* Mon compte mobile : bouton pleine largeur, case « Se souvenir de moi » de 20 px dans une zone de 44 px */
.np-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.np-account .woocommerce-form-login__rememberme input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--wp--preset--color--accent); }
@media (max-width: 781px) {
	.np-account .woocommerce form .woocommerce-Button,
	.np-account .woocommerce form button.button { width: 100%; justify-content: center; }
}

/* ---------- 0.5.5 ---------- */
/* Fiche produit : sous 600 px, quantité 120 px et bouton sur le reste de la ligne, 54 px, libellé sur une ligne */
@media (max-width: 599px) {
	.np-buy-row { flex-wrap: nowrap !important; gap: 10px; }
	.np-buy-row .wp-block-woocommerce-add-to-cart-with-options-quantity-selector { flex: 0 0 120px; }
	.np-buy-row .wc-block-components-quantity-selector, .np-buy-row .quantity { width: 120px; }
	.np-buy-row .wc-block-components-quantity-selector button, .np-buy-row .quantity button { min-width: 40px; width: 40px; }
	.np-buy-row input.qty, .np-buy-row .wc-block-components-quantity-selector input { width: 36px; }
	.np-buy-row .wp-block-woocommerce-product-button { flex: 1 1 0; min-width: 0; }
	.np-buy-row .wp-block-woocommerce-product-button .wp-block-button__link,
	.np-buy-row .wp-block-woocommerce-product-button button { height: 54px; min-height: 54px; padding: 0 12px; white-space: nowrap; }
}

/* Boutique mobile : boutons de la bannière pleine largeur ; bloc sur-mesure à 24 px de marge, bouton sur une ligne */
@media (max-width: 767px) {
	.np-banner--shop { align-items: stretch !important; }
	.np-banner--shop > .wp-block-buttons { display: flex !important; width: 100% !important; max-width: none !important; flex-direction: column !important; align-items: stretch !important; align-self: stretch !important; }
	.np-banner--shop > .wp-block-buttons > .wp-block-button { width: 100% !important; flex: 0 0 auto !important; }
	.np-banner--shop > .wp-block-buttons > .wp-block-button > .wp-block-button__link { display: flex; justify-content: center; width: 100% !important; box-sizing: border-box; }
	.np-sur-mesure-card { padding: 24px !important; }
	.np-sur-mesure-card > * { flex: 1 1 100%; }
	.np-sur-mesure-card .wp-block-buttons, .np-sur-mesure-card .wp-block-button, .np-sur-mesure-card .wp-block-button__link { width: 100%; }
	.np-sur-mesure-card .wp-block-button__link { padding-left: 16px; padding-right: 16px; white-space: nowrap; }
}

/* ---------- 0.5.9 ---------- */
/* Accueil : atouts Press On sur 2 colonnes de 768 à 1100 px */
@media (min-width: 768px) and (max-width: 1100px) {
	.np-atouts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Panier vide */
.np-cart-empty { text-align: center; }
.np-cart-empty .wp-block-buttons { justify-content: center; }
.np-cart-empty .np-sets { margin-top: var(--wp--preset--spacing--50); text-align: left; }

/* Résultats de recherche */
.np-search-empty { text-align: center; }

/* ---------- 0.5.10 : Mon compte connecté ---------- */
/* Structure : menu 240 px + contenu, aligné en haut (plus de flottants WooCommerce) */
.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 240px minmax(0, 1fr); grid-auto-rows: max-content; gap: 0 clamp(24px, 4vw, 56px); align-items: start; }
/* Placement explicite : d'autres enfants (avis, enveloppes) précèdent le menu et prendraient sinon la première case */
.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > * { grid-column: 2; }
.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1 / span 20; }
.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: 2; }
.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content):not(:empty) { margin-bottom: 20px; }
.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > :empty { display: none; }
.np-account .woocommerce-MyAccount-navigation, .np-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; min-width: 0; }
.np-account .woocommerce-MyAccount-navigation { position: sticky; top: calc(100px + var(--wp-admin--admin-bar--height, 0px)); }
.np-account .woocommerce-MyAccount-navigation ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column; gap: 4px !important; }
.np-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; line-height: 1.2; list-style: none; }
.np-account .woocommerce-MyAccount-navigation li::before, .np-account .woocommerce-MyAccount-navigation li::after, .np-account .woocommerce-MyAccount-navigation li::marker { content: none; display: none; }
.np-account .woocommerce-MyAccount-navigation a {
	display: inline-flex; align-items: center; width: 100%; box-sizing: border-box; min-height: 48px; height: 48px; margin: 0; padding: 0 18px !important; border-radius: var(--wp--custom--radius--pill); line-height: 1.2;
	color: var(--wp--preset--color--contrast); font-size: 0.96875rem; font-weight: 500; text-decoration: none !important; white-space: nowrap;
}
.np-account .woocommerce-MyAccount-navigation a:hover { background: rgba(239, 168, 184, 0.35); }
.np-account .woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--pink); }
.np-account .woocommerce-MyAccount-content > p:first-child:empty { display: none; }
@media (max-width: 900px) {
	.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 20px 0; }
	.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > *,
	.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
	.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-column: 1; grid-row: auto; }
	.np-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation { grid-row: 1; }
	.np-account .woocommerce-MyAccount-navigation { position: static; margin: 0 calc(-1 * var(--wp--style--root--padding-right, 24px)); padding: 0 var(--wp--style--root--padding-right, 24px); overflow-x: auto; scrollbar-width: none; }
	.np-account .woocommerce-MyAccount-navigation ul { flex-direction: row; gap: 6px; width: max-content; }
}

/* Cartes (tableau de bord, commandes, adresses, détails) */
.np-dash { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.np-dash__card { display: flex; flex-direction: column; gap: 6px; padding: clamp(20px, 2.6vw, 32px); border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--white); color: inherit; text-decoration: none; transition: background-color var(--wp--custom--transition); }
.np-dash__card:hover, .np-dash__card:focus-visible { background: var(--wp--preset--color--peach); }
.np-dash__title { font-size: 1.125rem; font-weight: 500; line-height: 1.35; color: var(--wp--preset--color--contrast); }
.np-dash__sub { font-size: 0.875rem; color: #6B4A43; }
.np-account--orders .woocommerce-MyAccount-content,
.np-account--view-order .woocommerce-MyAccount-content,
.np-account--edit-account .woocommerce-MyAccount-content,
.np-account--edit-address .woocommerce-MyAccount-content:has(form) { padding: clamp(20px, 2.6vw, 32px); border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--white); }

/* Commandes : tableau sans cadre, filets, état en pastille, « Voir » en lien */
.np-account .woocommerce-orders-table, .np-account .woocommerce-orders-table thead, .np-account .woocommerce-orders-table tbody, .np-account .woocommerce-orders-table tr { border: 0 !important; background: none; box-shadow: none; }
.np-account .woocommerce-orders-table { width: 100%; margin: 0; border-collapse: collapse; border-spacing: 0; font-size: 0.9375rem; }
.np-account .woocommerce-orders-table th, .np-account .woocommerce-orders-table td { padding: 16px 12px 16px 0; border: 0 !important; text-align: left; vertical-align: middle; background: none; }
.np-account .woocommerce-orders-table thead th { padding-top: 0; padding-bottom: 12px; font-size: 0.84375rem; font-weight: 500; color: #6B4A43; }
.np-account .woocommerce-orders-table tbody tr > * { border-top: 1px solid var(--wp--preset--color--line) !important; }
.np-account .woocommerce-orders-table__cell-order-actions, .np-account .woocommerce-orders-table__header-order-actions { text-align: right !important; padding-right: 0; }
.np-account .np-order-number { font-weight: 500; color: var(--wp--preset--color--contrast); text-decoration: none; }
.np-account .np-order-number:hover { text-decoration: underline; }
.np-status { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--wp--custom--radius--pill); font-size: 0.8125rem; font-weight: 500; line-height: 1; white-space: nowrap; }
.np-status--gold { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--contrast); }
.np-status--peach { background: var(--wp--preset--color--peach); color: var(--wp--preset--color--accent); }
.np-status--neutral { background: #EFE7DE; color: var(--wp--preset--color--contrast); }
.np-status--muted { background: #EFE7DE; color: #6B4A43; }
.np-account .woocommerce-orders-table__cell-order-actions .button.view {
	display: inline; min-height: 0; padding: 0; margin: 0; border: 0; background: none; color: var(--wp--preset--color--accent); font: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 3px;
}
.np-account .woocommerce-orders-table__cell-order-actions .button.view:hover { color: var(--wp--preset--color--contrast); }
/* Cellule d'actions : « Voir » et le bouton de l'extension (.woocommerce-button.tailles) côte à côte, hauteur de ligne inchangée */
.np-account .woocommerce-orders-table__cell-order-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 1rem; }
.np-account .woocommerce-orders-table__cell-order-actions .button:not(.view),
.np-account .woocommerce-orders-table__cell-order-actions .woocommerce-button.tailles { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; padding: 0.625rem 1rem; margin: 0; border: 1px solid var(--wp--preset--color--accent); border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--small); font-weight: 500; line-height: 1; white-space: nowrap; text-decoration: none; }
.np-account .woocommerce-orders-table__cell-order-actions .button:not(.view):hover, .np-account .woocommerce-orders-table__cell-order-actions .button:not(.view):focus-visible { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--white); }
.np-account .woocommerce-orders-table tbody td { vertical-align: middle; }
.np-account .woocommerce-pagination { display: flex; gap: 12px; justify-content: space-between; margin-top: 16px; }
@media (max-width: 767px) {
	.np-account .woocommerce-orders-table thead { display: none; }
	.np-account .woocommerce-orders-table, .np-account .woocommerce-orders-table tbody { display: block; }
	/* Carte de commande : infos empilées à gauche (numéro, date, statut, total), actions à droite */
	.np-account .woocommerce-orders-table tbody tr {
		display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "number actions" "date actions" "status actions" "total actions";
		align-items: start; gap: 6px 16px; padding: 16px 0; border-top: 1px solid rgba(79, 36, 27, 0.12);
	}
	.np-account .woocommerce-orders-table tbody tr:first-child { border-top: 0; padding-top: 0; }
	/* woocommerce-smallscreen.css masque les th et aligne les td à droite : règles plus fortes */
	.np-account .woocommerce table.shop_table_responsive tbody tr > th,
	.np-account .woocommerce table.shop_table_responsive tbody tr > td,
	.np-account .woocommerce-orders-table tbody tr > * { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; min-width: 0; text-align: left !important; }
	.np-account .woocommerce table.shop_table_responsive tbody tr > th.woocommerce-orders-table__cell-order-number,
	.np-account .woocommerce-orders-table__cell-order-number { display: block !important; }
	.np-account .woocommerce table.shop_table_responsive tr td::before,
	.np-account .woocommerce table.shop_table_responsive tr th::before { content: none !important; display: none !important; }
	.np-account .woocommerce-orders-table__cell-order-number { grid-area: number; }
	.np-account .woocommerce-orders-table__cell-order-date { grid-area: date; font-size: 0.875rem; color: #6B4A43; }
	.np-account .woocommerce-orders-table__cell-order-status { grid-area: status; padding-top: 2px !important; }
	.np-account .woocommerce-orders-table__cell-order-total { grid-area: total; padding-top: 2px !important; font-weight: 500; color: var(--wp--preset--color--contrast); }
	.np-account .woocommerce table.shop_table_responsive tbody tr > td.woocommerce-orders-table__cell-order-actions,
	.np-account .woocommerce-orders-table__cell-order-actions { grid-area: actions; display: flex !important; flex-direction: column; align-items: flex-end; justify-content: flex-start; gap: 12px; text-align: right !important; }
	.np-account .woocommerce-orders-table__cell-order-actions .button:not(.view) { margin: 0; min-height: 48px; padding: 0 18px; box-sizing: border-box; white-space: nowrap; }
	.np-account .woocommerce-orders-table__cell-order-actions .button.view { display: inline-flex; align-items: center; min-height: 44px; }
	.np-account .woocommerce-orders-table__cell::before, .np-account .woocommerce-orders-table__cell[data-title]::before { content: none !important; display: none !important; }
	.np-account .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background-color: transparent !important; }
}
/* Sous 360 px : actions sous les informations, alignées à droite */
@media (max-width: 359px) {
	.np-account .woocommerce-orders-table tbody tr { grid-template-columns: minmax(0, 1fr); grid-template-areas: "number" "date" "status" "total" "actions"; }
	.np-account .woocommerce-orders-table__cell-order-actions { margin-top: 8px; }
	.np-account .woocommerce-orders-table__cell-order-actions .button:not(.view) { width: 100%; justify-content: center; }
}

/* Adresses */
.np-addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.np-address { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: clamp(20px, 2.6vw, 32px); border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--white); }
.np-address__title { margin: 0; font-family: var(--wp--preset--font-family--body); font-size: 1.125rem; font-weight: 500; line-height: 1.35; color: var(--wp--preset--color--contrast); }
.np-address__body { margin: 0; font-style: normal; font-size: 0.9375rem; line-height: 1.55; }
.np-btn-ghost, .np-account .np-btn-ghost.edit {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: var(--wp--custom--radius--sm);
	border: 1px solid rgba(79, 36, 27, 0.3); background: transparent; color: var(--wp--preset--color--contrast); font-size: 0.9375rem; font-weight: 500; text-decoration: none; transition: border-color var(--wp--custom--transition);
}
.np-btn-ghost:hover { border-color: var(--wp--preset--color--contrast); }

/* Formulaires du compte : champs comme la commande (50 px, rayon 12 px), autocomplétion sur fond blanc */
.np-account .woocommerce form .input-text, .np-account .woocommerce form select, .np-account .woocommerce form .select2-selection { min-height: 50px; border-radius: var(--wp--custom--radius--md) !important; }
input:autofill, input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus,
.np-account input:autofill, .np-account .woocommerce form input:autofill, .np-account .woocommerce form input:-webkit-autofill {
	box-shadow: 0 0 0 1000px #FFFFFF inset !important; -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
	-webkit-text-fill-color: #2F2D2B !important; caret-color: #2F2D2B; background-color: #FFFFFF !important; background-image: none !important;
	filter: none; transition: background-color 9999s ease-out 0s;
}
.np-account .woocommerce-EditAccountForm .form-row:has(#account_display_name) { display: none; }
.np-account .woocommerce-EditAccountForm fieldset { margin: 24px 0 0; padding: 0; border: 0; min-width: 0; }
.np-account .woocommerce-EditAccountForm legend { display: block; margin: 0 0 16px; padding: 0; font-size: 1.125rem; font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-account .woocommerce-EditAccountForm .form-row-first, .np-account .woocommerce-EditAccountForm .form-row-last,
.np-account .woocommerce-address-fields .form-row-first, .np-account .woocommerce-address-fields .form-row-last { width: 100%; float: none; }
@media (min-width: 600px) {
	.np-account .woocommerce-EditAccountForm, .np-account .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
	.np-account .woocommerce-EditAccountForm > *, .np-account .woocommerce-address-fields__field-wrapper > * { grid-column: 1 / -1; }
	.np-account .woocommerce-EditAccountForm > .form-row-first, .np-account .woocommerce-address-fields__field-wrapper > .form-row-first { grid-column: 1; }
	.np-account .woocommerce-EditAccountForm > .form-row-last, .np-account .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 2; }
}
/* Détails du compte et adresses : carte limitée à 820 px, champs sur toute sa largeur */
.np-account--edit-account .woocommerce-MyAccount-content, .np-account--edit-address .woocommerce-MyAccount-content:has(form) { max-width: 820px; }
.np-account .woocommerce-EditAccountForm, .np-account .woocommerce-address-fields, .np-account .woocommerce-EditAccountForm .form-row, .np-account .woocommerce-address-fields .form-row { max-width: none; width: 100%; box-sizing: border-box; }
.np-account .woocommerce form .woocommerce-Button, .np-account .woocommerce form button.button { margin-top: 8px; }

/* Avis WooCommerce (compte, panier, commande) : plus de bleu */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner {
	display: flex; align-items: flex-start; gap: 12px; margin: 0 0 20px; padding: 14px 18px; border: 0 !important; border-radius: var(--wp--custom--radius--md) !important;
	background: var(--wp--preset--color--peach) !important; color: var(--wp--preset--color--contrast) !important; font-size: 0.9375rem; line-height: 1.5; box-shadow: none !important;
}
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { position: static; color: var(--wp--preset--color--accent); }
.woocommerce-error { list-style: none; }
.wc-block-components-notice-banner.is-info, .woocommerce-info { background: var(--wp--preset--color--peach) !important; color: var(--wp--preset--color--contrast) !important; }
.wc-block-components-notice-banner.is-success, .woocommerce-message { background: #E4F0E1 !important; color: #2E5130 !important; }
.wc-block-components-notice-banner.is-error, .woocommerce-error { background: #FBE3E6 !important; color: var(--wp--preset--color--accent) !important; }
.wc-block-components-notice-banner > svg { fill: var(--wp--preset--color--accent); background: none !important; }
.wc-block-components-notice-banner.is-success > svg { fill: #2E5130; }
.woocommerce-message::before { color: #2E5130; }
.woocommerce-info a, .woocommerce-message a, .woocommerce-error a, .wc-block-components-notice-banner a,
.woocommerce-info .button, .woocommerce-message .button { color: var(--wp--preset--color--contrast) !important; text-decoration: underline; background: none !important; border: 0; padding: 0; font: inherit; font-weight: 500; float: none; margin-left: auto; }

/* ---------- 0.5.14 : pages de catégorie ---------- */
.np-crumbs { position: relative; margin: 0 0 4px; }
.np-crumbs a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.np-crumbs a:hover { text-decoration: underline; }
.np-crumbs__sep { margin: 0 2px; opacity: 0.5; }
.np-banner--shop .wp-block-query-title { position: relative; max-width: 17ch; font-size: clamp(2.375rem, 4.8vw, 4.375rem); line-height: 1.05; margin: 0; }
.np-banner--shop .wp-block-term-description { position: relative; max-width: 34ch; }
.np-banner--shop .wp-block-term-description:empty, .np-banner--shop .wp-block-term-description p:empty { display: none; }

/* ---------- 0.5.17 : pastilles de catégories (pages de catégorie) ---------- */
.np-cat-nav { min-width: 0; max-width: 100%; }
.np-cat-nav ul { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.np-cat-nav li { margin: 0; }
.np-chip {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; white-space: nowrap;
	border: 1px solid rgba(79, 36, 27, 0.25); border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--contrast); font-size: 0.9375rem; font-weight: 500; text-decoration: none;
	transition: border-color var(--wp--custom--transition), background-color var(--wp--custom--transition);
}
.np-chip:hover { border-color: var(--wp--preset--color--contrast); }
.np-chip[aria-current="page"] { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--white); }
.np-chip__count { margin-left: 4px; opacity: 0.7; }
@media (max-width: 767px) {
	.np-shopbar > .np-cat-nav { flex: 1 1 100%; }
	.np-cat-nav ul { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding-bottom: 2px;
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 24px)); padding-right: var(--wp--style--root--padding-right, 24px); }
	.np-chip { flex: 0 0 auto; }
}

/* ---------- 0.5.18 ---------- */
/* Statut posé par l'extension (span.np-statut) : même pastille que le thème */
.np-account .np-statut { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: var(--wp--custom--radius--pill); font-size: 0.8125rem; font-weight: 500; line-height: 1; white-space: nowrap; background: var(--wp--preset--color--peach); color: var(--wp--preset--color--accent); }
.np-account .np-statut[class*="attendu"] { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--contrast); }
.np-account .np-statut.status-completed { background: #EFE7DE; color: var(--wp--preset--color--contrast); }
.np-account .np-statut.status-cancelled, .np-account .np-statut.status-refunded, .np-account .np-statut.status-failed { background: #EFE7DE; color: #6B4A43; }
/* Si le thème et l'extension rendent chacun le statut : un seul affiché ; imbriqué, le span de l'extension reste neutre */
.np-account .np-status .np-statut { background: none; color: inherit; padding: 0; min-height: 0; }
.np-account .woocommerce-orders-table__cell-order-status .np-status ~ .np-statut, .np-account .woocommerce-orders-table__cell-order-status .np-statut ~ .np-status { display: none; }

/* Page utilitaire (envoi des tailles) : titre simple, contenu sous l'en-tête */
.np-utility-title { margin: 0; }

/* ---------- 0.5.19 ---------- */
/* Tableaux WooCommerce mis en cartes : aucun fond de cellule (alternance de lignes de woocommerce.css) */
.np-account table td, .np-account table th, .np-account table tr, .np-account table tr:nth-child(even) td, .np-account table tr:nth-child(even) th,
.np-account .woocommerce-orders-table tbody tr > *, .np-account .woocommerce-table--order-details td, .np-account .woocommerce-table--order-details th,
.np-account .woocommerce-table--order-details tfoot td, .np-account .woocommerce-table--order-details tfoot th { background: transparent !important; background-color: transparent !important; }
.np-account .woocommerce-orders-table__cell-order-number a, .np-account .np-order-number { display: inline-block; font-weight: 500; color: var(--wp--preset--color--contrast); text-decoration: none; }
.np-order-total__items { font-weight: 400; color: #6B4A43; }
/* Détail d'une commande : même traitement que la liste */
.np-account .woocommerce-table--order-details { width: 100%; border: 0 !important; border-collapse: collapse; }
.np-account .woocommerce-table--order-details th, .np-account .woocommerce-table--order-details td { border: 0 !important; border-top: 1px solid rgba(79, 36, 27, 0.12) !important; padding: 12px 0; }
.np-account .woocommerce-table--order-details thead th { border-top: 0 !important; font-size: 0.84375rem; font-weight: 500; color: #6B4A43; }

/* ---------- 0.5.21 ---------- */
/* Confirmation, bloc rose : sous 600 px, bouton « Envoyer mes photos » puis lien du guide, centrés et empilés */
@media (max-width: 599px) {
	.np-next-step .np-sizes-actions { flex-direction: column; align-items: center; justify-content: center; gap: var(--wp--preset--spacing--20); width: 100%; }
	.np-next-step .np-sizes-actions > * { margin: 0; text-align: center; }
	.np-next-step .np-sizes-actions .wp-block-nailpop-bouton-tailles, .np-next-step .np-sizes-actions .wp-block-nailpop-bouton-tailles > * { width: 100%; }
	.np-next-step .np-sizes-actions .wp-block-nailpop-bouton-tailles a, .np-next-step .np-sizes-actions .wp-block-nailpop-bouton-tailles button { display: flex; justify-content: center; width: 100%; box-sizing: border-box; }
	.np-next-step .np-sizes-actions .np-sizes-guide { width: 100%; }
	.np-next-step .np-sizes-actions .np-sizes-guide a { justify-content: center; width: 100%; }
}

/* ---------- 0.5.24 ---------- */
/* Survol : plus de doré sur les éléments interactifs du thème */
.np-account .np-btn-ghost:hover, .np-btn-ghost:hover, .np-account .woocommerce .u-column2 button.button:hover { background: var(--wp--preset--color--pink); border-color: var(--wp--preset--color--pink); color: var(--wp--preset--color--contrast); }
.np-account .woocommerce .woocommerce-Button:hover, .np-account .woocommerce button.button:hover, .np-sizes-button:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover, .np-cart .wc-block-cart__submit-button:hover, .np-checkout .wc-block-components-checkout-place-order-button:hover { background: var(--wp--preset--color--contrast) !important; border-color: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--white) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart:hover { background: var(--wp--preset--color--pink) !important; border-color: var(--wp--preset--color--pink) !important; }

/* À propos : liens sociaux avec libellé (Instagram, TikTok) en pastilles de même hauteur */
.np-social-labels.wp-block-social-links { display: flex; flex-wrap: wrap; gap: 12px; margin-left: 0; padding-left: 0; }
.np-social-labels .wp-social-link { display: inline-flex; align-items: center; width: auto; height: 48px; margin: 0; }
.np-social-labels .wp-social-link a { display: inline-flex; align-items: center; gap: 8px; width: auto; height: 48px; padding: 0 20px; box-sizing: border-box; line-height: 1; font-size: 0.9375rem; font-weight: 500; text-decoration: none; }
.np-social-labels .wp-social-link svg { width: 20px; height: 20px; flex: 0 0 20px; }
.np-social-labels .wp-block-social-link-label { position: static; width: auto; height: auto; clip: auto; margin: 0; overflow: visible; white-space: nowrap; font-size: inherit !important; }
.np-social-labels .wp-social-link:hover, .np-social-labels .wp-social-link:focus-within,
.np-social-labels .wp-social-link a:hover, .np-social-labels .wp-social-link a:focus-visible { background-color: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--white) !important; }
@media (max-width: 599px) {
	.np-social-labels.wp-block-social-links { flex-direction: column; align-items: stretch; }
	.np-social-labels .wp-social-link, .np-social-labels .wp-social-link a { width: 100%; justify-content: center; }
}

/* Prestations : module Press On à 3 colonnes quand le bloc le demande */
.np-sets .wc-block-product-template.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.np-sets .wc-block-product-template.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ---------- 0.5.25 ---------- */
/* Mini-panier vide : bouton « Commencer mes achats » au survol et au focus comme les autres boutons */
.wc-block-mini-cart__shopping-button a:hover, .wc-block-mini-cart__shopping-button a:focus,
.wc-block-mini-cart__shopping-button a:focus-visible { background-color: var(--wp--preset--color--contrast) !important; border-color: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--white) !important; }

/* ---------- 0.5.26 ---------- */
/* Liste des commandes : bouton compact dès 768 px, pour une ligne de même hauteur que les autres */
@media (min-width: 768px) {
	.np-account .woocommerce-orders-table__cell-order-actions .button:not(.view),
	.np-account .woocommerce-orders-table__cell-order-actions .woocommerce-button.tailles { min-height: 36px; height: 36px; padding: 0.375rem 0.875rem; font-size: 0.875rem; line-height: 1.2; white-space: nowrap; }
	.np-account .woocommerce-orders-table th, .np-account .woocommerce-orders-table td { padding-top: 12px; padding-bottom: 12px; }
}

/* ---------- 0.5.27 ---------- */
/* Détail d'une commande : titres des sections au même niveau (WooCommerce et encart Expédition de l'extension) */
.np-account .woocommerce-order-details__title, .np-account .woocommerce-column__title, .np-account .woocommerce-customer-details h2,
.np-account .np-expedition > h2, .np-account .np-expedition > h3, .np-account .np-expedition > :first-child:is(h2, h3, h4) {
	margin: 0 0 16px; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.625rem, 2.4vw, 2.125rem); line-height: 1.15; color: var(--wp--preset--color--contrast);
}
.np-account .np-expedition { margin-top: var(--wp--preset--spacing--50); }
.np-account .woocommerce-order-details, .np-account .woocommerce-customer-details { margin-top: var(--wp--preset--spacing--50); }
.np-account .woocommerce-order-details:first-child, .np-account .woocommerce-order > p:first-child + .woocommerce-order-details { margin-top: 0; }
/* Prix aligné sur la ligne du produit, pas sur ses attributs */
.np-account .woocommerce-table--order-details td, .np-account .woocommerce-table--order-details th { vertical-align: top; }
.np-account .woocommerce-table--order-details .woocommerce-table__product-total { text-align: right; }

/* ---------- 0.5.29 : crédit du pied de page ---------- */
.np-footer .np-copyright { margin: 0; color: var(--wp--preset--color--ink); }
.np-footer .np-credit a { color: inherit; text-decoration: none; }
.np-footer .np-credit a:hover, .np-footer .np-credit a:focus-visible { text-decoration: underline; }
@media (max-width: 599px) {
	.np-footer .np-copyright__sep { display: none; }
	.np-footer .np-credit { display: block; margin-top: 4px; }
}

/* ---------- 0.5.32 / 0.5.33 : avis produits ---------- */
/* Fiche : note sous le titre, lien vers #avis */
.np-pdp-rating { display: flex; align-items: center; gap: 10px; margin: 0; }
.np-pdp-rating .wc-block-components-product-rating__container { display: flex; align-items: center; gap: 10px; }
.np-pdp-rating .wc-block-components-product-rating__stars, .np-pdp-rating .star-rating { color: var(--wp--preset--color--accent); margin: 0; }
.np-rating-link { color: var(--wp--preset--color--contrast); font-size: 0.9375rem; font-weight: 500; text-decoration: none; }
.np-rating-link:hover { text-decoration: underline; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Cartes des grilles : étoiles bordeaux et nombre d'avis, rien à 0 avis */
.np-card-product .np-card-rating { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--wp--preset--font-size--small); }
.np-card-product .np-card-rating .wc-block-components-product-rating__container { display: flex; align-items: center; gap: 6px; }
.np-card-product .np-card-rating .wc-block-components-product-rating__stars, .np-card-product .np-card-rating .star-rating { color: var(--wp--preset--color--accent); font-size: 0.875rem; margin: 0; }
.np-card-rating__count { color: var(--wp--preset--color--ink); }

/* Section Avis clientes : pleine largeur de contenu, en-tête sur une ligne, carrousel */
.np-reviews { scroll-margin-top: calc(76px + 24px + var(--wp-admin--admin-bar--height, 0px)); }
.np-reviews-head h2 { margin: 0; }
.np-reviews-summary { display: flex; align-items: center; gap: 12px; }
.np-reviews-summary__avg { font-family: var(--wp--preset--font-family--display); font-size: 2.5rem; line-height: 1; color: var(--wp--preset--color--contrast); }
.np-stars { position: relative; display: inline-block; font-size: 1.125rem; line-height: 1; letter-spacing: 2px; white-space: nowrap; }
.np-stars__bg { color: rgba(79, 36, 27, 0.2); }
.np-stars__fg { position: absolute; top: 0; left: 0; overflow: hidden; color: var(--wp--preset--color--accent); }
.np-reviews-summary__count { font-size: 0.9375rem; color: var(--wp--preset--color--ink); }
.np-carousel-nav { display: flex; gap: 10px; }
.np-carousel-nav[hidden] { display: none; }
.np-carousel-nav__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(79, 36, 27, 0.3); border-radius: 50%; background: var(--wp--preset--color--white); color: var(--wp--preset--color--contrast); cursor: pointer; transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition); }
.np-carousel-nav__btn:hover, .np-carousel-nav__btn:focus-visible { background: var(--wp--preset--color--pink); border-color: var(--wp--preset--color--pink); }
.np-carousel-nav__btn:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.np-carousel-nav__btn[disabled] { opacity: 0.35; cursor: default; background: var(--wp--preset--color--white); border-color: rgba(79, 36, 27, 0.3); }
.np-reviews-list ol.np-carousel {
	--np-gap: 20px; --np-cols: 3;
	display: flex; gap: var(--np-gap); margin: 0; padding: 0 0 4px; list-style: none;
	overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.np-reviews-list ol.np-carousel::-webkit-scrollbar { display: none; }
.np-reviews-list ol.np-carousel:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.np-reviews-list ol.np-carousel > li { flex: 0 0 calc((100% - (var(--np-cols) - 1) * var(--np-gap)) / var(--np-cols)); min-width: 0; margin: 0; display: flex; scroll-snap-align: start; }
.np-reviews-list ol.np-carousel.np-carousel--single > li { flex-basis: calc((100% - 2 * var(--np-gap)) / 3); }
.np-review-card { display: flex; flex-direction: column; width: 100%; }
.np-review-card .wc-block-product-review-rating__stars, .np-review-card .star-rating { color: var(--wp--preset--color--accent); font-size: 1rem; margin: 0; }
.np-review-card .wp-block-woocommerce-product-review-rating { text-align: left; }
.np-review-card__text { flex: 1 1 auto; }
.np-review-card__text, .np-review-card__text p { font-size: 1rem; font-weight: 400; line-height: 1.6; }
.np-review-card__text p { margin: 0 0 8px; }
.np-review-card__text p:last-child { margin-bottom: 0; }
.np-review-card__text:not(.is-expanded) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-clamp: 6; overflow: hidden; }
.np-review-card__more { align-self: flex-start; margin: -6px 0 0; padding: 0; border: 0; background: none; color: var(--wp--preset--color--accent); font: 500 0.875rem/1.4 var(--wp--preset--font-family--body); text-decoration: underline; cursor: pointer; }
.np-review-card__meta { font-size: 0.9375rem; }
.wp-block-woocommerce-product-review-author-name { display: inline-flex; align-items: center; gap: 8px; }
.np-verified { display: inline-flex; align-items: center; min-height: 24px; padding: 0 10px; border-radius: var(--wp--custom--radius--pill); background: var(--wp--preset--color--peach); color: var(--wp--preset--color--accent); font-size: 0.75rem; font-weight: 500; line-height: 1; }
.np-reviews-list .wp-block-woocommerce-product-review-form, .np-reviews-list #review_form_wrapper, .np-reviews-list .comment-respond { display: none !important; }
.np-reviews-legal { background: none; padding: 0; border: 0; }
.np-reviews-legal summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; color: var(--wp--preset--color--ink); text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.np-reviews-legal summary::-webkit-details-marker { display: none; }
.np-reviews-legal, .np-reviews-legal p { width: 100%; max-width: none; }
.np-reviews-legal p { margin: 4px 0 0; }
@media (max-width: 1024px) { .np-reviews-list ol.np-carousel { --np-cols: 2; } .np-reviews-list ol.np-carousel.np-carousel--single > li { flex-basis: calc((100% - var(--np-gap)) / 2); } }
@media (max-width: 767px) {
	.np-reviews-head { flex-direction: column; align-items: flex-start; }
	.np-reviews-list ol.np-carousel { --np-cols: 1.15; --np-gap: 12px; margin-right: calc(-1 * var(--wp--style--root--padding-right, 24px)); padding-right: var(--wp--style--root--padding-right, 24px); scroll-padding-inline: 0 24px; }
	.np-reviews-list ol.np-carousel.np-carousel--single > li { flex-basis: 100%; }
	.np-reviews-summary__avg { font-size: 2rem; }
}

/* Page « Donnez votre avis sur votre commande » */
.np-review { max-width: 760px; }
.np-review__meta, .np-review .woocommerce-review-order__meta { margin: 0 0 8px; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink); }
.np-review__title, .np-review .woocommerce-review-order__title, .np-review .woocommerce-review-order__empty-title { margin: 0 0 16px; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.75rem, 2.8vw, 2.5rem); line-height: 1.15; color: var(--wp--preset--color--contrast); }
.np-review__intro { margin: 0 0 var(--wp--preset--spacing--40); }
.np-review .woocommerce-review-order__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.np-review__item { margin: 0; padding: clamp(20px, 2.6vw, 28px); border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--white); }
.np-review__row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 20px; align-items: start; }
.np-review__image img { display: block; width: 120px; height: 120px; object-fit: contain; padding: 6px; box-sizing: border-box; border-radius: 12px; background: #EFE7DE; }
.np-review__body { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.np-review__item-title { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: 1.375rem; line-height: 1.15; color: var(--wp--preset--color--contrast); }
.np-review__item-title a { color: inherit; text-decoration: none; }
.np-review__item-title a:hover { text-decoration: underline; }
.np-review__variation { display: block; margin-top: 4px; font-family: var(--wp--preset--font-family--body); font-size: 0.875rem; color: #6B4A43; }
.np-review__label { margin: 0 0 6px; font-size: 0.875rem; font-weight: 500; color: var(--wp--preset--color--contrast); }
.np-review .woocommerce-review-order__item-rating-error { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--accent); }
.np-review .woocommerce-review-order__item-rating-error:empty { display: none; }
/* Étoiles bordeaux, cibles de 44 px, focus visible, survol rose */
.np-review .woocommerce-star-rating { display: flex; align-items: center; gap: 12px; color: var(--wp--preset--color--accent); }
.np-review .woocommerce-star-rating__star { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; margin: 0; border-radius: 50%; }
.np-review .woocommerce-star-rating__icon { width: 28px; height: 28px; fill: currentColor; opacity: 0.3; }
.np-review .woocommerce-star-rating__input:checked ~ .woocommerce-star-rating__star .woocommerce-star-rating__icon { opacity: 1; }
.np-review .woocommerce-star-rating__stars:hover .woocommerce-star-rating__icon { opacity: 0.3; }
.np-review .woocommerce-star-rating__star:hover .woocommerce-star-rating__icon,
.np-review .woocommerce-star-rating__star:hover ~ .woocommerce-star-rating__star .woocommerce-star-rating__icon { opacity: 1; fill: var(--wp--preset--color--pink); }
.np-review .woocommerce-star-rating__input:focus + .woocommerce-star-rating__star { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 0; }
.np-review .woocommerce-star-rating__caption { font-size: 0.875rem; color: #6B4A43; opacity: 1; }
/* Zone de texte comme les autres champs du site */
.np-review .woocommerce-review-order__item-review-textarea {
	display: block; width: 100%; min-height: 96px; padding: 14px 16px; box-sizing: border-box; resize: vertical;
	border: 1px solid rgba(64, 31, 31, 0.2); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--white);
	font: 400 1rem/1.5 var(--wp--preset--font-family--body); color: var(--wp--preset--color--ink);
}
.np-review .woocommerce-review-order__item-review-textarea::placeholder { color: rgba(47, 45, 43, 0.55); }
.np-review .woocommerce-review-order__item-review-textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: transparent; }
.np-review .woocommerce-review-order__item-status { margin: 0; font-size: 0.875rem; color: #1E6B3A; }
.np-review .woocommerce-review-order__item-status:empty { display: none; }
.np-review .woocommerce-review-order__actions { margin-top: var(--wp--preset--spacing--40); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.np-review .woocommerce-review-order__submit-hint { margin: 0; font-size: 0.875rem; color: #6B4A43; }
.np-review .woocommerce-review-order__submit, .np-review__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 30px; border: 1px solid var(--wp--preset--color--accent); border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); font: 500 1rem/1 var(--wp--preset--font-family--body); text-decoration: none; cursor: pointer; }
.np-review .woocommerce-review-order__submit:hover, .np-review .woocommerce-review-order__submit:focus-visible, .np-review__cta:hover, .np-review__cta:focus-visible { background: var(--wp--preset--color--pink); border-color: var(--wp--preset--color--pink); color: var(--wp--preset--color--contrast); }
.np-review .woocommerce-review-order__submit[disabled] { opacity: 0.5; cursor: default; }
.np-review.is-success .woocommerce-review-order__form, .np-review.is-success .woocommerce-review-order__intro { display: none; }
@media (max-width: 599px) {
	.np-review__row { grid-template-columns: minmax(0, 1fr); }
	.np-review__image img { width: 100%; height: auto; aspect-ratio: 4 / 3; }
	.np-review .woocommerce-review-order__submit, .np-review__cta { width: 100%; }
	.np-review .woocommerce-star-rating { flex-wrap: wrap; }
}

/* ---------- 0.5.35 ---------- */
/* Cartes produit : titre, note, prix empilés ; la note ne prend aucune place à 0 avis */
.np-card-product .np-card-text > * { margin: 0; }
.np-card-product .np-card-text .wp-block-woocommerce-product-price { text-align: left; color: var(--wp--preset--color--contrast); }
.np-card-product .np-card-rating:empty, .np-card-product .wp-block-woocommerce-product-rating:empty { display: none; }

/* ---------- 0.5.38 : bande « Édition {saison} » de la boutique ---------- */
.np-editions { color: var(--wp--preset--color--base); }
.np-editions .np-editions__title { margin: 0; color: var(--wp--preset--color--base); }
.np-editions .np-editions__desc { margin: 0; }
.np-editions .np-editions__facts { margin: 0; color: rgba(246, 241, 235, 0.75); }
.np-editions .np-editions__link { margin: 0; }
.np-editions .np-editions__link a { color: var(--wp--preset--color--base); text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.np-editions .np-editions__link a:hover { color: var(--wp--preset--color--pink); }
.np-editions a:focus-visible, .np-editions button:focus-visible, .np-editions .wc-block-product-template:focus-visible { outline: 2px solid var(--wp--preset--color--base); outline-offset: 3px; }
/* Texte à gauche (4/12), cartes à droite (8/12) à partir de 1024 px */
@media (min-width: 1024px) {
	.np-editions__inner { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--wp--preset--spacing--60); align-items: start; }
	.np-editions__inner > * { margin: 0 !important; }
}
/* Cartes : 3 colonnes, largeur constante même avec 1 ou 2 produits */
.np-editions .wc-block-product-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.np-editions .wc-block-product-template > li { margin: 0; min-width: 0; display: flex; }
.np-edition-card { width: 100%; height: 100%; display: flex; flex-direction: column; color: var(--wp--preset--color--ink); }
.np-edition-card .np-card-image { aspect-ratio: 4 / 5; border-radius: 12px; background: #EFE7DE; }
.np-edition-card .np-card-image img { aspect-ratio: 4 / 5; object-fit: cover; padding: 0; }
.np-edition-card .np-card-text { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.np-edition-card .np-edition-card__price { margin: 0; color: var(--wp--preset--color--contrast); }
.np-edition-card .np-edition-card__price .wc-block-components-product-price::before, .np-edition-card .np-edition-card__price > span::before { content: "À partir de "; font-weight: 400; color: var(--wp--preset--color--ink); }
.np-edition-card .np-edition-card__button { margin-top: auto; padding-top: 6px; position: relative; z-index: 2; }
.np-edition-card .np-edition-card__button .wp-block-button__link, .np-edition-card .np-edition-card__button .wc-block-components-product-button__button {
	display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 20px;
	border: 1px solid var(--wp--preset--color--pink); border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--pink); color: var(--wp--preset--color--contrast); font-size: 0.9375rem; font-weight: 500; text-decoration: none;
}
.np-edition-card .np-edition-card__button .wp-block-button__link:hover, .np-edition-card .np-edition-card__button .wc-block-components-product-button__button:hover,
.np-edition-card .np-edition-card__button .wp-block-button__link:focus-visible, .np-edition-card .np-edition-card__button .wc-block-components-product-button__button:focus-visible { background: var(--wp--preset--color--base); border-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); outline: 2px solid var(--wp--preset--color--base); outline-offset: 2px; }
.np-edition-card .np-edition-card__button .added_to_cart { display: none; }
/* Survol : fondu vers la seconde image, pointeur fin seulement */
.np-edition-card .np-card-image__alt { opacity: 0; transition: opacity 0.3s ease; }
@media (hover: hover) and (pointer: fine) {
	.np-edition-card:hover .np-card-image__alt, .np-edition-card:focus-within .np-card-image__alt { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .np-edition-card .np-card-image__alt, .np-edition-card .np-card-image img { transition: none; } }
/* Mobile : carrousel, carte à 78 %, la suivante dépasse */
@media (max-width: 599px) {
	.np-editions .wc-block-product-template {
		display: flex !important; gap: var(--wp--preset--spacing--20); overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 24px)); padding: 0 var(--wp--style--root--padding-right, 24px) 4px 0; scroll-padding-inline: 0 24px;
	}
	.np-editions .wc-block-product-template::-webkit-scrollbar { display: none; }
	.np-editions .wc-block-product-template > li { flex: 0 0 78%; scroll-snap-align: start; }
}
