@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//dercosens.com/wp-content/themes/woodmart/fonts/woodmart-font-3-400.woff2?v=8.4.1") format("woff2");
}

@font-face {
	font-family: "star";
	font-weight: 400;
	font-style: normal;
	src: url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/star.eot?#iefix") format("embedded-opentype"), url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/star.woff") format("woff"), url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/star.ttf") format("truetype"), url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/star.svg#star") format("svg");
}

@font-face {
	font-family: "WooCommerce";
	font-weight: 400;
	font-style: normal;
	src: url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.eot?#iefix") format("embedded-opentype"), url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.woff") format("woff"), url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.ttf") format("truetype"), url("//dercosens.com/wp-content/plugins/woocommerce/assets/fonts/WooCommerce.svg#WooCommerce") format("svg");
}

:root {
	--wd-text-font: "Jost", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 500;
	--wd-text-color: #767676;
	--wd-text-font-size: 16px;
	--wd-title-font: "Cormorant Garamond", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 500;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Jost", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 400;
	--wd-entities-title-color: rgb(31,31,31);
	--wd-entities-title-color-hover: rgb(15, 61, 50);
	--wd-alternative-font: "Jost", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Jost", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 600;
	--wd-widget-title-transform: none;
	--wd-widget-title-color: rgb(31,31,31);
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Jost", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 500;
	--wd-header-el-transform: none;
	--wd-header-el-font-size: 16px;
	--wd-brd-radius: 10px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(15,75,67);
	--wd-alternative-color: rgb(185,207,139);
	--btn-default-bgcolor: rgb(36,36,36);
	--btn-default-bgcolor-hover: rgb(51,51,51);
	--btn-accented-bgcolor: rgb(161,207,222);
	--btn-accented-bgcolor-hover: rgb(145,186,199);
	--btn-font-weight: 500;
	--btn-transform: capitalize;
	--btn-font-size: 14px;
	--wd-form-brd-width: 1px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: rgb(161,207,222);
	--wd-link-color-hover: rgb(145,186,199);
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: #111111;
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg, :is(.woodmart-archive-shop .wd-builder-off,.wd-wishlist-content,.related-and-upsells,.cart-collaterals,.wd-shop-product,.wd-fbt) .wd-products-with-bg :is(.wd-product,.wd-cat) {
	--wd-prod-bg:rgb(255,255,255);
	--wd-bordered-bg:rgb(255,255,255);
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(36,36,36);
	background-image: none;
}
html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
	font-family: "Cormorant Garamond", Arial, Helvetica, sans-serif;
	font-weight: 600;
	font-size: 34px;
	line-height: 35px;
	color: rgb(15,61,50);
}
.whb-top-bar .wd-nav.wd-nav-secondary > li > a {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 18px;
	color: rgb(51,51,51);
}
.whb-top-bar .wd-nav.wd-nav-secondary > li:hover > a, .whb-top-bar .wd-nav.wd-nav-secondary > li.current-menu-item > a {
	color: rgb(15,61,50);
}
html .wd-nav-mobile > li > a {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 22px;
	text-transform: none;
	color: rgb(31,31,31);
}
html .wd-nav-mobile > li > a:hover, html .wd-nav-mobile > li.current-menu-item > a {
	color: #0F3D32;
}
html .wd-nav-mobile .wd-sub-menu li a {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 21px;
	text-transform: none;
	color: rgb(68,68,68);
}
html .wd-nav-mobile .wd-sub-menu li a:hover, html .wd-nav-mobile .wd-sub-menu li.current-menu-item > a {
	color: #0F3D32;
}
html .product.wd-cat .wd-entities-title, html .product.wd-cat.cat-design-replace-title .wd-entities-title, html .wd-masonry-first .wd-cat:first-child .wd-entities-title {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 21px;
	text-transform: none;
	color: rgb(31,31,31);
}
html .product.wd-cat:hover .wd-entities-title, html .product.wd-cat:hover .wd-entities-title a, .cat-design-side .wd-cat-inner > a:hover ~ .wd-cat-content .wd-entities-title a, html .wd-masonry-first .wd-cat:first-child:hover .wd-entities-title a {
	color: rgb(15,61,50);
}
html table th {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	text-transform: none;
	color: rgb(31,31,31);
}
html .wd-checkout-steps li {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	text-transform: none;
	color: rgb(31,31,31);
}
html .wd-checkout-steps li:hover a {
	color: rgb(15,61,50);
}
html .wd-nav.wd-nav-main > li > a {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 20px;
	color: #1F1F1F;
}
html .wd-nav.wd-nav-main > li:hover > a, html .wd-nav.wd-nav-main > li.current-menu-item > a {
	color: rgb(15,61,50);
}
html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
	font-family: "Cormorant Garamond", Arial, Helvetica, sans-serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 39px;
	color: rgb(31,31,31);
}
html .wd-product .wd-entities-title a, html .product.wd-cat .wd-entities-title, html .product.wd-cat.cat-design-replace-title .wd-entities-title, html .wd-masonry-first .wd-cat:first-child .wd-entities-title {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 20px;
	color: rgb(31,31,31);
}
html .wd-product .wd-entities-title a:hover, html .product.wd-cat:hover .wd-entities-title, html .product.wd-cat:hover .wd-entities-title a, .cat-design-side .wd-cat-inner > a:hover ~ .wd-cat-content .wd-entities-title a, html .wd-masonry-first .wd-cat:first-child:hover .wd-entities-title a {
	color: rgb(15,61,50);
}
html .wd-product .wd-product-cats a, html .wd-product .wd-product-brands-links a, html .product.wd-product .star-rating > div, html .product.wd-cat .wd-cat-count, html .product.wd-cat.cat-design-replace-title .wd-cat-count {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 18px;
	color: rgb(102,102,102);
}
html .wd-product .wd-product-cats a:hover, html .wd-product .wd-product-brands-links a:hover, html .product.wd-product .star-rating:hover > div, html .product.wd-cat:hover .wd-cat-count {
	color: rgb(15,61,50);
}
html .wd-product .price, html .product.wd-product del {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 22px;
	color: rgb(15,61,50);
}
html .product-image-summary-wrap .summary-inner > .price, html .wd-single-price .price {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 28px;
	color: rgb(15,61,50);
}
html .product-image-summary-wrap .summary-inner > .price del, html .wd-single-price .price del {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 17px;
	color: rgb(153,153,153);
}
html .wd-page-title .wd-breadcrumbs a, html .wd-page-title .wd-breadcrumbs span, html .wd-page-title .yoast-breadcrumb a, html .wd-page-title .yoast-breadcrumb span, html .wd-page-title .rank-math-breadcrumb a, html .wd-page-title .rank-math-breadcrumb span, html .wd-page-title .aioseo-breadcrumbs a, html .wd-page-title .aioseo-breadcrumbs span, html .wd-page-title .breadcrumb a, html .wd-page-title .breadcrumb li {
	font-family: "Jost", Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: 18px;
	color: rgb(119,119,119);
}
html .wd-page-title .wd-breadcrumbs a:hover, html .wd-page-title .yoast-breadcrumb a:hover, html .wd-page-title .rank-math-breadcrumb a:hover, html .wd-page-title .aioseo-breadcrumbs a:hover, html .wd-page-title .breadcrumb a:hover {
	color: rgb(15,61,50);
}
.page :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
.woodmart-archive-shop:not(.single-product) :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
.single-product :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
.woodmart-archive-blog :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
.single-post :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
.woodmart-archive-portfolio :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
.single-portfolio :is(.wd-page-content, .whb-header) {
	background-color: rgb(245,247,248);
	background-image: none;
}
body, [class*=color-scheme-light], [class*=color-scheme-dark], .wd-search-form[class*="wd-header-search-form"] form.searchform, .wd-el-search .searchform {
	--wd-form-bg: rgb(255,255,255);
}
.product-labels .product-label.onsale {
	background-color: rgb(217,179,95);
}
.product-labels .product-label.new {
	background-color: rgb(232,239,218);
	color: #0F4B43;
}
.product-labels .product-label.featured {
	background-color: rgb(198,211,168);
	color: rgb(15,75,67);
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}

