/*
Theme Name: AZAGNY
Theme URI: https://azagnycollection.com/
Author: AZAGNY Collection
Description: Thème boutique pour AZAGNY Collection. Tout se modifie depuis Apparence > Éditeur : textes, photos, couleurs, menus.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.8.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: azagny
Tags: e-commerce, full-site-editing, block-patterns
*/

/* En-tête : recherche à gauche, logo au centre, compte et panier à droite, menu en dessous */
.azagny-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-areas:
		"recherche logo icones"
		"menu menu menu";
	align-items: center;
	row-gap: 0.75rem;
}
.azagny-header__recherche { grid-area: recherche; justify-self: start; margin: 0; }
.azagny-header__logo { grid-area: logo; justify-self: center; margin: 0; }
.azagny-header__icones { grid-area: icones; justify-self: end; }
.azagny-header__menu { grid-area: menu; justify-self: center; }
.azagny-header__menu .wp-block-navigation-item__content {
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.25rem 0;
}
.azagny-header__logo img { display: block; height: auto; }
.azagny-header .wp-block-navigation__submenu-container {
	border: 1px solid #e7e1dc !important;
	padding: 0.5rem 0;
	min-width: 13rem;
}
.azagny-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 1.1rem;
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 0.875rem;
}
@media (max-width: 781px) {
	.azagny-header {
		grid-template-columns: auto auto 1fr auto;
		grid-template-areas: "menu recherche logo icones";
		column-gap: 0.35rem;
		padding-bottom: 1rem !important;
	}
	.azagny-header__logo { justify-self: center; }
	.azagny-header__logo img { width: 120px !important; }
	.azagny-header__icones { gap: 0.35rem !important; }
}
.azagny-header .wp-block-search__button {
	background: transparent;
	color: inherit;
	padding: 0.35rem;
	margin: 0;
	border: 0;
}
.azagny-header .wp-block-search__button:hover {
	background: transparent;
	color: var(--wp--preset--color--grenat);
}
.azagny-header .wp-block-site-title {
	margin: 0;
	padding-left: 0.32em; /* compense l'espacement des lettres pour un vrai centrage */
}
/* Bandeau et en-tête : à leur place en haut de la page, ils ne suivent pas le défilement */
header.wp-block-template-part {
	position: relative;
	z-index: 50;
	background: var(--wp--preset--color--base);
}
@media (max-width: 782px) {
	.azagny-header .wp-block-site-title { font-size: 1.25rem !important; }
}

/* Lookbook : photos verticales, recadrées en gardant le haut (visages) */
.wp-block-gallery.is-cropped .wp-block-image img {
	aspect-ratio: 3 / 5;
	height: auto !important;
	object-position: 50% 8%;
}
@media (max-width: 600px) {
	/* Sur téléphone, une photo par ligne plutôt que des bandeaux écrasés */
	.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: 100%;
	}
	.wp-block-gallery.is-cropped .wp-block-image img {
		aspect-ratio: 4 / 5;
	}
}

/* Lookbook : mosaïque qui garde chaque photo entière (visages et robes complets) */
.azagny-lookbook .wp-block-gallery.has-nested-images {
	display: block;
	columns: 3;
	column-gap: 0.5rem;
}
.azagny-lookbook .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	display: block;
	width: 100%;
	margin: 0 0 0.5rem;
	break-inside: avoid;
}
.azagny-lookbook .wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: auto;
	cursor: zoom-in;
	transition: opacity 0.3s ease;
}
.azagny-lookbook .wp-block-gallery.has-nested-images figure.wp-block-image img:hover {
	opacity: 0.88;
}
@media (min-width: 1000px) {
	.azagny-lookbook .wp-block-gallery.has-nested-images {
		columns: 4;
	}
}
@media (max-width: 600px) {
	.azagny-lookbook .wp-block-gallery.has-nested-images {
		columns: 2;
		column-gap: 0.35rem;
	}
	.azagny-lookbook .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		margin-bottom: 0.35rem;
	}
}

