/*
Theme Name: Kadence Child - Mole Kok
Template: kadence
Author: Mole Kok
Description: Theme enfant Kadence pour molekok.re - e-commerce moderne, animations, responsive mobile.
Version: 1.0.0
Text Domain: kadence-child-molekok
*/

.kdc-animate {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.kdc-animate.is-visible {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.kdc-animate { opacity: 1; transform: none; transition: none; }
}

ul.products li.product {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border-radius: 12px;
	overflow: hidden;
}
ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 24px rgba(0,0,0,0.08);
}
ul.products li.product img { transition: transform 0.4s ease; }
ul.products li.product:hover img { transform: scale(1.05); }

.single_add_to_cart_button { transition: transform 0.15s ease, box-shadow 0.15s ease; }
.single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0,0,0,0.15); }

.kdc-sticky-atc { display: none; }
@media (max-width: 768px) {
	.kdc-sticky-atc {
		display: flex;
		position: fixed;
		bottom: 0; left: 0; right: 0;
		z-index: 999;
		background: #fff;
		padding: 10px 16px;
		box-shadow: 0 -4px 12px rgba(0,0,0,0.08);
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		transition: transform 0.25s ease;
	}
	.kdc-sticky-atc.molekok-atc-hidden {
		transform: translateY(100%);
	}
	body.single-product {
		padding-bottom: 64px;
	}
}

@media (max-width: 600px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
	h1, .entry-title { font-size: 1.6rem; }
}
/* Header navigation - hover underline effect */
#site-navigation#site-navigation ul#primary-menu > li > a,
#site-navigation #primary-menu > li > a {
	position: relative;
	transition: color 0.25s ease;
}
#site-navigation #primary-menu > li > a::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -6px;
	width: 0;
	height: 2px;
	background: #ca131d;
	transition: width 0.3s ease, left 0.3s ease;
}
#site-navigation #primary-menu > li > a:hover::after,
#site-navigation #primary-menu > li.current-menu-item > a::after {
	width: 100%;
	left: 0;
}

/* Cart + search icons: smooth lift on hover */
.header-cart-button,
.search-toggle-open {
	transition: transform 0.2s ease;
}
.header-cart-button:hover,
.search-toggle-open:hover {
	transform: translateY(-2px);
}
/* Logo spacing */
.site-branding .custom-logo {
	margin-top: 10px;
	margin-bottom: 10px;
}
.site-branding {
	padding-top: 10px;
	padding-bottom: 10px;
}

/* Remove the white gap above the hero video on the front page only */
.entry-content-wrap:has(> .entry-content > .alignfull:first-child) {
	padding-top: 0 !important;
}
.woocommerce-notices-wrapper:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Sticky header: no CSS transition here - height is driven continuously by scroll-linked JS, adding a transition made the logo lag behind */
/* Front page: remove the header-offset margin + content padding so the hero video sits flush under the header */
#primary.content-area {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.entry-content-wrap:has(> .entry-content > .alignfull:last-child) {
	padding-bottom: 0 !important;
}
/* Buttons: smooth animated hover (lift + color already handled by theme colors above) */
.wp-block-button__link,
.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.wpcf7-submit {
	transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover,
.wpcf7-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(202, 19, 29, 0.25);
}
/* "Nos univers" section - modern title */
.universe-heading {
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	position: relative;
	margin-bottom: 1.4em !important;
	padding-bottom: 0.5em;
}
.universe-heading::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 70px;
	height: 3px;
	background: #ca131d;
	border-radius: 2px;
}

/* "Nos univers" cards - modern default look */
.universe-card {
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(0,0,0,0.16);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.universe-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 38px rgba(0,0,0,0.28);
}
.universe-card .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.15) 45%, rgba(0,0,0,0.85) 100%) !important;
	opacity: 1 !important;
}
.universe-card .wp-block-cover__image-background {
	transition: transform 0.7s ease;
}
.universe-card:hover .wp-block-cover__image-background {
	transform: scale(1.1);
}
.universe-card .wp-block-cover__inner-container {
	justify-content: flex-end;
	padding-bottom: 1.6em;
}
.universe-card h3 {
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: color 0.3s ease;
	margin-bottom: 0.2em;
}
.universe-card .wp-block-buttons {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.universe-card:hover .wp-block-buttons {
	opacity: 1;
	transform: translateY(0);
}
/* Readable title badge on "Nos univers" cards */
.universe-card .wp-block-cover__inner-container h3.wp-block-heading {
	display: table;
	margin-left: auto !important;
	margin-right: auto !important;
	background: rgba(0,0,0,0.35);
	padding: 0.35em 0.9em;
	border-radius: 8px;
	backdrop-filter: blur(2px);
	text-align: center;
}
/* Uniform white site background (was inconsistent gray behind white content blocks) */
body {
	background-color: #ffffff !important;
}

/* "Notre ambition" / "La boutique" value cards */
.value-card {
	background: #F7FAFC;
	border-radius: 14px;
	border-top: 3px solid #ca131d;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.value-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0,0,0,0.1);
}
.value-card-title {
	color: #1a202c;
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 0.5em !important;
}
/* Personnalisation banner */
.personalization-banner {
	overflow: hidden;
}
.personalization-banner .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.35) 100%) !important;
	opacity: 1 !important;
}

/* Nouveaux produits: card-style product grid */
.new-products-section ul.products li.product {
	background: #F7FAFC;
	padding: 1.2em;
	border-radius: 14px;
}

/* Temoignages clients: modern cards instead of flat background block */
.testimonials-section {
	background: #F7FAFC;
	border-radius: 18px;
}
.testimonial-card.wp-block-quote,
blockquote.testimonial-card {
	background: #ffffff;
	border-left: 3px solid #ca131d;
	border-radius: 10px;
	padding: 1.6em;
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}
.testimonial-card.wp-block-quote:hover,
blockquote.testimonial-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(0,0,0,0.14);
}
.testimonial-card cite {
	color: #24458c;
	font-weight: 700;
	font-style: normal;
}
/* Footer: modern nav with animated underline (matching header style) */
#footer-navigation #footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em;
	justify-content: flex-start;
}
#footer-navigation #footer-menu > li {
	list-style: none;
}
#footer-navigation #footer-menu > li > a {
	position: relative;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 0.9rem;
	font-weight: 600;
	transition: color 0.25s ease;
}
#footer-navigation #footer-menu > li > a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 0;
	height: 2px;
	background: #ca131d;
	transition: width 0.3s ease;
}
#footer-navigation #footer-menu > li > a:hover::after {
	width: 100%;
}

/* Footer social icons: bigger, circular, animated */
.footer-widget-area.footer-social-wrap .social-menu li a,
.site-footer .footer-social-inner a {
	transition: transform 0.25s ease, background-color 0.25s ease !important;
}
.site-footer .footer-social-inner a:hover {
	transform: translateY(-3px) scale(1.08);
	background-color: #ca131d !important;
}
/* Remove the default "boxed content" shadow under the page content */
article.entry {
	box-shadow: none !important;
}