@media (max-width: 1024px) {
	:root {
		--wd-widget-title-font-size: 15px;
	}
	html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
		font-size: 30px;
	}
	html table th {
		font-size: 14px;
	}
	html .wd-checkout-steps li {
		font-size: 14px;
	}
	html .wd-nav.wd-nav-main > li > a {
		font-size: 14px;
	}
	html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
		font-size: 27px;
	line-height: 35px;
	}
	html .wd-product .wd-entities-title a, html .product.wd-cat .wd-entities-title, html .product.wd-cat.cat-design-replace-title .wd-entities-title, html .wd-masonry-first .wd-cat:first-child .wd-entities-title {
		font-size: 14px;
	}
	html .wd-product .wd-product-cats a, html .wd-product .wd-product-brands-links a, html .product.wd-product .star-rating > div, html .product.wd-cat .wd-cat-count, html .product.wd-cat.cat-design-replace-title .wd-cat-count {
		font-size: 13px;
	}
	html .wd-product .price, html .product.wd-product del {
		font-size: 15px;
	}
	html .product-image-summary-wrap .summary-inner > .price, html .wd-single-price .price {
		font-size: 20px;
	}
	html .wd-page-title .wd-breadcrumbs a, html .wd-page-title .wd-breadcrumbs span, html .wd-page-title .yoast-breadcrumb a, html .wd-page-title .yoast-breadcrumb span, html .wd-page-title .rank-math-breadcrumb a, html .wd-page-title .rank-math-breadcrumb span, html .wd-page-title .aioseo-breadcrumbs a, html .wd-page-title .aioseo-breadcrumbs span, html .wd-page-title .breadcrumb a, html .wd-page-title .breadcrumb li {
		font-size: 13px;
	}
	[class*="thumbs-grid-bottom"] .woocommerce-product-gallery__wrapper.wd-grid {
		--wd-col: 1;
	}

}

