/*
Theme Name:   Mon Mini-camion
Theme URI:    https://mini-camion.fr/
Description:  Thème enfant GeneratePress « thème E » pour mini-camion.fr : look arrondi bleu et jaune, mode clair et sombre, WooCommerce complet (boutique, fiche produit, panier, commande, Mon compte) et habillage tarteaucitron.
Author:       Maxime Lobbé
Template:     generatepress
Version:      1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain:  mini-camion
*/

/* ==========================================================================
   1. Police Nunito hébergée localement (aucun appel à Google)
   ========================================================================== */
@font-face {
	font-family: "Nunito";
	font-style: normal;
	font-display: swap;
	font-weight: 200 1000;
	src: url("assets/fonts/nunito-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Nunito";
	font-style: normal;
	font-display: swap;
	font-weight: 200 1000;
	src: url("assets/fonts/nunito-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   2. Couleurs (clair par défaut, sombre via data-theme="dark")
   ========================================================================== */
:root {
	--mc-page: #EAF4FF;
	--mc-card: #FFFFFF;
	--mc-soft: #EEF5FF;
	--mc-text: #0F1F4D;
	--mc-muted: #4A5A85;
	--mc-line: #DCE7F7;
	--mc-heading: #0E3F98;
	--mc-link: #0E3F98;
	--mc-price: #0E3F98;
	--mc-hero: #0E3F98;
	--mc-hero-text: #FFFFFF;
	--mc-hero-muted: #D7E3FF;
	--mc-yellow: #F7C33B;
	--mc-yellow-hover: #FFD25C;
	--mc-on-yellow: #0A2470;
	--mc-yellow-soft: #FFF1C8;
	--mc-yellow-soft-text: #0E3F98;
	--mc-btn2: #0E3F98;
	--mc-on-btn2: #FFFFFF;
	--mc-nav-on: #0E3F98;
	--mc-nav-on-text: #FFFFFF;
	--mc-top: #0E3F98;
	--mc-top-text: #FFFFFF;
	--mc-footer: #0A2470;
	--mc-footer-text: #C9D6F6;
	--mc-footer-line: #22388A;
	--mc-ok: #15803D;
	--mc-ok-bg: #DCF5E5;
	--mc-wait: #8A5A00;
	--mc-wait-bg: #FFF1C8;
	--mc-danger: #C2261A;
	--mc-danger-bg: #FDE7E4;
	--mc-red: #D92D16;
	--mc-sky: #6CC4F2;
	--mc-mon: #2B8FD6;
	--mc-word: #0E3F98;
	--mc-icon: #0E3F98;
	--mc-focus: #2B8FD6;
	--mc-shadow: 0 10px 30px rgba(14, 63, 152, .10);

	--mc-r-xl: 32px;
	--mc-r-lg: 26px;
	--mc-r-md: 20px;
	--mc-r-sm: 14px;
	--mc-font: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--mc-max: 1200px;

	color-scheme: light;
}

html[data-theme="dark"] {
	--mc-page: #081130;
	--mc-card: #111D47;
	--mc-soft: #16245A;
	--mc-text: #EEF3FF;
	--mc-muted: #A5B3DD;
	--mc-line: #22336E;
	--mc-heading: #FFFFFF;
	--mc-link: #7CC8F5;
	--mc-price: #F7C33B;
	--mc-hero: #1C4FB8;
	--mc-yellow-soft: #16245A;
	--mc-yellow-soft-text: #F7C33B;
	--mc-btn2: #F7C33B;
	--mc-on-btn2: #0A2470;
	--mc-nav-on: #F7C33B;
	--mc-nav-on-text: #0A2470;
	--mc-top: #050B22;
	--mc-top-text: #A5B3DD;
	--mc-footer: #050B22;
	--mc-footer-text: #B4C1E8;
	--mc-footer-line: #1A2654;
	--mc-ok: #5EE08F;
	--mc-ok-bg: #123B2A;
	--mc-wait: #F7C33B;
	--mc-wait-bg: #3A3110;
	--mc-danger: #FF8A7A;
	--mc-danger-bg: #3D1515;
	--mc-mon: #6CC4F2;
	--mc-word: #FFFFFF;
	--mc-icon: #CFE0FF;
	--mc-focus: #7CC8F5;
	--mc-shadow: 0 10px 30px rgba(0, 0, 0, .35);

	color-scheme: dark;
}

/* Sans JavaScript : on suit simplement le réglage de l'appareil. */
@media (prefers-color-scheme: dark) {
	html:not([data-theme]) {
		--mc-page: #081130;
		--mc-card: #111D47;
		--mc-soft: #16245A;
		--mc-text: #EEF3FF;
		--mc-muted: #A5B3DD;
		--mc-line: #22336E;
		--mc-heading: #FFFFFF;
		--mc-link: #7CC8F5;
		--mc-price: #F7C33B;
		--mc-hero: #1C4FB8;
		--mc-yellow-soft: #16245A;
		--mc-yellow-soft-text: #F7C33B;
		--mc-btn2: #F7C33B;
		--mc-on-btn2: #0A2470;
		--mc-nav-on: #F7C33B;
		--mc-nav-on-text: #0A2470;
		--mc-top: #050B22;
		--mc-top-text: #A5B3DD;
		--mc-footer: #050B22;
		--mc-footer-line: #1A2654;
		--mc-ok: #5EE08F;
		--mc-ok-bg: #123B2A;
		--mc-mon: #6CC4F2;
		--mc-word: #FFFFFF;
		--mc-icon: #CFE0FF;
		color-scheme: dark;
	}
}

/* ==========================================================================
   3. Base
   ========================================================================== */
body.mc {
	/* Variables de GeneratePress alignées sur le thème */
	--contrast: var(--mc-text);
	--contrast-2: var(--mc-muted);
	--contrast-3: var(--mc-line);
	--base: var(--mc-soft);
	--base-2: var(--mc-page);
	--base-3: var(--mc-card);
	--accent: var(--mc-heading);

	background: var(--mc-page);
	color: var(--mc-text);
	font-family: var(--mc-font);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body.mc,
body.mc button,
body.mc input,
body.mc select,
body.mc textarea {
	font-family: var(--mc-font);
}

body.mc h1,
body.mc h2,
body.mc h3,
body.mc h4,
body.mc h5,
body.mc h6 {
	font-family: var(--mc-font);
	font-weight: 900;
	line-height: 1.15;
	color: var(--mc-heading);
	letter-spacing: -0.01em;
}

body.mc h1 { font-size: clamp(32px, 4vw, 44px); }
body.mc h2 { font-size: clamp(24px, 3vw, 32px); }
body.mc h3 { font-size: 21px; }

body.mc a {
	color: var(--mc-link);
	text-underline-offset: 3px;
}

body.mc a:hover {
	color: var(--mc-link);
	opacity: .85;
}

body.mc :focus-visible {
	outline: 3px solid var(--mc-focus);
	outline-offset: 2px;
	border-radius: 8px;
}

body.mc hr {
	background: var(--mc-line);
}

body.mc ::selection {
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
}

/* Champs de formulaire */
body.mc input[type="text"],
body.mc input[type="email"],
body.mc input[type="tel"],
body.mc input[type="url"],
body.mc input[type="password"],
body.mc input[type="search"],
body.mc input[type="number"],
body.mc input[type="date"],
body.mc select,
body.mc textarea,
body.mc .select2-container .select2-selection--single {
	background: var(--mc-soft);
	color: var(--mc-text);
	border: 2px solid transparent;
	border-radius: var(--mc-r-sm);
	padding: 10px 14px;
	min-height: 48px;
	font-size: 16px;
	font-weight: 600;
	box-shadow: none;
	transition: border-color .15s ease;
}

body.mc textarea {
	min-height: 120px;
}

body.mc input:focus,
body.mc select:focus,
body.mc textarea:focus {
	border-color: var(--mc-focus);
	background: var(--mc-soft);
	color: var(--mc-text);
	outline: none;
}

body.mc ::placeholder {
	color: var(--mc-muted);
	opacity: .8;
}

body.mc .select2-container .select2-selection--single {
	height: 48px;
	display: flex;
	align-items: center;
}

body.mc .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--mc-text);
	line-height: 1.2;
	padding-left: 0;
}

body.mc .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
}

body.mc .select2-dropdown {
	background: var(--mc-card);
	color: var(--mc-text);
	border-color: var(--mc-line);
	border-radius: var(--mc-r-sm);
	overflow: hidden;
}

body.mc .select2-container--default .select2-results__option--highlighted[aria-selected],
body.mc .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--mc-heading);
	color: var(--mc-card);
}

