/* ==========================================================================
   Kaffir - charte graphique
   Charge apres le theme glowing-blog (voir mu-plugins/kaffir-design.php).
   Fond creme, cartes blanches a ombre douce, vert feuille en couleur
   principale, pourpre des jeunes pousses en couleur secondaire. Le jaune
   des fleurs reste reserve aux etoiles des avis.
   ========================================================================== */

:root:root {
	--k-creme: #f8f3e7;
	--k-creme-2: #f0e7d3;
	--k-carte: #ffffff;
	--k-bord: #e9dfc8;
	--k-vert: #3f7a22;
	--k-vert-vif: #57952f;
	--k-vert-clair: #eaf3df;
	--k-vert-nuit: #1d3517;
	--k-encre: #25301d;
	--k-texte: #3f4637;
	--k-doux: #6f7766;
	--k-pourpre: #7a2e57;
	--k-pourpre-clair: #f6e9f0;
	--k-jaune: #e3a91b;
	--k-rayon: 18px;
	--k-rayon-petit: 12px;
	--k-ombre: 0 1px 2px rgba(45, 55, 25, .05), 0 10px 30px -14px rgba(45, 55, 25, .22);
	--k-ombre-survol: 0 2px 4px rgba(45, 55, 25, .06), 0 18px 40px -16px rgba(45, 55, 25, .30);
	--k-titre: "Fraunces", Georgia, serif;
	--k-corps: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Variables du theme : plus d ombres dures ni de contours noirs. */
	--body-background: var(--k-creme);
	--post-item-background: var(--k-carte);
	--primary-color: var(--k-vert);
	--header-text-color: var(--k-encre);
	--color-text: var(--k-texte);
	--font-site-title: var(--k-titre);
	--font-tagline: var(--k-corps);
	--font-head: var(--k-titre);
	--font-body: var(--k-corps);
	--glow-box-shadow-color: transparent;
	--glow-border-color: var(--k-bord);
	--glow-box-shadow: none;
	--glow-small-shadow: var(--k-ombre);
	--glow-medium-shadow: var(--k-ombre);
}