/* Couverture : une photo plein écran, juste sous l'en-tête */
.azagny-couverture.wp-block-cover {
	margin-top: 0;
	min-height: calc(100vh - 110px) !important;
	container-type: inline-size;
}
.azagny-couverture h1 {
	/* Le titre tient toujours dans la largeur de l'écran */
	font-size: clamp(2.75rem, 14cqi, 11rem) !important;
	line-height: 0.85;
	letter-spacing: -0.02em;
	margin: 0.25rem 0 1.5rem;
}
.azagny-couverture .wp-block-button__link:hover {
	background: var(--wp--preset--color--grenat) !important;
	color: var(--wp--preset--color--base) !important;
}
@media (max-width: 781px) {
	.azagny-couverture.wp-block-cover {
		min-height: 82vh !important;
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}
}

/* Ouverture : deux photos plein écran avec le nom de la collection */
.azagny-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}
.azagny-hero > .wp-block-cover {
	/* Les deux photos démarrent à la même hauteur, sans espace entre elles */
	margin: 0 !important;
	min-height: calc(100vh - 110px) !important;
	container-type: inline-size;
}
.azagny-hero .wp-block-cover h2 {
	/* Le nom de la collection occupe la largeur de sa photo, sans jamais déborder */
	font-size: clamp(3rem, 20cqi, 11rem) !important;
	line-height: 0.85;
	letter-spacing: -0.02em;
	margin-top: 0.25rem;
}
.azagny-hero .wp-block-cover a {
	text-decoration: none;
	color: inherit;
}
@media (max-width: 781px) {
	.azagny-hero { grid-template-columns: 1fr; }
	.azagny-hero .wp-block-cover { min-height: 78vh !important; }
}

/* Section histoire : la photo touche le bord et occupe toute sa moitié */
.wp-block-columns:has(> .azagny-histoire-texte) {
	padding-left: 0 !important;
	padding-right: 0 !important;
	gap: 0 !important;
	align-items: stretch !important;
}
.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column {
	box-sizing: border-box;
	flex: 0 0 50% !important;
	max-width: 50%;
}
.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column:first-child {
	align-self: stretch;
}
@media (max-width: 781px) {
	.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100%;
	}
}
.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column:first-child .wp-block-image,
.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column:first-child .wp-block-image img {
	margin: 0;
	width: 100%;
	height: 100%;
}
.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column:first-child .wp-block-image img {
	min-height: 100%;
	object-fit: cover;
	object-position: 50% 30%;
}

@media (max-width: 781px) {
	.wp-block-columns:has(> .azagny-histoire-texte) > .wp-block-column:first-child .wp-block-image img {
		height: auto;
		aspect-ratio: 4 / 5;
	}
	.azagny-histoire-texte {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}
}

/* Photo + texte : la photo ne dépasse pas la hauteur de l'écran */
.wp-block-media-text__media img {
	max-height: 85vh;
	object-fit: cover;
	object-position: 50% 25%;
}

/*
 * Photos de robes : un seul cadre (3:5, le format le plus courant des photos de la marque),
 * calé vers le haut pour que le visage reste toujours visible, quel que soit le format d'origine.
 */
.wc-block-components-product-image img,
.wp-block-woocommerce-product-image img,
.wc-block-grid__product-image img,
.azagny-fiche .woocommerce-product-gallery__image img,
.azagny-fiche .flex-control-thumbs img,
.azagny-liste__robe img {
	aspect-ratio: 3 / 5;
	object-fit: cover;
	object-position: 50% 8%;
	width: 100%;
	height: auto;
}
.wp-block-woocommerce-product-template .wp-block-post-title,
.wc-block-product .wp-block-post-title {
	font-family: var(--wp--preset--font-family--texte);
	font-size: 0.9375rem !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
}

/* Fiche produit : les infos restent visibles pendant qu'on fait défiler les photos */
@media (min-width: 782px) {
	.azagny-fiche-infos {
		position: sticky;
		top: 2rem;
		align-self: flex-start;
	}
}
.azagny-fiche-infos .wp-block-post-content h3 {
	font-family: var(--wp--preset--font-family--texte);
	font-size: 0.9375rem;
	font-weight: 500;
	margin-top: 1.75rem;
}
.azagny-fiche-infos .wp-block-post-content :is(p, li) {
	font-size: 0.9375rem;
}
.azagny-fiche .wp-block-woocommerce-product-image-gallery,
.azagny-fiche .woocommerce-product-gallery {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
}
.azagny-fiche .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	margin-top: 0.5rem !important;
}
.azagny-fiche .flex-control-thumbs li {
	width: auto !important;
	margin: 0 !important;
}
.azagny-fiche form.cart {
	display: flex;
	gap: 0.75rem;
}
.azagny-fiche form.cart .single_add_to_cart_button {
	flex: 1;
}