@media (max-width: 768.98px) {
	:root {
		--wd-widget-title-font-size: 15px;
	}
	html .page-title > .container > .title, html .page-title .wd-title-wrapp > .title {
		font-size: 26px;
	}
	html table th {
		font-size: 13px;
	}
	html .wd-checkout-steps li {
		font-size: 13px;
	}
	html .wd-nav.wd-nav-main > li > a {
		font-size: 14px;
	}
	html .product-image-summary-wrap .product_title, html .wd-single-title .product_title {
		font-size: 24px;
	line-height: 30px;
	}
	html .wd-product .wd-entities-title a, html .product.wd-cat .wd-entities-title, html .product.wd-cat.cat-design-replace-title .wd-entities-title, html .wd-masonry-first .wd-cat:first-child .wd-entities-title {
		font-size: 14px;
	}
	html .wd-product .wd-product-cats a, html .wd-product .wd-product-brands-links a, html .product.wd-product .star-rating > div, html .product.wd-cat .wd-cat-count, html .product.wd-cat.cat-design-replace-title .wd-cat-count {
		font-size: 12px;
	}
	html .wd-product .price, html .product.wd-product del {
		font-size: 15px;
	}
	html .product-image-summary-wrap .summary-inner > .price, html .wd-single-price .price {
		font-size: 19px;
	}
	html .wd-page-title .wd-breadcrumbs a, html .wd-page-title .wd-breadcrumbs span, html .wd-page-title .yoast-breadcrumb a, html .wd-page-title .yoast-breadcrumb span, html .wd-page-title .rank-math-breadcrumb a, html .wd-page-title .rank-math-breadcrumb span, html .wd-page-title .aioseo-breadcrumbs a, html .wd-page-title .aioseo-breadcrumbs span, html .wd-page-title .breadcrumb a, html .wd-page-title .breadcrumb li {
		font-size: 12px;
	}
	[class*="thumbs-grid-bottom"] .woocommerce-product-gallery__wrapper.wd-grid {
		--wd-col: 1;
	}

}
:root{
--wd-container-w: 1600px;
--wd-form-brd-radius: 35px;
--btn-default-color: #fff;
--btn-default-color-hover: #fff;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 35px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-accented-brd-radius: 35px;
--btn-accented-box-shadow: none;
--btn-accented-box-shadow-hover: none;
}