body {
	background: var(--k-creme);
	color: var(--k-texte);
	font-family: var(--k-corps);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .post-title, .widget-title, .widgettitle,
.woocommerce-loop-product__title, .product_title {
	font-family: var(--k-titre);
	font-variation-settings: "SOFT" 100;
	color: var(--k-encre);
	letter-spacing: -.01em;
}

a { color: var(--k-vert); }
a:hover, a:focus { color: var(--k-pourpre); }

/* Les contours noirs decales du theme, partout */
[style*="box-shadow"], .post-item, .widget, .adore-widget {
	border-color: var(--k-bord) !important;
}

/* --------------------------------------------------------------------------
   Barre du haut
   -------------------------------------------------------------------------- */
.mt-sur-container { display: none !important; }

.kaffir-topbar {
	background: var(--k-vert-nuit);
	color: #e8efdf;
	font-size: .86rem;
	line-height: 1.3;
}
.kaffir-topbar__in {
	max-width: 1240px;
	margin: 0 auto;
	padding: .5rem 1.25rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.kaffir-topbar__engagements {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem 1.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.kaffir-topbar__engagements li { margin: 0; white-space: nowrap; }
.kaffir-topbar__pastille {
	display: inline-block;
	padding: .2rem .7rem;
	border-radius: 999px;
	background: var(--k-vert-vif);
	color: #fff;
	font-weight: 700;
}
.kaffir-topbar__achat {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	flex: 0 0 auto;
	padding: .3rem .45rem .3rem .75rem;
	border-radius: 999px;
	background: #fff;
	color: var(--k-encre) !important;
	font-weight: 700;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.kaffir-topbar__achat:hover, .kaffir-topbar__achat:focus {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .45);
}
.kaffir-topbar__icone { width: 1.35rem; height: 1.35rem; }
.kaffir-topbar__achat strong {
	padding: .15rem .55rem;
	border-radius: 999px;
	background: var(--k-pourpre-clair);
	color: var(--k-pourpre);
	font-weight: 800;
}
@media (max-width: 900px) {
	.kaffir-topbar__lieu { display: none; }
}
@media (max-width: 720px) {
	/* Sur mobile, seul l achat des feuilles reste : c est lui qui fait vendre. */
	.kaffir-topbar__engagements { display: none; }
	.kaffir-topbar__in { padding: .45rem 1rem; }
	/* Le libelle reste visible : c est lui qui fait vendre. La barre peut passer
	   sur deux lignes, le bouton d achat prend alors toute la largeur. */
	.kaffir-topbar__in { flex-wrap: wrap; justify-content: center; row-gap: .4rem; }
	.kaffir-topbar__achat { font-size: .82rem; gap: .4rem; max-width: 100%; }
	.kaffir-topbar__achat span, .kaffir-topbar__achat strong { white-space: nowrap; }
}

/* --------------------------------------------------------------------------
   Entete : bandeau plat, marque a gauche, menu, recherche
   -------------------------------------------------------------------------- */
.site-header {
	margin: 0 0 2rem;
	background: rgba(255, 255, 255, .72);
	border-bottom: 1px solid var(--k-bord);
	backdrop-filter: saturate(1.2) blur(6px);
}
.adore-header-wrapper {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: .9rem 0;
	gap: 1.5rem;
}
.site-branding {
	width: auto;
	flex-grow: 0;
	display: flex;
	align-items: center;
	gap: .7rem;
}
.site-branding .site-logo { margin: 0; line-height: 0; }
.kaffir-logo-lien { display: inline-block; line-height: 0; }
.kaffir-logo { width: 54px; height: 54px; transition: transform .3s ease; }
.kaffir-logo-lien:hover .kaffir-logo { transform: rotate(-8deg) scale(1.05); }

.site-branding .site-identity .site-title { margin: 0; line-height: 1; }
.site-branding .site-identity .site-title a {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	text-decoration: none;
}
.kaffir-marque__nom {
	font-family: var(--k-titre);
	font-variation-settings: "SOFT" 100;
	font-weight: 800;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--k-vert);
}
.kaffir-marque__promesse {
	font-family: var(--k-corps);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--k-pourpre);
}
.site-branding .site-description { display: none; }

.adore-navigation { flex: 1 1 auto; display: flex; justify-content: flex-end; }
.main-navigation ul { gap: .15rem; }
.main-navigation ul li a,
.main-navigation .menu > li > a {
	font-family: var(--k-corps);
	font-weight: 600;
	font-size: .98rem;
	color: var(--k-encre);
	padding: .5rem .75rem;
	border-radius: 999px;
	transition: background-color .15s ease, color .15s ease;
}
.main-navigation ul li a:hover,
.main-navigation ul li a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	background: var(--k-vert-clair);
	color: var(--k-vert);
}
.main-navigation ul ul {
	border: 1px solid var(--k-bord);
	border-radius: var(--k-rayon-petit);
	box-shadow: var(--k-ombre);
	background: #fff;
	padding: .4rem;
}
.main-navigation ul ul li a { border-radius: 8px; }

/* Entree Panier en bouton */
.main-navigation .kaffir-panier-item > a,
.main-navigation .kaffir-panier-item > a:hover,
.main-navigation .kaffir-panier-item > a:focus {
	background: var(--k-vert);
	color: #fff !important;
	padding: .5rem .6rem .5rem .95rem;
}
.main-navigation .kaffir-panier-item > a:hover { background: var(--k-vert-nuit); }
.kaffir-panier__icone { display: none; }
.kaffir-panier__compte { background: #fff !important; color: var(--k-vert) !important; }
.kaffir-panier__compte--vide { background: rgba(255, 255, 255, .28) !important; color: #fff !important; }

.navigation-search-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--k-creme-2);
	color: var(--k-encre);
}