/* Footer: modern layout - nav and social on the same row, better spacing */
.site-top-footer-inner-wrap {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	padding-top: 2.5em;
	padding-bottom: 2.5em;
	flex-wrap: wrap;
	gap: 1.5em;
}
.site-footer-top-section-2 {
	display: none;
}
.site-bottom-footer-wrap {
	border-top: 1px solid rgba(255,255,255,0.12);
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}
#colophon .footer-html {
	font-size: 0.9rem;
	letter-spacing: 0.02em;
	display: flex;
	align-items: center;
}

/* "Nouveaux produits": dark contrasting section */
.new-products-section {
	background: #0d0d0d;
	border-radius: 18px;
	padding-left: 2em;
	padding-right: 2em;
}
.new-products-section .universe-heading {
	color: #ffffff;
}
.new-products-section .universe-heading::after {
	background: #ca131d;
}
.new-products-section ul.products li.product {
	background: #ffffff;
	padding: 1.2em;
	border-radius: 14px;
}
.new-products-section ul.products li.product .woocommerce-loop-product__title,
.new-products-section ul.products li.product .price {
	color: #000000;
}
/* Keep "Nouveaux produits" content readable inside the full-width dark background */
.new-products-section.alignfull > * {
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5em;
	padding-right: 1.5em;
	box-sizing: border-box;
}

/* Center the footer bottom bar (copyright + logo) */
#colophon .footer-html {
	justify-content: center;
	width: 100%;
}
.site-bottom-footer-inner-wrap {
	justify-content: center;
}
/* Footer bottom bar: logo mathematically centered, copyright trailing to its right */
#colophon .footer-html-inner p {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	width: 100%;
}
.footer-copy-spacer {
	grid-column: 1;
}
.footer-copy-logo {
	grid-column: 2;
	height: 52px !important;
	max-height: 52px !important;
	width: auto !important;
	max-width: 160px !important;
	border-radius: 6px;
	justify-self: center;
}
@media (max-width: 600px) {
	.footer-copy-logo {
		height: 36px !important;
		max-height: 36px !important;
	}
}
.footer-copy-text {
	grid-column: 3;
	justify-self: start;
	margin-left: 14px;
	white-space: nowrap;
}
/* "Pourquoi choisir Molé Kok" - distinct icon-card design (not the same look as testimonials) */
.feature-card {
	background: #ffffff;
	border: 1px solid #eee;
	border-radius: 16px;
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 30px rgba(0,0,0,0.1);
}
.feature-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 1em auto;
	background: #000000;
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease;
}
.feature-card:hover .feature-icon {
	background: #ca131d;
}
/* Equal height for the "Pourquoi choisir" cards */
.feature-card {
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

/* Modern, animated testimonial cards */
.testimonial-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 2.2em 1.8em 1.8em 1.8em;
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(0,0,0,0.08);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
	height: 100%;
	box-sizing: border-box;
}
.testimonial-card:hover {
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 20px 40px rgba(0,0,0,0.16);
}
.testimonial-quote-icon {
	position: absolute;
	top: -10px;
	right: 10px;
	font-size: 6rem;
	font-family: Georgia, serif;
	color: #ca131d;
	opacity: 0.12;
	line-height: 1;
	pointer-events: none;
}
.testimonial-stars {
	color: #f5a524;
	letter-spacing: 0.2em;
	font-size: 1rem;
	margin-bottom: 0.8em;
}
.testimonial-text {
	font-style: italic;
	font-size: 0.98rem;
	line-height: 1.7;
	margin-bottom: 1.4em;
	position: relative;
}
.testimonial-author {
	display: flex;
	align-items: center;
	gap: 0.8em;
}
.testimonial-avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #000000;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.9rem;
	flex-shrink: 0;
	transition: background-color 0.3s ease;
}
.testimonial-card:hover .testimonial-avatar {
	background: #ca131d;
}
.testimonial-name {
	font-weight: 700;
	color: #24458c;
}

/* Entrance animation for testimonial cards (reuses the site's scroll-reveal system) */
.testimonial-card.kdc-animate {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease, box-shadow 0.4s ease;
}
.testimonial-card.kdc-animate.is-visible {
	opacity: 1;
	transform: translateY(0);
}
/* Sticky header: force a small margin above/below the shrunk logo (theme setting wasn't enough) */
.kadence-sticky-header.item-is-stuck .custom-logo {
	max-height: 46px !important;
	width: auto !important;
}
/* Boutique : barre de filtres (catégories + disponibilité) */
.molekok-shop-filters {
	display: flex;
	flex-direction: column;
	gap: 0.8em;
	margin-bottom: 2.5em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid #eee;
}
.molekok-filter-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
}
.molekok-shop-filters {
	display: flex !important;
	flex-wrap: wrap;
	gap: 2.5em;
	align-items: flex-start;
}
.molekok-filter-col {
	display: flex;
	flex-direction: column;
	gap: 0.7em;
}
.molekok-filter-label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #999;
}
.molekok-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
}
.molekok-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.45em 0.9em 0.45em 1.1em;
	border-radius: 999px;
	background: #F7FAFC;
	color: #000000 !important;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.2s ease;
}
.molekok-chip:hover {
	background: #000000;
	color: #ffffff !important;
	transform: translateY(-2px);
}
.molekok-chip.is-active {
	background: #ca131d;
	color: #ffffff !important;
}
.molekok-chip-count {
	background: rgba(0,0,0,0.08);
	border-radius: 999px;
	padding: 0.1em 0.55em;
	font-size: 0.72rem;
	font-weight: 700;
}
.molekok-chip.is-active .molekok-chip-count {
	background: rgba(255,255,255,0.25);
}
.molekok-chip:hover .molekok-chip-count {
	background: rgba(255,255,255,0.2);
}

/* Interrupteur "En stock uniquement" */
.molekok-toggle-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.7em;
	text-decoration: none !important;
	cursor: pointer;
}
.molekok-toggle-track {
	width: 44px;
	height: 24px;
	border-radius: 999px;
	background: #ddd;
	position: relative;
	transition: background-color 0.25s ease;
	flex-shrink: 0;
}
.molekok-toggle-thumb {
	position: absolute;
	top: 2px;
	left: 2px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
	transition: transform 0.25s ease;
}
.molekok-toggle-switch.is-on .molekok-toggle-track {
	background: #ca131d;
}
.molekok-toggle-switch.is-on .molekok-toggle-thumb {
	transform: translateX(20px);
}
.molekok-toggle-text {
	font-size: 0.85rem;
	font-weight: 600;
	color: #000000 !important;
}