body.mc input[type="checkbox"],
body.mc input[type="radio"] {
	accent-color: var(--mc-heading);
	width: 18px;
	height: 18px;
}

/* Boutons */
body.mc .mc-btn,
body.mc button.button,
body.mc a.button,
body.mc input.button,
body.mc input[type="submit"],
body.mc .woocommerce a.button,
body.mc .woocommerce button.button,
body.mc .woocommerce input.button,
body.mc .woocommerce #respond input#submit,
body.mc .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--mc-btn2);
	color: var(--mc-on-btn2);
	border: 0;
	border-radius: 999px;
	padding: 13px 24px;
	font-family: var(--mc-font);
	font-size: 16px;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform .12s ease, background-color .15s ease, opacity .15s ease;
}

body.mc .mc-btn:hover,
body.mc button.button:hover,
body.mc a.button:hover,
body.mc input[type="submit"]:hover,
body.mc .woocommerce a.button:hover,
body.mc .woocommerce button.button:hover,
body.mc .wp-block-button__link:hover {
	background: var(--mc-btn2);
	color: var(--mc-on-btn2);
	opacity: .92;
	transform: translateY(-1px);
}

/* Boutons d'achat : jaune */
body.mc .mc-btn-yellow,
body.mc .woocommerce a.button.alt,
body.mc .woocommerce button.button.alt,
body.mc .woocommerce input.button.alt,
body.mc .woocommerce .single_add_to_cart_button,
body.mc .woocommerce a.add_to_cart_button,
body.mc .woocommerce a.ajax_add_to_cart,
body.mc .woocommerce .checkout-button,
body.mc .woocommerce #place_order,
body.mc .wc-block-components-button.contained,
body.mc .wc-block-cart__submit-button,
body.mc .wc-block-components-checkout-place-order-button {
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
}

body.mc .mc-btn-yellow:hover,
body.mc .woocommerce a.button.alt:hover,
body.mc .woocommerce button.button.alt:hover,
body.mc .woocommerce .single_add_to_cart_button:hover,
body.mc .woocommerce a.add_to_cart_button:hover,
body.mc .woocommerce .checkout-button:hover,
body.mc .woocommerce #place_order:hover,
body.mc .wc-block-components-button.contained:hover {
	background: var(--mc-yellow-hover);
	color: var(--mc-on-yellow);
	opacity: 1;
}

body.mc .mc-btn-white {
	background: #FFFFFF;
	color: #0E3F98;
}

body.mc .mc-btn-white:hover {
	background: #FFFFFF;
	color: #0E3F98;
}

body.mc .mc-btn-blue {
	background: var(--mc-btn2);
	color: var(--mc-on-btn2);
}

body.mc .woocommerce a.button.disabled,
body.mc .woocommerce button.button:disabled,
body.mc .woocommerce button.button:disabled[disabled] {
	opacity: .55;
	padding: 13px 24px;
	color: var(--mc-on-btn2);
}

/* Carte générique */
body.mc .mc-card {
	background: var(--mc-card);
	color: var(--mc-text);
	border-radius: var(--mc-r-lg);
	padding: 28px 32px;
}

/* ==========================================================================
   4. Mise en page GeneratePress
   ========================================================================== */
body.mc .site,
body.mc .container,
body.mc .site-content,
body.mc .grid-container {
	background: transparent;
}

body.mc .site.grid-container {
	max-width: calc(var(--mc-max) + 48px);
	padding-left: 24px;
	padding-right: 24px;
}

body.mc.one-container .site-content,
body.mc.separate-containers .site-content {
	padding: 0;
}

body.mc .site-main,
body.mc.separate-containers .site-main,
body.mc.no-sidebar .site-main {
	margin: 24px 0 8px;
}

body.mc .content-area {
	width: 100%;
}

/* Pages et articles classiques : une grande carte */
body.mc .inside-article,
body.mc.separate-containers .inside-article,
body.mc.one-container .inside-article {
	background: var(--mc-card);
	color: var(--mc-text);
	border-radius: var(--mc-r-xl);
	padding: 36px 40px;
}

body.mc.separate-containers .site-main > * {
	margin-bottom: 20px;
}

/* Pages WooCommerce : pas de grande carte, chaque bloc a la sienne */
body.mc.woocommerce .inside-article,
body.mc.woocommerce-page .inside-article {
	background: transparent;
	padding: 0;
	border-radius: 0;
}

body.mc .entry-header .entry-title,
body.mc .page-header .page-title {
	margin-bottom: 16px;
}

body.mc .entry-meta,
body.mc .entry-meta a,
body.mc .published-date {
	color: var(--mc-muted);
	font-weight: 700;
	font-size: 14px;
}

body.mc .entry-content > *:last-child {
	margin-bottom: 0;
}

body.mc .page-header {
	background: var(--mc-card);
	border-radius: var(--mc-r-lg);
	padding: 24px 32px;
}

/* Fil d'Ariane Yoast */
body.mc .yoast-breadcrumbs,
body.mc #breadcrumbs,
body.mc .breadcrumb,
body.mc .woocommerce-breadcrumb {
	font-size: 14px;
	font-weight: 700;
	color: var(--mc-muted);
	margin: 0 0 14px;
}

body.mc #breadcrumbs a,
body.mc .yoast-breadcrumbs a {
	color: var(--mc-muted);
	text-decoration: none;
}

/* Bouton « retour en haut » de GP */
body.mc .generate-back-to-top {
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
	border-radius: 50%;
	width: 46px;
	height: 46px;
	line-height: 46px;
}

/* Pagination */
body.mc .paging-navigation .nav-links > *,
body.mc .woocommerce nav.woocommerce-pagination ul li a,
body.mc .woocommerce nav.woocommerce-pagination ul li span {
	background: var(--mc-card);
	color: var(--mc-text);
	border-radius: 999px;
	min-width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	font-weight: 800;
	text-decoration: none;
	border: 0;
}

body.mc .woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}

body.mc .woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

body.mc .woocommerce nav.woocommerce-pagination ul li span.current,
body.mc .paging-navigation .nav-links .current {
	background: var(--mc-nav-on);
	color: var(--mc-nav-on-text);
}

/* ==========================================================================
   5. En-tête
   ========================================================================== */
.mc-wrap {
	max-width: calc(var(--mc-max) + 48px);
	margin: 0 auto;
	padding: 0 24px;
}

.mc-topbar {
	background: var(--mc-top);
	color: var(--mc-top-text);
	font-size: 13px;
	font-weight: 800;
}

.mc-topbar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 20px;
	padding-top: 7px;
	padding-bottom: 7px;
}

.mc-topbar-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
}

.mc-topbar-menu li {
	margin: 0;
}

body.mc .mc-topbar-menu a {
	color: var(--mc-top-text);
	text-decoration: none;
}

body.mc .mc-topbar-menu a:hover {
	text-decoration: underline;
	opacity: 1;
}

/* Au cas où un autre module afficherait encore la navigation secondaire de GP,
   la barre du haut de GP ou une liste de liens posée directement dans <body> */
body.mc #secondary-navigation,
body.mc .secondary-navigation,
body.mc .top-bar,
body.mc > ul,
body.mc > nav:not([class*="mc-"]),
body.mc > div[class^="menu-"][class$="-container"],
body.mc > .menu {
	display: none !important;
}

.mc-header {
	position: relative;
	z-index: 50;
	padding-top: 14px;
}

.mc-header-bar {
	background: var(--mc-card);
	border-radius: 26px;
	padding: 10px 12px 10px 16px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px 18px;
}

/* Logo */
body.mc .mc-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	flex: 0 0 auto;
}

body.mc .mc-logo:hover {
	opacity: 1;
}

.mc-logo-icon {
	display: block;
	flex: 0 0 auto;
}