@media (max-width: 1100px) {
	.kaffir-marque__nom { font-size: 1.7rem; }
	.kaffir-logo { width: 46px; height: 46px; }
}
@media (max-width: 600px) {
	.adore-header.fix-header .site-branding { display: flex; }
	.kaffir-marque__promesse { font-size: .62rem; letter-spacing: .12em; }
}

/* --------------------------------------------------------------------------
   Cartes : articles, widgets, blocs produits
   -------------------------------------------------------------------------- */
.post-item,
.widget-area .widget,
.adore-widget,
.popular-post-wrapper {
	background: var(--k-carte);
	border: 1px solid var(--k-bord) !important;
	border-radius: var(--k-rayon) !important;
	box-shadow: var(--k-ombre) !important;
}
.post-item { transition: transform .2s ease, box-shadow .2s ease; overflow: hidden; }
.post-item:hover { transform: translateY(-3px); box-shadow: var(--k-ombre-survol) !important; }

.post-item .post-item-image,
.post-item .post-thumbnail,
.post-item-image img,
.post-thumbnail img {
	border: 0 !important;
	border-radius: var(--k-rayon-petit) !important;
	box-shadow: none !important;
}
.post-item .post-title,
.post-item .entry-title { font-weight: 700; line-height: 1.2; }
.post-item .post-title a,
.post-item .entry-title a { color: var(--k-encre); text-decoration: none; }
.post-item .post-title a:hover,
.post-item .entry-title a:hover { color: var(--k-vert); }

/* Categories en pastilles pourpres, compteur de lecture en blanc */
.post-categories a,
.post-item .post-categories a,
.cat-links a {
	display: inline-block;
	padding: .2rem .65rem;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--k-pourpre-clair) !important;
	color: var(--k-pourpre) !important;
	font-family: var(--k-corps);
	font-size: .75rem;
	font-weight: 700;
	box-shadow: none !important;
	text-decoration: none;
}
.post-item .read-time,
.post-item .post-item-image > span,
.post-item .post-meta-top {
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 999px !important;
}

