/* La Cabane × TT5 — styles complémentaires */

a {
	transition: color 0.2s ease, background-color 0.2s ease;
}

/* Focus : pas de bord bleu au clic souris ; conservé au clavier */
a:focus,
button:focus,
.wp-block-site-logo a:focus,
.wp-block-navigation a:focus,
.wp-block-navigation__submenu-icon:focus,
.wp-block-button__link:focus,
summary:focus {
	outline: none;
}

a:focus-visible,
button:focus-visible,
.wp-block-site-logo a:focus-visible,
.wp-block-navigation a:focus-visible,
.wp-block-navigation__submenu-icon:focus-visible,
.wp-block-button__link:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1, #496985);
	outline-offset: 2px;
}

/* Évite un léger scroll horizontal (alignfull / padding) */
html,
body {
	overflow-x: clip;
}

/* Filigrane : coins du bloc / liste produits (home + boutique) */
.lacabane-home-produits,
.lacabane-shop-produits {
	position: relative;
	isolation: isolate;
}

.lacabane-home-produits::before,
.lacabane-home-produits::after,
.lacabane-shop-produits::before,
.lacabane-shop-produits::after {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
	opacity: 0.08;
	background-repeat: no-repeat;
	background-size: contain;
}

/* Haut gauche — motif 6 */
.lacabane-home-produits::before,
.lacabane-shop-produits::before {
	left: clamp(0.5rem, 3vw, 2rem);
	top: clamp(0.5rem, 3vw, 2rem);
	width: clamp(180px, 26vw, 340px);
	height: clamp(130px, 20vw, 250px);
	background-image: url("../images/filigrane/motif-tl.png");
	background-position: left top;
}

/* Bas droite — motif 2 */
.lacabane-home-produits::after,
.lacabane-shop-produits::after {
	right: clamp(0.5rem, 3vw, 2rem);
	bottom: clamp(0.5rem, 3vw, 2rem);
	width: clamp(220px, 32vw, 420px);
	height: clamp(160px, 24vw, 300px);
	background-image: url("../images/filigrane/motif-br.png");
	background-position: right bottom;
}

.lacabane-home-produits > *,
.lacabane-shop-produits > * {
	position: relative;
	z-index: 1;
}

/* WooCommerce harmonisation */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	font-family: var(--wp--preset--font-family--heading) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--accent-1) !important;
	color: var(--wp--preset--color--base) !important;
	border: 2px solid var(--wp--preset--color--accent-1) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--accent-1) !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: var(--wp--preset--color--accent-1);
	font-family: var(--wp--preset--font-family--heading);
}

/* Fiche produit : up-sells / related en pleine largeur sous la galerie + résumé
   (sinon, sans description/onglets, ils se glissent sous .summary à cause des floats). */
.woocommerce div.product .up-sells,
.woocommerce div.product .upsells,
.woocommerce div.product .related,
.woocommerce div.product .woocommerce-tabs,
.woocommerce-page div.product .up-sells,
.woocommerce-page div.product .upsells,
.woocommerce-page div.product .related,
.woocommerce-page div.product .woocommerce-tabs {
	clear: both;
	float: none;
	width: 100%;
	display: block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--heading);
	color: var(--wp--preset--color--accent-1);
}

/* Boutons produit (grille catégories / home) : plus petits + bordure bleue au survol */
.wc-block-components-product-button .wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.wp-block-woocommerce-product-template .wc-block-components-product-button__button,
.wc-block-grid__product .wp-block-button__link,
.wc-block-product .wp-block-button__link,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button {
	font-size: 0.8rem !important;
	line-height: 1.2 !important;
	padding: 0.4rem 0.85rem !important;
	min-height: 0 !important;
	border-radius: 0 !important;
	border: 2px solid transparent !important;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.wc-block-components-product-button .wc-block-components-product-button__button:hover,
.wc-block-components-product-button .wc-block-components-product-button__button:focus,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:focus,
.wp-block-woocommerce-product-template .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-product-template .wc-block-components-product-button__button:focus,
.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .wp-block-button__link:focus,
.wc-block-product .wp-block-button__link:hover,
.wc-block-product .wp-block-button__link:focus,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover {
	background: var(--wp--preset--color--base, #f7f3ea) !important;
	color: var(--wp--preset--color--accent-1, #496985) !important;
	border-color: var(--wp--preset--color--accent-1, #496985) !important;
}

/* Logo header */
.lacabane-logo img {
	max-width: 150px;
	height: auto;
}

/* En-tête + pied de page (FSE) */
.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--wp--preset--color--base);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1) 12%, transparent);
	box-shadow: 0 1px 0 rgba(73, 105, 133, 0.06);
	padding-top: var(--wp--preset--spacing--20);
	padding-bottom: var(--wp--preset--spacing--20);
}

