
/* 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 styles */

h1,
.title-gradient h1,
.title-gradient h2,
.title-gradient h3,
.title-gradient h4,
.title-gradient span {
	background-image: linear-gradient(90deg, var(--e-global-color-primary ) 0%, var(--e-global-color-secondary ) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.title-h3-styles h3 {
	border-bottom: 1px solid var( --e-global-color-7ad6c2b );
	padding-bottom: 10px;
	margin: 40px 0px 20px 0px;
}

.title-h3-styles h3:first-child {
	margin-top: 0px;
}

.articles-content-styles h4 {
	margin-bottom: 20px;
}

.articles-content-styles .wp-block-buttons .wp-block-button a.wp-block-button__link.wp-element-button {
	background-color: transparent;
	padding: 0px;
}

.articles-content-styles .wp-block-buttons .wp-block-button a.wp-block-button__link.wp-element-button[href*=".pdf"]:before {
	content: "\f1c1";
	width: 1.25em;
	font-size: 14px;
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	color: var( --e-global-color-primary );
	margin-right: 8px;
}

.articles-content-styles .wp-block-buttons .wp-block-button a.wp-block-button__link.wp-element-button:hover {
	color: var( --e-global-color-secondary );
}

.link-hover a:hover {
	color: var( --e-global-color-secondary ) !important;
}

/* Menu principal */

.principal-menu-styles nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item a.elementor-item {
	text-align: center;
}

.principal-menu-styles nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item.current-page-ancestor a.elementor-item {
	color: var( --e-global-color-primary );
	background-color: var( --e-global-color-d657d46 );
}

.principal-menu-styles nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item.current-page-ancestor ul.sub-menu li.menu-item.current-menu-ancestor a.elementor-sub-item.has-submenu {
	color: var( --e-global-color-primary );
	background-color: var( --e-global-color-9de3c0d );
}

/* Language switcher */

li.trp-language-switcher-container.globe-icon a.elementor-item span.trp-ls-language-name:before {
	content: "\f0ac";
	width: 1.25em;
	font-size: 14px;
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	color: var(--e-global-color-8f7f65f );
	transition: color 0.3s;
	margin-right: 6px;
}

li.trp-language-switcher-container.globe-icon span.sub-arrow {
	display: none;
}

/* Menu responsive */

.menu-responsive .elementor-widget-container nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item a.elementor-item:focus {
	color: var( --e-global-color-primary );
	background-color: var( --e-global-color-9de3c0d );
}

.menu-responsive li.menu-responsive-item-secondary-menu a.elementor-item,
.menu-responsive li.menu-responsive-item-lg a.elementor-item {
	background-color: var( --e-global-color-9de3c0d );
}

.menu-responsive li.menu-responsive-item-secondary-menu a.elementor-item:hover,
.menu-responsive li.menu-responsive-item-lg a.elementor-item:hover {
	background-color: #ebebeb !important;
}

.menu-responsive li.menu-responsive-item-lg a.elementor-item span.trp-ls-language-name:before {
	content: "\f0ac";
	width: 1.25em;
	font-size: 14px;
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	color: var( --e-global-color-text );
	transition: color 0.3s;
	margin-right: 6px;
}

.menu-responsive li.menu-responsive-item-lg a.elementor-item:hover span.trp-ls-language-name:before,
.menu-responsive li.menu-responsive-item-lg a.elementor-item.highlighted span.trp-ls-language-name:before {
	color: var( --e-global-color-primary );
}

.menu-responsive .elementor-widget-container nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item.current-page-ancestor a.elementor-item.has-submenu,
.menu-responsive .elementor-widget-container nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item.current-page-ancestor a.elementor-item.has-submenu.highlighted {
	color: var( --e-global-color-d657d46 );
	background-color: var( --e-global-color-primary );
}

/* Home CTA */

.cta-ratio-1-1 .elementor-widget-container a.elementor-cta .elementor-cta__bg-wrapper {
	aspect-ratio: 1 / 1;
}

@media only screen and (max-width: 1024px) {
	.home-cta-styles .elementor-loop-container.elementor-grid,
	.articles-content-styles .elementor-loop-container.elementor-grid {
		display: grid;
		grid-auto-rows: 1fr;
		align-items: stretch;
		grid-column-gap: var(--grid-column-gap,30px);
		grid-row-gap: var(--grid-row-gap,30px);
		grid-template-columns: repeat(3,1fr);
	}
}

@media only screen and (max-width: 767px) {
	.home-cta-styles .elementor-loop-container.elementor-grid,
	.articles-content-styles .elementor-loop-container.elementor-grid {
		grid-template-columns: repeat(2,2fr) !important;
	}
}
/*
@media only screen and (max-width: 520px) {
	.home-cta-styles .elementor-loop-container.elementor-grid,
	.articles-content-styles .elementor-loop-container.elementor-grid {
		grid-template-columns: repeat(1,1fr);
	}
}*/

/* Article unique */

.articles-content-styles figure.wp-block-embed.is-provider-youtube.wp-block-embed-youtube {
	margin: 60px 0px;
}

.articles-content-styles figure.wp-block-embed.is-provider-youtube.wp-block-embed-youtube iframe {
	border-radius: 5px;
}

.articles-content-styles figure.wp-block-gallery {
	margin-bottom: 60px;
}

.articles-content-styles figure.wp-block-gallery figure.wp-block-image img {
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.08);
	border-radius: 5px;
}

.articles-content-styles figure.wp-block-gallery figure.wp-block-image figcaption.wp-element-caption {
	position: initial;
	color: var(--e-global-color-text );
	background: none;
	margin: 0px;
	padding: 10px 5px;
}

.articles-content-styles figure.wp-block-image {
	margin: 40px 0px;
}

.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.alignwide.is-stacked-on-mobile.has-media-on-the-right {
	grid-template-columns: 60% 30% !important;
	margin-bottom: 20px;
}

.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding: 0px;
}