/* « Lire la suite » en lien fleche plutot qu en bouton encadre */
.post-btn a,
.post-item .post-btn a {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .45rem 1rem;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--k-vert-clair) !important;
	color: var(--k-vert) !important;
	font-weight: 700;
	box-shadow: none !important;
	text-decoration: none;
}
.post-btn a::after { content: "\2192"; }
.post-btn a:hover { background: var(--k-vert) !important; color: #fff !important; }

.post-author, .post-date, .post-meta, .entry-meta { color: var(--k-doux); font-size: .85rem; }

/* Colonne de droite plus legere */
.widget-area .widget { padding: 1.4rem; }
.widget-area .widget .widget-title,
.widget-area .widget h2 { font-size: 1.2rem; }
.widget-area .wp-block-latest-comments__comment,
.widget-area .wc-block-review-list-item__item,
.widget-area li { border-color: var(--k-creme-2) !important; }
.widget-area img { border-radius: var(--k-rayon-petit); }
.star-rating span::before, .star-rating::before,
.wc-block-components-review-list-item__rating > .wc-block-components-review-list-item__rating__stars span::before {
	color: var(--k-jaune);
}

/* Boutons generiques */
.wp-block-button__link,
.button, button.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button {
	border-radius: 999px !important;
	font-family: var(--k-corps);
	font-weight: 700;
	box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Articles et pages : colonne de lecture blanche, texte confortable
   -------------------------------------------------------------------------- */
.single .site-main > article,
.page:not(.woocommerce-page) .site-main > article,
.single-post .site-main article.post {
	background: var(--k-carte);
	border: 1px solid var(--k-bord);
	border-radius: var(--k-rayon);
	box-shadow: var(--k-ombre);
	padding: clamp(1.25rem, 3vw, 2.75rem);
}
.single .entry-title,
.page .entry-title { font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem); font-weight: 800; line-height: 1.08; }
.single .entry-content,
.page .entry-content {
	font-size: 1.1rem;
	line-height: 1.75;
	color: var(--k-texte);
}
.entry-content > * { max-width: 72ch; }
.entry-content > .alignwide, .entry-content > .alignfull,
.entry-content > figure, .entry-content > .wp-block-image,
.entry-content > .wp-block-gallery, .entry-content > .wp-block-columns,
.entry-content > .wp-block-table, .entry-content > table { max-width: none; }
.entry-content h2 { font-size: 1.75rem; margin: 2.2em 0 .6em; font-weight: 800; }
.entry-content h3 { font-size: 1.35rem; margin: 1.8em 0 .5em; font-weight: 700; }
/* Filet decoratif reserve aux intertitres des articles : les blocs
   WooCommerce posent deja une icone en ::before sur leurs titres. */
.single-post .entry-content > h2::before {
	content: "";
	display: block;
	width: 2.4rem;
	height: .3rem;
	margin-bottom: .6rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--k-vert-vif) 60%, var(--k-pourpre) 60%);
}
.entry-content img,
.entry-content figure img,
.post-thumbnail img,
.single .post-thumbnail img { border-radius: var(--k-rayon-petit); height: auto; }
.single .post-thumbnail img,
.single .entry-content > .wp-block-image:first-child img { max-height: 520px; width: 100%; object-fit: cover; }
.entry-content a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content ul li::marker { color: var(--k-vert-vif); }
.entry-content blockquote {
	margin: 1.8em 0;
	padding: 1.1em 1.4em;
	border: 0;
	border-left: 4px solid var(--k-pourpre);
	border-radius: 0 var(--k-rayon-petit) var(--k-rayon-petit) 0;
	background: var(--k-pourpre-clair);
	font-style: normal;
}
.entry-content table { border-collapse: collapse; border-radius: var(--k-rayon-petit); overflow: hidden; }
.entry-content table th { background: var(--k-vert-clair); color: var(--k-encre); }
.entry-content table th, .entry-content table td { border-color: var(--k-creme-2); padding: .6em .8em; }
.entry-content .wp-block-button__link { background: var(--k-vert); color: #fff; }

/* --------------------------------------------------------------------------
   Boutique : grille de cartes
   -------------------------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb { color: var(--k-doux); font-size: .88rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--k-doux); }
.woocommerce-products-header__title.page-title { font-weight: 800; font-size: clamp(2rem, 1.6rem + 1.5vw, 2.75rem); }
.woocommerce .woocommerce-ordering select {
	padding: .45rem 2rem .45rem .9rem;
	border: 1px solid var(--k-bord);
	border-radius: 999px;
	background-color: #fff;
	font-family: var(--k-corps);
	font-size: .9rem;
}

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 1.4rem;
	margin: 0 0 2rem;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: .7rem .7rem 1rem;
	background: var(--k-carte);
	border: 1px solid var(--k-bord);
	border-radius: var(--k-rayon);
	box-shadow: var(--k-ombre);
	transition: transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--k-ombre-survol); }
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	text-decoration: none;
}
.woocommerce ul.products li.product a img {
	margin: 0 0 .85rem;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--k-rayon-petit);
	transition: transform .35s ease;
}
.woocommerce ul.products li.product.outofstock a img { filter: saturate(.55) brightness(1.03); opacity: .8; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 .3rem;
	margin: .5rem 0 .4rem;
	font-size: 1.05rem !important;
	font-weight: 700;
	line-height: 1.25;
	color: var(--k-encre);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.woocommerce ul.products li.product .star-rating { margin: 0 .3rem .4rem; font-size: .8rem; }
.woocommerce ul.products li.product .price {
	margin: auto .3rem 0 !important;
	padding-top: .3rem;
	color: var(--k-vert) !important;
	font-size: 1.15rem !important;
	font-weight: 800;
}
.woocommerce ul.products li.product .price del { color: var(--k-doux); font-size: .85rem; font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
	margin: .8rem .3rem 0 !important;
	padding: .65rem 1rem !important;
	text-align: center;
	background: var(--k-vert) !important;
	color: #fff !important;
	font-size: .92rem;
}
.woocommerce ul.products li.product .button:hover { background: var(--k-vert-nuit) !important; }
.woocommerce ul.products li.product.outofstock .button {
	background: var(--k-creme-2) !important;
	color: var(--k-encre) !important;
}

/* Pastilles : disponibilite en haut a gauche, promo en haut a droite */
.kaffir-stock {
	position: absolute;
	top: 1.2rem;
	left: 1.2rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .25rem .65rem;
	border-radius: 999px;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.3;
	box-shadow: 0 2px 8px -2px rgba(0, 0, 0, .18);
}
.kaffir-stock::before {
	content: "";
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: currentColor;
}
.kaffir-stock--oui { background: #fff; color: var(--k-vert); }
.kaffir-stock--non { background: #fff; color: #9a4b2a; }

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: 1.2rem !important;
	right: 1.2rem !important;
	left: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: .25rem .7rem;
	border-radius: 999px;
	background: var(--k-pourpre);
	color: #fff;
	font-family: var(--k-corps);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.3;
}

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */
.woocommerce div.product .product_title { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.5rem); font-weight: 800; line-height: 1.1; }
.woocommerce div.product div.images img,
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--k-rayon-petit); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: .5rem; margin-top: .5rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; flex: 1 1 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--k-rayon); overflow: hidden; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1.02rem; line-height: 1.65; }
.woocommerce div.product .woocommerce-product-rating .star-rating { color: var(--k-jaune); }