.mc-logo-text {
	display: flex;
	flex-direction: column;
	line-height: 1;
}

.mc-logo-mon {
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .06em;
	color: var(--mc-mon);
}

.mc-logo-name {
	font-weight: 900;
	font-size: 24px;
	letter-spacing: -0.02em;
	color: var(--mc-word);
}

/* Menu */
.mc-nav {
	flex: 1 1 0%;
	min-width: 0;
}

.mc-menu,
.mc-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mc-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}

.mc-menu > li {
	position: relative;
}

body.mc .mc-menu a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 9px 12px;
	border-radius: 999px;
	color: var(--mc-text);
	font-weight: 800;
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
}

body.mc .mc-menu a:hover {
	background: var(--mc-soft);
	opacity: 1;
}

body.mc .mc-menu > .current-menu-item > a,
body.mc .mc-menu > .current_page_item > a,
body.mc .mc-menu > .current-menu-ancestor > a,
body.mc .mc-menu > .current-menu-parent > a,
body.mc .mc-menu > .current-product_cat-ancestor > a {
	background: var(--mc-nav-on);
	color: var(--mc-nav-on-text);
}

.mc-menu > .menu-item-has-children > a::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	margin-left: 2px;
	opacity: .7;
}

.mc-menu .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 230px;
	background: var(--mc-card);
	border-radius: 20px;
	padding: 8px;
	box-shadow: var(--mc-shadow);
	border: 1px solid var(--mc-line);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
	z-index: 60;
}

.mc-menu > li:hover > .sub-menu,
.mc-menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Pont invisible pour ne pas perdre le survol entre le lien et le sous-menu */
.mc-menu > .menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 8px;
}

body.mc .mc-menu .sub-menu a {
	border-radius: 14px;
	white-space: normal;
}

body.mc .mc-menu .sub-menu .current-menu-item > a {
	background: var(--mc-soft);
	color: var(--mc-heading);
}

/* Actions à droite */
.mc-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	flex: 0 0 auto;
}

body.mc .mc-round {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--mc-soft);
	color: var(--mc-icon);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-decoration: none;
	flex: 0 0 auto;
	transition: background-color .15s ease;
}

body.mc .mc-round:hover {
	background: var(--mc-line);
	color: var(--mc-icon);
	opacity: 1;
}

body.mc .mc-round.is-active {
	background: var(--mc-nav-on);
	color: var(--mc-nav-on-text);
}

/* Soleil / lune */
.mc-theme-toggle .mc-icon-sun { display: none; }
html[data-theme="dark"] .mc-theme-toggle .mc-icon-sun { display: block; }
html[data-theme="dark"] .mc-theme-toggle .mc-icon-moon { display: none; }

body.mc .mc-cart-pill {
	height: 44px;
	padding: 0 16px;
	border-radius: 22px;
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-weight: 900;
}

body.mc .mc-cart-pill:hover {
	background: var(--mc-yellow-hover);
	color: var(--mc-on-yellow);
	opacity: 1;
}

.mc-burger {
	display: none !important;
}

.mc-burger .mc-icon-close { display: none; }
.mc-burger[aria-expanded="true"] .mc-icon-menu { display: none; }
.mc-burger[aria-expanded="true"] .mc-icon-close { display: block; }

/* Recherche */
.mc-search {
	margin-top: 10px;
}

.mc-search[hidden] {
	display: none;
}

.mc-search form {
	background: var(--mc-card);
	border-radius: 26px;
	padding: 8px;
	display: flex;
	gap: 8px;
	box-shadow: var(--mc-shadow);
}

body.mc .mc-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border-radius: 20px;
}

body.mc .mc-search button {
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
	border: 0;
	border-radius: 20px;
	padding: 0 22px;
	font-weight: 900;
	cursor: pointer;
}

/* ==========================================================================
   6. Pied de page
   ========================================================================== */
body.mc .site-footer {
	background: transparent;
	padding: 24px 0;
}

.mc-footer {
	background: var(--mc-footer);
	color: var(--mc-footer-text);
	border-radius: 28px;
	padding: 34px 34px 20px;
	font-size: 15px;
	font-weight: 600;
}

.mc-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.mc-footer .mc-logo-mon { color: var(--mc-sky); }
.mc-footer .mc-logo-name { color: #FFFFFF; font-size: 21px; }

.mc-footer-brand p {
	margin: 12px 0 0;
	max-width: 280px;
}

.mc-footer-col {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mc-footer-title {
	margin: 0 0 4px;
	font-weight: 900;
	color: var(--mc-yellow);
}

body.mc .mc-footer a {
	color: var(--mc-footer-text);
	text-decoration: none;
}

body.mc .mc-footer a:hover {
	color: #FFFFFF;
	opacity: 1;
}

.mc-footer-bottom {
	margin-top: 26px;
	padding-top: 16px;
	border-top: 1px solid var(--mc-footer-line);
	font-size: 13px;
	opacity: .85;
}

/* ==========================================================================
   7. Page d'accueil
   ========================================================================== */
.mc-front .mc-section {
	margin-top: 48px;
}

.mc-hero {
	background: var(--mc-hero);
	color: var(--mc-hero-text);
	border-radius: var(--mc-r-xl);
	padding: 40px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 32px 40px;
	align-items: center;
}

body.mc .mc-hero h1.mc-hero-kicker {
	display: inline-block;
	background: var(--mc-sky);
	color: #0A2470;
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .02em;
	padding: 6px 14px;
	border-radius: 20px;
	margin: 0;
}

.mc-hero-title {
	margin: 16px 0 14px;
	font-weight: 900;
	font-size: clamp(38px, 5vw, 56px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: #FFFFFF;
}

.mc-hero-title span {
	color: var(--mc-yellow);
}

.mc-hero-text > p:not(.mc-hero-title) {
	margin: 0 0 24px;
	font-size: 18px;
	color: var(--mc-hero-muted);
	max-width: 470px;
}

.mc-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.mc-hero-media {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.mc-hero-main {
	grid-column: 1 / -1;
	display: block;
}

.mc-hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 24px;
	background: #FFFFFF;
}

.mc-hero-main img {
	aspect-ratio: 16 / 9;
}

.mc-hero-second img {
	aspect-ratio: 1;
}

.mc-hero-price {
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
	border-radius: 24px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-weight: 800;
	font-size: 15px;
	line-height: 1.25;
}

.mc-hero-price strong {
	font-weight: 900;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.05;
	margin: 2px 0 4px;
}

.mc-hero-price strong .woocommerce-Price-amount {
	color: inherit;
}

.mc-perks {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.mc-perks li {
	background: var(--mc-card);
	border-radius: 20px;
	padding: 16px 18px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 800;
}

.mc-perks .mc-icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	padding: 9px;
	border-radius: 12px;
	background: var(--mc-yellow-soft);
	color: var(--mc-yellow-soft-text);
}

.mc-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 18px;
}

body.mc .mc-section-head h2 {
	margin: 0;
	font-size: clamp(26px, 3vw, 34px);
}

body.mc .mc-section-head a {
	font-weight: 800;
}

.mc-cat-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

body.mc .mc-cat-tile {
	background: var(--mc-card);
	border-radius: 24px;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	text-decoration: none;
	color: var(--mc-text);
	transition: transform .15s ease;
}

body.mc .mc-cat-tile:hover {
	transform: translateY(-2px);
	opacity: 1;
}

.mc-cat-tile strong {
	display: block;
	font-weight: 900;
	font-size: 18px;
	color: var(--mc-heading);
	line-height: 1.25;
}

.mc-cat-tile small {
	font-size: 14px;
	color: var(--mc-muted);
	font-weight: 700;
}

.mc-cat-arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.mc-parts-box {
	background: var(--mc-yellow-soft);
	border-radius: var(--mc-r-xl);
	padding: 32px;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
	gap: 28px;
	align-items: center;
}

body.mc .mc-parts-intro h2 {
	margin: 0 0 8px;
	color: var(--mc-yellow-soft-text);
}

.mc-parts-intro p {
	color: var(--mc-muted);
	margin: 0 0 18px;
}

.mc-seo-text {
	color: var(--mc-text);
}

body.mc .mc-seo-text h1,
body.mc .mc-seo-text h2 {
	font-size: clamp(22px, 2.6vw, 28px);
	margin-top: 1.2em;
}

body.mc .mc-seo-text > *:first-child {
	margin-top: 0;
}

/* ==========================================================================
   8. Listes de produits
   ========================================================================== */
body.mc .woocommerce ul.products,
body.mc.woocommerce ul.products,
body.mc .wc-columns-container .products,
body.mc ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	list-style: none;
}

body.mc ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.mc ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

body.mc ul.products::before,
body.mc ul.products::after {
	display: none !important;
}

body.mc ul.products li.product,
body.mc.woocommerce ul.products li.product,
body.mc .woocommerce ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	position: relative;
	background: var(--mc-card);
	border-radius: var(--mc-r-lg);
	padding: 12px !important;
	display: flex;
	flex-direction: column;
	text-align: left;
	transition: transform .15s ease, box-shadow .15s ease;
}