/* Boutique : cartes produits modernisées */
.woocommerce ul.products li.product {
	background: #ffffff;
	border-radius: 16px;
	padding: 1em 1em 1.4em 1em;
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(0,0,0,0.14);
}
.woocommerce ul.products li.product img {
	border-radius: 12px;
}
.woocommerce span.onsale {
	background: #ca131d !important;
	border-radius: 999px;
	font-weight: 700;
}
.woocommerce ul.products li.product .price {
	color: #24458c;
	font-weight: 700;
}
/* Boutique : bouton pour afficher/masquer les filtres à la demande */
.molekok-filter-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	background: #000000;
	color: #ffffff;
	border: none;
	border-radius: 999px;
	padding: 0.8em 1.6em;
	font-size: 0.9rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	box-shadow: 0 8px 20px rgba(0,0,0,0.18);
	transition: background-color 0.25s ease, transform 0.2s ease;
}
.molekok-filter-toggle:hover {
	background: #ca131d;
	transform: translateY(-2px);
}
.molekok-shop-filters {
	display: none !important;
	opacity: 0;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
	transition: opacity 0.3s ease;
}
.molekok-shop-filters.is-open {
	display: flex !important;
	opacity: 1;
	margin-bottom: 2em !important;
	padding-bottom: 1.5em !important;
	border-bottom: 1px solid #eee !important;
}

/* Sticker promo discret */
.woocommerce span.onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #000000 !important;
	color: #ffffff !important;
	border-radius: 6px;
	font-size: 0.62rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 0.25em 0.6em;
	min-height: 0;
	min-width: 0;
	height: auto;
	width: auto;
	line-height: 1.3;
	box-shadow: none;
	opacity: 0.9;
}

/* Boutique : cartes produits modernes et soignées */
.woocommerce ul.products li.product {
	display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
	text-align: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.95rem;
	font-weight: 600;
	margin-top: 0.8em;
	margin-bottom: 0.3em;
}
.woocommerce ul.products li.product img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.woocommerce ul.products li.product .product-action-wrap {
	margin-top: 0.8em;
	padding-top: 0.8em;
	display: flex;
	justify-content: center;
}

/* Bouton "ajouter au panier" / "choix des options" : capsule moderne et animée (specificite renforcee pour primer sur kadence-woocommerce.css) */
.woocommerce ul.products li.product a.button.button.add_to_cart_button.add_to_cart_button,
body.woocommerce ul.products li.product a.add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: row !important;
	gap: 0.4em !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	min-width: 130px !important;
	flex-shrink: 0 !important;
	margin: 0.8em auto 0 auto !important;
	padding: 0.7em 1.3em !important;
	border-radius: 999px !important;
	border: none !important;
	background: #000000 !important;
	color: #ffffff !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	text-align: center !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
	box-sizing: border-box !important;
	transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
.woocommerce ul.products li.product a.button.button.add_to_cart_button.add_to_cart_button:hover,
body.woocommerce ul.products li.product a.add_to_cart_button:hover {
	background: #ca131d !important;
	color: #ffffff !important;
	transform: translateY(-3px) scale(1.03) !important;
	box-shadow: 0 10px 20px rgba(202,19,29,0.3) !important;
}
.woocommerce ul.products li.product a.add_to_cart_button .kadence-svg-iconset {
	display: inline-flex !important;
	align-items: center !important;
	height: auto !important;
	width: auto !important;
}
.woocommerce ul.products li.product a.add_to_cart_button svg {
	width: 13px !important;
	height: 13px !important;
}
/* "Notre histoire" - photo habillée (coins arrondis, ombre, badge) */
.molekok-story-media {
	position: relative;
	border-radius: 20px;
	overflow: visible !important;
}
.molekok-story-media img {
	border-radius: 20px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.18);
}
.molekok-story-badge {
	position: absolute;
	top: -18px;
	right: -18px;
	background: #ca131d;
	color: #ffffff;
	border-radius: 50%;
	width: 92px;
	height: 92px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	box-shadow: 0 8px 20px rgba(202,19,29,0.4);
	transform: rotate(8deg);
}
@media (max-width: 780px) {
	.molekok-story-badge { width: 72px; height: 72px; font-size: 0.65rem; top: -12px; right: -12px; }
}
/* "Notre histoire" - bannier photo sous le texte */
.molekok-story-banner {
	border-radius: 20px;
	overflow: hidden;
}
/* Barre de filtres : sticky + look plus premium */
.molekok-filter-toggle {
	position: sticky;
	top: 78px;
	z-index: 20;
}
.molekok-shop-filters.is-open {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	padding: 1.5em !important;
	border-bottom: none !important;
}
.molekok-chip svg {
	flex-shrink: 0;
}

/* Renfort : garantir le style capsule des boutons produits en toutes circonstances */
.woocommerce ul.products li.product .product-action-wrap a.button,
.woocommerce ul.products li.product a.add_to_cart_button {
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 130px;
	transition: transform 0.2s ease, background-color 0.25s ease !important;
}
.woocommerce ul.products li.product a.add_to_cart_button:hover {
	transform: translateY(-2px);
}

/* Formulaire de contact (Contact Form 7) - style moderne cohérent */
.wpcf7-form {
	max-width: 640px;
	margin: 2em auto 0 auto;
}
.wpcf7-form p {
	margin-bottom: 1.4em;
}
.wpcf7-form label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.5em;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	width: 100%;
	padding: 0.9em 1.1em;
	border: 1.5px solid #e2e2e2;
	border-radius: 12px;
	font-size: 1rem;
	font-family: inherit;
	background: #F7FAFC;
	transition: border-color 0.25s ease, background-color 0.25s ease;
	box-sizing: border-box;
}
.wpcf7-form textarea {
	min-height: 140px;
	resize: vertical;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border-color: #ca131d;
	background: #ffffff;
	outline: none;
}
.wpcf7-form .wpcf7-submit {
	background: #000000 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.8em 2.2em !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	transition: background-color 0.25s ease, transform 0.2s ease !important;
	display: block;
	margin: 0.5em auto 0 auto;
}
.wpcf7-form .wpcf7-submit:hover {
	background: #ca131d !important;
	transform: translateY(-2px);
}
.wpcf7-spinner {
	margin-left: 0.6em;
}
.wpcf7-not-valid-tip {
	color: #ca131d;
	font-size: 0.82rem;
	margin-top: 0.3em;
}
.wpcf7-response-output {
	border-radius: 12px !important;
	margin-top: 1.5em !important;
	padding: 1em 1.2em !important;
}
/* Menu principal : un peu plus d'air entre les items */
#site-navigation #primary-menu > li {
	margin-left: 0.4em;
	margin-right: 0.4em;
}
/* Mobile : header plus compact */
@media (max-width: 780px) {
	.site-branding {
		padding-top: 4px;
		padding-bottom: 4px;
	}
	.site-branding .custom-logo {
		margin-top: 4px;
		margin-bottom: 4px;
	}
}

