/* Global colors */
:root {
	--formamed-color-blue: #00ace0;
	--formamed-color-dark-blue: #006786;
	--formamed-color-dark-gray: #7b7b7b;
	--formamed-color-gray: #aaa;
	--formamed-color-light-gray: #EFEFEF;
	--formamed-color-text: #444;
}
  
/* Global font fixer (only mac) */
* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* GeneratePress fixes */
.site-content
{
	display: block;
}

/* Elementor basics fixes */
.elementor-text-editor p:last-child
{
	margin-bottom: 0;
}
p.elementor-heading-title
{
	margin-bottom: 0;
}

a.elementor-button
{
	position: relative;
	z-index: 1;
}

.elementor-element > .elementor-background-overlay
{
	pointer-events: none;
}


/* Elementor lightbox fix */
.elementor-lightbox .elementor-lightbox-item
{
	padding: 0;
}


/* Elementor utils */
.no-margin
{
	margin: 0 !important;
}
.nox-flex-row.elementor-column .elementor-widget-wrap
{
	flex-direction: row;
	flex-wrap: nowrap;
}
.nox-flex-row.elementor-column .elementor-widget-wrap>.elementor-element
{
	display: flex;
	align-items: center;
	width: auto;
	margin-bottom: 0 !important;
}
.nox-flex-row.elementor-column .elementor-widget-wrap>.elementor-element .elementor-icon-wrapper
{
	display: flex;
	align-items: center;
}
.nox-pos-static.elementor-widget
{
	position: static;
}