@media (min-width: 1600px) {
section.elementor-section.wd-section-stretch > .elementor-container {
margin-left: auto;
margin-right: auto;
}
}


.wd-page-title {
background-color: rgb(245,247,248);
}

@font-face {
	font-family: "Satoshi";
	font-weight: 500;
	font-display:swap;
	font-style: normal;
}

@font-face {
	font-family: "Satoshi";
	font-weight: 600;
	font-display:swap;
	font-style: normal;
}

/* Vue 360 : popup */
.wd-threed-view {
    position: relative !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    padding-bottom: 40px !important;
}

/* Vue 360 : image */
.wd-threed-view .threed-view-images {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Vue 360 : cacher boutons */
.wd-threed-view .nav_bar,
.wd-threed-view .nav_bar *,
.wd-threed-view .nav_bar a,
.wd-threed-view .nav_bar a::before,
.wd-threed-view .nav_bar a::after,
.wd-threed-view a.previous,
.wd-threed-view a.next,
.wd-threed-view .previous,
.wd-threed-view .next,
.wd-threed-view .nav_bar_previous,
.wd-threed-view .nav_bar_next,
.wd-threed-view [class*="previous"],
.wd-threed-view [class*="next"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    content: none !important;
}

/* Vue 360 : indice desktop */
.wd-threed-view::after {
    content: "Glissez pour tourner";
    position: absolute !important;
    right: 22px !important;
    left: auto !important;
    bottom: 14px !important;
    transform: none !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    color: #6B7572 !important;
    white-space: nowrap !important;
    opacity: 0.85 !important;
    z-index: 20 !important;
}

/* Vue 360 : mobile */
@media (max-width: 767px) {

    .wd-threed-view {
        padding-bottom: 34px !important;
    }

    .wd-threed-view::after {
        content: "Glissez Rournez";
        right: 14px !important;
        bottom: 11px !important;
        font-size: 11px !important;
        opacity: 0.7 !important;
    }
}

/* Pays panier */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_country_field {
    display: none !important;
}
/* =========================
   Panier - point relais
========================= */

/* Espacement méthodes */
.woocommerce-cart ul#shipping_method li {
    margin-bottom: 10px;
}

/* Nom méthode + prix */
.woocommerce-cart ul#shipping_method li label {
    display: inline-block;
    width: calc(100% - 24px);
    margin: 0;
    padding-left: 4px;
    line-height: 1.45;
    text-align: left;
    vertical-align: top;
}

/* Bloc infos */
.woocommerce-cart .pickup-address {
    max-width: 100%;
    margin-top: 8px;
    margin-left: 0;
    transform: translateX(-22px);
    padding: 9px 11px;
    background: #f8faf9;
    border: 1px solid #e1e7e4;
    border-left: 3px solid #0f3d32;
    border-right: 0;
    border-radius: 7px;
    font-size: 12px;
    line-height: 1.6;
    color: #333;
    text-align: left;
}

/* Lignes infos */
.woocommerce-cart .pickup-address span {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
}


/* =========================
   Checkout - point relais
========================= */

/* Espacement méthodes */
.woocommerce-checkout ul#shipping_method li {
    margin-bottom: 10px;
}

/* Nom méthode + prix */
.woocommerce-checkout ul#shipping_method li label {
    display: inline-block;
    width: calc(100% - 24px);
    margin: 0;
    line-height: 1.45;
    text-align: right;
    vertical-align: top;
}

/* Bloc infos */
.woocommerce-checkout .pickup-address {
    max-width: 430px;
    margin-top: 8px;
    margin-left: auto;
    padding: 9px 11px;
    background: #f8faf9;
    border: 1px solid #e1e7e4;
    border-right: 3px solid #0f3d32;
    border-radius: 7px;
    font-size: 13px;
    line-height: 1.6;
    color: #333;
    text-align: right;
}

/* Lignes infos */
.woocommerce-checkout .pickup-address span {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
}


/* =========================
   Commun - prix + icônes
========================= */

/* Prix livraison */
.woocommerce-cart ul#shipping_method .woocommerce-Price-amount,
.woocommerce-checkout ul#shipping_method .woocommerce-Price-amount {
    font-weight: 700;
    color: #0f3d32;
}