.kaffir-livraison-note {
	border-left: 0 !important;
	border-radius: var(--k-rayon-petit);
	background: var(--k-vert-clair) !important;
	padding: .8rem 1rem !important;
}
.woocommerce div.product form.cart {
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--k-bord);
	border-radius: var(--k-rayon);
	background: #fff;
	box-shadow: var(--k-ombre);
}
.woocommerce div.product form.cart button.single_add_to_cart_button { border-radius: 999px !important; }
.woocommerce div.product form.cart .quantity input.qty { border-radius: 999px !important; }

.kaffir-arguments {
	border: 1px solid var(--k-bord) !important;
	border-radius: var(--k-rayon) !important;
	background: #fff !important;
	box-shadow: var(--k-ombre);
}

/* Onglets : barre soulignee au lieu d intercalaires */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	padding: 0 !important;
	margin: 0 0 1.4rem !important;
	border: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--k-creme-2) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: .55rem 1.1rem !important;
	color: var(--k-encre) !important;
	font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--k-vert) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.woocommerce div.product .woocommerce-tabs .panel {
	padding: clamp(1.2rem, 3vw, 2.4rem);
	background: var(--k-carte);
	border: 1px solid var(--k-bord);
	border-radius: var(--k-rayon);
	box-shadow: var(--k-ombre);
	font-size: 1.05rem;
	line-height: 1.75;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.6rem; font-weight: 800; }
.woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 1.3rem; }
.woocommerce div.product .related > h2,
.woocommerce div.product .up-sells > h2 { font-weight: 800; font-size: 1.6rem; }