/* Mobile : hero video - hauteur fixe en pixels pour eviter tout probleme de vh/svh dynamique */
@media (max-width: 780px) {
	.wp-block-cover.alignfull {
		height: 480px !important;
		min-height: 480px !important;
		max-height: 480px !important;
	}
	.wp-block-cover.alignfull .wp-block-cover__background {
		height: 100% !important;
	}
}

/* "Nouveaux produits" : un seul produit par ligne sur mobile */
@media (max-width: 600px) {
	.new-products-section ul.products {
		grid-template-columns: 1fr !important;
	}
}
/* Footer mobile : mise en page verticale et centrée, plus moderne */
@media (max-width: 780px) {
	.site-top-footer-inner-wrap {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center;
		gap: 1.8em !important;
		padding-top: 2em !important;
		padding-bottom: 2em !important;
	}
	#footer-navigation #footer-menu {
		justify-content: center;
		gap: 0.9em 1.4em;
	}
	.footer-social-wrap {
		justify-content: center;
	}
	#colophon .footer-html-inner p {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		gap: 0.6em;
		text-align: center;
	}
	.footer-copy-spacer {
		display: none;
	}
	.site-bottom-footer-wrap {
		padding-top: 1.8em !important;
		padding-bottom: 1.8em !important;
	}
}
/* Mobile : video d'accueil - forcer un remplissage total, quel que soit le navigateur */
@media (max-width: 780px) {
	.wp-block-cover.alignfull {
		overflow: hidden !important;
	}
	.wp-block-cover.alignfull video.wp-block-cover__video-background {
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		object-fit: cover !important;
		object-position: center center !important;
		/* Le fichier video source contient des bandes noires fixes (40px sur 320px de hauteur, soit ~12.5% en haut et en bas) : on zoome pour les faire sortir du cadre visible */
		transform: translate(-50%, -50%) scale(1.34) !important;
	}
}

/* Mobile : liens du pied de page alignés proprement (un par ligne) */
@media (max-width: 780px) {
	#footer-navigation #footer-menu {
		flex-direction: column;
		align-items: center;
		gap: 0.9em;
	}
}