/* Liste de souhaits : cœurs */
.azagny-vignette {
	position: relative;
}
.azagny-coeur {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	cursor: pointer;
	padding: 0;
}
.azagny-coeur svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	transition: transform 0.15s ease;
}
.azagny-coeur[aria-pressed="true"] svg {
	fill: var(--wp--preset--color--grenat);
	stroke: var(--wp--preset--color--grenat);
}
.azagny-coeur:active svg {
	transform: scale(0.85);
}
.azagny-coeur:focus-visible {
	outline: 2px solid var(--wp--preset--color--grenat);
	outline-offset: 3px;
}
.azagny-vignette > .azagny-coeur {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	z-index: 2;
	width: 2.5rem;
	height: 2.5rem;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
}
.azagny-coeur--texte {
	margin-top: 0.75rem;
	font-size: 0.9375rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.azagny-liste-lien {
	position: relative;
	display: inline-flex;
	color: inherit;
	margin-right: 0.75rem;
}
.azagny-liste-lien svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
}
.azagny-liste-lien__nombre {
	position: absolute;
	top: -0.45rem;
	right: -0.6rem;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.25rem;
	border-radius: 1rem;
	background: var(--wp--preset--color--grenat);
	color: var(--wp--preset--color--base);
	font-size: 0.6875rem;
	line-height: 1.1rem;
	text-align: center;
}
.azagny-liste-lien__nombre[hidden] {
	display: none;
}

/* Page « Ma liste de souhaits » */
.azagny-liste__grille {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	gap: 2rem 1.25rem;
}
.azagny-liste__robe {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.azagny-liste__robe > a {
	color: inherit;
	text-decoration: none;
}
.azagny-liste__robe img {
	display: block;
	margin-bottom: 0.6rem;
}
.azagny-liste__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-top: 0.5rem;
}
.azagny-liste__actions .azagny-coeur--texte {
	margin-top: 0;
}
.azagny-liste__epuise {
	color: var(--wp--preset--color--gris);
}

/* Fiche produit : cœur en haut à droite de la grande photo, loupe en haut à gauche */
.azagny-vignette--fiche > .azagny-coeur {
	top: 0.9rem;
	right: 0.9rem;
	width: 2.75rem;
	height: 2.75rem;
}
.azagny-vignette--fiche .woocommerce-product-gallery__trigger {
	top: 0.9rem !important;
	right: auto !important;
	left: 0.9rem;
}

/* Fiche produit : icône avis sous le titre */
.azagny-lien-avis {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.875rem;
	color: inherit;
	text-underline-offset: 3px;
}
.azagny-lien-avis__etoiles {
	display: inline-flex;
	gap: 2px;
}
.azagny-lien-avis svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
}
.azagny-lien-avis svg.est-pleine {
	fill: currentColor;
}
#reviews {
	scroll-margin-top: 1.5rem;
}

/*
 * Panier qui glisse : « Vous aimeriez aussi » reste secondaire.
 * Petites lignes (miniature, nom, prix) sur fond sable, sous les robes du panier.
 */
.azagny-suggestions {
	margin: 0.5rem 16px 1rem;
	padding: 0.75rem;
	background: var(--wp--preset--color--sable);
}
.azagny-suggestions__titre {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--texte);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0;
}
.azagny-suggestions ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.azagny-suggestions a {
	display: grid;
	grid-template-columns: 36px 1fr auto;
	align-items: center;
	gap: 0.75rem;
	color: inherit;
	text-decoration: none;
	font-size: 0.8125rem;
	line-height: 1.3;
}
.azagny-suggestions img {
	width: 36px;
	height: 54px;
	object-fit: cover;
	object-position: 50% 8%;
}
.azagny-suggestions a:hover .azagny-suggestions__nom {
	text-decoration: underline;
}
.azagny-suggestions__prix {
	color: var(--wp--preset--color--gris);
	white-space: nowrap;
}