/* Icônes */
.woocommerce-cart .pickup-address i,
.woocommerce-checkout .pickup-address i {
    width: 13px;
    height: 13px;
    font-size: 15px;
    line-height: 13px;
    color: #0f3d32;
}


/* =========================
   Mobile
========================= */

@media (max-width: 768px) {
    .woocommerce-cart ul#shipping_method li label,
    .woocommerce-checkout ul#shipping_method li label {
        width: calc(100% - 22px);
    }

    .woocommerce-cart .pickup-address {
        transform: none;
    }

    .woocommerce-cart .pickup-address,
    .woocommerce-checkout .pickup-address {
        max-width: 100%;
        font-size: 11.5px;
        padding: 8px 10px;
    }
}
/* Texte Gratuit livraison */
.free-shipping-label {
    color: #0f3d32;
    font-weight: 700;
}


/* =========================================================
   DERCOSENS - Effet bulles + mousse premium CTA Elementor
   Classe à ajouter sur le CTA ou son container :
   derco-cta-bubbles
========================================================= */

.derco-cta-bubbles .elementor-cta {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border-radius: 12px !important;

    --derco-wave-duration: 18s;
    --derco-wave2-delay: -6s;
    --derco-wave3-delay: -12s;

    --derco-wave1-opacity: 0.50;
    --derco-wave2-opacity: 0.30;
    --derco-wave3-opacity: 0.24;
    --derco-foam-opacity: 0.40;
}

/* Image + overlay Elementor */
.derco-cta-bubbles .elementor-cta__bg-wrapper {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    overflow: hidden !important;
    border-radius: inherit !important;
}

.derco-cta-bubbles .elementor-cta__bg,
.derco-cta-bubbles .elementor-cta__bg-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

/* VAGUE 1 - Bulles principales */
.derco-cta-bubbles .elementor-cta::before {
    content: "";
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: var(--derco-wave1-opacity);
    background-repeat: no-repeat;
    filter: drop-shadow(0 0 2px rgba(255,255,255,0.22));

    background-image:
        radial-gradient(circle, rgba(255,255,255,0.10) 0 52%, rgba(255,255,255,0.95) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.12) 0 52%, rgba(255,255,255,0.92) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 52%, rgba(255,255,255,0.90) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.12) 0 52%, rgba(255,255,255,0.96) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 52%, rgba(255,255,255,0.90) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.10) 0 52%, rgba(255,255,255,0.94) 58% 66%, transparent 72%);

    background-size:
        18px 18px,
        22px 22px,
        17px 17px,
        24px 24px,
        15px 15px,
        21px 21px;

    animation: dercoBubbleWaveOne var(--derco-wave-duration) linear infinite;
}

/* VAGUE 2 - Micro-bulles */
.derco-cta-bubbles .elementor-cta__bg-wrapper::after {
    content: "";
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    opacity: var(--derco-wave2-opacity);
    background-repeat: no-repeat;
    filter: drop-shadow(0 0 1px rgba(255,255,255,0.16));

    background-image:
        radial-gradient(circle, rgba(255,255,255,0.08) 0 50%, rgba(255,255,255,0.86) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.06) 0 50%, rgba(255,255,255,0.82) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 50%, rgba(255,255,255,0.88) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.06) 0 50%, rgba(255,255,255,0.84) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 50%, rgba(255,255,255,0.86) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.06) 0 50%, rgba(255,255,255,0.82) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 50%, rgba(255,255,255,0.88) 58% 66%, transparent 72%);

    background-size:
        10px 10px,
        9px 9px,
        12px 12px,
        9px 9px,
        11px 11px,
        10px 10px,
        12px 12px;

    animation: dercoBubbleWaveTwo var(--derco-wave-duration) linear infinite;
    animation-delay: var(--derco-wave2-delay);
}