/* Mobile : logo et boutons sociaux du pied de page plus grands */
@media (max-width: 780px) {
	.footer-copy-logo {
		height: 60px !important;
		max-height: 60px !important;
	}
	.site-footer .footer-social-inner a,
	.footer-social-wrap .social-button {
		width: 44px !important;
		height: 44px !important;
	}
	.footer-social-wrap .social-button svg {
		width: 20px !important;
		height: 20px !important;
	}
}
/* Cartes produits : masquer l'extrait de description (source du chevauchement avec le bouton) */
.woocommerce ul.products li.product .product-excerpt {
	display: none !important;
}
/* Corrige le positionnement absolu par défaut de Kadence qui provoque le chevauchement bouton/description */
.woocommerce ul.products li.product .product-action-wrap {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: 100% !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.woocommerce ul.products li.product {
	overflow: visible !important;
}
/* Fil d'Ariane : Kadence applique un margin-top negatif pensu pour un bandeau de titre desactive sur ce site */
.kadence-breadcrumbs {
	margin-top: 0 !important;
	padding-top: 1.5em;
}
/* ============================================================
   CARTES PRODUITS - refonte complète v2 (règles finales, prioritaires)
   ============================================================ */
.woocommerce ul.products li.product.product {
	position: relative !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border-radius: 18px !important;
	padding: 0 0 1.6em 0 !important;
	box-shadow: 0 6px 20px rgba(0,0,0,0.07) !important;
	transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.woocommerce ul.products li.product.product:hover {
	transform: translateY(-8px) !important;
	box-shadow: 0 20px 40px rgba(0,0,0,0.16) !important;
}

/* Image : carrée, coins arrondis en haut, zoom au survol */
.woocommerce ul.products li.product.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product.product a.woocommerce-LoopProduct-link {
	display: block !important;
	overflow: hidden !important;
	border-radius: 18px 18px 0 0 !important;
	margin-bottom: 1em !important;
}
.woocommerce ul.products li.product.product img {
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	width: 100% !important;
	transition: transform 0.5s ease !important;
}
.woocommerce ul.products li.product.product:hover img {
	transform: scale(1.06) !important;
}

/* Contenu texte : espacé, centré, largeur pleine */
.woocommerce ul.products li.product.product .product-details {
	position: static !important;
	width: 100% !important;
	padding: 0 1.2em !important;
	box-sizing: border-box !important;
	height: auto !important;
}
.woocommerce ul.products li.product.product .woocommerce-loop-product__title {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	text-align: center !important;
	margin: 0 0 0.8em 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	word-break: break-word !important;
	hyphens: auto !important;
	line-height: 1.3 !important;
	height: 2.6em !important;
}
.woocommerce ul.products li.product.product .price {
	display: block !important;
	text-align: center !important;
	color: #24458c !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
}

/* Badge promo */
.woocommerce ul.products li.product.product span.onsale {
	z-index: 2 !important;
}
/* ============================================================
   FICHE PRODUIT - refonte moderne
   ============================================================ */

/* Fil d'Ariane */
nav.woocommerce-breadcrumb,
.kadence-breadcrumbs {
	font-size: 0.85rem;
	color: #888;
	letter-spacing: 0.02em;
}
nav.woocommerce-breadcrumb a,
.kadence-breadcrumbs a {
	color: #000000;
	font-weight: 600;
}

/* Galerie images produit */
.woocommerce div.product div.images {
	border-radius: 20px;
	overflow: hidden;
}
.woocommerce div.product div.images img {
	border-radius: 20px;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: 10px;
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	transform: translateY(-3px);
}

/* Titre et prix */
.woocommerce div.product .product_title {
	font-size: 1.9rem;
	font-weight: 700;
	margin-bottom: 0.3em;
}
.woocommerce div.product p.price,
.woocommerce div.product .price {
	color: #24458c;
	font-size: 1.6rem;
	font-weight: 700;
}
.woocommerce div.product p.price del {
	color: #999;
	opacity: 0.7;
	font-size: 0.75em;
}
.woocommerce div.product p.price ins {
	text-decoration: none;
	color: #ca131d;
}

/* Variations (couleur, etc.) */
.woocommerce div.product table.variations select {
	border: 1.5px solid #e2e2e2;
	border-radius: 10px;
	padding: 0.6em 1em;
	background: #F7FAFC;
}
.woocommerce div.product table.variations td {
	padding: 0.5em 0;
}

/* Quantite + bouton ajouter au panier */
/* Stepper de quantite : conteneur pilule avec boutons -/+ */
.woocommerce div.product form.cart .molekok-qty-stepper {
	display: inline-flex !important;
	align-items: center !important;
	border: 1.5px solid #e2e2e2 !important;
	border-radius: 999px !important;
	overflow: hidden;
	background: #ffffff;
}
.woocommerce div.product form.cart .molekok-qty-stepper .quantity {
	margin: 0 !important;
}
.woocommerce div.product form.cart .quantity input.qty {
	border: none !important;
	border-radius: 0 !important;
	text-align: center;
	padding: 0.7em 0.2em !important;
	height: auto !important;
	width: 2.4em !important;
	background: transparent !important;
	font-weight: 700 !important;
	-moz-appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}
.woocommerce div.product form.cart .molekok-qty-btn {
	background: transparent !important;
	border: none !important;
	width: 2.6em;
	height: 2.8em;
	font-size: 1.15rem;
	font-weight: 700;
	color: #1a202c;
	cursor: pointer;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1;
	padding: 0 !important;
	transition: background-color 0.2s ease;
	flex-shrink: 0;
}
.woocommerce div.product form.cart .molekok-qty-btn:hover {
	background: #f2f2f2 !important;
}
.woocommerce div.product form.cart button.single_add_to_cart_button.button {
	background: #000000 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 0.9em 2.2em !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
	height: auto !important;
	line-height: 1.2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.woocommerce div.product form.cart button.single_add_to_cart_button.button:hover {
	background: #ca131d !important;
	transform: translateY(-3px) scale(1.03);
	box-shadow: 0 10px 22px rgba(202,19,29,0.3);
}

/* Meta (UGS, categorie) */
.woocommerce div.product .product_meta {
	margin-top: 1.5em;
	padding-top: 1.2em;
	border-top: 1px solid #eee;
	font-size: 0.85rem;
	color: #777;
}

/* Onglets description / informations - style pilule moderne */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0.6em;
	border-bottom: none;
	padding: 0;
	margin-bottom: 1.5em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: none !important;
	background: #F7FAFC !important;
	border-radius: 999px !important;
	margin: 0 !important;
	transition: background-color 0.25s ease !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0.6em 1.4em !important;
	font-weight: 600 !important;
	color: #000000 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: #000000 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: #ffffff !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
	border-radius: 16px;
	background: #F7FAFC;
	padding: 1.8em;
}

/* Titre "Produits similaires" coherent avec le reste du site */
.woocommerce div.product .related.products > h2 {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
	padding-bottom: 0.5em;
	margin-bottom: 1.2em;
}
.woocommerce div.product .related.products > h2::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 70px;
	height: 3px;
	background: #ca131d;
	border-radius: 2px;
}
/* Corrige l'affichage du titre produit pour que le "line-clamp" fonctionne reellement (Kadence remet display:flow-root) */
.woocommerce ul.products li.product.product .woocommerce-loop-product__title {
	display: -webkit-box !important;
}

/* Mobile boutique : boutons produits bien plus compacts (specificite egale ou superieure aux regles existantes) */
@media (max-width: 480px) {
	.woocommerce ul.products li.product.product a.button.button.add_to_cart_button.add_to_cart_button,
	body.woocommerce ul.products li.product.product a.add_to_cart_button.add_to_cart_button {
		font-size: 0.68rem !important;
		padding: 0.55em 1em !important;
		min-width: 110px !important;
		line-height: 1.25 !important;
	}
	.woocommerce ul.products li.product.product a.add_to_cart_button .kadence-svg-iconset {
		display: none !important;
	}
	.woocommerce ul.products li.product.product .woocommerce-loop-product__title {
		font-size: 0.85rem !important;
	}
}
/* Fiche produit - touches supplémentaires pour un rendu plus abouti */
.woocommerce div.product .summary {
	padding-left: 1em;
}
.woocommerce div.product p.stock {
	display: inline-block !important;
	background: #eafaf0 !important;
	color: #1a7a42 !important;
	border-radius: 999px !important;
	padding: 0.35em 1em !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 0.6em 0 1em 0 !important;
}
.woocommerce div.product p.stock.out-of-stock {
	background: #fdeaea !important;
	color: #ca131d !important;
}
.woocommerce div.product .product_meta a {
	color: #24458c;
	font-weight: 600;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 1rem;
	line-height: 1.8;
	color: #444;
	margin: 1em 0;
}

/* Animation d'entree en douceur pour la fiche produit */
.woocommerce div.product div.summary,
.woocommerce div.product div.images {
	animation: molekokFadeInUp 0.6s ease both;
}
.woocommerce div.product div.summary { animation-delay: 0.1s; }
@keyframes molekokFadeInUp {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Galerie : cadre plus doux au survol des vignettes */
.woocommerce div.product div.images .flex-control-thumbs li {
	transition: transform 0.25s ease;
}
.woocommerce div.product div.images .flex-control-thumbs li:hover {
	transform: translateY(-3px);
}
/* Corrige le centrage horizontal du bouton (le conteneur ne s'etirait pas sur toute la largeur de la carte) */
.woocommerce ul.products li.product.product .product-action-wrap {
	width: 100% !important;
	box-sizing: border-box !important;
	padding-left: 1.2em !important;
	padding-right: 1.2em !important;
	display: flex !important;
	justify-content: center !important;
}
/* Bat specifiquement la regle Kadence "woo-archive-action-on-hover" qui remet le bouton en largeur auto */
.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap,
.woocommerce ul.products li.product .product-action-wrap.product-action-wrap {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	box-sizing: border-box !important;
}
/* ============================================================
   CARTES PRODUITS - correction finale du centrage (padding unifie)
   ============================================================ */
.woocommerce ul.products li.product.product.product {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.woocommerce ul.products li.product.product .product-details.product-details {
	padding-left: 1.2em !important;
	padding-right: 1.2em !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.woocommerce ul.products li.product.product .product-action-wrap.product-action-wrap.product-action-wrap {
	padding-left: 1.2em !important;
	padding-right: 1.2em !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	justify-content: center !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Neutralise la marge Kadence de 8.5px sur .product-details qui decalait tout le contenu (titre/prix/bouton) */
.woocommerce ul.products li.product.product .product-details.product-details {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* ============================================================
   FICHE PRODUIT - refonte v2 : mise en page premium
   ============================================================ */
.woocommerce div.product.product {
	background: #ffffff !important;
	border-radius: 24px !important;
	padding: 2.5em !important;
	box-shadow: 0 10px 40px rgba(0,0,0,0.06) !important;
	margin-top: 2em !important;
	margin-bottom: 3em !important;
}
@media (max-width: 780px) {
	.woocommerce div.product {
		padding: 1.3em !important;
		border-radius: 16px;
	}
}



/* Bandeau de confiance sous le bouton d'achat */
.molekok-trust-row {
	display: flex;
	gap: 1.5em;
	flex-wrap: wrap;
	margin-top: 1.6em;
	padding-top: 1.4em;
}
.molekok-trust-item {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-size: 0.82rem;
	color: #555;
	font-weight: 600;
}
.molekok-trust-item svg {
	flex-shrink: 0;
	color: #ca131d;
}

/* Select variation : plus soigne */
.woocommerce div.product table.variations select {
	width: auto;
	max-width: 260px;
	flex: 1 1 200px;
	font-size: 0.95rem;
	cursor: pointer;
	transition: border-color 0.2s ease;
}
.woocommerce div.product table.variations select:focus {
	border-color: #ca131d;
	outline: none;
}
.woocommerce div.product table.variations tr {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap;
	margin-bottom: 0.6em;
	gap: 0.6em;
}
.woocommerce div.product table.variations th.label {
	vertical-align: middle !important;
	flex: 0 0 auto;
}
.woocommerce div.product table.variations td.value {
	display: flex !important;
	align-items: center !important;
	gap: 0.8em;
	flex: 1 1 auto;
	flex-wrap: wrap;
	padding: 0 !important;
}
.woocommerce div.product table.variations a.reset_variations {
	white-space: nowrap;
	flex: 0 0 auto;
}
.woocommerce div.product .woocommerce-variation-availability p.stock {
	margin-top: 0 !important;
	margin-bottom: 0.5em !important;
}
.woocommerce div.product .woocommerce-variation {
	margin-top: 0 !important;
}
.woocommerce div.product table.variations label {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	color: #666;
	margin: 0 !important;
	display: block;
}

/* Ligne quantite + bouton : regroupes visuellement */
.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1em;
	margin-top: 1.5em !important;
}

/* Titre : un peu plus de caractere */
.woocommerce div.product .product_title {
	letter-spacing: -0.01em;
	line-height: 1.15;
}

/* Separateur visuel avant les onglets */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 3em;
	padding-top: 2.5em;
	border-top: 1px solid #eee;
}

/* ===== Galerie produit moderne (remplace le systeme WooCommerce par defaut, trop fragile) ===== */
.woocommerce-product-gallery__wrapper {
	position: relative !important;
	width: 100% !important;
	height: auto !important;
}
.woocommerce div.product .woocommerce-product-gallery__image {
	display: none !important;
	width: 100% !important;
	height: auto !important;
	float: none !important;
	margin: 0 !important;
	border-radius: 20px;
	overflow: hidden;
}
.woocommerce div.product .woocommerce-product-gallery__image.molekok-gallery-active {
	display: block !important;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 20px;
	display: block;
	max-width: none !important;
}
.molekok-gallery-thumbs {
	display: flex;
	gap: 0.6em;
	margin-top: 0.8em;
	flex-wrap: wrap;
}
.molekok-gallery-thumb {
	width: 70px;
	height: 70px;
	border-radius: 8px;
	overflow: hidden;
	border: 2px solid transparent;
	cursor: pointer;
	padding: 0;
	background: none;
	transition: border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
	opacity: 0.65;
	flex-shrink: 0;
}
.molekok-gallery-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.molekok-gallery-thumb.is-active {
	border-color: #000000 !important;
	opacity: 1 !important;
}
.molekok-gallery-thumb:hover {
	opacity: 1 !important;
	border-color: #cccccc !important;
	transform: translateY(-2px);
	outline: none !important;
}
.molekok-gallery-thumb:focus {
	outline: none !important;
	border-color: #000000 !important;
}


/* ===== Panier moderne ===== */
.woocommerce-cart table.cart {
	background: #ffffff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06);
	border-collapse: separate !important;
	border-spacing: 0;
	border: none !important;
}
.woocommerce-cart table.cart thead th {
	background: #f7f8fa;
	color: #1a202c;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	padding: 1.1em 1em !important;
	border: none !important;
}
.woocommerce-cart table.cart td {
	padding: 1.2em 1em !important;
	border: none !important;
	border-bottom: 1px solid #eef0f3 !important;
	vertical-align: middle;
}
.woocommerce-cart table.cart tr:last-child td {
	border-bottom: none !important;
}
.woocommerce-cart table.cart td.product-thumbnail img {
	border-radius: 14px;
	width: 80px;
	height: 80px;
	object-fit: cover;
}
.woocommerce-cart table.cart td.product-name a {
	font-weight: 600;
	color: #1a202c;
	text-decoration: none;
}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
	font-weight: 700;
	color: #24458c;
}
.woocommerce-cart table.cart td.product-remove a.remove {
	background: #f7f8fa !important;
	color: #ca131d !important;
	border-radius: 3px !important;
	width: 30px;
	height: 30px;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.1rem;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
	background: #ca131d !important;
	color: #fff !important;
}
.woocommerce-cart table.cart td.product-quantity .quantity input.qty {
	border: 1.5px solid #e2e2e2 !important;
	border-radius: 3px !important;
	text-align: center;
	padding: 0.5em 0.3em !important;
	width: 3.2em !important;
	height: auto !important;
}
.woocommerce-cart .coupon {
	display: flex;
	gap: 0.6em;
	align-items: center;
	flex-wrap: wrap;
}
.woocommerce-cart .coupon input#coupon_code {
	border: 1.5px solid #e2e2e2 !important;
	border-radius: 3px !important;
	padding: 0.55em 1.2em !important;
	font-size: 0.9rem !important;
	width: auto;
}
.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	border-radius: 3px !important;
	padding: 0.75em 1.5em !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	background: #000000 !important;
	color: #ffffff !important;
	border: none !important;
	width: auto !important;
	height: auto !important;
	line-height: 1.2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
}
.woocommerce-cart table.cart td.actions .button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: #ca131d !important;
	transform: translateY(-2px) scale(1.03);
	box-shadow: 0 10px 20px rgba(202,19,29,0.3);
}