/* Avis clientes */
.azagny-avis .wp-block-woocommerce-product-review-content p {
	margin: 0.25rem 0 0;
}

/* Bandeau de réassurance du pied de page */
.azagny-assurance p {
	margin: 0;
}

/* Tableau du guide des tailles */
.azagny-tailles table {
	border-collapse: collapse;
}
.azagny-tailles th,
.azagny-tailles td {
	border: 0;
	border-bottom: 1px solid #d9d1cb;
	padding: 0.85rem 0.5rem;
	text-align: left;
}
.azagny-tailles thead th {
	border-bottom: 1px solid var(--wp--preset--color--contrast);
	font-weight: 500;
}

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

/* Fiches AMARA : mention « Pièce signature » au-dessus du nom */
.azagny-mention-signature {
	margin: 0 0 0.35rem;
	font-size: 0.875rem;
	color: var(--wp--preset--color--grenat);
}

/* Étiquette « Revient bientôt » sur les photos des grilles */
.azagny-etiquette {
	position: absolute;
	left: 0.6rem;
	bottom: 0.6rem;
	z-index: 2;
	padding: 0.3rem 0.6rem;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-size: 0.75rem;
	line-height: 1.2;
}

/* « Rejoignez l'univers AZAGNY » et « Être prévenue de son retour » */
.azagny-inscription {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.azagny-inscription__piege {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.azagny-inscription__libelle {
	font-size: 0.875rem;
}
.azagny-inscription__champ {
	display: flex;
	gap: 0;
}
.azagny-inscription input[type="email"] {
	flex: 1;
	min-width: 0;
	padding: 0.9rem 1rem;
	border: 1px solid currentColor;
	border-right: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
}
.azagny-inscription input[type="email"]::placeholder {
	color: inherit;
	opacity: 0.6;
}
.azagny-inscription input[type="email"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--grenat);
	outline-offset: 2px;
}
.azagny-inscription button {
	white-space: nowrap;
}
.azagny-inscription__mention {
	font-size: 0.75rem;
	opacity: 0.75;
}
.azagny-inscription__mention a {
	color: inherit;
}
.azagny-inscription__message {
	font-size: 0.875rem;
	font-weight: 500;
}
/* Bandeau noir : bouton blanc */
.azagny-rejoindre .azagny-inscription button {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
.azagny-rejoindre .azagny-inscription button:hover {
	background: var(--wp--preset--color--grenat);
	color: var(--wp--preset--color--base);
}
/* Fiche d'une robe épuisée */
.azagny-inscription--retour {
	margin-top: 1rem;
	padding: 1rem;
	background: var(--wp--preset--color--sable);
}
@media (max-width: 781px) {
	.azagny-rejoindre .wp-block-columns {
		gap: 1.25rem !important;
	}
}

/* Rétractation : bouton du pied de page (contour) et formulaire */
.azagny-bouton-retractation .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 1px solid currentColor;
	padding: 0.6rem 1rem;
}
.azagny-bouton-retractation .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
.azagny-retractation {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	max-width: 560px;
}
.azagny-retractation label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.35rem;
}
.azagny-retractation input[type="text"],
.azagny-retractation input[type="email"],
.azagny-retractation textarea {
	width: 100%;
	padding: 0.8rem 0.9rem;
	border: 1px solid #b9b1ab;
	border-radius: 0;
	font: inherit;
	box-sizing: border-box;
}
.azagny-retractation input:focus-visible,
.azagny-retractation textarea:focus-visible {
	outline: 2px solid var(--wp--preset--color--grenat);
	outline-offset: 1px;
}
.azagny-retractation__aide {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.8125rem;
	font-weight: 400;
	color: var(--wp--preset--color--gris);
}
.azagny-retractation__erreur {
	color: var(--wp--preset--color--grenat);
	font-weight: 500;
}
.azagny-retractation--confirmee {
	padding: 1.25rem;
	background: var(--wp--preset--color--sable);
}


/* Taille portée par le mannequin, sous la description */
.azagny-mannequin {
	font-size: 0.875rem;
	color: var(--wp--preset--color--gris);
}