body.mc ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: var(--mc-shadow);
}

body.mc ul.products li.product .woocommerce-LoopProduct-link,
body.mc ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: var(--mc-text);
	text-decoration: none;
}

body.mc ul.products li.product a img,
body.mc ul.products li.product .wc-product-image img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 18px;
	margin: 0 0 12px !important;
	background: #FFFFFF;
}

body.mc ul.products li.product .wc-product-image,
body.mc ul.products li.product .inside-wc-product-image {
	margin: 0;
	padding: 0;
	background: transparent;
}

body.mc ul.products li.product .woocommerce-loop-product__title,
body.mc ul.products li.product h2.woocommerce-loop-product__title {
	font-family: var(--mc-font);
	font-size: 17px !important;
	font-weight: 800;
	line-height: 1.3;
	color: var(--mc-text);
	padding: 0 6px !important;
	margin: 0 0 4px;
}

body.mc .mc-stock {
	display: inline-block;
	padding: 0 6px;
	font-size: 13px;
	font-weight: 800;
	color: var(--mc-ok);
}

body.mc .mc-stock.is-out {
	color: var(--mc-muted);
}

body.mc ul.products li.product .star-rating {
	margin: 4px 6px;
}

.mc-loop-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 6px 4px;
	margin-top: auto;
}

body.mc ul.products li.product .price,
body.mc .woocommerce ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: 0;
	color: var(--mc-price);
	font-weight: 900;
	font-size: 22px;
	line-height: 1.15;
}

body.mc ul.products li.product .price ins,
body.mc .price ins {
	order: -1;
	text-decoration: none;
	color: var(--mc-price);
	font-weight: 900;
	background: transparent;
}

body.mc ul.products li.product .price del,
body.mc .price del {
	color: var(--mc-muted);
	font-size: 14px;
	font-weight: 600;
	opacity: 1;
}

body.mc .woocommerce-price-suffix {
	font-size: 12px;
	font-weight: 700;
	color: var(--mc-muted);
}

body.mc ul.products li.product .button,
body.mc .woocommerce ul.products li.product .button {
	margin: 0 !important;
	padding: 10px 16px;
	font-size: 14px;
	border-radius: 20px;
}

body.mc ul.products li.product .button.added::after {
	content: "✓";
	margin-left: 6px;
	font-family: var(--mc-font);
}

body.mc ul.products li.product .button.loading {
	opacity: .6;
}

body.mc ul.products li.product .added_to_cart {
	display: none;
}

/* Pastilles promo / préféré */
body.mc .woocommerce span.onsale,
body.mc span.onsale {
	position: absolute;
	top: 22px;
	right: 22px;
	left: auto;
	margin: 0;
	min-width: 0;
	min-height: 0;
	line-height: 1.3;
	padding: 5px 12px;
	border-radius: 20px;
	background: var(--mc-red);
	color: #FFFFFF;
	font-weight: 900;
	font-size: 13px;
	z-index: 2;
}

body.mc .bestseller-badge {
	display: inline-block;
	background: var(--mc-yellow);
	color: var(--mc-on-yellow);
	font-weight: 900;
	font-size: 13px;
	padding: 5px 12px;
	border-radius: 20px;
	line-height: 1.3;
}

body.mc ul.products li.product .bestseller-badge {
	position: absolute;
	top: 22px;
	left: 22px;
	z-index: 2;
}

/* Variante compacte : pièces détachées */
body.mc .mc-parts ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 12px !important;
	margin: 0 !important;
}

body.mc .mc-parts ul.products li.product {
	border-radius: 20px;
	padding: 10px !important;
}

body.mc .mc-parts ul.products li.product a img {
	object-fit: contain;
	border-radius: 14px;
	margin-bottom: 8px !important;
}

body.mc .mc-parts ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px !important;
	font-weight: 700;
	padding: 0 2px !important;
}

body.mc .mc-parts .mc-stock {
	display: none;
}

body.mc .mc-parts .mc-loop-foot {
	padding: 6px 2px 2px;
}

body.mc .mc-parts ul.products li.product .price {
	font-size: 17px;
}

body.mc .mc-parts ul.products li.product .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	min-width: 38px;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	border-radius: 50%;
	position: relative;
	flex: 0 0 auto;
}

body.mc .mc-parts ul.products li.product .button::before {
	content: "+";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
	font-weight: 900;
	color: var(--mc-on-yellow);
}

body.mc .mc-parts ul.products li.product .button::after {
	display: none !important;
}

body.mc .mc-parts ul.products li.product .button.added::after {
	content: none;
}

body.mc .mc-parts ul.products li.product .button.added::before {
	content: "✓";
	font-size: 17px;
}

/* ==========================================================================
   9. Pages catégorie et boutique
   ========================================================================== */
body.mc .woocommerce-products-header {
	background: var(--mc-hero);
	color: var(--mc-hero-text);
	border-radius: var(--mc-r-xl);
	padding: 32px 36px;
	margin: 0 0 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 24px;
	position: relative;
}

body.mc .woocommerce-products-header .woocommerce-products-header__title,
body.mc .woocommerce-products-header h1 {
	color: #FFFFFF;
	margin: 0;
	flex: 1 1 100%;
}

body.mc .woocommerce-products-header .page-description,
body.mc .woocommerce-products-header .term-description {
	color: var(--mc-hero-muted);
	flex: 1 1 100%;
	max-width: 760px;
}

body.mc .woocommerce-products-header .page-description p:last-child {
	margin-bottom: 0;
}

.mc-cat-meta {
	margin: 0;
	color: var(--mc-hero-muted);
	font-weight: 800;
}

.mc-cat-thumb {
	position: absolute;
	right: 28px;
	top: 50%;
	transform: translateY(-50%);
}

.mc-cat-thumb img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 20px;
	background: #FFFFFF;
	display: block;
}

.mc-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin-bottom: 20px;
}

.mc-shop-toolbar > .woocommerce-notices-wrapper {
	flex: 1 1 100%;
}

.mc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-right: auto;
}

body.mc .mc-chip {
	display: inline-flex;
	padding: 9px 16px;
	border-radius: 22px;
	font-weight: 800;
	font-size: 15px;
	background: var(--mc-card);
	color: var(--mc-text);
	text-decoration: none;
}

body.mc .mc-chip.is-active {
	background: var(--mc-nav-on);
	color: var(--mc-nav-on-text);
}

body.mc .woocommerce .woocommerce-result-count,
body.mc .woocommerce-result-count {
	margin: 0 0 0 auto;
	float: none;
	color: var(--mc-muted);
	font-weight: 700;
	font-size: 14px;
}

body.mc .woocommerce .woocommerce-ordering,
body.mc .woocommerce-ordering {
	margin: 0;
	float: none;
}

body.mc .woocommerce-ordering select {
	border-radius: 22px;
	background: var(--mc-card);
	min-height: 44px;
	padding: 8px 40px 8px 16px;
	font-weight: 800;
	font-size: 14px;
}

/* Catégories affichées comme produits */
body.mc ul.products li.product-category a {
	text-decoration: none;
	color: var(--mc-text);
}

body.mc ul.products li.product-category .woocommerce-loop-category__title {
	font-size: 18px;
	font-weight: 900;
	color: var(--mc-heading);
	padding: 4px 6px;
}