/* Total du panier */
.woocommerce-cart .cart_totals {
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06);
	padding: 2em;
	margin-top: 2em;
}
.woocommerce-cart .cart_totals h2 {
	font-size: 1.3rem;
	margin-bottom: 0.8em;
}
.woocommerce-cart .cart_totals table.shop_table {
	border: none !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	border: none !important;
	border-bottom: 1px solid #eef0f3 !important;
	padding: 0.9em 0 !important;
}
.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
.woocommerce-cart .cart_totals table.shop_table tr:last-child td {
	border-bottom: none !important;
}
.woocommerce-cart .cart_totals .order-total .amount {
	color: #24458c;
	font-weight: 700;
	font-size: 1.15rem;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	float: right;
}

@media (max-width: 768px) {
	.woocommerce-cart table.cart thead {
		display: none;
	}
	.woocommerce-cart table.cart td {
		padding: 0.8em 1em !important;
	}
	.woocommerce-cart table.cart td.product-remove {
		text-align: right;
	}
}

/* Description produit affichee directement (remplace les onglets) */
.molekok-product-description {
	margin-top: 2em;
	padding-top: 1.6em;
}
.molekok-description-heading {
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 0.6em;
}
.molekok-product-description .woocommerce-product-details__short-description,
.molekok-product-description p {
	color: #444;
	line-height: 1.6;
}

/* Section avis clients (pleine largeur, sous le produit) */
.molekok-reviews-section {
	clear: both !important;
	max-width: 900px;
	margin: 3em auto 0;
	padding-top: 2em;
}