/* Fiche produit : délais, guide des tailles, sur-mesure, composition, livraison, SAV */
.azagny-infos {
	margin-top: 1.25rem;
	font-size: 0.875rem;
}
.azagny-infos__delai {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	margin: 0 0 0.9rem;
	padding: 0.75rem 0.9rem;
	background: var(--wp--preset--color--sable);
}
.azagny-infos__delai svg { flex: none; margin-top: 0.1rem; }
.azagny-infos__liens {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 0 0 1rem;
}
.azagny-infos__lien {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-size: 0.875rem;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.azagny-infos__lien:hover { color: var(--wp--preset--color--grenat); }
.azagny-infos__bloc,
.azagny-faq details {
	border-top: 1px solid #e7e1dc;
}
.azagny-infos__bloc:last-of-type { border-bottom: 1px solid #e7e1dc; }
.azagny-infos__bloc summary,
.azagny-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.85rem 0;
	cursor: pointer;
	list-style: none;
	font-weight: 500;
}
.azagny-infos__bloc summary::-webkit-details-marker,
.azagny-faq summary::-webkit-details-marker { display: none; }
.azagny-infos__bloc summary::after,
.azagny-faq summary::after {
	content: "+";
	font-weight: 300;
	font-size: 1.25rem;
	line-height: 1;
	transition: transform 0.2s ease;
}
.azagny-infos__bloc[open] summary::after,
.azagny-faq details[open] summary::after { transform: rotate(45deg); }
.azagny-infos__bloc p { margin: 0 0 0.85rem; color: var(--wp--preset--color--gris); }

/* Fenêtres (guide des tailles, comment se mesurer) */
.azagny-fenetre {
	width: min(760px, calc(100vw - 2rem));
	max-height: min(86vh, 900px);
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
.azagny-fenetre::backdrop { background: rgb(0 0 0 / 0.45); }
.azagny-fenetre__tete {
	position: sticky;
	top: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.5rem;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid #e7e1dc;
}
.azagny-fenetre__tete h2 { margin: 0; font-size: var(--wp--preset--font-size--large); }
.azagny-fenetre__fermer {
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	background: none;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	color: inherit;
}
.azagny-fenetre__corps { padding: 0.5rem 1.5rem 1.5rem; font-size: 0.9375rem; }

/* Collections : pastilles des sous-collections */
.azagny-sous-collections {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 auto var(--wp--preset--spacing--30);
	max-width: var(--wp--style--global--wide-size);
}
.azagny-sous-collections a {
	padding: 0.5rem 1.1rem;
	border: 1px solid var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.azagny-sous-collections a:hover,
.azagny-sous-collections a[aria-current="page"] {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* Filtres : taille, prix, collection */
.azagny-barre-filtres { gap: 1rem; }
.azagny-filtres {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
}
.azagny-filtres label { display: flex; flex-direction: column; gap: 0.25rem; }
.azagny-filtres label > span {
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
}
.azagny-filtres select,
.azagny-surmesure select,
.azagny-surmesure input[type="text"],
.azagny-surmesure input[type="email"],
.azagny-surmesure input[type="tel"],
.azagny-surmesure input[type="number"],
.azagny-surmesure textarea {
	min-height: 2.75rem;
	padding: 0.55rem 0.8rem;
	border: 1px solid #b9b1ab;
	border-radius: 0;
	background: var(--wp--preset--color--base);
	color: inherit;
	font: inherit;
	box-sizing: border-box;
}
.azagny-filtres select { min-width: 9rem; }
.azagny-filtres button { padding: 0.65rem 1.4rem; }
.azagny-filtres__effacer { align-self: center; font-size: 0.8125rem; }
@media (max-width: 600px) {
	.azagny-filtres { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
	.azagny-filtres label:nth-of-type(3) { grid-column: 1 / -1; }
	.azagny-filtres select { min-width: 0; width: 100%; }
	.azagny-filtres button { grid-column: 1 / -1; }
}

/* Aucun article (Accessoires, filtres trop précis) */
.azagny-vide { padding: var(--wp--preset--spacing--50) 0; }

/* Confection sur-mesure */
.azagny-surmesure {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 720px;
}
.azagny-surmesure fieldset {
	margin: 0;
	padding: 1.25rem 1.5rem 1.5rem;
	border: 1px solid #e7e1dc;
}
.azagny-surmesure legend {
	padding: 0 0.5rem;
	font-family: var(--wp--preset--font-family--titre);
	font-size: var(--wp--preset--font-size--large);
}
.azagny-surmesure label { display: block; margin: 0.75rem 0 0.35rem; font-weight: 500; }
.azagny-surmesure__grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 0 1rem;
}
.azagny-surmesure__grille label { display: flex; flex-direction: column; gap: 0.35rem; }
.azagny-surmesure select,
.azagny-surmesure input,
.azagny-surmesure textarea { width: 100%; }
.azagny-surmesure input:focus-visible,
.azagny-surmesure select:focus-visible,
.azagny-surmesure textarea:focus-visible,
.azagny-filtres select:focus-visible {
	outline: 2px solid var(--wp--preset--color--grenat);
	outline-offset: 1px;
}
.azagny-surmesure__aide { margin: 0.5rem 0 0; font-size: 0.8125rem; color: var(--wp--preset--color--gris); }
.azagny-surmesure__accord { display: flex !important; gap: 0.6rem; align-items: flex-start; font-weight: 400 !important; font-size: 0.875rem; }
.azagny-surmesure__accord input { width: auto; margin-top: 0.2rem; }
.azagny-surmesure__piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.azagny-surmesure__erreur { color: var(--wp--preset--color--grenat); font-weight: 500; }
.azagny-surmesure--envoyee { padding: 1.5rem; background: var(--wp--preset--color--sable); }
.azagny-surmesure button[type="submit"] { padding: 0.9rem 2rem; }

/* Étapes du sur-mesure */
.azagny-etapes {
	counter-reset: etape;
}
.azagny-etapes li {
	counter-increment: etape;
	list-style: none;
	position: relative;
	padding-left: 2.75rem;
	margin-bottom: 1rem;
}
.azagny-etapes li::before {
	content: counter(etape);
	position: absolute;
	left: 0;
	top: -0.1rem;
	width: 1.9rem;
	height: 1.9rem;
	display: grid;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 0.875rem;
}

/* FAQ */
.azagny-faq details:last-child { border-bottom: 1px solid #e7e1dc; }
.azagny-faq details > :not(summary) { margin: 0 0 1rem; color: var(--wp--preset--color--gris); }

/* Pied de page : logo */
.azagny-pied .wp-block-site-logo { margin-bottom: 1rem; }

/* Filtres : toujours ouverts sur ordinateur, repliés derrière « Filtrer » sur téléphone */
.azagny-volet-filtres > summary { display: none; }
.wc-block-catalog-sorting select,
.woocommerce-ordering select {
	min-height: 2.75rem;
	padding: 0.55rem 0.8rem;
	border: 1px solid #b9b1ab;
	border-radius: 0;
	background: var(--wp--preset--color--base);
	font: inherit;
}
@media (max-width: 600px) {
	.azagny-barre-filtres { flex-direction: column; align-items: stretch !important; }
	.azagny-volet-filtres { width: 100%; }
	.azagny-volet-filtres > summary {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0.75rem 1rem;
		border: 1px solid var(--wp--preset--color--contrast);
		cursor: pointer;
		list-style: none;
		font-size: 0.8125rem;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}
	.azagny-volet-filtres > summary::-webkit-details-marker { display: none; }
	.azagny-volet-filtres > summary::after { content: "+"; font-size: 1.2rem; line-height: 1; }
	.azagny-volet-filtres[open] > summary::after { content: "−"; }
	.azagny-volet-filtres[open] .azagny-filtres { margin-top: 0.75rem; }
	.azagny-sous-collections { gap: 0.4rem; }
	.azagny-sous-collections a { padding: 0.4rem 0.75rem; font-size: 0.75rem; }
}

/* Titres de page : sur une seule ligne sur téléphone (ex. « Confection sur-mesure ») */
@media (max-width: 600px) {
	h1.wp-block-post-title {
		font-size: clamp(1.5rem, 7.4vw, 2.25rem) !important;
		line-height: 1.15;
	}
}
@media (max-width: 600px) {
	/* Sous-titres des pages (FAQ, sur-mesure, SAV…) : plus petits que le titre de la page */
	body.page-template-default .wp-block-post-content h2.wp-block-heading {
		font-size: clamp(1.25rem, 5.6vw, 1.6rem);
	}
}