/* Header mobile : logo 70% | compte + panier | menu burger */
@media (max-width: 781px) {
	.wp-site-blocks > header .alignwide.is-layout-flex {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 0.35rem;
		width: 100%;
	}

	.wp-site-blocks > header .wp-block-site-logo {
		order: 1;
		flex: 0 1 70%;
		max-width: 70%;
		min-width: 0;
	}

	.wp-site-blocks > header .wp-block-site-logo .custom-logo-link,
	.wp-site-blocks > header .wp-block-site-logo img,
	.wp-site-blocks > header .wp-block-site-logo .custom-logo {
		display: block;
		max-width: 100%;
		width: auto;
		height: auto;
	}

	/* Compte + panier juste à gauche du burger */
	.wp-site-blocks > header .alignwide.is-layout-flex > .lacabane-header-actions,
	.wp-site-blocks > header .alignwide.is-layout-flex > .wp-block-group:has(.wp-block-woocommerce-customer-account),
	.wp-site-blocks > header .alignwide.is-layout-flex > .wp-block-group:has(.wp-block-woocommerce-mini-cart),
	.wp-site-blocks > header .alignwide.is-layout-flex > .wp-block-group:has(.wc-block-mini-cart) {
		order: 2;
		margin-left: auto;
		flex: 0 0 auto;
		gap: 0.15rem;
	}

	.wp-site-blocks > header .wp-block-navigation {
		order: 3;
		flex: 0 0 auto;
		margin-left: 0;
	}

	.wp-site-blocks > header .wp-block-woocommerce-customer-account,
	.wp-site-blocks > header .wc-block-mini-cart {
		flex: 0 0 auto;
	}

	/* Burger : 3 traits (mobile uniquement) */
	.wp-site-blocks > header .wp-block-navigation__responsive-container-open {
		position: relative;
		width: 2rem;
		height: 2rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: var(--wp--preset--color--accent-1, #496985);
		background: transparent;
		border: 0;
		padding: 0.35rem;
	}

	.wp-site-blocks > header .wp-block-navigation__responsive-container-open svg {
		display: none !important;
	}

	.wp-site-blocks > header .wp-block-navigation__responsive-container-open::before {
		content: "";
		display: block;
		width: 1.35rem;
		height: 0.125rem;
		background: currentColor;
		box-shadow:
			0 -0.4rem 0 currentColor,
			0 0.4rem 0 currentColor;
	}
}

/* Desktop : jamais de burger (menu horizontal) */
@media (min-width: 782px) {
	.wp-site-blocks > header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
}

/* Menu principal : Proxima Nova (moins marquée que les titres) */
.wp-site-blocks > header .wp-block-navigation,
.wp-site-blocks > header .wp-block-navigation a,
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif) !important;
	color: var(--wp--preset--color--accent-1, #496985);
}

/* Sous-menus desktop : fond crème, texte bleu */
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container,
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
	background-color: var(--wp--preset--color--base, #f7f3ea) !important;
	border-color: color-mix(in srgb, var(--wp--preset--color--accent-1) 15%, transparent);
}

.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container a,
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-1, #496985) !important;
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif) !important;
	background-color: transparent;
}

.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container a:hover,
.wp-site-blocks > header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent-1, #496985) !important;
	background-color: color-mix(in srgb, var(--wp--preset--color--accent-2) 35%, var(--wp--preset--color--base));
}