/* VAGUE 3 - Bulles moyennes */
.derco-cta-bubbles .elementor-cta__bg-overlay::before {
    content: "";
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    opacity: var(--derco-wave3-opacity);
    background-repeat: no-repeat;
    filter: drop-shadow(0 0 1px rgba(255,255,255,0.14));

    background-image:
        radial-gradient(circle, rgba(255,255,255,0.08) 0 52%, rgba(255,255,255,0.86) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.10) 0 52%, rgba(255,255,255,0.90) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 52%, rgba(255,255,255,0.84) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.10) 0 52%, rgba(255,255,255,0.88) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.08) 0 52%, rgba(255,255,255,0.82) 58% 66%, transparent 72%),
        radial-gradient(circle, rgba(255,255,255,0.10) 0 52%, rgba(255,255,255,0.88) 58% 66%, transparent 72%);

    background-size:
        12px 12px,
        15px 15px,
        12px 12px,
        16px 16px,
        11px 11px,
        15px 15px;

    animation: dercoBubbleWaveThree var(--derco-wave-duration) linear infinite;
    animation-delay: var(--derco-wave3-delay);
}

/* MOUSSE EN BAS */
.derco-cta-bubbles .elementor-cta::after {
    content: "";
    position: absolute !important;
    left: -6% !important;
    right: -6% !important;
    bottom: -30px !important;
    height: 92px !important;
    z-index: 2 !important;
    pointer-events: none !important;
    opacity: var(--derco-foam-opacity);

    background:
        radial-gradient(circle at 2% 76%, rgba(255,255,255,0.92) 0 15px, transparent 17px),
        radial-gradient(circle at 9% 60%, rgba(255,255,255,0.78) 0 24px, transparent 26px),
        radial-gradient(circle at 17% 78%, rgba(255,255,255,0.90) 0 18px, transparent 20px),
        radial-gradient(circle at 26% 58%, rgba(255,255,255,0.74) 0 28px, transparent 30px),
        radial-gradient(circle at 36% 77%, rgba(255,255,255,0.88) 0 20px, transparent 22px),
        radial-gradient(circle at 48% 60%, rgba(255,255,255,0.74) 0 31px, transparent 33px),
        radial-gradient(circle at 60% 78%, rgba(255,255,255,0.90) 0 19px, transparent 21px),
        radial-gradient(circle at 72% 58%, rgba(255,255,255,0.74) 0 29px, transparent 31px),
        radial-gradient(circle at 83% 77%, rgba(255,255,255,0.88) 0 20px, transparent 22px),
        radial-gradient(circle at 94% 60%, rgba(255,255,255,0.78) 0 27px, transparent 29px),
        radial-gradient(circle at 101% 78%, rgba(255,255,255,0.90) 0 17px, transparent 19px);
}

/* Texte et bouton au-dessus */
.derco-cta-bubbles .elementor-cta__content {
    position: relative !important;
    z-index: 5 !important;
}

/* Animation Vague 1 */
@keyframes dercoBubbleWaveOne {
    0% {
        background-position:
            8% 122%,
            20% 116%,
            30% 124%,
            74% 118%,
            86% 124%,
            94% 120%;
    }

    35% {
        background-position:
            10% 82%,
            18% 74%,
            32% 84%,
            72% 76%,
            88% 84%,
            92% 78%;
    }

    70% {
        background-position:
            7% 42%,
            22% 30%,
            28% 46%,
            76% 34%,
            84% 46%,
            96% 38%;
    }

    100% {
        background-position:
            10% -18%,
            18% -32%,
            34% -16%,
            72% -24%,
            88% -14%,
            94% -28%;
    }
}

/* Animation Vague 2 */
@keyframes dercoBubbleWaveTwo {
    0% {
        background-position:
            5% 126%,
            14% 122%,
            26% 128%,
            78% 120%,
            86% 130%,
            92% 124%,
            98% 128%;
    }

    35% {
        background-position:
            8% 88%,
            12% 80%,
            30% 90%,
            74% 78%,
            88% 92%,
            90% 82%,
            96% 90%;
    }

    70% {
        background-position:
            4% 46%,
            18% 34%,
            24% 50%,
            80% 36%,
            84% 52%,
            94% 40%,
            99% 48%;
    }

    100% {
        background-position:
            9% -20%,
            10% -34%,
            31% -16%,
            74% -26%,
            88% -18%,
            91% -30%,
            97% -22%;
    }
}