/***************************************************************/
/* Global shop styles
/***************************************************************/
.formamed-header-gradient
{
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: -1;
    width: 100%;
    background-image: radial-gradient(circle at 0%, rgba(0, 172, 224, 0.5), rgba(93, 221, 240, 0.5) 30%, rgba(0, 172, 224, 0.5) 60%), linear-gradient(180deg, var(--formamed-color-blue) 10%, #006786 100%);
    background-repeat: no-repeat;
	background-attachment: fixed, fixed;
    pointer-events: none;
}
body.noxweb-page .site-header,
body.noxweb-page .site-header + .col-full-nav
{
    background-image: radial-gradient(circle at 0%, rgba(0, 172, 224, 0.5), rgba(93, 221, 240, 0.5) 30%, rgba(0, 172, 224, 0.5) 60%), linear-gradient(180deg, var(--formamed-color-blue) 10%, #006786 100%);
	background-attachment: fixed, fixed;
    background-repeat: no-repeat;
	background-size: 100% 300px;
}
.formamed-gradient
{
    background-image: radial-gradient(circle at 0%, rgba(0, 172, 224, 0.5), rgba(93, 221, 240, 0.5) 30%, rgba(0, 172, 224, 0.5) 60%), linear-gradient(180deg, var(--formamed-color-blue) 10%, #006786 100%);
    background-repeat: no-repeat;
}
@media only screen and (max-width: 992px) /* f*cking them with non-standard breakpoints */
{
	body.noxweb-page .site-header
	{
		background-size: 100% 300px;
	}
	body.noxweb-page .site-header + .col-full-nav
	{
		background-size: 1000px 1000px;
		background-position: top center;
	}
}


/* Home brand list */
.formamed-brand-slide .swiper-slide a
{
	display: flex;
	height: 80px;
	padding: 10px;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}

.formamed-brand-slide .swiper-slide img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.m-search-bh .site-search,
.m-search-toggled .site-search,
.site-branding button.menu-toggle,
.site-branding button.menu-toggle:hover
{
	background: none !important;
}


/***************************************************************/
/* WooCommerce customization starts here */
/***************************************************************/
/* Product Price */
div.product p.price .woocommerce-Price-amount.amount,
.woocommerce-variation-price .price .woocommerce-Price-amount.amount,
.cgkit-as-variation-price .price .woocommerce-Price-amount.amount
{
	font-size: 1.2em;
}
div.product p.price span.tva-info,
.woocommerce-variation-price .price span.tva-info,
.cgkit-as-variation-price .price span.tva-info
{
	display: block;
	margin-top: -0.4em;
	font-size: 0.5em;
	font-weight: normal;
	color: var(--formamed-color-dark-gray);
}
div.product p.price span.price-ht,
.woocommerce-variation-price .price span.price-ht,
.cgkit-as-variation-price .price span.price-ht
{
	display: block;
	font-size: 0.5em;
	font-weight: 600;
	color: var(--formamed-color-text);
}
div.product p.price span.price-ht .amount,
.woocommerce-variation-price .price span.price-ht .amount,
.cgkit-as-variation-price .price span.price-ht .amount
{
	font-size: 1em;
}

/* Category header/cover */
.speednox-category-header
{
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	/*
	background-color: #00ace0;
	*/
}
.speednox-category-header > .image-wrapper
{
	position: relative;
	max-width: 1170px;
	padding: 0;
	padding-bottom: 17%;
	z-index: 1;
}
@media only screen and (min-width: 1170px)
{
	.speednox-category-header > .image-wrapper
	{
		width: 1170px;
		height: 200px;
		padding-bottom: 0;
	}
}

.speednox-category-header > .image-wrapper > img
{
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: 100%;
	max-height: 100%;
	max-width: 100%;
}
.speednox-category-header > .bg-image
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
	width: 105%;
	height: 120%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	filter: blur(7px);
	/*
	filter: blur(7px) grayscale(1);
    mix-blend-mode: multiply;
	*/
}
.noxweb-page .speednox-category-header ~ #content header.woocommerce-products-header
{
	display: none;
}
/* Custom version with Elementor (for pages, handled manually in Elementor) */
.noxweb-page .formamed-cover-custom
{
	overflow: hidden;
}
.noxweb-page .formamed-cover-custom:before
{
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 105%;
	height: 120%;
}


/* Product filters */
.noxweb-page .header-widget-region .widget
{
	display: none;
}
.widget_price_filter .price_slider_amount
{
	flex-wrap: wrap;
}
.widget_price_filter .price_slider_amount .button
{
	order: 4;
}


/***************************************************************/
/* noxshop specials */
/***************************************************************/
.noxshop-product-categories-grid
{
    text-align: center;
}
.noxshop-category-item
{
	overflow: hidden;
    border-radius: 2px;
	cursor: pointer;
}
.noxshop-category-item .img-wrapper
{
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
	padding-bottom: 17.1%;
}
.noxshop-category-item img
{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: auto;
	height: 100%;
	max-height: 100%;
	max-width: 100%;
    transition: transform 0.3s ease-in-out;
	cursor: pointer;
}
.noxshop-category-item:hover img
{
    transform: translateX(-50%) scale(1.05);
}
.noxshop-category-item h3
{
    margin-top: 0px;
    font-size: 16px;
    font-weight: bold;
	color: var(--formamed-color-blue);
	cursor: pointer;
}



/***************************************************************/
/* Shop customization starts here */
/***************************************************************/
/* Fixes */
.noxweb-page .shoptimizer-primary-navigation.col-full
{
	align-items: center;
}
.site-header-cart
{
	display: flex;
	align-items: center;
}
.noxweb-page .shoptimizer-cart a.cart-contents:hover .count
{
	color: var(--formamed-color-blue);
}
@media (max-width: 992px)
{
	.noxweb-page .shoptimizer-plp-carousel-container
	{
		overflow-x: auto;
	}
}

/* Breadcrumb */
.woocommerce-breadcrumb
{
	color: var(--formamed-color-dark-gray);
}
.woocommerce-breadcrumb a,
.woocommerce-breadcrumb a:hover
{
	color: var(--formamed-color-gray);
}
.woocommerce-breadcrumb .breadcrumb-separator
{
	color: var(--formamed-color-gray);
}

/* Hack: home full width */
body.home .site-content .col-full
{
	width: 100%;
	max-width: 100%;
	padding: 0;
}

/* Home: Fix top padding */
body.noxweb-page.home:has(:not(.woocommerce-breadcrumb)) .site-content
{
	padding-top: 0;
}

.formamed-center-title.elementor-widget.elementor-widget-heading:first-child,
.formamed-center-title.elementor-widget.elementor-widget-spacer+.elementor-widget.elementor-widget-heading,
.e-con .elementor-widget.elementor-widget.formamed-center-title,
.formamed-center-title
{
	margin: 20px 0 30px;
}
.noxweb-page .elementor-element.formamed-center-title h1.elementor-heading-title,
.noxweb-page .elementor-element.formamed-center-title h2.elementor-heading-title,
.formamed-center-title h1,
.formamed-center-title h2
{
	font-size: 36px;
	font-weight: bold;
	color: var(--formamed-color-blue);
}
.formamed-center-title h1::after,
.formamed-center-title h2::after
{
	content: "";
	display: block;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 2px;
	background-color: var(--formamed-color-blue);
}
header.woocommerce-products-header, .shoptimizer-category-banner
{
	background-color: #ffffff !important;
}
header.woocommerce-products-header img.cg-cat-image
{
	max-width: 160px;
}

.menu-primary-menu-container > ul > li > a,
.site-header-cart,
.logo-mark
{
	line-height: 1.2em !important;
}

/* Featured categories */
.formamed-featured-categories ul.products li.product.product-category .cat-image-wrapper
.static-cta-buttons .formamed-featured-categories ul.products li.product.cgkit-swatch-hover,
body:not(.static-cta-buttons) .formamed-featured-categories ul.products li.product
{

}
.formamed-featured-categories ul.products li.product.product-category .cat-image-wrapper
{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 260px;
	overflow: hidden;
}
.formamed-featured-categories ul.products li.product.product-category .cat-image-wrapper img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.formamed-featured-categories ul.products li.product.product-category h2
{
	font-weight: bold;
	text-align: center;
	color: var(--formamed-color-blue);
}

/* Brand on product page */
.speednox-product-brand
{
	padding: 0 0 10px;
}
.noxweb-page ul.brand-thumbnails
{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 150px;
	gap: 40px;
}
.noxweb-page ul.brand-thumbnails.columns-5
{
	grid-template-columns: repeat(5, 1fr);
}
.noxweb-page ul.brand-thumbnails.columns-6
{
	grid-template-columns: repeat(6, 1fr);
}
.noxweb-page ul.brand-thumbnails.columns-7
{
	grid-template-columns: repeat(7, 1fr);
}
.noxweb-page ul.brand-thumbnails.columns-8
{
	grid-template-columns: repeat(8, 1fr);
}
@media only screen and (max-width: 1024px)
{
	.noxweb-page ul.brand-thumbnails,
	.noxweb-page ul.brand-thumbnails.columns-5
	{
		grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: 100px;
		gap: 30px;
	}
	.noxweb-page ul.brand-thumbnails.columns-6,
	.noxweb-page ul.brand-thumbnails.columns-7,
	.noxweb-page ul.brand-thumbnails.columns-8
	{
		grid-template-columns: repeat(4, 1fr);
	}
}
@media only screen and (max-width: 768px)
{
	.noxweb-page ul.brand-thumbnails:not(.fluid-columns) li
	{
		width: 100%!important;
	}
	.noxweb-page ul.brand-thumbnails,
	.noxweb-page ul.brand-thumbnails.columns-5
	{
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 80px;
		gap: 20px;
	}
	.noxweb-page ul.brand-thumbnails.columns-6,
	.noxweb-page ul.brand-thumbnails.columns-7,
	.noxweb-page ul.brand-thumbnails.columns-8
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

.noxweb-page ul.brand-thumbnails:before,
.noxweb-page ul.brand-thumbnails:after
{
	clear: none;
	display: none;
}
.noxweb-page ul.brand-thumbnails li
{
	float: none;
	clear: none;
	width: 100%;
	margin: 0;
}
.noxweb-page ul.brand-thumbnails li a
{
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
.noxweb-page .brand-thumbnails li img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Product page: out of stock */
.product p.stock.out-of-stock:before
{
	background: #0f834d;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-6 w-6' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7' /%3E%3C/svg%3E");
}

/* Product page: similar products */
@media (max-width: 992px)
{
	.cross-sells ul.products li.product,
	.mobile-scroll ul.products li.product,
	.related.products ul.products li.product,
	.upsells.products ul.products li.product
	{
		min-width: 190px;
	}
}

/* Add to cart button */
.noxweb-page ul.products li.product .added_to_cart,
.noxweb-page ul.products li.product .button,
.noxweb-page ul.products li.product:focus-within .added_to_cart,
.noxweb-page ul.products li.product:focus-within .button,
.noxweb-page ul.products li.product:hover .added_to_cart,
.noxweb-page ul.products li.product:hover .button,
body.noxweb-page .woocommerce #respond input#submit.alt,
body.noxweb-page .woocommerce a.button.alt,
body.noxweb-page .woocommerce button.button.alt,
body.noxweb-page .woocommerce input.button.alt,
.noxweb-page .product .cart .single_add_to_cart_button,
.noxweb-page .shoptimizer-sticky-add-to-cart__content-button a.button,
.noxweb-page #cgkit-tab-commercekit-sticky-atc-title button,
.noxweb-page #cgkit-mobile-commercekit-sticky-atc button,
.noxweb-page .widget_shopping_cart a.button.checkout
{
    background-image: radial-gradient(circle at 0%, rgba(0, 172, 224, 0.5), rgba(93, 221, 240, 0.5) 30%, rgba(0, 172, 224, 0.5) 60%), linear-gradient(180deg, var(--formamed-color-blue) 10%, #006786 100%);
}
.noxweb-page ul.products li.product .added_to_cart:hover,
.noxweb-page ul.products li.product .button:hover,
.noxweb-page ul.products li.product:focus-within .added_to_cart:hover,
.noxweb-page ul.products li.product:focus-within .button:hover,
.noxweb-page ul.products li.product:hover .added_to_cart:hover,
.noxweb-page ul.products li.product:hover .button:hover,
body.noxweb-page .woocommerce #respond input#submit.alt:hover,
body.noxweb-page .woocommerce a.button.alt:hover,
body.noxweb-page .woocommerce button.button.alt:hover,
body.noxweb-page .woocommerce input.button.alt:hover,
.noxweb-page .product .cart .single_add_to_cart_button:hover,
.noxweb-page .shoptimizer-sticky-add-to-cart__content-button a.button:hover,
.noxweb-page #cgkit-tab-commercekit-sticky-atc-title button:hover,
.noxweb-page #cgkit-mobile-commercekit-sticky-atc button:hover,
.noxweb-page .widget_shopping_cart a.button.checkout:hover
{
    background-image: radial-gradient(circle at 0%, rgba(0, 172, 224, 0.5), rgba(93, 221, 240, 0.5) 30%, rgba(0, 172, 224, 0.5) 60%), linear-gradient(180deg, var(--formamed-color-dark-blue) 10%, #006786 100%);
}
.noxweb-page ul.products li.product .added_to_cart:before,
.noxweb-page ul.products li.product .button:before,
.noxweb-page ul.products li.product:focus-within .added_to_cart:before,
.noxweb-page ul.products li.product:focus-within .button:before,
.noxweb-page ul.products li.product:hover .added_to_cart:before,
.noxweb-page ul.products li.product:hover .button:before,
body.noxweb-page .woocommerce #respond input#submit.alt:before,
body.noxweb-page .woocommerce a.button.alt:before,
body.noxweb-page .woocommerce button.button.alt:before,
body.noxweb-page .woocommerce input.button.alt:before,
.noxweb-page .product .cart .single_add_to_cart_button:before,
.noxweb-page .shoptimizer-sticky-add-to-cart__content-button a.button:before,
.noxweb-page #cgkit-tab-commercekit-sticky-atc-title button:before,
.noxweb-page #cgkit-mobile-commercekit-sticky-atc button:before,
.noxweb-page .widget_shopping_cart a.button.checkout:before
{
	display: inline-block;
	content: "\f290";
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	font-family: "Font Awesome 5 Pro";
	font-weight: 400;
	color: #ffffff;
	font-size: 1em;
	padding-right: 0.5em;
}

/* Checkout */
.woocommerce-checkout.min-ck:not(.woocommerce-order-received) header h1
{
	color: #fff;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label img
{
	display: inline-block;
}

/* UGS display */

body.noxweb-page .speednox-product-sku {
	font-size: 14px;
	margin: 0px ;
	left : 0px ;
	right: 0px ;
	text-align: left;
}
body.noxweb-page .speednox-product-sku .sku_wrapper{
	margin: 0px ;
}
/* Menu de langues */

.secondary-navigation {
    display: flex;
    flex-direction: row;
    align-items: center;
}
body.noxweb-page .secondary-navigation .menu a {
	padding: 0;
	color: #ffffff;
}

.secondary-navigation:before {
    content: '\f7a2';
    font-family: "Font Awesome 5 Pro";
    font-size: 12px;
    font-weight: 900;
    color: #fff;
    margin-right: 8px;
}
.secondary-navigation .menu li:hover a {
	color: var(--e-global-color-8393dd8);
}
/* Affichage du sous-menu au survol */
.secondary-navigation ul li:hover > ul.sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* Style du sous-menu pour Shoptimizer */
.secondary-navigation ul ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff; /* Couleur de fond */
    z-index: 9999;
    display: none; /* Caché par défaut */
}

.secondary-navigation ul ul.sub-menu li {
	padding: 0;
	border: none;
}

/* Style des liens dans le menu de langue */
body.noxweb-page .secondary-navigation ul ul.sub-menu li a {
    color: #333;
    padding: 10px 15px;
    display: block;
}

body.noxweb-page .secondary-navigation ul ul.sub-menu li a:hover {
    background-color: #f9f9f9;
	/*background-color: var(--formamed-color-blue);*/
}
body.noxweb-page .secondary-navigation ul ul.sub-menu li a span
{
	display: flex;
	width: 19px;
}
/* Ajouter le chevron Font Awesome à droite du texte */
.secondary-navigation .menu-item-has-children > a::after {
    content: '\f078';
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 10px;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
    transition: transform 0.25s ease-in-out;
}

/* Animation de rotation au survol */
.secondary-navigation .menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Menu de langue : masquer en mobile, afficher en desktop */
@media (max-width: 992px) {
    .secondary-navigation {
        display: none !important;
    }
}

/* Menu de langue dans le menu principal : afficher uniquement en mobile */
body.noxweb-page .menu-language-mobile-wrapper {
    display: none;
}
body.noxweb-page .elementor-location-footer ul.elementor-nav-menu li.menu-item-object-language_switcher.current-language-menu-item a
{
	color: var( --e-global-color-secondary );
}
@media (max-width: 992px) {
    body.noxweb-page .menu-language-mobile-wrapper {
        display: block;
    }

    /* Style du menu de langue dans le menu mobile */
    .menu > .menu-language-mobile-wrapper > a {
		display: flex;
		flex-wrap: nowrap;
        color: #fff;
    }

    /* Icône globe avant le texte en mobile */
    .menu >.menu-language-mobile-wrapper > a::before {
        content: '\f7a2';
        font-family: "Font Awesome 5 Pro";
        font-size: 14px;
        font-weight: 900;
        margin-right: 8px;
    }

    /* Style du chevron pour le menu déroulant */
    .menu > .menu-language-mobile-wrapper > a::after {
        content: '\f078';
        font-family: "Font Awesome 5 Pro";
        font-weight: 900;
        font-size: 10px;
        margin-left: 8px;
    }

    /* Sous-menu des langues en mobile */
    .menu-language-mobile-wrapper ul.sub-menu {
        position: static;
        background: transparent;
        display: none;
        padding-left: 22px;
    }

    /* Afficher le sous-menu quand activé */
    .menu-language-mobile-wrapper.toggled-on > ul.sub-menu,
    .menu-language-mobile-wrapper.open > ul.sub-menu,
    .menu-language-mobile-wrapper:hover > ul.sub-menu,
    .menu-language-mobile-wrapper.active > ul.sub-menu {
        display: block !important;
    }

    .menu-language-mobile-wrapper ul.sub-menu li {
        list-style: none;
    }

    .menu-language-mobile-wrapper ul.sub-menu li a {
        padding-left: 30px;
        color: #fff;
        display: block;
    }
}