body.mc ul.products li.product-category .count {
	background: transparent;
	color: var(--mc-muted);
	font-weight: 700;
}

body.mc .mc-seo-text {
	margin-top: 32px;
}

/* ==========================================================================
   10. Fiche produit
   ========================================================================== */
body.mc.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	position: relative;
}

body.mc.single-product div.product > * {
	grid-column: 1 / -1;
	min-width: 0;
}

body.mc.single-product div.product > .woocommerce-product-gallery,
body.mc.single-product div.product > div.images {
	grid-column: 1;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 14px;
}

body.mc.single-product div.product > .summary,
body.mc.single-product div.product > div.summary {
	grid-column: 2;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 28px;
}

body.mc.single-product div.product > .onsale {
	position: absolute;
	top: 28px;
	left: 28px;
	right: auto;
	font-size: 14px;
	padding: 6px 14px;
}

body.mc.single-product .woocommerce-product-gallery__wrapper img,
body.mc.single-product .woocommerce-product-gallery__image img {
	border-radius: 24px;
	background: #FFFFFF;
}

body.mc.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0;
}

body.mc.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

body.mc.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: 16px;
	opacity: .65;
	transition: opacity .15s ease;
}

body.mc.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.mc.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
	opacity: 1;
	outline: 3px solid var(--mc-yellow);
	outline-offset: -3px;
}

body.mc.single-product .woocommerce-product-gallery__trigger {
	top: 26px;
	right: 26px;
	background: var(--mc-card);
	border-radius: 50%;
}

body.mc.single-product .summary .product_title {
	font-size: clamp(30px, 3.4vw, 40px);
	margin: 8px 0 12px;
	color: var(--mc-heading);
}

body.mc.single-product .summary .bestseller-badge {
	margin-bottom: 4px;
}

body.mc.single-product .summary .alignright {
	float: right;
	margin: 0 0 8px 16px;
	border-radius: 12px;
	background: #FFFFFF;
	padding: 4px;
}

body.mc.single-product .summary p.price,
body.mc.single-product .summary span.price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	color: var(--mc-price);
	font-weight: 900;
	font-size: 42px;
	line-height: 1.05;
	margin: 0 0 6px;
}

body.mc.single-product .summary p.price del {
	font-size: 18px;
	font-weight: 700;
}

.mc-savings {
	display: inline-block;
	background: var(--mc-yellow-soft);
	color: var(--mc-yellow-soft-text);
	font-weight: 900;
	font-size: 14px;
	padding: 5px 12px;
	border-radius: 14px;
	margin: 0 0 14px;
}

body.mc.single-product .summary .woocommerce-product-details__short-description {
	color: var(--mc-muted);
	margin-bottom: 16px;
}

body.mc.single-product .summary p.stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 800;
	color: var(--mc-ok);
	margin: 0 0 16px;
}

body.mc.single-product .summary p.stock.in-stock::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: currentColor;
}

body.mc.single-product .summary p.stock.out-of-stock {
	color: var(--mc-danger);
}

body.mc.single-product .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
}

body.mc.single-product .summary form.cart::before,
body.mc.single-product .summary form.cart::after {
	display: none;
}

/* Étiquette « Quantité : » de l'ancien thème */
body.mc.single-product .summary form.cart div.qty {
	flex: 1 1 100%;
	font-weight: 800;
	font-size: 14px;
	color: var(--mc-muted);
	margin: 0;
}

body.mc.single-product .summary .single_add_to_cart_button {
	flex: 1 1 200px;
	padding: 16px 24px !important;
	font-size: 17px !important;
	border-radius: 28px;
	float: none !important;
}

body.mc.single-product .summary table.variations {
	width: 100%;
	border: 0;
	margin-bottom: 12px;
}

body.mc.single-product .summary table.variations th,
body.mc.single-product .summary table.variations td {
	border: 0;
	padding: 4px 0;
	background: transparent;
}

body.mc.single-product .summary .product_meta {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--mc-line);
	font-size: 14px;
	color: var(--mc-muted);
	font-weight: 600;
}

body.mc.single-product .summary .product_meta > span {
	display: block;
	margin-bottom: 4px;
}

/* Quantité avec boutons +/- */
body.mc .quantity {
	display: inline-flex;
	align-items: center;
	background: var(--mc-soft);
	border-radius: 28px;
	padding: 4px;
	float: none !important;
	margin: 0 !important;
}

body.mc .quantity input.qty {
	width: 46px;
	min-height: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-weight: 900;
	font-size: 18px;
	color: var(--mc-text);
	-moz-appearance: textfield;
}

body.mc .quantity input.qty::-webkit-outer-spin-button,
body.mc .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.mc .mc-qty-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 0;
	background: var(--mc-card);
	color: var(--mc-text);
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

body.mc .mc-qty-btn:hover {
	background: var(--mc-line);
	color: var(--mc-text);
}

/* Réassurance fiche produit */
.mc-perks-mini {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.mc-perks-mini li {
	background: var(--mc-soft);
	border-radius: 18px;
	padding: 12px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
}

.mc-perks-mini .mc-icon {
	color: var(--mc-heading);
}

/* Onglets */
body.mc.single-product .woocommerce-tabs {
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 24px 32px 28px;
	margin: 0 !important;
}

body.mc.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0 !important;
	margin: 0 0 18px !important;
	border: 0;
	overflow: visible;
}

body.mc.single-product .woocommerce-tabs ul.tabs::before,
body.mc.single-product .woocommerce-tabs ul.tabs::after,
body.mc.single-product .woocommerce-tabs ul.tabs li::before,
body.mc.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.mc.single-product .woocommerce-tabs ul.tabs li {
	background: var(--mc-soft) !important;
	border: 0 !important;
	border-radius: 999px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.mc.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 9px 18px !important;
	color: var(--mc-text) !important;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none;
}

body.mc.single-product .woocommerce-tabs ul.tabs li.active {
	background: var(--mc-nav-on) !important;
}

body.mc.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--mc-nav-on-text) !important;
}

body.mc.single-product .woocommerce-tabs .panel {
	margin: 0;
	color: var(--mc-text);
}

body.mc .woocommerce table.shop_attributes,
body.mc table.shop_attributes {
	border: 0;
	margin: 0;
}

body.mc table.shop_attributes th,
body.mc table.shop_attributes td {
	border: 0 !important;
	border-top: 1px solid var(--mc-line) !important;
	background: transparent !important;
	padding: 10px 0 !important;
	font-style: normal;
	color: var(--mc-text);
}

body.mc table.shop_attributes th {
	font-weight: 800;
	width: 40%;
}

body.mc table.shop_attributes td p {
	padding: 0;
	margin: 0;
}

/* Avis */
body.mc #reviews #comments ol.commentlist li .comment-text {
	border-color: var(--mc-line);
	border-radius: var(--mc-r-md);
}

body.mc .star-rating span::before,
body.mc p.stars a {
	color: var(--mc-yellow);
}

/* Produits liés */
body.mc.single-product .related.products,
body.mc.single-product .upsells.products {
	margin-top: 8px;
}

body.mc.single-product .related.products > h2,
body.mc.single-product .upsells.products > h2,
body.mc .cross-sells > h2 {
	font-size: clamp(24px, 3vw, 30px);
	margin: 0 0 16px;
}

/* ==========================================================================
   11. Notifications WooCommerce
   ========================================================================== */
body.mc .woocommerce-message,
body.mc .woocommerce-info,
body.mc .woocommerce-error,
body.mc .woocommerce-notice,
body.mc .wc-block-components-notice-banner {
	background: var(--mc-card);
	color: var(--mc-text);
	border: 0;
	border-left: 0;
	border-radius: var(--mc-r-md);
	padding: 16px 20px 16px 52px;
	margin: 0 0 18px;
	font-weight: 700;
	list-style: none;
	box-shadow: none;
	position: relative;
}

body.mc .woocommerce-message::before,
body.mc .woocommerce-info::before,
body.mc .woocommerce-error::before {
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}

body.mc .woocommerce-message::before { color: var(--mc-ok); }
body.mc .woocommerce-info::before { color: var(--mc-link); }
body.mc .woocommerce-error::before { color: var(--mc-danger); }

body.mc .woocommerce-error {
	background: var(--mc-danger-bg);
}