/* Animation Vague 3 */
@keyframes dercoBubbleWaveThree {
    0% {
        background-position:
            12% 124%,
            24% 118%,
            36% 126%,
            70% 120%,
            82% 126%,
            90% 122%;
    }

    35% {
        background-position:
            14% 84%,
            22% 76%,
            39% 86%,
            68% 78%,
            84% 86%,
            88% 80%;
    }

    70% {
        background-position:
            10% 44%,
            28% 30%,
            34% 48%,
            72% 34%,
            80% 46%,
            92% 36%;
    }

    100% {
        background-position:
            15% -16%,
            22% -30%,
            41% -14%,
            68% -24%,
            86% -16%,
            89% -28%;
    }
}

/* MOBILE */
@media (max-width: 768px) {
    .derco-cta-bubbles .elementor-cta {
        --derco-wave-duration: 22s;
        --derco-wave2-delay: -7.3s;
        --derco-wave3-delay: -14.6s;

        --derco-wave1-opacity: 0.40;
        --derco-wave2-opacity: 0.24;
        --derco-wave3-opacity: 0.18;
        --derco-foam-opacity: 0.32;
    }

    .derco-cta-bubbles .elementor-cta::after {
        height: 66px !important;
        bottom: -22px !important;
    }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
    .derco-cta-bubbles .elementor-cta::before,
    .derco-cta-bubbles .elementor-cta__bg-wrapper::after,
    .derco-cta-bubbles .elementor-cta__bg-overlay::before {
        animation: none !important;
    }
}@media (max-width: 576px) {
	.price {
    font-size: 14px;
}


/* =========================================================
   MOBILE + TABLETTE
   Agrandir et descendre les images produits archive
========================================================= */

@media (max-width: 1024px) {

    /* S'assurer que le bloc image garde l'image propre */
    body.woocommerce-shop .wd-product .product-element-top,
    body.archive.woocommerce .wd-product .product-element-top,
    body.tax-product_cat .wd-product .product-element-top,
    body.woocommerce-shop .product-grid-item .product-element-top,
    body.archive.woocommerce .product-grid-item .product-element-top,
    body.tax-product_cat .product-grid-item .product-element-top {
        overflow: hidden !important;
    }

    /* Image principale + image hover */
    body.woocommerce-shop .wd-product .product-element-top .product-image-link img,
    body.archive.woocommerce .wd-product .product-element-top .product-image-link img,
    body.tax-product_cat .wd-product .product-element-top .product-image-link img,
    body.woocommerce-shop .product-grid-item .product-element-top .product-image-link img,
    body.archive.woocommerce .product-grid-item .product-element-top .product-image-link img,
    body.tax-product_cat .product-grid-item .product-element-top .product-image-link img,
    body.woocommerce-shop .wd-product .product-element-top img.wp-post-image,
    body.archive.woocommerce .wd-product .product-element-top img.wp-post-image,
    body.tax-product_cat .wd-product .product-element-top img.wp-post-image,
    body.woocommerce-shop .wd-product .product-element-top img.hover-img,
    body.archive.woocommerce .wd-product .product-element-top img.hover-img,
    body.tax-product_cat .wd-product .product-element-top img.hover-img {
        display: block !important;
        transform: translateY(10px) scale(1.10) !important;
        transform-origin: center center !important;
        object-fit: contain !important;
    }

    /* Position étiquettes */
    body.woocommerce-shop .wd-product .product-labels,
    body.archive.woocommerce .wd-product .product-labels,
    body.tax-product_cat .wd-product .product-labels,
    body.woocommerce-shop .product-grid-item .product-labels,
    body.archive.woocommerce .product-grid-item .product-labels,
    body.tax-product_cat .product-grid-item .product-labels {
        transform: translate(-5px, -5px) !important;
        z-index: 99 !important;
    }

    /* Taille étiquettes */
    body.woocommerce-shop .product-labels .product-label,
    body.archive.woocommerce .product-labels .product-label,
    body.tax-product_cat .product-labels .product-label {
        font-size: 8px !important;
        line-height: 1.1 !important;
        padding: 3px 8px !important;
    }
}

/* Désactiver le zoom produit uniquement sur mobile */
@media (max-width: 768px) {
    body.single-product .zoomImg {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    body.single-product .woocommerce-product-gallery__trigger {
        display: none !important;
    }
}
}