/* --------------------------------------------------------------------------
   Panier et commande
   -------------------------------------------------------------------------- */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title { font-weight: 800; }
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	padding: clamp(1rem, 3vw, 2rem);
	background: var(--k-carte);
	border: 1px solid var(--k-bord);
	border-radius: var(--k-rayon);
	box-shadow: var(--k-ombre);
}
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img { border-radius: 10px; }
.wc-block-components-product-name { font-family: var(--k-titre); font-weight: 700; color: var(--k-encre) !important; text-decoration: none; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button:not(.is-link) {
	border-radius: 999px !important;
	background: var(--k-vert) !important;
	color: #fff !important;
	font-weight: 700;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--k-vert-nuit) !important; }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value { font-family: var(--k-corps); }
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-cart .wc-block-components-sidebar { border-radius: var(--k-rayon-petit); }
.wc-block-cart__totals-title { font-family: var(--k-corps); letter-spacing: .08em; color: var(--k-doux); }
.kaffir-domicile, .kaffir-conges {
	border-left: 0 !important;
	border-radius: var(--k-rayon-petit) !important;
	background: var(--k-vert-clair) !important;
}

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */
.site-footer {
	margin-top: 3rem;
	background: var(--k-vert-nuit);
	color: #dfe8d4;
}
.site-footer a { color: #fff; }
.site-footer .widget:not(.adore-widget) {
	background: transparent;
	border: 0 !important;
	box-shadow: none !important;
	color: #dfe8d4;
}
.site-footer h2, .site-footer h3, .site-footer .widget-title { color: #fff; }
.site-footer .bottom-footer { border-top: 1px solid rgba(255, 255, 255, .12); }
.site-footer img { border-radius: var(--k-rayon-petit); }

/* --------------------------------------------------------------------------
   Ajustements
   -------------------------------------------------------------------------- */
/* Menu sur une ligne : liens plus compacts, promesse insecable */
.kaffir-marque__promesse { white-space: nowrap; letter-spacing: .12em; }
.main-navigation ul li a,
.main-navigation .menu > li > a { font-size: .93rem; padding: .45rem .62rem; white-space: nowrap; }
.main-navigation .menu-item-has-children > a { padding-right: .4rem; }
.adore-header-wrapper { gap: 1rem; }

/* Fiche : la pastille Promo va sur la photo, pas sur le titre */
.woocommerce div.product > span.onsale {
	top: 1rem !important;
	left: 1rem !important;
	right: auto !important;
	z-index: 3;
}

/* Bouton du bloc « Acheter des feuilles » de la colonne de droite */
.widget-area .wp-block-button__link,
.widget-area .wp-block-cover .wp-block-button__link {
	background: var(--k-vert) !important;
	color: #fff !important;
	border: 0 !important;
}
.widget-area .wp-block-button__link:hover { background: var(--k-pourpre) !important; }
.widget-area .wp-block-cover { border-radius: var(--k-rayon-petit); overflow: hidden; }

/* Formulaire de recherche de la colonne */
.widget_search .wp-block-search__inside-wrapper {
	border: 1px solid var(--k-bord);
	border-radius: 999px;
	padding: 3px;
	background: #fff;
}
.widget_search .wp-block-search__input { border: 0; border-radius: 999px; padding-left: .9rem; background: transparent; }
.widget_search .wp-block-search__button, .widget-area .wp-block-search__button {
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: var(--k-vert) !important;
	color: #fff !important;
	font-weight: 700;
}
.widget-area input[type="text"], .widget-area input[type="email"], .widget-area textarea,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
	border: 1px solid var(--k-bord);
	border-radius: 10px;
	background: #fffdf8;
}

/* Panier vide : suggestions de produits sans soulignement */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wc-block-grid__product-title {
	color: var(--k-encre) !important;
	text-decoration: none !important;
	font-family: var(--k-titre);
	font-weight: 700;
}
.wc-block-grid__product-image img { border-radius: var(--k-rayon-petit); }
.wc-block-grid__product-price { color: var(--k-vert); font-weight: 800; }

/* Panier vide : l icone de WooCommerce (un masque) s affichait en carre
   plein ; on met la feuille de la marque a la place. */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	-webkit-mask: none !important;
	mask: none !important;
	width: 6rem !important;
	height: 6rem !important;
	background: url("logo-combava.svg") center / contain no-repeat !important;
}

/* --------------------------------------------------------------------------
   Pied de page : marque, liens, site ami, ligne legale
   -------------------------------------------------------------------------- */
/* Les widgets enregistres en base (gros logo du partenaire) cedent la place
   aux colonnes posees par kaffir-design.php. */