body.mc .woocommerce-message .button,
body.mc .woocommerce-info .button {
	float: right;
	margin-left: 12px;
	padding: 9px 16px;
	font-size: 14px;
}

/* ==========================================================================
   12. Étapes panier / commande
   ========================================================================== */
.mc-steps {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-weight: 800;
	font-size: 14px;
}

.mc-steps li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.mc-steps li + li::before {
	content: "›";
	color: var(--mc-muted);
}

.mc-steps span,
body.mc .mc-steps a {
	display: inline-block;
	background: var(--mc-card);
	color: var(--mc-muted);
	padding: 8px 14px;
	border-radius: 20px;
	text-decoration: none;
}

.mc-steps .is-current span {
	background: var(--mc-nav-on);
	color: var(--mc-nav-on-text);
}

/* ==========================================================================
   13. Panier
   ========================================================================== */
body.mc.woocommerce-cart .entry-title,
body.mc.woocommerce-checkout .entry-title {
	margin-bottom: 14px;
}

body.mc.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: 24px;
	align-items: start;
}

body.mc.woocommerce-cart .woocommerce > * {
	grid-column: 1 / -1;
	min-width: 0;
}

body.mc.woocommerce-cart .woocommerce > .woocommerce-cart-form {
	grid-column: 1;
}

body.mc.woocommerce-cart .woocommerce > .cart-collaterals {
	grid-column: 2;
	width: auto;
}

body.mc .woocommerce-cart-form {
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 10px 22px;
}

body.mc .woocommerce table.shop_table,
body.mc table.shop_table {
	border: 0;
	border-radius: 0;
	margin: 0;
	background: transparent;
	color: var(--mc-text);
	border-collapse: collapse;
}

body.mc table.shop_table th,
body.mc table.shop_table td {
	border: 0;
	border-top: 1px solid var(--mc-line);
	background: transparent;
	padding: 14px 10px;
	color: var(--mc-text);
	vertical-align: middle;
}

body.mc table.shop_table thead th {
	border-top: 0;
	font-size: 13px;
	font-weight: 900;
	color: var(--mc-muted);
	text-transform: none;
}

body.mc table.cart td.product-thumbnail img {
	width: 88px;
	height: 88px;
	object-fit: cover;
	border-radius: 18px;
	background: #FFFFFF;
}

body.mc table.cart td.product-name a {
	color: var(--mc-text);
	font-weight: 900;
	text-decoration: none;
}

body.mc table.cart td.product-subtotal {
	font-weight: 900;
	color: var(--mc-price);
	font-size: 18px;
}

body.mc .woocommerce a.remove,
body.mc a.remove {
	width: 32px;
	height: 32px;
	line-height: 30px;
	border-radius: 50%;
	background: var(--mc-soft);
	color: var(--mc-muted) !important;
	font-size: 20px;
	font-weight: 700;
}

body.mc .woocommerce a.remove:hover,
body.mc a.remove:hover {
	background: var(--mc-danger) !important;
	color: #FFFFFF !important;
}

body.mc table.cart td.actions {
	padding-top: 18px;
}

body.mc table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

body.mc table.cart td.actions .coupon .input-text {
	width: 200px;
	border-radius: 22px;
	margin: 0;
}

body.mc table.cart td.actions > .button[name="update_cart"] {
	background: transparent;
	color: var(--mc-link);
	padding: 10px 6px;
	text-decoration: underline;
	font-weight: 800;
}

body.mc .cart-collaterals .cart_totals,
body.mc .woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 24px;
}

body.mc .cart_totals h2 {
	font-size: 22px;
	margin: 0 0 8px;
}

body.mc .cart_totals table.shop_table th {
	font-weight: 700;
	width: 45%;
}

body.mc .cart_totals .order-total th,
body.mc .cart_totals .order-total td,
body.mc .woocommerce-checkout-review-order-table .order-total th,
body.mc .woocommerce-checkout-review-order-table .order-total td {
	font-size: 18px;
	font-weight: 900;
}

body.mc .cart_totals .order-total .amount,
body.mc .woocommerce-checkout-review-order-table .order-total .amount {
	color: var(--mc-price);
	font-size: 26px;
}

body.mc .wc-proceed-to-checkout {
	padding: 16px 0 0;
}

body.mc .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	padding: 16px;
	font-size: 17px;
	margin: 0;
	border-radius: 28px;
}

body.mc ul#shipping_method {
	margin: 0;
	padding: 0;
}

body.mc ul#shipping_method li {
	margin: 0 0 6px;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

body.mc .cart-collaterals .cross-sells {
	float: none;
	width: auto;
	margin-top: 24px;
}

body.mc .cart-collaterals .cross-sells ul.products {
	grid-template-columns: 1fr !important;
}

body.mc .cart-empty.woocommerce-info {
	text-align: center;
	padding: 28px;
	font-size: 20px;
}

body.mc .return-to-shop {
	text-align: center;
}

/* ==========================================================================
   14. Commande
   ========================================================================== */
body.mc .woocommerce-form-coupon-toggle .woocommerce-info,
body.mc .woocommerce-form-login-toggle .woocommerce-info {
	padding-left: 52px;
}

body.mc form.checkout_coupon,
body.mc form.woocommerce-form-login {
	background: var(--mc-card);
	border: 0 !important;
	border-radius: var(--mc-r-lg);
	padding: 22px !important;
	margin: 0 0 18px !important;
}

body.mc form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: 0 24px;
	align-items: start;
}

body.mc form.checkout > * {
	grid-column: 1;
	min-width: 0;
}

body.mc form.checkout > #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	background: var(--mc-card);
	border-radius: var(--mc-r-xl) var(--mc-r-xl) 0 0;
	padding: 24px 24px 0;
	margin: 0;
	font-size: 22px;
}

body.mc form.checkout > #order_review {
	grid-column: 2;
	grid-row: 2 / span 6;
	background: var(--mc-card);
	border-radius: 0 0 var(--mc-r-xl) var(--mc-r-xl);
	padding: 8px 24px 24px;
	position: sticky;
	top: 16px;
}

body.mc .mon-contenu {
	background: var(--mc-yellow-soft);
	color: var(--mc-text);
	border-radius: var(--mc-r-md);
	padding: 14px 18px;
	margin: 0 0 16px;
	font-weight: 700;
	font-size: 15px;
}

body.mc .mon-contenu p {
	margin: 0;
}

body.mc #customer_details {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 16px;
}

body.mc #customer_details .col-1,
body.mc #customer_details .col-2 {
	float: none;
	width: auto;
	max-width: none;
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 24px 26px;
}

body.mc #customer_details h3,
body.mc .woocommerce-additional-fields h3 {
	font-size: 22px;
	margin: 0 0 14px;
}

body.mc .woocommerce form .form-row {
	margin: 0 0 12px;
	padding: 0;
}

body.mc .woocommerce form .form-row label,
body.mc .woocommerce-form-row label {
	font-weight: 800;
	font-size: 14px;
	margin-bottom: 4px;
	color: var(--mc-text);
}

body.mc .woocommerce form .form-row .required {
	color: var(--mc-danger);
	text-decoration: none;
}

body.mc .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.mc .woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--mc-danger);
}

body.mc .woocommerce form .form-row.woocommerce-validated input.input-text {
	border-color: transparent;
}

body.mc .woocommerce-checkout-review-order-table .product-name {
	font-weight: 700;
}

body.mc .woocommerce-checkout-review-order-table .product-total {
	font-weight: 800;
}

/* Paiement */
body.mc #payment,
body.mc .woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	margin-top: 12px;
}

body.mc #payment ul.payment_methods {
	border: 0;
	padding: 0;
	margin: 0 0 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.mc #payment ul.payment_methods li {
	background: var(--mc-soft);
	border-radius: 18px;
	padding: 14px 16px;
	margin: 0;
	list-style: none;
}

body.mc #payment ul.payment_methods li > label {
	font-weight: 900;
	cursor: pointer;
}

body.mc #payment ul.payment_methods li img {
	max-height: 24px;
	vertical-align: middle;
	margin-left: 6px;
}