/* Menu ouvert : fond crème, liens Seram, grands, à gauche */
.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open {
	background-color: var(--wp--preset--color--base, #f7f3ea) !important;
	color: var(--wp--preset--color--accent-1, #496985) !important;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-content {
	padding: 2rem 1.5rem 3rem;
	align-items: flex-start !important;
	justify-content: flex-start !important;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container,
.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-dialog {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
	width: 100%;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item {
	width: 100%;
	justify-content: flex-start !important;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item__content,
.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open a,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open a {
	color: var(--wp--preset--color--accent-1, #496985) !important;
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif) !important;
	font-size: clamp(1.25rem, 4vw, 1.65rem) !important;
	line-height: 1.35;
	font-weight: 400;
	text-align: left !important;
	justify-content: flex-start !important;
	padding: 0.55rem 0 !important;
	width: 100%;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--base, #f7f3ea) !important;
	border: 0;
	padding-left: 0.75rem;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container a {
	font-size: clamp(1.05rem, 3.5vw, 1.25rem) !important;
	color: var(--wp--preset--color--accent-1, #496985) !important;
}

.wp-site-blocks > header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
.wp-site-blocks > header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--accent-1, #496985) !important;
}

.wp-site-blocks > footer {
	margin-top: var(--wp--preset--spacing--60);
	background-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--base);
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--50);
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}

/* Liens footer : crème soulignés — paragraphes uniquement (pas les boutons) */
.wp-site-blocks > footer p a,
footer.wp-block-template-part p a {
	color: var(--wp--preset--color--base, #f7f3ea) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.wp-site-blocks > footer p a:hover,
footer.wp-block-template-part p a:hover {
	color: var(--wp--preset--color--accent-2, #e0ccae) !important;
}


/* ------------------------------------------------------------
   Largeurs de groupes
   - Style "Largeur 100%" / alignfull
   - Style "Largeur 1400px" / alignwide
   - Style "Largeur contenu" / défaut (suit le parent)
   ------------------------------------------------------------ */
.wp-block-group.is-style-largeur-pleine,
.wp-block-group.alignfull {
	width: 100%;
	max-width: none;
}

.wp-block-group.is-style-largeur-1400,
.wp-block-group.alignwide {
	width: 100%;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-group.is-style-largeur-contenu {
	width: 100%;
	max-width: var(--wp--style--global--content-size, 720px);
	margin-left: auto;
	margin-right: auto;
}

/* Galerie : 5 images sur une ligne, max 1400px */
.wp-block-gallery.is-style-une-ligne,
.wp-block-group.is-style-largeur-1400 .wp-block-gallery,
.wp-block-group.alignwide .wp-block-gallery {
	width: 100%;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-gallery.is-style-une-ligne,
.wp-block-gallery.columns-5,
.wp-block-gallery.has-nested-images.columns-5 {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.wp-block-gallery.is-style-une-ligne > .wp-block-image,
.wp-block-gallery.columns-5 > .wp-block-image,
.wp-block-gallery.has-nested-images.columns-5 > .wp-block-image,
.wp-block-gallery.is-style-une-ligne > figure,
.wp-block-gallery.columns-5 > figure,
.wp-block-gallery.has-nested-images.columns-5 > figure {
	width: 100% !important;
	margin: 0 !important;
}

.wp-block-gallery.is-style-une-ligne img,
.wp-block-gallery.columns-5 img,
.wp-block-gallery.has-nested-images.columns-5 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 1024px) {
	.wp-block-gallery.is-style-une-ligne,
	.wp-block-gallery.columns-5,
	.wp-block-gallery.has-nested-images.columns-5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.wp-block-gallery.is-style-une-ligne,
	.wp-block-gallery.columns-5,
	.wp-block-gallery.has-nested-images.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Fil d'Ariane Rank Math */
.lacabane-breadcrumb {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0.75rem var(--wp--preset--spacing--40, 1.5rem);
	box-sizing: border-box;
}

.lacabane-breadcrumb__inner,
.lacabane-breadcrumb .rank-math-breadcrumb {
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-3, #aeafaa);
}

.lacabane-breadcrumb a {
	color: var(--wp--preset--color--accent-1, #496985);
	text-decoration: none;
}

.lacabane-breadcrumb a:hover {
	text-decoration: underline;
}

.lacabane-breadcrumb .separator {
	margin: 0 0.4rem;
	opacity: 0.7;
}

/* Catalogue / catégories produit (FSE) */
.wp-block-woocommerce-product-collection .wp-block-post-title,
.wp-block-woocommerce-product-collection .wp-block-post-title a {
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	color: var(--wp--preset--color--accent-1, #496985);
	text-decoration: none;
}

.wp-block-woocommerce-product-collection .wc-block-components-product-price {
	color: var(--wp--preset--color--accent-1, #496985);
}

/* Items produits : coins arrondis */
.wc-block-product,
.wp-block-woocommerce-product-template .wc-block-product,
.wp-block-post.product,
.wc-block-grid__product,
.woocommerce ul.products li.product {
	border-radius: 5px;
	overflow: hidden;
}

.wc-block-product .wc-block-components-product-image,
.wc-block-product .wc-block-components-product-image img,
.wc-block-product .wp-block-woocommerce-product-image img,
.wc-block-grid__product .wc-block-grid__product-image img,
.woocommerce ul.products li.product img {
	border-radius: 5px;
}

/* Produits en rupture : voile gris sur la photo */
.wc-block-product.outofstock .wc-block-components-product-image,
.wc-block-grid__product.outofstock .wc-block-grid__product-image,
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link,
.woocommerce ul.products li.product.outofstock a img {
	position: relative;
}

.wc-block-product.outofstock .wc-block-components-product-image,
.wc-block-grid__product.outofstock .wc-block-grid__product-image,
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__link {
	isolation: isolate;
}

.wc-block-product.outofstock .wc-block-components-product-image img,
.wc-block-grid__product.outofstock .wc-block-grid__product-image img,
.woocommerce ul.products li.product.outofstock img {
	filter: grayscale(0.65) brightness(0.88);
}

.wc-block-product.outofstock .wc-block-components-product-image::after,
.wc-block-grid__product.outofstock .wc-block-grid__product-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	background: color-mix(in srgb, #5a5a5a 42%, transparent);
	pointer-events: none;
}

.wc-block-product.outofstock .wc-block-components-product-image::before,
.wc-block-grid__product.outofstock .wc-block-grid__product-image::before {
	content: "Rupture de stock";
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	padding: 0.35em 0.7em;
	border-radius: 3px;
	background: rgba(40, 40, 40, 0.78);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	white-space: nowrap;
	pointer-events: none;
}

.wp-block-query-title {
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	color: var(--wp--preset--color--accent-1, #496985);
}

/* Note Google globale (footer) */
.lacabane-google-note-wrap {
	margin-top: 0.75rem;
}

.lacabane-google-note {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	color: var(--wp--preset--color--base, #f7f3ea) !important;
	text-decoration: none !important;
	font-family: "Roboto", Arial, Helvetica, sans-serif !important;
	font-size: 0.95rem;
	line-height: 1.25;
	font-weight: 400;
}

.lacabane-google-note:hover {
	color: var(--wp--preset--color--accent-2, #e0ccae) !important;
	text-decoration: none !important;
}

.lacabane-google-note__brand,
.lacabane-google-note__stars,
.lacabane-google-note__count {
	font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

.lacabane-google-note__brand {
	font-weight: 500;
	letter-spacing: 0.01em;
}

.lacabane-google-note__stars {
	display: inline-flex;
	align-items: center;
	gap: 0.1rem;
	line-height: 1;
}

.lacabane-google-note__star {
	display: block;
	width: 17px;
	height: 17px;
}

.lacabane-google-note__count {
	opacity: 0.9;
	font-size: 0.8rem;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Boutique : navigation facettes catégories */
.lacabane-shop-filters {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto 1.5rem;
	padding: 1rem 0 1.25rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #496985) 18%, transparent);
}

.lacabane-shop-filters .wp-block-heading {
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	color: var(--wp--preset--color--accent-1, #496985);
	font-size: 1.15rem;
	font-weight: 400;
}

.lacabane-shop-filters .wc-block-product-filter-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lacabane-shop-filters .wc-block-product-filter-chips__item {
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif) !important;
	font-size: 1.05rem !important;
	line-height: 1.25 !important;
	padding: 0.5rem 1rem !important;
	border-radius: 0 !important;
	border: 2px solid var(--wp--preset--color--accent-1, #496985) !important;
	background: transparent !important;
	color: var(--wp--preset--color--accent-1, #496985) !important;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.lacabane-shop-filters .wc-block-product-filter-chips__item:hover,
.lacabane-shop-filters .wc-block-product-filter-chips__item[aria-checked="true"],
.lacabane-shop-filters .wc-block-product-filter-chips__item.is-selected {
	background: var(--wp--preset--color--accent-1, #496985) !important;
	color: var(--wp--preset--color--base, #f7f3ea) !important;
	border-color: var(--wp--preset--color--accent-1, #496985) !important;
}

.lacabane-shop-filters .wc-block-product-filter-chips__count {
	opacity: 0.85;
	margin-left: 0.25rem;
}

/* Mon compte — navigation latérale plus compacte + gras */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #496985) 12%, transparent);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.4rem 0;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	color: var(--wp--preset--color--accent-1, #496985);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is--active a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast, #111);
}

/* Grille producteurs (page Nos producteurs) */
.lacabane-producteurs {
	width: 100%;
}

.lacabane-producteurs__filters {
	margin: 0 0 1.75rem;
	padding: 0 0 1.25rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #496985) 18%, transparent);
}

.lacabane-producteurs__filters-label {
	margin: 0 0 0.65rem;
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	font-size: 1.15rem;
	font-weight: 400;
	color: var(--wp--preset--color--accent-1, #496985);
}

.lacabane-producteurs__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lacabane-producteurs__chip {
	appearance: none;
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif);
	font-size: 1.05rem;
	line-height: 1.25;
	padding: 0.5rem 1rem;
	border-radius: 0;
	border: 2px solid var(--wp--preset--color--accent-1, #496985);
	background: transparent;
	color: var(--wp--preset--color--accent-1, #496985);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.lacabane-producteurs__chip:hover,
.lacabane-producteurs__chip.is-active {
	background: var(--wp--preset--color--accent-1, #496985);
	color: var(--wp--preset--color--base, #f7f3ea);
}

.lacabane-producteurs__count {
	opacity: 0.85;
	margin-left: 0.25rem;
	font-size: 0.9em;
}

.lacabane-producteurs__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2rem);
}

.lacabane-producteur-card {
	margin: 0;
	display: flex;
	flex-direction: column;
	border-radius: 5px;
	overflow: hidden;
	background: #fff;
}

.lacabane-producteur-card.is-hidden,
.lacabane-producteurs__empty.is-hidden {
	display: none !important;
}

.lacabane-producteur-card__media {
	position: relative;
	margin: 0 0 0.85rem;
}

.lacabane-producteur-card__image-link {
	display: block;
	overflow: hidden;
	aspect-ratio: 1;
	background: color-mix(in srgb, var(--wp--preset--color--accent-2, #e0ccae) 35%, var(--wp--preset--color--base, #f7f3ea));
	border-radius: 5px;
	transition: opacity 0.25s ease;
}

.lacabane-producteur-card__image-link:hover {
	opacity: 0.92;
}

.lacabane-producteur-card__img,
.lacabane-producteur-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

.lacabane-producteur-card__placeholder {
	min-height: 100%;
	background:
		linear-gradient(145deg, var(--wp--preset--color--base, #f7f3ea), var(--wp--preset--color--accent-2, #e0ccae));
}

.lacabane-producteur-card__badge {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	z-index: 1;
	padding: 0.3rem 0.65rem;
	background: var(--wp--preset--color--accent-1, #496985);
	color: var(--wp--preset--color--base, #f7f3ea);
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	border-radius: 0;
}

.lacabane-producteur-card__title {
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	font-weight: 400;
	font-size: clamp(1.15rem, 1.5vw, 1.35rem);
	line-height: 1.25;
	margin: 0 0 0.55rem;
	text-align: center;
}

.lacabane-producteur-card__title a {
	text-decoration: none;
	color: var(--wp--preset--color--accent-1, #496985);
}

.lacabane-producteur-card__title a:hover {
	text-decoration: underline;
}

.lacabane-producteur-card__desc {
	font-size: 0.95rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #111) 78%, transparent);
	text-align: left;
	padding: 0 0.75rem 0.85rem;
}

.lacabane-producteur-card__desc p {
	margin: 0 0 0.75rem;
}

.lacabane-producteur-card__desc p:last-child {
	margin-bottom: 0;
}

.lacabane-producteurs__empty {
	text-align: center;
	margin: 1.5rem 0 0;
}

@media (max-width: 900px) {
	.lacabane-producteurs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.lacabane-producteurs__grid {
		grid-template-columns: 1fr;
	}
}

/* Fiche producteur */
.lacabane-producteur-meta {
	list-style: none;
	margin: 2rem 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1, #496985) 18%, transparent);
}

.lacabane-producteur-meta li {
	margin: 0 0 0.5rem;
	line-height: 1.45;
}

.lacabane-producteur-meta__label {
	display: inline-block;
	min-width: 5.5rem;
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	color: var(--wp--preset--color--accent-1, #496985);
	margin-right: 0.5rem;
}

/* Contact Form 7 — page contact */
.lacabane-cf7,
.wpcf7 form {
	--cf7-seram: var(--wp--preset--color--accent-1, #496985);
	--cf7-lait: var(--wp--preset--color--base, #f7f3ea);
	--cf7-camomille: var(--wp--preset--color--accent-2, #e0ccae);
	--cf7-ink: var(--wp--preset--color--contrast, #111111);
	font-family: var(--wp--preset--font-family--body, proxima-nova, system-ui, sans-serif);
}

.lacabane-cf7 {
	display: grid;
	gap: 1rem;
	padding: 1.5rem 1.5rem 1.75rem;
	background:
		linear-gradient(165deg, #fff 0%, var(--cf7-lait) 100%);
	border: 1px solid color-mix(in srgb, var(--cf7-seram) 16%, transparent);
}

.lacabane-cf7__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif);
	font-size: clamp(1.5rem, 2.5vw, 1.85rem);
	font-weight: 500;
	color: var(--cf7-seram);
	line-height: 1.15;
}

.lacabane-cf7__hint {
	margin: 0;
	font-size: 0.8rem;
	color: color-mix(in srgb, var(--cf7-ink) 55%, transparent);
	text-align: right;
}

.lacabane-cf7__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.lacabane-cf7 p {
	margin: 0;
	display: grid;
	gap: 0.4rem;
}

.lacabane-cf7 br {
	display: none;
}

.lacabane-cf7__label,
.wpcf7 .lacabane-cf7 label {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--cf7-seram);
}

.lacabane-cf7__input,
.wpcf7 input.wpcf7-text,
.wpcf7 input.wpcf7-email,
.wpcf7 input.wpcf7-tel,
.wpcf7 textarea.wpcf7-textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 0.9rem;
	border: 1px solid #cfc8ba;
	border-radius: 0;
	background: #fff;
	color: var(--cf7-ink);
	font: inherit;
	font-size: 1rem;
	line-height: 1.35;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lacabane-cf7__input:focus,
.wpcf7 input.wpcf7-text:focus,
.wpcf7 input.wpcf7-email:focus,
.wpcf7 input.wpcf7-tel:focus,
.wpcf7 textarea.wpcf7-textarea:focus {
	outline: none;
	border-color: var(--cf7-seram);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--cf7-camomille) 70%, transparent);
}

.lacabane-cf7__textarea,
.wpcf7 textarea.wpcf7-textarea {
	min-height: 9rem;
	resize: vertical;
}

.lacabane-cf7__actions {
	margin-top: 0.25rem;
}

.lacabane-cf7__submit,
.wpcf7 input.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.6rem;
	border: 2px solid var(--cf7-seram);
	border-radius: 0;
	background: var(--cf7-seram);
	color: #fff !important;
	font-family: var(--wp--preset--font-family--heading, eds-market-narrow, Georgia, serif) !important;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.lacabane-cf7__submit:hover,
.lacabane-cf7__submit:focus,
.wpcf7 input.wpcf7-submit:hover,
.wpcf7 input.wpcf7-submit:focus {
	background: #fff;
	color: var(--cf7-seram) !important;
}

.wpcf7 .wpcf7-not-valid {
	border-color: #8a1f1f !important;
}

.wpcf7 .wpcf7-not-valid-tip {
	font-size: 0.85rem;
	color: #8a1f1f;
}

.wpcf7 .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	border-radius: 0;
	border-width: 1px;
	font-size: 0.95rem;
}

.wpcf7 form.sent .wpcf7-response-output {
	background: #e7f3ea;
	border-color: #5f8f63;
	color: #1e4620;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	background: #fde8e8;
	border-color: #c45c5c;
	color: #8a1f1f;
}

@media (max-width: 640px) {
	.lacabane-cf7__row {
		grid-template-columns: 1fr;
	}

	.lacabane-cf7 {
		padding: 1.15rem;
	}

	.lacabane-cf7__submit,
	.wpcf7 input.wpcf7-submit {
		width: 100%;
	}
}