/* ===== Page Actu ===== */
.molekok-actu-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
	justify-content: center;
	margin: 2em auto 2.5em;
	max-width: 1100px;
}
.molekok-actu-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.8em;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5em;
}
.molekok-actu-card {
	background: #ffffff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0,0,0,0.06);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.molekok-actu-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 28px rgba(0,0,0,0.1);
}
.molekok-actu-card-image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.molekok-actu-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.molekok-actu-card-body {
	padding: 1.4em 1.4em 1.6em;
}
.molekok-actu-card-cat {
	display: inline-block;
	background: #F7FAFC;
	color: #24458c;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.3em 0.8em;
	border-radius: 999px;
	margin-bottom: 0.8em;
}
.molekok-actu-card-title {
	font-size: 1.1rem;
	margin: 0 0 0.5em;
}
.molekok-actu-card-title a {
	color: #1a202c;
	text-decoration: none;
}
.molekok-actu-card-excerpt {
	color: #555;
	font-size: 0.92rem;
	line-height: 1.5;
	margin-bottom: 0.9em;
}
.molekok-actu-card-link {
	font-weight: 700;
	color: #000000;
	text-decoration: none;
	font-size: 0.9rem;
}
.molekok-actu-card-link:hover {
	color: #ca131d;
}
.molekok-actu-empty {
	grid-column: 1 / -1;
	text-align: center;
	color: #666;
	padding: 2em 0;
}
.molekok-actu-pagination {
	text-align: center;
	margin: 2.5em 0;
}
.molekok-actu-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4em;
	height: 2.4em;
	margin: 0 0.2em;
	border-radius: 999px;
	background: #F7FAFC;
	color: #000;
	text-decoration: none;
	font-weight: 600;
}
.molekok-actu-pagination .page-numbers.current {
	background: #000;
	color: #fff;
}

@media (max-width: 900px) {
	.molekok-actu-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.molekok-actu-grid {
		grid-template-columns: 1fr;
		padding: 0 1em;
	}
}

/* Picto 'Mon compte' dans le header, a cote du panier */
.molekok-account-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	color: #ffffff !important;
	margin-right: 0.9em;
	transition: color 0.2s ease, transform 0.2s ease;
}
.molekok-account-icon:hover {
	color: #ca131d !important;
	transform: translateY(-2px);
}

/* Effet hover moderne sur l'image principale de la galerie produit */
.woocommerce div.product .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border-radius: 20px;
}
.woocommerce div.product .woocommerce-product-gallery__image.molekok-gallery-active img {
	transition: transform 0.5s ease;
}
.woocommerce div.product .woocommerce-product-gallery__image.molekok-gallery-active:hover img {
	transform: scale(1.06);
}

/* Renforcement defensif : aucune couleur rouge sur les miniatures, quel que soit l'etat */
button.molekok-gallery-thumb,
button.molekok-gallery-thumb:hover,
button.molekok-gallery-thumb:focus,
button.molekok-gallery-thumb:active {
	background-color: transparent !important;
	background-image: none !important;
}

/* ===== Page FAQ (accordeon) ===== */
.molekok-faq-list {
	max-width: 800px;
	margin: 2em auto 0;
	display: flex;
	flex-direction: column;
	gap: 0.8em;
}
.molekok-faq-item {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.05);
	padding: 0;
	overflow: hidden;
}
.molekok-faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 1.1em 1.4em;
	font-weight: 700;
	color: #1a202c;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: color 0.2s ease;
}
.molekok-faq-item summary::-webkit-details-marker {
	display: none;
}
.molekok-faq-item summary::after {
	content: '+';
	font-size: 1.3rem;
	font-weight: 400;
	color: #24458c;
	margin-left: 1em;
	flex-shrink: 0;
	transition: transform 0.25s ease;
}
.molekok-faq-item[open] summary::after {
	transform: rotate(45deg);
}
.molekok-faq-item[open] summary {
	color: #ca131d;
}
.molekok-faq-answer {
	padding: 0 1.4em 1.3em;
	color: #555;
	line-height: 1.6;
}
.molekok-faq-answer p {
	margin: 0;
}
.molekok-faq-answer a {
	color: #24458c;
	font-weight: 600;
}

/* ===== Reorganisation du pied de page bas : logo+copyright a gauche, reseaux sociaux en pictos a droite, sur la meme ligne ===== */
.site-bottom-footer-inner-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap;
	gap: 1em;
}
.site-footer-bottom-section-1 {
	text-align: left !important;
}
#colophon .site-footer-bottom-section-1 .footer-html-inner p {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
	width: auto !important;
}
#colophon .site-footer-bottom-section-1 .footer-copy-spacer {
	display: none !important;
}
#colophon .site-footer-bottom-section-1 .footer-copy-logo {
	justify-self: unset !important;
	grid-column: unset !important;
}
#colophon .site-footer-bottom-section-1 .footer-copy-text {
	justify-self: unset !important;
	grid-column: unset !important;
	margin-left: 12px !important;
}
.site-footer-bottom-section-5 {
	margin-left: auto;
}
/* Pictos reseaux sociaux (au lieu de boutons pleins) */
#colophon .social-button {
	background: transparent !important;
	color: #ffffff !important;
	width: 42px !important;
	height: 42px !important;
	border-radius: 0 !important;
	transition: color 0.2s ease, transform 0.2s ease;
}
#colophon .social-button svg {
	width: 100% !important;
	height: 100% !important;
}
#colophon .social-button:hover {
	color: #ca131d !important;
	transform: translateY(-2px);
}
#colophon .footer-social-inner-wrap {
	gap: 0.9em;
}
/* Taille des liens du pied de page legerement reduite */
#footer-navigation #footer-menu a {
	font-size: 0.85rem !important;
}

/* Pictos reseaux sociaux page contact (au lieu de boutons) */
.molekok-social-icons {
	display: flex;
	gap: 1em;
	justify-content: center;
	margin-top: 0.5em;
}
.molekok-social-icons a {
	color: #1a202c;
	transition: color 0.2s ease, transform 0.2s ease;
}
.molekok-social-icons a svg {
	width: 66px;
	height: 66px;
}
.molekok-social-icons a:hover {
	color: #ca131d;
	transform: translateY(-2px);
}

/* Recherche AJAX en direct */
.search-form {
	position: relative;
}
.molekok-live-search-results {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 0.5em;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.15);
	max-height: 320px;
	overflow-y: auto;
	z-index: 999;
}
.molekok-live-search-results.is-open {
	display: block;
}
.molekok-live-search-item {
	display: flex !important;
	align-items: center;
	gap: 0.8em;
	padding: 0.6em 1.2em;
	color: #1a202c;
	text-decoration: none;
	border-bottom: 1px solid #eef0f3;
	font-size: 0.95rem;
}
.molekok-live-search-thumb {
	width: 42px;
	height: 42px;
	border-radius: 8px;
	object-fit: cover;
	flex-shrink: 0;
	background: #F7FAFC;
}
.molekok-live-search-item:last-child {
	border-bottom: none;
}
.molekok-live-search-item:hover {
	background: #F7FAFC;
	color: #24458c;
}
.molekok-live-search-empty {
	padding: 0.8em 1.2em;
	color: #999;
	font-size: 0.9rem;
}