body.mc #payment div.payment_box {
	background: var(--mc-card);
	color: var(--mc-text);
	border-radius: 14px;
	margin: 10px 0 0;
	font-size: 14px;
}

body.mc #payment div.payment_box::before {
	border-bottom-color: var(--mc-card);
}

body.mc #payment div.form-row.place-order {
	padding: 0;
	margin: 0;
	background: transparent;
}

body.mc .woocommerce-terms-and-conditions-wrapper,
body.mc .woocommerce-privacy-policy-text {
	font-size: 14px;
	color: var(--mc-muted);
}

body.mc .woocommerce-terms-and-conditions-wrapper .form-row.terms,
body.mc #payment .form-row.terms {
	font-size: 14px;
	font-weight: 700;
	display: flex;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: wrap;
}

body.mc .woocommerce form .form-row.terms label.checkbox {
	display: inline;
	font-weight: 700;
}

body.mc #place_order {
	width: 100%;
	padding: 17px !important;
	font-size: 17px !important;
	border-radius: 28px;
	float: none !important;
	margin-top: 10px;
}

/* Commande validée */
body.mc .woocommerce-order {
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 32px;
}

body.mc .woocommerce-thankyou-order-received {
	font-size: 22px;
	font-weight: 900;
	color: var(--mc-heading);
}

body.mc ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 18px 0 24px;
}

body.mc ul.woocommerce-order-overview li {
	background: var(--mc-soft);
	border: 0 !important;
	border-radius: 18px;
	padding: 12px 16px !important;
	margin: 0 !important;
	font-size: 13px;
	font-weight: 700;
	color: var(--mc-muted);
}

body.mc ul.woocommerce-order-overview li strong {
	display: block;
	font-size: 16px;
	color: var(--mc-text);
}

body.mc .woocommerce-customer-details address {
	border: 0;
	background: var(--mc-soft);
	border-radius: 18px;
	padding: 16px;
	font-style: normal;
}

/* ==========================================================================
   15. Panier et commande en blocs WooCommerce (si utilisés)
   ========================================================================== */
body.mc .wp-block-woocommerce-cart,
body.mc .wp-block-woocommerce-checkout {
	color: var(--mc-text);
}

body.mc .wc-block-cart .wc-block-cart-items,
body.mc .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.mc .wc-block-checkout__main .wc-block-components-checkout-step {
	background: var(--mc-card);
	border-radius: var(--mc-r-lg);
	padding: 18px 22px;
	border: 0;
}

body.mc .wc-block-components-sidebar {
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 20px;
}

body.mc .wc-block-components-text-input input,
body.mc .wc-block-components-combobox .wc-block-components-combobox-control input,
body.mc .wc-blocks-components-select .wc-blocks-components-select__select {
	background: var(--mc-soft) !important;
	color: var(--mc-text) !important;
	border-color: transparent !important;
	border-radius: var(--mc-r-sm) !important;
}

body.mc .wc-block-components-text-input label,
body.mc .wc-blocks-components-select__label {
	color: var(--mc-muted) !important;
}

body.mc .wc-block-components-button:not(.is-link) {
	border-radius: 28px;
	font-weight: 900;
	min-height: 52px;
}

body.mc .wc-block-components-product-name {
	color: var(--mc-text);
	font-weight: 900;
}

body.mc .wc-block-components-radio-control__option,
body.mc .wc-block-components-radio-control-accordion-option {
	border-radius: 18px;
}

/* ==========================================================================
   16. Mon compte
   ========================================================================== */
body.mc.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
}

body.mc.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
body.mc.woocommerce-account .woocommerce > .u-columns,
body.mc.woocommerce-account .woocommerce > form,
body.mc.woocommerce-account .woocommerce > h2 {
	flex: 1 1 100%;
}

body.mc .woocommerce-MyAccount-navigation {
	flex: 1 1 250px;
	max-width: 100%;
	float: none !important;
	width: auto !important;
	background: var(--mc-card);
	border-radius: var(--mc-r-lg);
	padding: 14px;
}

body.mc .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

body.mc .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

body.mc .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 11px 14px;
	border-radius: 18px;
	color: var(--mc-text);
	font-weight: 800;
	text-decoration: none;
}

body.mc .woocommerce-MyAccount-navigation li a:hover {
	background: var(--mc-soft);
	opacity: 1;
}

body.mc .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--mc-nav-on);
	color: var(--mc-nav-on-text);
}

body.mc .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--mc-muted);
}

body.mc .woocommerce-MyAccount-content {
	flex: 999 1 600px;
	min-width: 0;
	float: none !important;
	width: auto !important;
}

body.mc.woocommerce-account:not(.mc-account-dashboard) .woocommerce-MyAccount-content {
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 28px 30px;
}

/* Le message d'accueil par défaut est remplacé par la carte « Bonjour ! » */
body.mc.mc-account-dashboard .woocommerce-MyAccount-content > p:first-of-type {
	display: none;
}

body.mc.mc-account-dashboard .woocommerce-MyAccount-content > p {
	background: var(--mc-card);
	border-radius: var(--mc-r-lg);
	padding: 18px 22px;
	color: var(--mc-muted);
	margin-top: 18px;
}

.mc-account-hero {
	background: var(--mc-hero);
	color: var(--mc-hero-text);
	border-radius: var(--mc-r-xl);
	padding: 30px 32px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

body.mc .mc-account-hero h2 {
	color: #FFFFFF;
	margin: 0 0 4px;
	font-size: clamp(28px, 3vw, 36px);
}

.mc-account-hero p {
	margin: 0;
	color: var(--mc-hero-muted);
}

.mc-account-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

body.mc .mc-mini-card {
	padding: 20px;
}

body.mc .mc-mini-card p {
	margin: 0 0 8px;
}

body.mc .mc-mini-card a {
	font-weight: 800;
	font-size: 15px;
}

.mc-card-yellow {
	background: var(--mc-yellow-soft) !important;
}

.mc-kicker {
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--mc-muted);
}

.mc-card-yellow .mc-kicker {
	color: var(--mc-yellow-soft-text);
}

.mc-big {
	font-weight: 900;
	font-size: 20px;
}

.mc-address {
	font-weight: 700;
	line-height: 1.45;
}

.mc-status {
	display: inline-block;
	background: var(--mc-soft);
	color: var(--mc-text);
	font-weight: 900;
	font-size: 13px;
	padding: 4px 10px;
	border-radius: 14px;
	margin-bottom: 8px;
}

.mc-status-completed,
.mc-status-custom-status {
	background: var(--mc-ok-bg);
	color: var(--mc-ok);
}

.mc-status-processing,
.mc-status-on-hold,
.mc-status-pending {
	background: var(--mc-wait-bg);
	color: var(--mc-wait);
}

.mc-status-cancelled,
.mc-status-failed,
.mc-status-refunded {
	background: var(--mc-danger-bg);
	color: var(--mc-danger);
}

body.mc .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	font-weight: 900;
}

body.mc .woocommerce-orders-table .button,
body.mc .woocommerce-MyAccount-content .button.view {
	padding: 8px 14px;
	font-size: 14px;
	background: var(--mc-soft);
	color: var(--mc-text);
}

body.mc .woocommerce-Addresses .woocommerce-Address {
	background: var(--mc-soft);
	border-radius: var(--mc-r-md);
	padding: 18px 20px;
}

body.mc .woocommerce-Addresses .woocommerce-Address-title h2,
body.mc .woocommerce-Addresses .woocommerce-Address-title h3 {
	font-size: 20px;
}

body.mc .woocommerce-Address address {
	font-style: normal;
}

/* Connexion / inscription */
body.mc.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

body.mc.woocommerce-account .u-columns.col2-set::before,
body.mc.woocommerce-account .u-columns.col2-set::after {
	display: none;
}

body.mc.woocommerce-account .u-columns .u-column1,
body.mc.woocommerce-account .u-columns .u-column2 {
	float: none;
	width: auto;
	background: var(--mc-card);
	border-radius: var(--mc-r-xl);
	padding: 28px 30px;
}

body.mc.woocommerce-account .u-columns form.login,
body.mc.woocommerce-account .u-columns form.register {
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent !important;
}

body.mc.woocommerce-account .woocommerce > form.woocommerce-form-login {
	max-width: 520px;
	margin: 0 auto !important;
}