.site-footer .footer-widget > .widget { display: none !important; }
.site-footer .top-footer { padding: 3rem 0 2rem; }
.site-footer .top-footer .top-footer-widgets > .footer-widget {
	width: auto !important;
	max-width: none !important;
	flex: none !important;
	margin: 0 !important;
}
.site-footer .top-footer .top-footer-widgets {
	margin-inline: 0;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 2.5rem;
}
@media (max-width: 800px) {
	.site-footer .top-footer .top-footer-widgets { grid-template-columns: 1fr; gap: 1.8rem; }
}
.kaffir-pied__col { font-size: .95rem; line-height: 1.6; color: #cfdcc2; }
.kaffir-pied__col p { margin: 0 0 .8rem; }
.kaffir-pied__col address { font-style: normal; color: #aebca0; font-size: .9rem; }
.kaffir-pied__logo {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-bottom: .8rem;
	text-decoration: none;
}
.kaffir-pied__svg { width: 40px; height: 40px; }
.kaffir-pied__logo span {
	font-family: var(--k-titre);
	font-variation-settings: "SOFT" 100;
	font-weight: 800;
	font-size: 1.7rem;
	color: #fff !important;
}
.kaffir-pied__titre {
	margin: .4rem 0 .9rem !important;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9fc27f !important;
}
.kaffir-pied__liens { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.kaffir-pied__liens a, .kaffir-pied__legal a {
	color: #e8efdf !important;
	text-decoration: none;
}
.kaffir-pied__liens a:hover, .kaffir-pied__legal a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* Site ami : discret, petite vignette */
.kaffir-partenaire {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	padding: .45rem .9rem .45rem .45rem;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	text-decoration: none;
	transition: background-color .15s ease;
}
.kaffir-partenaire:hover { background: rgba(255, 255, 255, .06); }
.kaffir-partenaire img {
	width: 40px;
	height: 40px;
	border-radius: 50% !important;
	object-fit: cover;
	background: #fff;
}
.kaffir-partenaire span { display: flex; flex-direction: column; line-height: 1.25; }
.kaffir-partenaire strong { color: #fff; font-size: .92rem; }
.kaffir-partenaire small { color: #aebca0; font-size: .8rem; }

/* Ligne du bas */
.site-footer .bottom-footer { padding: 1.1rem 0; font-size: .85rem; color: #aebca0; }
.site-footer .bottom-footer-info { justify-content: center; }
.site-footer .site-info span { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem 1.2rem; }
.kaffir-pied__legal { display: inline-flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin: 0; padding: 0; list-style: none; }

/* Bloc contact de la colonne : titre et formulaire dans une seule carte */
#contact { scroll-margin-top: 1.5rem; }
.widget-area .wpcf7 input[type="submit"] {
	padding: .6rem 1.4rem;
	border: 0;
	background: var(--k-vert) !important;
	color: #fff !important;
}
.widget-area .wpcf7 input[type="submit"]:hover { background: var(--k-vert-nuit) !important; }

/* Entete mobile : la promesse insecable elargissait la marque et poussait
   la loupe hors de l ecran sur les telephones de 360 px. */
@media (max-width: 600px) {
	.adore-header-wrapper { gap: .5rem; padding: .6rem 0; }
	.adore-navigation { flex: 0 0 auto; justify-content: flex-start; }
	.site-branding { min-width: 0; flex: 1 1 auto; justify-content: center; gap: .45rem; }
	.kaffir-logo { width: 38px; height: 38px; }
	.kaffir-marque__nom { font-size: 1.45rem; }
	.kaffir-marque__promesse { font-size: .56rem; letter-spacing: .06em; }
	.navigation-search-icon { width: 2.2rem; height: 2.2rem; }
	.kaffir-topbar__in { gap: .5rem; }
}
@media (max-width: 340px) {
	.kaffir-marque__promesse { display: none; }
}

/* Le flou de l entete (backdrop-filter) cree un contexte d empilement : sans
   z-index, les cartes d articles passaient au-dessus du menu mobile deroulant. */
.site-header { position: relative; z-index: 100; }