.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.has-media-on-the-right figure.wp-block-media-text__media {
	max-width: 100%;
	padding-left: 40px;
}

.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.alignwide.is-stacked-on-mobile {
	grid-template-columns: 10% 90% !important;
	margin-bottom: 20px;
}

.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text figure.wp-block-media-text__media {
	max-width: 60px;
}

.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text .wp-block-media-text__content {
	padding: 0 0 0 10px;
}  

.content-text-styles .elementor-widget-container ul {
	margin: 0 0 0 16px;
}


@media only screen and (max-width: 1024px) {
	.articles-content-styles figure.wp-block-embed.is-provider-youtube.wp-block-embed-youtube {
		margin: 40px 0px;
	}

	.articles-content-styles figure.wp-block-gallery {
		margin-bottom: 40px;
	}

	.badge-garantie-styles .elementor-widget-container .elementor-image-box-wrapper {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.badge-garantie-styles .elementor-widget-container .elementor-image-box-wrapper figure.elementor-image-box-img {
		margin-bottom: 20px;
	}

	.badge-garantie-styles .elementor-widget-container .elementor-image-box-wrapper figure.elementor-image-box-img img {
		width: 80px;
	} 
}

@media only screen and (max-width: 767px) {
	.articles-content-styles figure.wp-block-embed.is-provider-youtube.wp-block-embed-youtube {
		margin: 40px 0px;
	}

	.articles-content-styles figure.wp-block-gallery {
		margin-bottom: 40px;
	}
}

@media only screen and (max-width: 600px) {
	.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text figure.wp-block-media-text__media {
		margin-bottom: 12px;
	}

	.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.has-media-on-the-right figure.wp-block-media-text__media {
		margin-bottom: 40px;
	}

	.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.alignwide.is-stacked-on-mobile {
		grid-template-columns: 100%!important;
		margin-bottom: 20px;
	}

	.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.alignwide.is-stacked-on-mobile.has-media-on-the-right {
		grid-template-columns: 100%!important;
		margin-bottom: 20px;
	}

	.articles-content-styles.elementor-widget-theme-post-content div.wp-block-media-text.has-media-on-the-right figure.wp-block-media-text__media {
		max-width: 200px;
		padding-left: 0px;
		padding-top: 20px;
	}

	/* Gallery & images */

	.articles-content-styles figure.wp-block-gallery figure.wp-block-image {
		width: calc(33.33% - 6px) !important;
		max-width: calc(33.33% - 6px) !important;
	}
}

/* Coutry selection */

.countries-actions.countries-hidden,
.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .country-box h5.country-name
{
	display: none;
}

.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .countries-list select.oscimed-country-selector {
	width: 100%;
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	text-transform: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	padding: 8px 10px;
	border: 1px solid var( --e-global-color-8df05f1 );
	border-radius: 5px;
}

.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .country-box a.button.country-link {
	width: 100%;
	text-align: center;
	color: #ffffff;
	background-image: linear-gradient(90deg, var(--e-global-color-primary ) 0%, var(--e-global-color-secondary ) 100%);
	border-radius: 5px;
	margin-top: 12px;
	transition: 0.2s;
}

.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .country-box a.button.country-link:hover {
	background-image: linear-gradient(90deg, var( --e-global-color-aeb7af1 ) 0%, var( --e-global-color-primary ) 100%);
}

.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .country-box .country-text {
	margin-top: 12px;
}

/* Country selector: Layout 2025 */
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions.countries-hidden
{
	display: none;
}
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions
{
	display: flex;
	flex-direction: row;
	gap: 10px;
}
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .countries-list
{
	display: flex;
	width: 100%;
	align-items: start;
}
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .countries-content
{
	display: flex;
	width: 100%;
	flex-direction: column;
}
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .countries-list select.oscimed-country-selector
{
	padding: 8px 10px;
}
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .country-box a.button.country-link,
.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions .country-box .country-text
{
	margin-top: 0;
	line-height: 1.3em;
}
.layout-2025 .e-con.e-flex>.e-con-inner
{
	padding: 0;
}
@media only screen and (max-width: 1024px)
{
	.layout-2025.country-selector .elementor-widget-container .elementor-shortcode .countries-actions
	{
		flex-wrap: wrap;
	}
}

/* Product gallery */
.elementor .oscimed-product-gallery
{
	--swiper-navigation-size: 32px;
	--swiper-navigation-color: rgba(0,0,0,0.3);
}
.elementor .oscimed-product-gallery .main-gallery
{
	height: 400px;
}
.elementor .oscimed-product-gallery .main-gallery img
{
	max-height: 100%;
}
.elementor .oscimed-product-gallery .main-gallery .swiper-slide
{
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.elementor .oscimed-product-gallery .main-gallery .swiper-slide a
{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.elementor .oscimed-product-gallery .main-gallery:after
{
	content: "\f00e";
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 24px;
	height: 24px;
	font-family: "Font Awesome 5 Pro";
	pointer-events: none;
	z-index: 50;
	color: var(--swiper-navigation-color);
}
.elementor .oscimed-product-gallery .main-gallery .swiper-button-prev,
.elementor .oscimed-product-gallery .main-gallery .swiper-button-next
{
	opacity: 0;
	transition: 0.3s opacity;
}
.elementor .oscimed-product-gallery .main-gallery:hover .swiper-button-prev,
.elementor .oscimed-product-gallery .main-gallery:hover .swiper-button-next
{
	opacity: 1;
}
.elementor .oscimed-product-gallery .thumbs-gallery
{
	padding: 10px 1px 0;
}
.elementor .oscimed-product-gallery .thumbs-gallery .swiper-slide
{
	opacity: 0.5;
}
.elementor .oscimed-product-gallery .thumbs-gallery .swiper-slide.swiper-slide-thumb-active
{
	opacity: 1;
}
.elementor .oscimed-product-gallery .thumbs-gallery .swiper-slide.swiper-slide-thumb-active img
{
	outline: 1px solid #00519e;
}

@media only screen and (max-width: 1024px)
{
	.elementor .oscimed-product-gallery
	{
		--swiper-navigation-size: 24px;
	}
	
	.elementor .oscimed-product-gallery .main-gallery
	{
		height: 300px;
	}	
}
@media only screen and (max-width: 767px)
{
	.elementor .oscimed-product-gallery .main-gallery
	{
		height: 200px;
	}	
}

/* Reassurances */


@media only screen and (max-width: 880px) {
	.reassurances-container .e-con-inner .elementor-element {
		width: calc(50% - 20px);
		justify-content: center;
		align-items: center;
		flex-grow: 1;
	}
}

/* Footer */

.title-footer {
	min-height: 28px;
}

@media only screen and (max-width: 1024px) {
	.title-footer {
		min-height: auto;
	}
}

.footer-menu-styles a.elementor-item,
.footer-menu-styles a.elementor-sub-item {
	line-height: 14px;
}

.footer-menu-styles a.elementor-item:focus,
.footer-menu-styles a.elementor-sub-item:focus {
	color: var( --e-global-color-8f7f65f ) !important;
	background-color: transparent !important;
}

.footer-menu-styles .elementor-widget-container nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item a.elementor-item {
	display: flex;
	align-items: baseline;
}

.footer-vertical-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item ul.sub-menu li.menu-item a.elementor-sub-item {
	border-left: 22px solid transparent;
}

.footer-menu-styles .elementor-widget-container nav.elementor-nav-menu--main ul.elementor-nav-menu li.menu-item a.elementor-item:before,
.footer-vertical-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item a.elementor-item:before,
.footer-vertical-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item ul.sub-menu li.menu-item a.elementor-sub-item:before  {
	content: "\f054";
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	font-size: 14px;
	color: var( --e-global-color-8f7f65f );
	opacity: 1;
	position: initial;
	margin-right: 12px;
}

.footer-vertical-menu nav.elementor-nav-menu--dropdown {
	margin-top: 0px;
}

.footer-vertical-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item ul.sub-menu.elementor-nav-menu--dropdown,
.footer-vertical-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu li.menu-item ul.sub-menu.elementor-nav-menu--dropdown li.menu-item.menu-item-has-children ul.sub-menu.elementor-nav-menu--dropdown  {
	display: block;
}

/* Fix headmenu mess*/

header .elementor-nav-menu a:hover
{
	line-height: 28px;
}