/* Puces de liste modernes (remplace les puces par defaut ternes) */
.wp-block-list {
	list-style: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}
.wp-block-list li {
	position: relative;
	padding-left: 1.6em;
	margin-bottom: 0.6em;
	line-height: 1.5;
}
.wp-block-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.85em;
	height: 2px;
	background: #ca131d;
	transition: width 0.2s ease;
}
.wp-block-list li {
	padding-left: 1.4em !important;
}

/* Vitrine des univers/categories sur la page boutique */
.molekok-shop-universe-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5em;
	max-width: 1200px;
	margin: 1.5em auto 3em;
	padding: 0 1.5em;
}
.molekok-shop-universe-grid .universe-card {
	position: relative;
	min-height: 220px;
	height: 260px;
	display: block;
}
.molekok-shop-universe-grid .universe-card img.wp-block-cover__image-background {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	max-width: none !important;
}
.molekok-shop-universe-grid .universe-card .wp-block-cover__background {
	position: absolute;
	inset: 0;
}
.molekok-shop-universe-grid .universe-card .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.2em;
	z-index: 1;
}
@media (max-width: 900px) {
	.molekok-shop-universe-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 560px) {
	.molekok-shop-universe-grid {
		grid-template-columns: 1fr;
	}
}

.universe-card .wp-block-buttons {
	display: flex !important;
	justify-content: center !important;
}
.universe-card .wp-block-heading {
	text-align: center;
}

.molekok-shop-universe-heading {
	margin-top: 1.6em !important;
}

.molekok-actu-card-meta {
	display: flex;
	align-items: center;
	gap: 0.8em;
	margin-bottom: 0.8em;
}
.molekok-actu-card-meta .molekok-actu-card-cat {
	margin-bottom: 0;
}
.molekok-actu-card-date {
	color: #999;
	font-size: 0.8rem;
}

/* Harmonise l'espacement titre/bouton des cartes univers (identique accueil et boutique) */
.universe-card .wp-block-cover__inner-container h3.wp-block-heading {
	margin-bottom: 0.7em !important;
}

.molekok-single-post-date {
	color: #999;
	font-size: 0.85rem;
	margin-bottom: 1.2em;
}

/* Pied de page mobile : centrer logo/copyright et pictos sociaux, sur des lignes separees */
@media (max-width: 780px) {
	.site-bottom-footer-inner-wrap {
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 1em !important;
	}
	.site-footer-bottom-section-1,
	.site-footer-bottom-section-5 {
		width: 100%;
		display: flex;
		justify-content: center;
	}
	#colophon .site-footer-bottom-section-1 .footer-html-inner p {
		justify-content: center !important;
		text-align: center !important;
	}
	.site-footer-bottom-section-5 {
		margin-left: 0 !important;
	}
	.site-footer-bottom-section-5 .footer-social-inner-wrap {
		justify-content: center !important;
	}
}

/* Corrige le conflit d'arrondi entre la miniature et son image (heritage d'une regle generique .images img) */
.molekok-gallery-thumb img {
	border-radius: 6px !important;
}

/* Page commande : aligner les libelles des modes de livraison a droite du bouton radio */
#shipping_method li,
.woocommerce-shipping-methods li {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
}
#shipping_method li input.shipping_method,
.woocommerce-shipping-methods li input.shipping_method {
	flex: 0 0 auto !important;
	margin: 0 !important;
}
#shipping_method li label,
.woocommerce-shipping-methods li label {
	margin-left: 0.6em !important;
	width: auto !important;
	flex: 1 1 auto !important;
}

/* Panier : structure propre en 2 lignes pour les actions (code promo / mise a jour) */
.woocommerce-cart table.cart td.actions {
	width: 100% !important;
}
.woocommerce-cart table.cart td.actions .coupon {
	display: inline-flex !important;
	flex-wrap: nowrap;
	gap: 0.6em;
	vertical-align: middle;
}
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
	margin: 0 0 0 0.8em !important;
	vertical-align: middle;
}

/* Reduit encore la largeur des boutons code promo / mise a jour pour tenir sur une ligne */
.woocommerce-cart table.cart td.actions .coupon .button,
.woocommerce-cart table.cart td.actions button[name="update_cart"] {
	padding: 0.6em 1.1em !important;
	font-size: 0.8rem !important;
}
.woocommerce-cart table.cart td.actions .coupon #coupon_code {
	width: 160px !important;
}

/* Harmonise les boutons de la colonne totaux du panier (frais de port, carte-cadeau) avec le reste du site */
.woocommerce-cart .cart_totals button[name="calc_shipping"],
.woocommerce-cart .cart_totals input#pwgc-redeem-button,
.woocommerce-cart .cart_totals input[name="redeem_gift_card"] {
	border-radius: 3px !important;
	padding: 0.6em 1.4em !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	background: #000000 !important;
	color: #ffffff !important;
	border: none !important;
	transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
}
.woocommerce-cart .cart_totals button[name="calc_shipping"]:hover,
.woocommerce-cart .cart_totals input#pwgc-redeem-button:hover,
.woocommerce-cart .cart_totals input[name="redeem_gift_card"]:hover {
	background: #ca131d !important;
	transform: translateY(-2px) scale(1.03);
	box-shadow: 0 8px 16px rgba(202,19,29,0.3);
}

/* "Voir la fiche produit" (produits en rupture) : meme style que "Ajouter au panier" */
.woocommerce ul.products li.product .product-action-wrap a.button {
	background: #000000 !important;
	color: #ffffff !important;
	padding: 0.42em 0.77em !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.045em !important;
}
.woocommerce ul.products li.product .product-action-wrap a.button:hover {
	background: #ca131d !important;
	color: #ffffff !important;
}

/* Carte-cadeau du panier : champ + bouton sur la meme ligne (desktop) */
#pwgc-redeem-gift-card-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6em;
}
#pwgc-redeem-gift-card-container label {
	width: 100%;
	flex-basis: 100%;
	margin-bottom: 0.3em;
	font-weight: 600;
}
#pwgc-redeem-gift-card-container br {
	display: none;
}
#pwgc-redeem-gift-card-container #pwgc-redeem-error {
	width: 100%;
	flex-basis: 100%;
}
#pwgc-redeem-gift-card-container #pwgc-redeem-gift-card-number {
	flex: 1 1 130px;
	min-width: 0;
	border: 1.5px solid #e2e2e2;
	border-radius: 3px;
	padding: 0.5em 0.6em;
}
.woocommerce-cart .cart_totals input#pwgc-redeem-button {
	flex: 0 0 auto;
	padding: 0.5em 0.9em !important;
	font-size: 0.78rem !important;
}