body.mc .wpm-titre {
	font-size: 20px;
	margin: 0 0 8px;
}

body.mc .woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	margin: 8px 0;
}

body.mc .woocommerce-LostPassword a {
	font-weight: 800;
	font-size: 14px;
}

/* ==========================================================================
   17. Bandeau cookies tarteaucitron
   ========================================================================== */
#tarteaucitronRoot,
#tarteaucitronRoot * {
	font-family: var(--mc-font) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
	background: var(--mc-card) !important;
	color: var(--mc-text) !important;
	border-radius: 26px !important;
	box-shadow: 0 16px 50px rgba(8, 17, 48, .25) !important;
	padding: 22px 24px !important;
	width: calc(100% - 32px) !important;
	max-width: 760px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	bottom: 16px !important;
	box-sizing: border-box !important;
	font-size: 15px !important;
	text-align: left !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
	color: var(--mc-text) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	display: block !important;
	margin-bottom: 14px !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	border-radius: 999px !important;
	padding: 11px 20px !important;
	font-weight: 900 !important;
	font-size: 15px !important;
	margin: 4px 6px 4px 0 !important;
	border: 0 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
	background: var(--mc-yellow) !important;
	color: var(--mc-on-yellow) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	background: var(--mc-btn2) !important;
	color: var(--mc-on-btn2) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
	background: var(--mc-soft) !important;
	color: var(--mc-text) !important;
}

#tarteaucitronRoot #tarteaucitron {
	border-radius: 26px !important;
	overflow: hidden !important;
	box-shadow: 0 16px 50px rgba(8, 17, 48, .35) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
	background: var(--mc-card) !important;
	box-shadow: none !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronTitle button,
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
	background: var(--mc-hero) !important;
	color: #FFFFFF !important;
	border-color: var(--mc-hero) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine {
	background: var(--mc-soft) !important;
	border-color: var(--mc-line) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName *,
#tarteaucitronRoot #tarteaucitron .tarteaucitronH3,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDetails {
	color: var(--mc-text) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
	background: var(--mc-card) !important;
	border-color: var(--mc-line) !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel {
	background: var(--mc-yellow) !important;
	color: var(--mc-on-yellow) !important;
	border-radius: 18px 18px 0 0 !important;
	font-weight: 900 !important;
}

#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny {
	border-radius: 999px !important;
	font-weight: 800 !important;
	padding: 6px 14px !important;
}

#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAllAllowed {
	background: var(--mc-ok) !important;
	color: #FFFFFF !important;
}

#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAllDenied {
	background: var(--mc-danger) !important;
	color: #FFFFFF !important;
}

#tarteaucitronIcon #tarteaucitronManager {
	background: var(--mc-yellow) !important;
	border-radius: 50% 50% 0 0 !important;
}

/* Lecteurs YouTube, cartes… bloqués par tarteaucitron */
body.mc .tac_activate {
	background: var(--mc-hero) !important;
	color: #FFFFFF !important;
	border-radius: var(--mc-r-md);
	font-family: var(--mc-font);
}

body.mc .tac_activate .tarteaucitronAllow {
	background: var(--mc-yellow) !important;
	color: var(--mc-on-yellow) !important;
	border-radius: 999px !important;
}

/* ==========================================================================
   18. Formulaires Gravity Forms (page contact)
   ========================================================================== */
body.mc .gform_wrapper .gfield_label {
	font-weight: 800;
	color: var(--mc-text);
}

body.mc .gform_wrapper .gform_button {
	background: var(--mc-yellow) !important;
	color: var(--mc-on-yellow) !important;
	border-radius: 999px !important;
	font-weight: 900 !important;
	padding: 14px 28px !important;
	border: 0 !important;
}

body.mc .gform_wrapper .gfield_required {
	color: var(--mc-danger);
}

/* ==========================================================================
   19. Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	body.mc ul.products,
	body.mc .woocommerce ul.products,
	body.mc.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.mc-perks {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mc-parts-box {
		grid-template-columns: 1fr;
	}

	.mc-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1180px) {
	.mc-header-bar {
		padding: 8px 8px 8px 12px;
		flex-wrap: wrap;
	}

	.mc-burger {
		display: inline-flex !important;
	}

	.mc-nav {
		order: 3;
		flex: 1 1 100%;
		display: none;
		padding: 6px 0 4px;
		border-top: 1px solid var(--mc-line);
	}

	.mc-nav.is-open {
		display: block;
	}

	.mc-menu {
		flex-direction: column;
		gap: 2px;
	}

	body.mc .mc-menu a {
		padding: 12px 14px;
		font-size: 16px;
	}

	.mc-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		background: transparent;
		padding: 0 0 4px 16px;
		min-width: 0;
	}

	.mc-menu > .menu-item-has-children > a::after {
		display: none;
	}
}

@media (max-width: 1024px) {
	body.mc.single-product div.product {
		grid-template-columns: 1fr;
	}

	body.mc.single-product div.product > .woocommerce-product-gallery,
	body.mc.single-product div.product > div.images,
	body.mc.single-product div.product > .summary,
	body.mc.single-product div.product > div.summary {
		grid-column: 1;
	}

	body.mc.woocommerce-cart .woocommerce,
	body.mc form.checkout {
		grid-template-columns: 1fr;
	}

	body.mc.woocommerce-cart .woocommerce > .cart-collaterals,
	body.mc form.checkout > #order_review_heading,
	body.mc form.checkout > #order_review {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}

	.mc-hero {
		grid-template-columns: 1fr;
		padding: 32px;
	}
}

@media (max-width: 760px) {
	body.mc {
		font-size: 16px;
	}

	.mc-topbar-inner {
		justify-content: center;
		text-align: center;
	}

	.mc-topbar-menu {
		justify-content: center;
	}

	body.mc .site.grid-container,
	.mc-wrap {
		padding-left: 14px;
		padding-right: 14px;
	}

	body.mc ul.products,
	body.mc .woocommerce ul.products,
	body.mc.woocommerce ul.products,
	body.mc .mc-parts ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	body.mc ul.products li.product {
		padding: 8px !important;
		border-radius: 20px;
	}

	body.mc ul.products li.product .woocommerce-loop-product__title {
		font-size: 15px !important;
	}

	body.mc ul.products li.product .price {
		font-size: 18px;
	}

	body.mc ul.products li.product .button {
		width: 100%;
	}

	body.mc .mc-parts ul.products li.product .button {
		width: 36px;
	}

	body.mc span.onsale,
	body.mc ul.products li.product .bestseller-badge {
		top: 14px;
	}

	body.mc span.onsale { right: 14px; }
	body.mc ul.products li.product .bestseller-badge { left: 14px; }

	.mc-hero {
		padding: 24px;
		border-radius: 26px;
	}

	.mc-perks {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.mc-perks li {
		padding: 12px;
		font-size: 14px;
	}

	.mc-parts-box {
		padding: 22px;
	}

	body.mc .inside-article,
	body.mc.separate-containers .inside-article {
		padding: 24px 20px;
		border-radius: 26px;
	}

	body.mc .woocommerce-products-header {
		padding: 24px;
	}

	.mc-cat-thumb {
		display: none;
	}

	body.mc.single-product div.product > .summary {
		padding: 22px;
	}

	body.mc.single-product .woocommerce-tabs {
		padding: 20px;
	}

	body.mc.woocommerce-account .u-columns.col2-set {
		grid-template-columns: 1fr;
	}

	.mc-footer {
		padding: 26px 22px 18px;
	}

	.mc-footer-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	body.mc .woocommerce-result-count {
		margin-left: 0;
	}
}

@media (max-width: 480px) {
	.mc-logo-name {
		font-size: 20px;
	}

	.mc-logo-icon {
		width: 40px;
		height: 40px;
	}

	.mc-actions {
		gap: 6px;
	}

	body.mc .mc-round {
		width: 40px;
		height: 40px;
	}

	.mc-account {
		display: none !important;
	}

	body.mc .mc-cart-pill {
		height: 40px;
		padding: 0 12px;
	}

	.mc-perks {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.mc *,
	body.mc *::before,
	body.mc *::after {
		transition: none !important;
		animation: none !important;
	}
}
