/*
Theme Name: Miini Child v4
Template: miini
Author: Child Theme Configurator
Description: miini theme from Haintheme
Tags: custom-background,threaded-comments,custom-menu,featured-images,full-width-template,theme-options
Version: 1.0.1558540830
Updated: 2019-05-22 18:00:30
*/
/* ------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;/*vertical-align: baseline*/;background: transparent;list-style:none;
	webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;}
:focus {outline: 0;}
ins {text-decoration: none;}
del {text-decoration: line-through;}
table {border-collapse: collapse;border-spacing: 0;}
a {text-decoration:none;}
/* -------------------------------------------------------------------- */
html, body{ overflow-x: hidden; }
body {  font-family: 'Montserrat', sans-serif; font-size:14px; }

.txtgen{ font-size: 14px; line-height: 1.5; font-weight: 400; }
.txtgen p, .txtgen h1, .txtgen h2, .txtgen h3{ margin-bottom: 20px; }
.txtgen h1{ font-size: 140%; }
.txtgen h2{ font-size: 120%;  }
.txtgen h3{ font-size: 100%; }
.txtgen img { max-width: 100% !important; height: auto !important; }
.txtgen a{ color: #666; text-decoration: underline; }
.txtgen a:hover{ text-decoration: underline; }

.txtgen ul, .txtgen ol{ padding-left:40px; margin-bottom:25px; margin-top:15px; }
.txtgen ul li{ list-style:outside; margin-bottom:12px; }
.txtgen ol li{ margin-bottom:12px; }
.txtgen ol, .txtgen ol li { list-style:decimal; }

.txtgen iframe { max-width: 100%; height: 300px; }

.txtgen table{ margin-bottom: 20px; width: 100%; }
.txtgen table tr td{ padding: 7px; border: 1px solid #ccc; }

.titlegen{ margin:40px 0; font-size:30px; font-weight:bold; }

.contenedor{ width:100%; max-width:1450px; margin:auto; padding:0 10px; position:relative; }

/* center div variable width */
.outer{ position: relative; left: 50%; float: left; }
.inner { position: relative; left: -50%; float: left; }

.clear{ clear: both; }

.transition{
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}


/* HEADER ====================================================================================================================================================================================== */
.header{ position: fixed; z-index: 9989; width:100%; height:auto; 
	-webkit-box-shadow: 0px 5px 10px 0px rgba(0,0,0,.02); -moz-box-shadow: 0px 5px 10px 0px rgba(0,0,0,.02); box-shadow: 0px 5px 10px 0px rgba(0,0,0,.02); }

	.header_top{ width: 100%; height: 45px; background: #000; }

		.header_sentences{ width: fit-content; height: 45px; font-size: 11px; padding-top: 6px; color: #fff; line-height: 1.3; }
			.header_sentences_important{ width: fit-content; margin: 0 auto 10px auto; padding: 10px 15px; border: 1px solid #999; line-height: 0; }
			.header_sentences_important a{ color: #fff; text-decoration:underline; }

		.header_lang{ position:absolute; right:0; top: 8px; font-size: 11px; font-weight: 900; letter-spacing: 1px; width:65px; }
			.header_lang section div ul li a{ padding:0 7px; }
			.header_lang section div ul li{ padding:0; }
			.header_lang .widget a{ line-height:25px; }

		.header_cart{ position:absolute; right:90px; top:6px; }
			.header_cart_number{ position:absolute; width: 100%; font-size:10px; text-align:center; padding-top:14px; color:#fff; }

		.header_profile{ position:absolute; right:140px; top:6px; }

		.header_search{ position: absolute; top:12px; right:190px; }

			.header_search input[type='submit']{
				border: none !important; cursor: pointer; text-indent:-9999px; margin-top: -4px; position: absolute; margin-left: -25px; width: 20px; height: 22px;
				background-image: url('images/lupa-blanco.png'); background-color: transparent; background-position: center; background-size: 20px 22px; background-repeat: no-repeat;  }

			.header_search input[type='search']{ -webkit-appearance: none; height: 25px; width: 250px; background-color: transparent !important; border: none !important; 
				border-bottom: 1px solid #fff !important; padding: 2px 30px 2px 10px !important; font-size: 12px; color: #fff; 
				-webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px; }

			.header_search ::placeholder{ color: #ccc; font-family: 'Raleway', sans-serif; }


	.header_menu{ background-color: #fff; padding: 14px 0 8px 0; }

		.header_logo{ float:left; }

		#main-nav { font-size: 13px; font-weight: 800; float: left; display:flex; margin:40px 0 0 20px; }
			#main-nav ul { margin: 0; padding: 0; display: inline-flex; list-style-type: none; }
			#main-nav li { position: relative; word-wrap: break-word; }
			#main-nav li a { margin: 15px; padding-bottom: 5px; color: #000; }
			#main-nav .current-menu-item a{ font-weight:800; }
			#main-nav .current-menu-item a, #main-nav .current_page_item a, #main-nav a:hover, li.current-menu-parent >a{ border-bottom:2px solid #000; }


			#main-nav ul li ul { display: none; position: absolute; background-color: #fff; padding: 5px 0; font-weight: normal;
				-webkit-box-shadow: 0 0 7px rgba(0,0,0,.1)!important; -moz-box-shadow: 0 0 7px rgba(0,0,0,.1)!important; box-shadow: 0 0 7px rgba(0,0,0,.1)!important; }

			#main-nav ul li ul li { float: none; word-wrap: break-word; font-size: 12px; padding: 0; }
			#main-nav ul li ul li a { display: block; white-space: nowrap; padding-bottom:0; }
			
			#main-nav ul li ul .current-menu-item a, #main-nav ul li ul .current_page_item a, #main-nav ul li ul a:hover, ul li ul li.current-menu-parent >a{ border-bottom:none; }

			#main-nav ul .menu-item-has-children{ padding-right: 14px; }
			#main-nav ul .menu-item-has-children > a:after{ font-family: "Material Design Icons"; content: "\F140"; position: absolute; font-size: 18px; margin-top: -2px; }

.menu_movil_trigger{ display:none; }


@media only screen and (max-width: 1100px) {

	.header_logo{ margin-top:10px; }
	.header_logo img{ width:130px; height:auto; }

	#main-nav { font-size: 12px; }
	#main-nav li a { margin: 7px; }

}

@media only screen and (max-width: 850px) {

	.header_menu{ padding: 12px 0 7px 0; }

	#main-nav, .header_lang, .header_search{ display:none; }

	.header_logo{ margin-top:0px; }
	.header_profile{ right:70px; }
	.header_cart{ right:20px; }

	.menu_movil_trigger{ display:inherit; position:absolute; right: 0; top: 0; margin-top:-10px; }
}


@media only screen and (max-width: 700px) {
	.header_sentences{ width: fit-content; height: 45px; font-size: 9px; line-height: 1; padding-top: 4px; padding-right:100px; }
}

.menu_mobile{ margin-top: 20px; }

	.sidr { display: block; position: fixed; top: 0; height: 100%; z-index: 999999; width: 260px; overflow-x: hidden; overflow-y: auto;
	  font-size: 14px; background: #fff; color: #333; box-shadow: 0 0 5px 5px #F0F3F7 inset; padding: 15px; }

	.sidr .sidr-inner { padding: 0 0 15px; }

	.sidr.right { left: auto; right: -260px; }
	.sidr.left { left: -260px; right: auto; }

		.lang_mobile{ font-size: 13px; font-weight: 700; width: 60px; }

		.menu_mobile a{ color: #000; }

		.menu_mobile{ font-size: 13px; text-transform: uppercase; }
		.menu_mobile ul{ list-style-type: none; }
		.menu_mobile ul li{ padding: 10px 0; }
		.menu_mobile ul li a{ display: block; width: 230px !important; border-bottom: 1px solid #ccc; padding-bottom: 5px; font-weight: bold; }
		.menu_mobile ul li a:after{ font-family: 'Material Design Icons'; content: "\F055"; float: right; padding-right: 10px; }

		.menu_mobile ul li ul{ padding-left: 15px; font-size: 12px; margin-top: 7px; /*display: none;*/ }
		.menu_mobile ul li ul li{ padding: 3px 0; }
		.menu_mobile ul li ul li a{ border-bottom: none; font-weight: normal; }
		.menu_mobile ul li ul li a:after{ content: ''; }

		.menu_movil_lang{ border-top:2px solid #000; font-weight:bold; margin-top:25px; }



		.mobile_search{ margin:30px 0 30px 0; }

			.mobile_search input[type='submit']{
				border: none !important; cursor: pointer; text-indent:-9999px; margin-top: -10px; position: absolute; margin-left: -35px; width: 23px; height: 23px;
				background-image: url('images/lupa.png'); background-position: center; background-size: 23px 23px; background-repeat: no-repeat;  }

			.mobile_search input[type='search']{ -webkit-appearance: none; height: 25px; width: 250px; background-color: transparent !important; border: none !important; 
				border-bottom: 1px solid #000 !important; padding: 2px 30px 2px 10px !important; font-size: 12px; color: #000; 
				-webkit-border-radius: 0px; -moz-border-radius: 0px; border-radius: 0px; }

			.mobile_search ::placeholder{ color: #ccc; font-family: 'Raleway', sans-serif; }




/* FLEXIBLE CONTENT (HOME/NIRVEL PROFESSIONAL / LEVISIMME) ================================================================================================================================================= */
.flexible_content_separa{ height:45px; margin-bottom:50px; }
.flexible_content_separa_mini{ height:40px; }

@media only screen and (max-width: 800px) {
	.flexible_content_separa{ height:25px; margin-bottom:20px; }
}

/* flip card --------------------------------------------------------------------------------- */
.flip_title{ text-align:center; font-size:50px; }
.flip_text{ margin-top:30px; text-align:center; }

.flip_items{ display:flex; flex-wrap: wrap; }

.flip_items_1 .flip-card{ flex-basis:50%; }
.flip_items_2 .flip-card{ flex-basis:50%; }
.flip_items_3 .flip-card{ flex-basis:33.333%; }
.flip_items_4 .flip-card{ flex-basis:25%; }
.flip_items_5 .flip-card{ flex-basis:20%; }
.flip_items_6 .flip-card{ flex-basis:16.666%; }

.flip-card{ padding: 20px; background-color: #fff; min-height: 500px; perspective: 1000px; }
.flip-card-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.8s; transform-style: preserve-3d; }

@media only screen and (min-width: 780px) {
	.flip-card:hover .flip-card-inner { transform: rotateY(180deg); }
}


.flip-card-front{ position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; 
	background-size: cover; background-position:center; background-repeat:no-repeat; }
.flip-card-front div{ position:absolute; width: 100%; bottom:0; background-color:#f7f7f7; color:#000; padding:15px; font-size:14px; font-weight:bold; text-align:center; }

.flip-card-back{ position: relative; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden;  
	background-color: #000; color: #fff; transform: rotateY(180deg); padding:40px; }
.flip-card-back a{ color:#fff; }
.flip-card-back a:hover{ color:#fff; }


@media only screen and (max-width: 1200px) {
	.flip_items_5 .flip-card{ flex-basis:33.333%; }
	.flip_items_6 .flip-card{ flex-basis:33.333%; }
}

@media only screen and (max-width: 1100px) {
	.flip_items_3 .flip-card{ flex-basis:50%; }
	.flip_items_4 .flip-card{ flex-basis:50%; }
	.flip_items_5 .flip-card{ flex-basis:50%; }
	.flip_items_6 .flip-card{ flex-basis:50%; }
}

@media only screen and (max-width: 780px) {
	.flip-card{ padding: 10px 0 0 0; }

	.flip_items_1 .flip-card{ flex-basis:100%; }
	.flip_items_2 .flip-card{ flex-basis:100%; }
	.flip_items_3 .flip-card{ flex-basis:100%; }
	.flip_items_4 .flip-card{ flex-basis:100%; }
	.flip_items_5 .flip-card{ flex-basis:100%; }
	.flip_items_6 .flip-card{ flex-basis:100%; }


	.flip-card-front{ position: relative; height: 600px; -webkit-backface-visibility: visible; backface-visibility: visible; }

	.flip-card-back{ position: relative; height: auto; -webkit-backface-visibility: visible; backface-visibility: visible; 
		background-color: #fff; color: #000; transform: rotateY(0); padding:10px 0 0 10px; }
	.flip-card-back a{ color:#fff; }
	.flip-card-back a:hover{ color:#fff; }
}

/* flip linea --------------------------------------------------------------------------------- */
.flip_lineas{ display:flex; flex-wrap: wrap; width:100%; max-width:1100px; margin:auto; }

.flip-linea{ flex-basis:50%; }

.flip-linea{ padding: 0 25px; background-color: #fff; min-height: 650px; perspective: 1000px; }
.flip-linea-inner { position: relative; width: 100%; height: 100%; transition: transform 0.8s; transform-style: preserve-3d; }


@media only screen and (min-width: 900px) {
	.flip-linea:hover .flip-linea-inner { transform: rotateY(180deg); }
}


.flip-linea-front{ position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; 
	background-size: cover; background-position:top left; background-repeat:no-repeat; }
.flip-linea-front div{ position:absolute; width: 100%; bottom:30px; left: 15px; color:#fff; font-size:30px; font-weight:bold; padding-right:120px;  line-height: 1.3;}

.flip-linea-back{ position: relative; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; text-align: center;
	background-color: #000; color: #fff; transform: rotateY(180deg); padding:40px; }
.flip-linea-back a{ color:#fff; }
.flip-linea-back a:hover{ color:#fff !important; }

@media only screen and (max-width: 900px) {
	.flip-linea{ flex-basis:100%; padding:20px 0; }

	.flip-linea-front{ position: relative; height: 620px; -webkit-backface-visibility: visible; backface-visibility: visible; }

	.flip-linea-back{ position: relative; height: auto; -webkit-backface-visibility: visible; backface-visibility: visible; text-align: center; 
		background-color: transparent; color: #000; transform: rotateY(0); padding:10px 0 0 10px; }

	.flip-linea-back a{ color:#fff; background-color: #000; padding:10px 15px; }
	.flip-linea-back a:hover{ color:#fff !important; }


}

/* home newsletter --------------------------------------------------------------------------------- */
.contenedor_newsletter{ background-color:#000; padding:30px 0 10px 0; }
.contenedor_newsletter form{ width:100%; max-width:1200px; margin:auto; }

.home_newsletter{ padding: 0 40px 40px 40px; color:#fff; }
.home_newsletter input[type='submit']{ margin: 0 0 20px 5px; color:#fff; border:1px solid #fff; }
.home_newsletter input[type='email']{ margin-bottom: 20px; color:#fff; border-bottom:1px solid #fff !important; }
.home_newsletter h2{ color:#fff; font-size:30px; }
.home_newsletter a, .home_newsletter a:hover{ color:#fff; }
.home_newsletter_legal{ font-size:12px; line-height:1.2; }

@media only screen and (max-width: 1000px) {
	.home_newsletter{ margin-top: 40px; padding: 0 20px 20px 20px; }
	.home_newsletter h2{ font-size: 25px; }

	.home_newsletter input[type='email']{ width: 90%; }
	.home_newsletter input[type='submit']{ margin-left: 0; margin-top: 20px; }
	.home_newsletter input[type='checkbox']{ margin-top: 10px; }
}


/* video con texto -------------------------------------------------------------------------------- */
.video_con_texto{ width:100%; height: 80vh; position:relative; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
	.video_con_texto .contenedor{ width:100%; height:100%; }
	.video_con_texto_text{ position:absolute; z-index: 20; left:40px; bottom:70px; color:#fff; font-size:60px; font-weight:900; line-height:1; }

@media only screen and (max-width: 780px) {
	.video_con_texto{ height: 50vh; }
	.video_con_texto_text{ font-size:30px; line-height:1; }
}

.video_con_texto iframe { transition: opacity 500ms ease-in-out; transition-delay: 250ms; min-width: 1400px !important; }




/* video_texto ----------------------------------------------------------------------------------- */
.video_texto_title{ font-size:50px; font-weight:200; margin-bottom:40px; line-height:1.1; }

.video_text_container{ display: flex; position:relative; z-index: 2; }

	.video_texto_esq{ width:50%; padding-right:30px; position:relative; }
		.video_texto_esq_img{ position:relative; }
			.video_texto_esq_img img{ width:100%; height:auto; }
			.video_texto_play{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

	.video_texto_dre{ width:50%; padding-left:30px; }

.video_texto_deco_bottom{ position:absolute; z-index: 1; width:75%; height:70px; background-color:#f7f7f7; right:0; margin-top:-40px; }

@media only screen and (max-width: 800px) {
	.video_texto_title{ font-size:40px; margin-bottom:25px; }

	.video_text_container{ display: block; }
		.video_texto_esq{ width:100%; padding-right:0px; }
		.video_texto_dre{ width:100%; padding-left:0px; }
}




/* imagen_texto --------------------------------------------------------------------------------- */
.imagen_texto_img{ width:50%; }
.imagen_texto_img img{ width:100%; height:auto; }
.imagen_texto_textos{ width:50%; }

.imagen_texto .imagen_texto_img{ float:left; padding-right:20px; }
.texto_imagen .imagen_texto_img{ float:right; padding-left:20px; }

.imagen_texto .imagen_texto_textos{ float:right; padding-left:20px; }
.texto_imagen .imagen_texto_textos{ float:left; padding-right:20px; }

.imagen_texto_title{ font-size:50px; font-weight:200; line-height:1.1; }

.imagen_texto_bt{ background-color:#000; color:#fff; width:fit-content; font-size:16px; font-weight:bold; padding:15px 22px; min-width: 200px; margin-top: 20px;
	-webkit-border-radius: 40px; -moz-border-radius: 40px; border-radius: 40px; text-align:center; }

@media only screen and (max-width: 800px) {

	.imagen_texto_img{ width:100%; }
	.imagen_texto_textos{ width:100%; }

	.imagen_texto .imagen_texto_img{ float:none; padding-right:0px; }
	.texto_imagen .imagen_texto_img{ float:none; padding-left:0px; }

	.imagen_texto .imagen_texto_textos{ float:none; padding-left:0px; }
	.texto_imagen .imagen_texto_textos{ float:none; padding-right:0px; }

	.imagen_texto_title{ font-size:40px; margin-top:10px; }

	.imagen_texto_bt{ font-size:14px; padding:12px 17px; }
}


/* destacados ----------------------------------------------------------------------------------- */
.destacados_title{ width:100%; max-width:400px; margin:auto; font-size:50px; font-weight:200; line-height:1.2; text-align:center; }
.destacados_texto{ width:100%; max-width:980px; margin:20px auto; text-align:center; }

.swiper_destacados{ position:relative; padding: 0 20px; }

	.swiper_destacados .swiper-wrapper{ position:relative; }

	.swiper_left{ position:absolute; position: absolute; z-index: 10; top: 50%; margin-left:-13px; cursor:pointer; }
	.swiper_right{ position:relative; position: absolute; z-index: 10; top: 50%; right:10px; cursor:pointer; }

	.prev_cats{ opacity:0; }
    .next_cats{ opacity:0; }

.swiper-container{ overflow:hidden; }

.item_producte_swiper{ padding:0 10px; }
.item_producte_swiper:hover{ color:#000; }

/* 2_bloques */
.contenedor_bloques{ display:flex; justify-content: space-between; }
	
	.bloque_item{ width:48%; background-color:#f7f7f7; }

		.bloque_item_img img{ width:100%; height:auto; }

		.bloque_item_content{ padding:45px; }
			.bloque_item_title{ font-size:24px; width:100%; max-width:320px; font-weight:bold; }

	.bloque_buscador{ padding:30px 0; }

		.bloque_buscador input[type='submit']{ background-color:transparent;
			border: none !important; cursor: pointer; text-indent:-9999px; margin-top: 0px; position: absolute; margin-left: -45px; width: 28px; height: 28px;
			background-image: url('images/lupa.png'); background-position: center; background-size: 28px 28px; background-repeat: no-repeat;  }

		.bloque_buscador input[type='search']{ -webkit-appearance: none; width: 250px; background-color: transparent !important; border: none !important; 
			border: 1px solid #000 !important; padding: 24px 35px 24px 10px !important; font-size: 12px; color: #000; background-color: #fff; 
			-webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; }

		.bloque_buscador ::placeholder{ color: #ccc; font-family: 'Montserrat', sans-serif; }

@media only screen and (max-width: 800px) {

	.contenedor_bloques{ display:block; }
	
		.bloque_item{ width:100%; margin-bottom:40px; }

			.bloque_item_content{ padding:10px 25px 25px 25px; }
			.bloque_item_title{ font-size:18px; }
}



/* ARCHIVE PRODUCTS =============================================================================================================================================================== */
/* ==========================================================================
   BLOC 1: VARIABLES, ROOT I ESTRUCTURA GLOBAL ARCHIVE
   ========================================================================== */
:root {
    --util-hidratacion: #15437A;
    --util-antiedad: #2B5415;
    --util-biomimetico: #295013;
    --util-luminosidad: #61390E;
    --util-calmante: #115042;
    --util-despigmentante: #3D3386;
    --util-antioxidante: #6F2C17;
    --util-reg-sebo: #444441;
    --util-regenerador: #70253E;
    --util-default: #ccc;
}

/* Classes mapejadores d'utilitats (ACF) */
.is-hidratacion    { --accent: var(--util-hidratacion); }
.is-antiedad       { --accent: var(--util-antiedad); }
.is-biomimetico    { --accent: var(--util-biomimetico); }
.is-luminosidad    { --accent: var(--util-luminosidad); }
.is-calmante       { --accent: var(--util-calmante); }
.is-despigmentante { --accent: var(--util-despigmentante); }
.is-antioxidante   { --accent: var(--util-antioxidante); }
.is-reg-sebo       { --accent: var(--util-reg-sebo); }
.is-regenerador    { --accent: var(--util-regenerador); }

.archive_products_container { width: 100%; max-width: 1450px; padding: 0 10px; margin: auto; }
.archive_prod_container { display: flex; margin-top: 40px; gap: 40px; }
.archive_breadcrumb { margin: 10px 0 0 0; }
.archive_prod_content { width: 75%; display: flex; flex-wrap: wrap; gap: 10px; }
.archive_prod_np { width: 100%; display: flex; flex-wrap: wrap; gap: 20px; }
.ingrediente_landing_container, .ingrediente_archive_container { width: 100%; display: block; }

/* Capçaleres corporatives de marca */
.cat_header_nirvel, .cat_header_levissime { display: flex; align-items: center; justify-content: space-between; padding: 10px; }
.cat_header_rrss { display: flex; }
.cat_header_rrss a { margin-left: 10px; }
.cat_header_rrss span { font-size: 24px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.cat_header_nirvel a div, .cat_header_levissime a div { width: 40px; height: 40px; border-radius: 50%; position: relative; }
.cat_header_nirvel { background-color: #000; }
.cat_header_nirvel a div { color: #fff; border: 1px solid #fff; }
.cat_header_levissime { border-bottom: 1px solid #545454; }
.cat_header_levissime a div { color: #545454; border: 1px solid #545454; }

/* RESPONSIVE GLOBAL */
@media (max-width: 768px) {
    .archive_prod_container { flex-direction: column; gap: 20px; }
    .archive_menu, .archive_prod_content { width: 100%; }
}


/* ==========================================================================
   BLOC 2: MENÚ LATERAL ACORDIÓ RECURSIU (NSM)
   ========================================================================== */
.archive_menu { width: 25%; }
.nsm_root_title_static { font-size: 15px; font-weight: 600; color: #000; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #000; text-transform: uppercase; }
.nsm_item { border-bottom: 1px solid #eaeaea; position: relative; }
.nsm_item:last-child { border-bottom: none; }
.nsm_row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; }
.nsm_link { flex-grow: 1; font-size: 13px; color: #333; text-decoration: none; transition: color 0.2s ease; display: flex; align-items: center; text-transform: uppercase; }
.nsm_link:hover { color: #000; }
.nsm_link::before { content: ''; display: inline-block; width: 10px; height: 10px; border: 1px solid #333; margin-right: 10px; transition: background-color 0.2s ease; }

.nsm_current > .nsm_row > .nsm_link { font-weight: bold; color: #000; }
.nsm_in_path > .nsm_row > .nsm_link::before { background-color: #333; }
.nsm_toggle { background: transparent; border: none; cursor: pointer; padding: 5px 10px; display: flex; align-items: center; justify-content: center; }
.nsm_arrow { display: inline-block; width: 6px; height: 6px; border-right: 1.5px solid #333; border-bottom: 1.5px solid #333; transform: rotate(-45deg); transition: transform 0.3s ease; }
.nsm_open > .nsm_row > .nsm_toggle .nsm_arrow { transform: rotate(45deg); }
.nsm_children { overflow: hidden; transition: max-height 0.4s ease-in-out; padding-left: 15px; }

.nsm_children .nsm_item { border-bottom: none; }
.nsm_children .nsm_row { padding: 8px 0; }
.nsm_children .nsm_link { font-size: 13px; }
.nsm_children .nsm_link::before { /*border-radius: 50%;*/ width: 6px; height: 6px; }
.nsm_children .nsm_children .nsm_link::before { display: none; }
.nsm_children .nsm_children { padding-left: 20px; }

.nsm_static_parent .nsm_link_static { font-size: 13px; font-weight: normal; color: #333; text-transform: uppercase; display: flex; align-items: center; flex-grow: 1; }
.nsm_static_parent .nsm_link_static::before { content: ''; display: inline-block; width: 6px; height: 6px; /*border-radius: 50%;*/ background-color: #333; margin-right: 10px; }


/* --- SUB-SUB-SUBCATEGORIES PURES (Nivell 4: Hidratació, Nutrició...) --- */
.nsm_children .nsm_children .nsm_children .nsm_row { 
    padding: 3px 0; /* <--- Clau: reduïm dràsticament l'espaiat vertical */
}

.nsm_children .nsm_children .nsm_children .nsm_link { 
    font-size: 12px; /* Un pel xicotet per a marcar escala i jerarquia */
    color: #666; /* Gris més suau perquè visualment fassa pinya com a bloc secundari */
    letter-spacing: 0.3px;
}

.nsm_children .nsm_children .nsm_children .nsm_link:hover { 
    color: #000; /* Reacció neta en passar el ratolí */
}


/* ==========================================================================
   BLOC 3: GRAELLES DE CATEGORIA PER DEFECTE I PRODUCTES NATIVES
   ========================================================================== */
.archive_prod_content .archive_item_cat { width: calc((100% - (10px * 2)) / 3); box-sizing: border-box; }
.archive_prod_np .archive_item_cat { width: calc((100% - (20px * 3)) / 4); box-sizing: border-box; }
.archive_item_cat_inner { position: relative; box-sizing: border-box; }
.archive_item_cat_inner img { width: 100%; height: auto; }
.archive_item_cat_img { width: 100%; aspect-ratio: 0.8; background-size: cover; background-position: center; background-repeat: no-repeat; }
.archive_item_cat_title { width: 100%; text-align: center; position: absolute; bottom: 20px; background-color: rgba(0,0,0,.5); padding: 10px; text-transform: uppercase; color: #fff; font-size: 17px; font-weight: 900; }

/* Targeta producte estàndard de la graella de sota */
.item_producte { float: left; width: 33.333%; padding: 7px; position: relative; }
.item_producte_image { background-color: #f9f4f0; padding: 10px; }
.item_producte_image img { width: 100%; height: auto; }
.item_producte_title, .item_producte_title h3 { font-size: 14px; font-weight: 900; padding: 0 5px; text-transform: uppercase; line-height: 1; margin: 10px 0; }
.item_producte_excerpt { font-size: 13px; line-height: 1; padding: 0 5px; }
.archive_search_content .item_producte { width: 20%; }

/* Paginador wp-pagenavi */
.wp-pagenavi { padding: 10px 20px 10px !important; display: block !important; clear: both !important; margin-top: 50px; }
.wp-pagenavi a, .wp-pagenavi span.pages, .wp-pagenavi span.extend { color: #707070 !important; background: #FFFFFF !important; border-radius: 3px !important; border: solid 1px #DCDCDC !important; padding: 6px 9px !important; margin-right: 3px !important; text-decoration: none !important; font-size: 12px !important; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { border-color: #202020 !important; background: #525252 !important; color: #fff !important; background: -webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#9F9F9F),color-stop(0.02,#6C6C6C),color-stop(1,#525252)) !important; }

/* RESPONSIVE GRAELLES NATIVES */
@media (max-width: 768px) {
    .item_producte { width: 50%; }
    .archive_prod_content .archive_item_cat { width: calc((100% - 10px) / 2); }
}
@media (max-width: 600px) {
    .item_producte { width: 100%; float: none; }
}


/* ==========================================================================
   BLOC 4: COMPONENT HERO EDITORIAL (.cpp_hero)
   ========================================================================== */
.cpp_hero { display: flex; justify-content: space-between; gap: 40px; margin-bottom: 40px; padding: 40px 0; }
.cpp_hero_content { flex: 1; }
.cpp_h1 { font-size: 34px; line-height: 1.2; font-weight: normal; text-transform: uppercase; max-width: 700px; }
.cpp_subtitle { margin-top: 20px; }
.cpp_tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cpp_hero_img { flex: 0 0 400px; }
.cpp_hero_img img { width: 100%; height: auto; border-radius: 4px; }

/* RESPONSIVE HERO */
@media (max-width: 768px) {
    .cpp_hero { flex-direction: column; gap: 20px; padding: 20px 0; }
    .cpp_hero_img { flex: 1 auto; width: 100%; max-width: 400px; margin: 0 auto; }
    .cpp_h1 { font-size: 25px; }
}


/* ==========================================================================
   BLOC 5: COMPONENT EDITORIAL INFERIOR I ACORDIÓ DE FAQS
   ========================================================================== */
.cpp_editorial { background: #FAF9F7; padding: 35px; margin-bottom: 20px; border-radius: 10px; }
.cpp_editorial_title { font-size: 15px; margin: 0 0 12px 0; text-transform: uppercase; font-weight: bold; color: #000; letter-spacing: 0.5px; }
.cpp_editorial_text { font-size: 13px; line-height: 1.6; color: #444; }

/* Secció d'acordions FAQ */
.categoria_faqs_wrapper { background: #F7F8F9; padding: 30px; border-radius: 10px; width: 100%; }
.faq_main_title { font-size: 18px; font-weight: 700; margin-bottom: 25px; color: #000; }
.categoria_faqs { display: flex; flex-direction: column; gap: 12px; }
.categoria_faq { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 18px 25px; transition: all 0.3s ease; cursor: pointer; }
.categoria_faq:hover { border-color: #bbb; }
.categoria_faq h2 { font-size: 13px; font-weight: 600; text-transform: uppercase; margin: 0; display: flex; justify-content: space-between; align-items: center; color: #333; letter-spacing: 0.3px; }
.categoria_faq h2::after { content: ""; width: 8px; height: 8px; border-right: 2px solid #333; border-bottom: 2px solid #333; transform: rotate(45deg); }
.categoria_faq.active h2::after { transform: rotate(-135deg); margin-bottom: -4px; }
.categoria_faq .txt { display: none; overflow: hidden; padding: 0; margin: 0; }

.faq_content_inner { padding-top: 15px; padding-bottom: 5px; font-size: 14px; color: #777; line-height: 1.6; }
.faq_content_inner p, .faq_content_inner h1, .faq_content_inner h2, .faq_content_inner h3 { margin-bottom: 25px; }
.faq_content_inner p:last-child { margin-bottom: 0; }
.faq_content_inner a { color: #666; text-decoration: underline; font-weight: bold; }
.faq_content_inner a:hover { opacity: .6; }
.faq_content_inner ul, .faq_content_inner ol { padding-left: 40px; margin-bottom: 25px; margin-top: 15px; }
.faq_content_inner ul li, .faq_content_inner ol li { margin-bottom: 12px; }
.faq_content_inner ol, .faq_content_inner ol li { list-style: decimal; }

/* RESPONSIVE EDITORIAL / FAQS */
@media (max-width: 600px) {
    .categoria_faqs_wrapper { padding: 20px; }
    .categoria_faq { padding: 18px 15px; position: relative; }
    .categoria_faq h2 { padding-right: 25px; font-size: 12px; line-height: 1.4; }
    .categoria_faq h2::after { position: absolute; right: 15px; }
}


/* ==========================================================================
   BLOC 6: LANDING PRINCIPAL DE MARCA (cat-levissime.php)
   ========================================================================== */
.lev_landing_container { width: 100%; display: block; }
.lev_landing_header { margin-bottom: 25px; }
.lev_landing_header h4 { font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: #545454; display: block; margin-bottom: 5px; }
.lev_landing_header h1 { font-size: 28px; font-weight: 400; color: #000; text-transform: uppercase; margin: 0 0 15px 0; letter-spacing: 0.5px; }
.lev_landing_header p { font-size: 14px; color: #666; line-height: 1.6; max-width: 900px; }

/* Les dues targetes destacades grans */
.lev_featured_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 60px; }
.lev_featured_card { background-color: #f4efe9; border-radius: 10px; }
.lev_featured_card a { text-decoration: none; color: inherit; display: block; }
.lev_featured_img_box { position: relative; width: 100%; aspect-ratio: 1.15; overflow: hidden; border-top-left-radius: 10px; border-top-right-radius: 10px; }
.lev_featured_img { width: 100%; height: 100%; background-size: cover; background-position: center; transition: transform 0.4s ease; }
.lev_featured_card:hover .lev_featured_img { transform: scale(1.03); }
.lev_featured_number { position: absolute; top: 15px; right: 20px; font-size: 11px; font-weight: 600; color: #000; letter-spacing: 1px; }
.lev_featured_info { padding: 35px; min-height: 190px; display: flex; flex-direction: column; justify-content: space-between; }
.lev_featured_info h2 { font-size: 22px; font-weight: 700; color: #000; margin: 0 0 12px 0; max-width: 150px; white-space: normal; word-break: normal; overflow-wrap: normal; }
.lev_featured_info p { font-size: 13.5px; color: #545454; line-height: 1.5; margin: 0 0 20px 0; }
.lev_explore_link { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #000; letter-spacing: 1px; display: inline-flex; align-items: center; gap: 5px; }
.lev_explore_arrow { width: 14px; height: 14px; background-image: url('images/card_bt.png'); background-size: 100%; }

/* Secció de línies de 4 columnes a sota */
.lev_secondary_section { margin-top: 50px; width: 100%; }
.lev_secondary_title { margin-bottom: 30px; }
.lev_secondary_title h2 { font-size: 22px; font-weight: 700; color: #000; margin: 0 0 5px 0; width: 100%; }
.lev_secondary_title p { font-size: 13px; color: #666; margin: 0; }
.lev_secondary_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.lev_secondary_grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.lev_secondary_card { background: #fff; border: 1px solid #e8e8e8; border-radius: 6px; padding: 25px 20px; transition: box-shadow 0.3s ease, border-color 0.3s ease; }
.lev_secondary_card:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.04); border-color: #d0d0d0; }
.lev_secondary_card a { text-decoration: none; color: inherit; display: block; }
.lev_secondary_icon_box { width: 45px; height: 45px; border-radius: 50%; background-color: #f0f4f7; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; overflow: hidden; }
.lev_secondary_icon { width: 100%; height: 100%; background-size: cover; background-position: center; }
.lev_secondary_card h3 { font-size: 15px; font-weight: 700; color: #000; margin: 0 0 8px 0; line-height: 1.2; }
.lev_secondary_card p { font-size: 12.5px; color: #666; line-height: 1.4; margin: 0; }

/* RESPONSIVE MARCA / PORTADES */
@media (max-width: 992px) {
    .lev_secondary_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .lev_featured_grid, .lev_secondary_grid, .lev_secondary_grid3 { grid-template-columns: 1fr; }
}


/* ==========================================================================
   BLOC 7: CUIDADO FACIAL - TIPO DE PIEL (4 Columnes Switch Interactiu)
   ========================================================================== */
.facial_advanced_container { width: 100%; display: block; }
.facial_section_block { width: 100%; display: block; }
.facial_section_block.margin_top_block { margin-top: 60px; }
.facial_section_label { font-size: 11px; text-transform: uppercase; color: #888; letter-spacing: 1px; display: block; margin-bottom: 5px; }
.facial_section_title { font-size: 24px; font-weight: 400; text-transform: uppercase; padding-bottom: 8px; display: inline-block; }
.facial_title_deco { width: 80px; height: 2px; background: #000; margin: 0 0 25px 0; }
.facial_section_header_flex { display: flex; justify-content: space-between; align-items: baseline; }
.facial_section_header_flex .facial_section_title { border-bottom: none; margin-bottom: 0; padding-bottom: 8px; }
.facial_count_label { font-size: 12px; color: #666; }

.facial_skin_columns_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }
.facial_skin_col_card { display: flex; flex-direction: column; }
.facial_skin_header_toggle { display: flex; align-items: center; padding: 12px 0; cursor: pointer; user-select: none; }
.facial_skin_plus_icon { font-size: 16px; margin-right: 8px; color: #333; }
.facial_skin_header_toggle h3 { font-size: 13px; font-weight: bold; text-transform: uppercase; margin: 0; color: #333; letter-spacing: 0.5px; }
.facial_skin_switch_wrapper { position: relative; width: 100%; aspect-ratio: 1.33; overflow: visible; }
.facial_skin_col_img { width: 100%; height: 100%; background-size: cover; background-position: center; display: block; cursor: pointer; }

/* Menú flotant absolut sobre la targeta de pell */
.facial_skin_col_menu { position: absolute; top: 0; left: 0; width: 100%; background: #fff; display: none; flex-direction: column; border-top: 1px solid #eaeaea; z-index: 99; box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
.facial_skin_menu_item { display: block; padding: 7px 12px; font-size: 12px; text-transform: uppercase; color: #545454; text-decoration: none; border-bottom: 1px solid #eaeaea; border-left: 1px solid #eaeaea; border-right: 1px solid #eaeaea; transition: background 0.2s, color 0.2s; white-space: normal; word-break: keep-all; }
.facial_skin_menu_item:hover { background: #f8f8f8; color: #000; }
.facial_skin_menu_item.facial_menu_all_link { font-weight: bold; color: #000; }
.facial_skin_col_card.menu_active .facial_skin_col_menu { display: flex; }

/* RESPONSIVE TIPO DE PIEL SWITCH */
@media (max-width: 992px) {
    .facial_skin_columns_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .facial_skin_columns_grid { grid-template-columns: 1fr; }
}


/* ==========================================================================
   BLOC 8: FORMATS POR PRODUCTO (Graella cpp estil Nirvel Shop original)
   ========================================================================== */
.cpp_cats_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 40px 0; width: 100%; }
.cpp_cat_item { width: 100%; text-decoration: none; border: 1px solid #eee; border-radius: 10px; overflow: hidden; background: #fff; transition: box-shadow 0.3s ease, border-color 0.3s ease; }
.cpp_cat_item a { text-decoration: none; color: inherit; display: block; }
.cpp_cat_item:hover { border-color: transparent; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
.cpp_cat_img_wrap { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; transition: transform 0.5s ease; }
.cpp_cat_count { position: absolute; top: 15px; right: 15px; background: #000; color: #fff; font-size: 11px; padding: 4px 10px; border-radius: 20px; font-weight: bold; }
.cpp_cat_info { padding: 20px; }
.cpp_cat_name { font-size: 14px; font-weight: 600; margin: 0 0 8px 0; letter-spacing: 0.5px; color: #000; white-space: normal; word-break: keep-all; }           
.cpp_cat_desc { font-size: 12.5px; color: #666; line-height: 1.5; margin: 0; white-space: normal; word-break: keep-all; }

/* RESPONSIVE SECCIÓ PRODUCTO */
@media (max-width: 768px) {
    .cpp_cats_grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .cpp_cat_info { padding: 10px 15px; }
    .cpp_cat_name { font-size: 14px; }
}


/* ==========================================================================
   BLOC 9: POR INGREDIENTE (Graella cpi d'ACF Utilitats Tonalitats Pastís)
   ========================================================================== */
.cpi_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-bottom: 60px; }
.cpi_item { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid #eee; transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; }
.cpi_item:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.08); }
.cpi_item a { text-decoration: none; color: inherit; }
.cpi_header { padding: 30px 25px; position: relative; min-height: 120px; display: flex; align-items: flex-end; background-color: color-mix(in srgb, var(--accent, var(--util-default)), transparent 80%); border-top: 4px solid var(--accent, var(--util-default)); }
.cpi_badge { position: absolute; top: 15px; right: 15px; color: #fff; font-size: 10px; font-weight: 500; padding: 4px 10px; border-radius: 20px; letter-spacing: 0.5px; background-color: var(--accent, var(--util-default)); }
.cpi_name { font-size: 17px; font-weight: 500; margin: 0; color: #1a1a1a; line-height: 1.2; }
.cpi_info { padding: 20px 25px 30px; }
.cpi_count { display: block; text-align: right; font-size: 12px; color: #999; margin-bottom: 15px; }
.cpi_desc { font-size: 14px; color: #666; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Pills del núvol general superior */
.facial_ingredients_cloud { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 10px; }
.facial_ing_pill { display: inline-block; background: #fff; border: 1px solid #dcdcdc; border-radius: 30px; padding: 8px 18px; font-size: 12px; color: #333; text-decoration: none; transition: all 0.2s ease; }
.facial_ing_pill:hover { border-color: #000; color: #000; background: #fbfbfb; }

/* RESPONSIVE INGREDIENTES PASTEL */
@media (max-width: 992px) {
    .cpi_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .cpi_grid { gap: 10px; }
    .cpi_header { padding: 20px 20px; }
    .cpi_badge { font-size: 9px; }
    .cpi_name { font-size: 17px; }
    .cpi_info { padding: 15px 20px; }
}


/* ==========================================================================
   BLOC 10: POR NECESIDAD I INGREDIENTES RELACIONATS (cnl_)
   ========================================================================== */
/* Secció Inferior d'ingredients vinculats */
.cnl_ing_title { font-size: 22px; font-weight: 700; margin: 40px 0 25px; color: #000; letter-spacing: -0.5px; }
.cnl_ing_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; width:100%; }
.cnl_ing_item { background: #fff; border: 1px solid #eef0f2; border-radius: 6px; transition: transform 0.2s ease, box-shadow 0.2s ease; position: relative; overflow: hidden; }
.cnl_ing_item:hover { box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.cnl_ing_item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background-color: var(--accent); opacity: .5; }
.cnl_ing_content { padding: 20px 25px; }
.cnl_ing_name { font-size: 16px; font-weight: 600; color: #1a1a1a; margin: 0 0 8px 0; }
.cnl_ing_desc { font-size: 13px; color: #777; line-height: 1.4; margin: 0; font-weight: 300; }

/* Graella de tipus de pell per necessitat (Icona retratada en cercle de línies fines) */
.cnl_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin-bottom: 60px; width:100%; }
.cnl_item { background: #fff; border-radius: 8px; border: 1px solid #e0e0e0; padding: 30px; transition: all 0.3s ease; height: 100%; }
.cnl_item:hover { border-color: #bbb; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.cnl_item a { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; }
.cnl_top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 25px; }
.cnl_icon_wrap { width: 60px; height: 60px; border-radius: 50%; border: 1px solid #333; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cnl_icon_wrap img { width: 30px; height: 30px; object-fit: contain; }
.cnl_count { font-size: 13px; color: #999; font-weight: 300; }
.cnl_name { font-size: 17px; font-weight: 600; color: #333; margin: 0 0 15px 0; letter-spacing: 0.5px; }
.cnl_desc { font-size: 14px; color: #777; line-height: 1.5; font-weight: 300; }

/* RESPONSIVE NECESIDADES */
@media (max-width: 992px) {
    .cnl_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .cnl_ing_grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .cnl_grid, .cnl_ing_grid { grid-template-columns: 1fr; gap: 10px; }
    .cnl_item { padding: 15px; }
    .cnl_icon_wrap { width: 40px; height: 40px; border: 1px solid #fff; }
    .cnl_icon_wrap img { width: 40px; height: 40px; }
    .cnl_name { font-size: 16px; }
    .cnl_ing_content { padding: 20px 15px; }
}


/* ==========================================================================
   RESPONSIVE ESPECÍFIC DEL MENÚ LATERAL (Sota el seu propi bloc)
   ========================================================================== */
/* Botó mòbil ocult en escriptori */
.nsm_mobile_toggle_menu { display: none; }

@media (max-width: 768px) {
    /* 1. Si estem a la home de la botiga, amaguem completament el menú i el seu espai */
    .archive_prod_container.is-shop-home .archive_menu { display: none !important; }
    
    /* 2. Botó estilitzat superior per a les categories */
    .nsm_mobile_toggle_menu { 
        display: flex; 
        align-items: center; 
        justify-content: center; 
        gap: 10px; 
        width: 100%; 
        padding: 14px; 
        background: #000; 
        color: #fff; 
        border: none; 
        border-radius: 6px; 
        font-size: 13px; 
        font-weight: bold; 
        text-transform: uppercase; 
        cursor: pointer; 
        margin-bottom: 15px; 
        letter-spacing: 0.5px;
        transition: background 0.2s;
    }
    .nsm_mobile_toggle_menu .fa { font-size: 14px; }
    .nsm_mobile_toggle_menu.active { background: #333; }

    /* 3. Convertim el contenidor del menú en un calaix de persiana complet */
    .archive_prod_container:not(.is-shop-home) .archive_menu { 
        width: 100% !important; 
        max-height: 0; 
        overflow: hidden; 
        transition: max-height 0.4s ease-in-out, padding 0.3s ease; 
        background: #fbfbfb; 
        border-radius: 8px; 
        padding: 0 15px; 
        box-sizing: border-box;
    }

    /* Quan l'usuari clica al botó, la persiana s'obri dinàmicament */
    .archive_prod_container:not(.is-shop-home) .archive_menu.mob_open { 
        max-height: 1000px; /* Alçada suficient per a encabir l'arbre obert */
        padding: 15px; 
        border: 1px solid #eaeaea; 
        margin-bottom: 25px;
    }
}



/* SINGLE PRODUCTE =========================================================================================================================================================== */
.single_prod_doc{ background-color:#FDE73A; width:fit-content; padding:7px 23px; font-weight:700; }

/* FOTOS CARRUSEL PRODUCTOS - QUITAR MARGEN SUPERIOR Y LATERAL */
.product_cat-tienda-nirvel img, .product_cat-nirvel-professional-fr img, .product_cat-nirvel-professional img, .product_cat-levissime img, .product_cat-levissime-fr img,
.product_cat-levissime-en img{ width: auto !important; margin-top: auto !important; }

.elementor-text-editor{ font-size: 15px; line-height: 1.3; font-weight: 300; }
.elementor-text-editor p, .elementor-text-editor h1, .elementor-text-editor h2, .elementor-text-editor h3{ margin-bottom: 30px; }
.elementor-text-editor h1{ font-size: 140%; }
.elementor-text-editor h2{ font-size: 120%;  }
.elementor-text-editor h3{ font-size: 100%; }
.elementor-text-editor img { max-width: 100% !important; height: auto !important; }
.elementor-text-editor ul, .elementor-text-editor ol{ padding-left:40px; margin-bottom:25px; margin-top:15px; }
.elementor-text-editor ul li, .elementor-text-editor ol li{  list-style:outside; margin-bottom:12px; }
.elementor-text-editor ol li { list-style:decimal; }
.elementor-text-editor a{ text-decoration: underline; }
.elementor-text-editor a:hover{ opacity: .6; }

.elementor-text-editor table{ margin: auto; }

.elementor-widget-mega-menu .cbp-hsinner {
    background-color: red!important;
}


.ecalne{ cursor:pointer; }


/* CART ====================================================================================================================================================================== */
.woocommerce-cart .woocommerce-message{ margin-left:-30px; }


.cart_totals{ width: 100%; max-width:700px; float:right !important; }

.cart_totals table{ /*display:flex; justify-content: right; width: 100%; max-width:500px;*/ }
.cart_totals table tr td, .cart_totals table tr th{ border:1px solid #eaeaea; padding: 7px; font-size:13px; }
.cart_totals h2{ /*border:1px solid #eaeaea; padding:7px;*/ font-size:14px; }

.cart_total .checkout-button{ margin-top:20px; }


#ship-to-different-address-checkbox{ display:none; }
#terms{ display:none; }



/* MI CUENTA ================================================================================================================================================================== */
.my_account_login_explain{ font-size:17px; font-weight:bold; margin-top:20px; }

.my_account_distribuidor{ margin-top:20px; font-size:17px; font-weight:bold; margin-bottom:30px; }
.my_account_distribuidor a{  width: fit-content; margin: 0 auto 10px auto; padding: 10px 15px 10px 10px; border: 1px solid #999; line-height: 0; color:#fff; background-color:#000; }
.my_account_distribuidor a:hover{ color:#fff; }




/* GOBIERNO CORPORATIVO ======================================================================================================================================================== */
.content_gobcor{ width: 100%; max-width: 1450px; padding: 10px; margin: auto; }


.gobcor_item_esq{ clear: both; padding-top: 50px; }
	.gobcor_item_esq .gobcor_txts{ float: left; width: 50%; padding-right: 20px; }
	.gobcor_item_esq .gobcor_img{ float: right; width: 50%; padding-left: 20px; }

.gobcor_item_dre{ clear: both; padding-top: 50px; }
	.gobcor_item_dre .gobcor_txts{ float: right; width: 50%; padding-left: 20px; }
	.gobcor_item_dre .gobcor_img{ float: left; width: 50%; padding-right: 20px; }


.gobcor_img img{ width: 100%; height: auto; }

.gobcor_txts{ padding-top: 15px; }

.gobcor_subtitle{ color: #000000; font-size: 23px; font-weight: bold; line-height: 1em;  }

.gobcor_title{ margin-bottom:30px; }

.gobcor_bts{ margin-top: 20px; }
	.gobcor_bts a{ text-transform: uppercase; }
		.gobcor_bt{ display: inline-block; border: 1px solid #000; margin-bottom: 15px; position: relative; padding: 6px 30px 6px 15px; min-width: 310px; cursor: pointer; }
		.gobcor_bt span{ position: absolute; right: 7px; font-size: 18px; }


@media only screen and (max-width: 930px) {

	.content_gobcor{ width: 100%; max-width: 700px; padding: 10px; margin: auto; }

	.gobcor_item_esq{ clear: both; padding-top: 50px; }
		.gobcor_item_esq .gobcor_txts{ float: none; width: 100%; padding-right: 0; }
		.gobcor_item_esq .gobcor_img{ float: none; width: 100%; padding-left: 0; }

	.gobcor_item_dre{ clear: both; padding-top: 50px; }
		.gobcor_item_dre .gobcor_txts{ float: none; width: 100%; padding-left: 0; }
		.gobcor_item_dre .gobcor_img{ float: none; width: 100%; padding-right: 0; }

}


.form_consulta_denuncia input{ border:1px solid #666; padding:6px !important; }
.form_consulta_denuncia textarea{ width:100%; height:75px; border:1px solid #666; }
.form_consulta_denuncia input[type="submit"]{ padding: 10px 20px !important; }



/* BLOG ================================================================================================ */
.blog_archive_title_cat{ margin-top:20px; font-size:17px; font-weight:bold; background-color:#000; color:#fff; padding:7px 20px; width:fit-content; }

.blog_container{ padding:20px 0; }
	
	.blog_col_items{ float: left; width:75%; display: flex; flex-wrap: wrap; justify-content: space-between; }

		.blog_cont_item{ width:49%; margin-bottom:2%; }
		.blog_cont_item_inner{ background-color:#f2f2f2; height:100%; }
			
			.blog_cont_img {
			    width: 100%;
			    aspect-ratio: 16 / 9;
			    overflow: hidden;
			}

			.blog_cont_img img {
			    width: 100%;
			    height: 100%;
			    object-fit: cover;
			    object-position: center;
			    display: block;
			}


			.blog_cont_textos{ padding:15px 25px; }
				.blog_cont_title{ font-size:17px; margin-bottom:10px; font-weight:bold; }

				.blog_cont_date{ margin-bottom:15px; font-size:13px; color:#c1c1c1; }


	.blog_col_widgets{ float: left; width:25%; padding-left:30px; }

		.blog_col_widget_title{ font-size:14px; font-weight:bold; margin-bottom:15px; }

		.blog_col_tags{ display: flex; flex-wrap: wrap; align-items: baseline; flex-direction: row;}
			.blog_col_tags a{ color:#000; }
			.blog_col_tags div{ width: fit-content; border:1px solid rgba(0,0,0,.3); padding:5px; margin:0 4px 4px 0; font-size:12px; }
			.blog_col_tags div:hover{ border:1px solid rgba(0,0,0,1); }

		.blog_col_ultimas{ margin-bottom:30px; }
			.blog_col_ultimas_item{ display:flex; margin:20px 0; }
				.blog_col_ultimas_img{ width:50%; }
					.blog_col_ultimas_img img{ width:100%; height:auto; }

				.blog_col_ultimas_text{ width:50%;padding-left:10px; }
					.blog_col_ultimas_date{ font-size:12px; color:#999999; }
					.blog_col_ultimas_title{ font-size:12px; line-height:1; }
					.blog_col_ultimas_title a{ color:#000; }

		.blog_col_cats{ margin-bottom:30px; }
			.blog_col_cats a{ color:#000; }
			.blog_col_cats div{ font-size:13px; }
			.blog_col_cats div:hover{ opacity:.5; }


@media only screen and (max-width: 768px) {
	.blog_col_items{ float: none; width:100%; }
	.blog_col_widgets{ float: none; width:100%; padding-left:0; margin:40px 0 0 10px; }
}

@media only screen and (max-width: 768px) {
	.blog_cont_item{ width:100%; margin-bottom:25px; }
}



/* SINGLE BLOG BASIC ======================================================================================================================= */
.single_basic_mc{ width: 100%; max-width: 1200px; margin: auto; padding: 0 10px; }

	.single_basic_title{ width: 100%; max-width: 765px; margin: 40px auto 0 auto; text-align: center; padding: 0; line-height: 1; }
	.single_basic_title h1{ font-size: 30px; }

	.single_basic_img{ text-align: center; margin-top: 20px; }
	.single_basic_img img{ max-width: 100%; height: auto; }



	.single_basic_content{ width: 100%; margin: 40px auto; color: #000000; }

		.single_basic_content_col{ float:left; width:25%; padding-right:25px; }

			.blog_single_col_title{ background-color: #f1f1f1; webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 12px 2px; text-align: center; margin-bottom: 15px; }

			.blog_single_col_ultimas{ margin-bottom:30px; }
				.blog_single_col_ultimas_item{ font-size:13px; margin-bottom:10px; line-height:.7; border-bottom:1px solid #ccc; padding-bottom:10px; }

		.single_basic_content_text{ float:right; width:75%; padding-left:25px; }
		.single_basic_data{ font-size:13px; color:#999; }


.navigation{ padding: 20px 0; border-top:1px solid #ccc; }
	
	.next_post, .prev_post{ position: relative; font-size: 13px; color: #333; width: 50%; }
	.next_post{ float: right; }
	.prev_post{ float: left; border-right: 1px solid #ccc; }
	
	.nav_post a{ color: #000; }

	.next_post_inner{ text-align: right; padding: 25px 30px 25px 10px; display:flex; justify-content:flex-end;  }
		.next_post_content{ padding-right:15px; }

	.prev_post_inner{ padding: 25px 10px 25px 30px; display:flex;  }
		.prev_post_content{ padding-left:15px; }

		.prev_post_prev, .next_post_next{ font-size: 10px; font-weight: 900; color: #898F93; margin-bottom: 7px; }
		.prev_post_txt, .next_post_txt{ font-size:14px; width:100%; max-width:250px; line-height:1.2; }


@media only screen and (max-width: 763px) {	

	.single_basic_content_col{ display:none; }

	.single_basic_content_text{ float:none; width:100%; padding-left:0px; }

	.next_post{ float: none; width:100%; }
	.prev_post{ float: none; width:100%; border-right: 1px solid #fff; }

	.next_post_inner{ padding: 25px 10px 25px 10px; }

	.prev_post_inner{ padding: 25px 10px 25px 10px; }

}








.single_basic_nav{ border: 1px solid #000; width: fit-content; margin: 80px auto; padding: 12px 30px 0 30px; letter-spacing: 1px; }


.loop-action{ position: relative; }

.woocommerce-privacy-policy-text{ font-size: 11px; line-height: 1.1; }

.woocommerce-form__input-checkbox{ display: inherit !important; }

.woocommerce-form-login__rememberme{ display: none !important; }


.woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row .checkbox .input-checkbox{ opacity: 0 !important; }

#ship-to-different-address .checkbox .input-checkbox{ opacity: 0 !important; }


/* CONTACTO ==================================================================================================== */
.page_contacto{ margin-top:50px; }

	.page_contacto_top{ display:flex; }

		.page_contacto_esq{ width:30%; padding-right: 15px; }
			.page_contacto_esq_inner{ background-color:#f4f0eb; height:100%; padding:25px 25px 125px 25px; position:relative; }
				.page_contacto_title{ font-size:32px; font-weight:bold; }
				.page_contacto_content{ margin-top:30px; color:#000; }
				.page_contacto_deco{ position:absolute; right:0; bottom:0; }

		.page_contacto_dre{ width:70%; background-color:#f2f2f2; }

			.page_contacto_form{}

				.page_contacto_form_title{ border-bottom: 1px solid #d4d4d4; cursor:pointer; display:flex; align-items: center; padding:17px 10px; }
					.page_contacto_form_title_deco{}
						.plus{ width:16px; height:16px; background-image:url('images/plus.png'); }
						.minus{ width:16px; height:16px; background-image:url('images/minus.png'); display:none; }
					.page_contacto_form_title_text{ font-size:16px; font-weight:bold; margin-left:10px; }

				.page_contacto_form_form{ border-bottom: 1px solid #d4d4d4; }

				.page_contacto_form_active .page_contacto_form_title_deco .plus{ display:none; }
				.page_contacto_form_active .page_contacto_form_title_deco .minus{ display:inherit; }

			.page_contacto_form_form{ padding:30px; }


	.page_contacto_map{ margin-top:15px; }
	.page_contacto_map iframe{ width:100%; }


@media only screen and (max-width: 930px) {

	.page_contacto_top{ display:block; }

		.page_contacto_esq{ width:100%; padding-right: 0px; }

		.page_contacto_dre{ width:100%; margin-top:40px; }
}



/* FOOTER ============================================================================== */
#theme-footer{ border-top:1px solid #000; border-bottom:1px solid #000; padding:40px 0 20px 0; margin-top:50px; }

#theme-footer .footer_columnas{ display: flex; flex-direction: row; align-items: flex-start; flex-wrap: nowrap; justify-content: space-between; padding-bottom:40px; }

.footer_rrss{ display:flex; margin-top:20px; }
	.footer_rrss_item{ margin-right:15px; }

.footer_title{ font-size:14px; font-weight:bold; }

.footer_content{ margin-top:10px; font-size:13px; line-height:1.4; }
	.footer_content ul{ list-style-type: none; }

.footer_links{ display: flex; align-items: center; justify-content: center; }
.footer_link_item{ padding:0 4px; }

.footer_legal{ text-transform:uppercase; font-size:11px; }
.footer_legal ul{ list-style-type: none; display: flex; align-items: center; justify-content: center; padding:0; }
.footer_legal ul li{ padding:0 3px; }
.footer_legal ul li:after{ content:'|'; padding-left:6px; font-size:13px; }
.footer_legal ul li:last-child:after{ content:''; }

.footer_copyright{ text-align:center; font-size:11px; margin:15px 0 10px 0; font-weight:bold; }


@media only screen and (max-width: 1025px) {

	#theme-footer .footer_columnas{ display: block; text-align:center; }
	.footer_col{ margin-bottom:25px; }

	.footer_rrss{ display: flex; align-items: center; justify-content: center;  }

	.footer_legal{ display:none; }

}

.grecaptcha-badge { visibility: hidden; }


/* COOKIES =================================================== */
#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme {
    background-color: #E6E6E6 !important;
    border-top: 1px solid #bfbfbf !important;
}

#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
    background-color: #E6E6E6 !important;
    border-top: 1px solid #bfbfbf !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding: 80px 40px !important; }

@media only screen and (min-width: 768px) {    

    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding: 80px 40px !important; }

    .moove-gdpr-cookie-notice, .moove-gdpr-cookie-notice p{ line-height: 2 !important; }

    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton,
    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton{
        padding: 25px 40px !important;
        font-size: 16px !important;
        font-weight: bold !important;
    }

}

@media only screen and (max-width: 768px) {    

    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container { padding: 40px 10px !important; }

    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton,
    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton{
        padding: 15px 30px !important;
        font-size: 14px !important;
        font-weight: bold !important;
    }

}


.acceso_distribuidores iframe{ width:100%; }

.sg-popup-builder-content{ font-size:0.8em; }

.wpcf7-response-output{ font-size:16px; font-weight:bold; }


form.submitting .wpcf7-spinner 
{
    visibility: visible;
}

.wpcf7-spinner 
{
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative;
}
.wpcf7-spinner::before 
{
    content: '';
    position: absolute;
    background-color: #fbfbfc;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: none;
    border-radius: 100%;
    transform-origin: 8px 8px;
    animation-name: spin;
    animation-duration: 1000ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}







/* NIRVEL PROFESSIONAL / LEVISSIME ======================================================================= */
.container_np{ width:100%; max-width:1300px; margin:20px auto; padding:0 10px; }


.np_sec { display: flex; align-items: flex-start; margin-top: 80px; width: 100%; }

/* 1. SECCIONS SENARS (Imatge esquerra - Text dreta) La imatge ha d'estar més baix que el text */
.np_sec:nth-child(odd) .np_sec_img { padding-top: 60px; }
.np_sec:nth-child(odd) .np_sec_text { padding-top: 0; }

/* 2. SECCIONS PARELLES (Text esquerra - Imatge dreta) El text ha de tindre més margin top que la imatge */
.np_sec:nth-child(even) { flex-direction: row-reverse; }
.np_sec:nth-child(even) .np_sec_text { padding-top: 60px; }
.np_sec:nth-child(even) .np_sec_img { padding-top: 0; }

/* Estils dels blocs interns per al solapament */
.np_sec_img { width: 60%; position: relative; z-index: 2; }
.np_sec_text { width: 40%; position: relative; z-index: 1; }

.np_sec_img img { width: 100%; height: auto; display: block; }

/* Estil del requadre de text (Imatge a l'esquerra, text a la dreta) */
.np_sec_text_inner { border: 1px solid #000; padding: 50px 50px 50px 150px; margin-left: -100px; }

/* Ajust del solapament en les parelles (text a l'esquerra) */
.np_sec:nth-child(even) .np_sec_text_inner { margin-left: 0; margin-right: -100px; padding: 50px 150px 50px 50px; }

/* ALTERNANÇA: Quan la secció és parella (2, 4, 6...) */
.np_sec:nth-child(even) { flex-direction: row-reverse; }

/* Ajustem el marge negatiu quan el text està a l'esquerra */
.np_sec:nth-child(even) .np_sec_text_inner { margin-left: 0; margin-right: -100px; padding: 50px 150px 50px 50px; }

/* Estils comuns */
.np_sec_title h2 { font-size: 17px; font-weight: bold; margin: 0; }
.np_sec_content { margin-top: 20px; margin-bottom: 20px; }
.np_bt { border: 1px solid #000; width: fit-content; padding: 10px 20px; color: #000; cursor: pointer; }

/* Responsive: eliminem desplaçaments en mòbil */
@media only screen and (max-width: 768px) {
    .np_sec, .np_sec:nth-child(even) { flex-direction: column; margin-top: 40px; }
    .np_sec_img, .np_sec_text { width: 100%; padding-top: 0 !important; }
    .np_sec_text_inner, .np_sec:nth-child(even) .np_sec_text_inner { margin: 0; padding: 30px; }
}



.np_destacados{ margin:50px 0; }
	
	.np_destacados_title{ text-align:center; font-weight:200; font-size:40px; line-height:1.1; }
	.np_destacados_content{ text-align:center; width:100%; max-width:900px; margin:25px auto; }

	.item_producte_swiper{ padding:0 10px; }
		.item_producte_image{ background-color:#f9f4f0; padding:10px; }
		.item_producte_image img{ width:100%; height:auto; }

		.item_producte_title{ font-size:14px; font-weight:900; padding:0 5px; text-transform:uppercase; line-height:1; margin:10px 0; }

		.item_producte_excerpt{ font-size:13px; line-height:1; padding:0 5px; }

	.swiper_destacados{ position:relative; padding: 0 20px; }

		.swiper_destacados .swiper-wrapper{ position:relative; }

		.swiper_left{ position:absolute; position: absolute; z-index: 10; top: 50%; margin-left:-13px; cursor:pointer; }
		.swiper_right{ position:relative; position: absolute; z-index: 10; top: 50%; right:10px; cursor:pointer; }

		.prev_cats{ opacity:0; }
	    .next_cats{ opacity:0; }

@media only screen and (max-width: 768px) { 
	.np_destacados{ margin-top:30px; }
}

.nb_bt_center{ margin:30px auto; } 

.np_links{ display: flex; flex-wrap: wrap; justify-content: space-between; margin-top:70px; }
	.np_link{ width:400px; padding:10px; }

		.np_link_img img{ width:100%; height:auto; border:1px solid #ccc; }

		.np_link_title{ padding:10px; font-weight:bold; }
		.np_link_title h2{ font-size:15px; }

		.np_link_text{ padding:0 10px; }

@media only screen and (max-width: 768px) { 

	.np_links{ display: block; margin-top:50px; }
		.np_link{ width: 100%; max-width:600px; margin:auto; padding:0; }
}

.np_footer_footer{ margin-top:70px; }

	.np_footer_col{  }

	.np_footer_esq{ float:left; width:50%;  padding:0 20px; }

		.np_footer_esq .np_footer_inner{ padding:40px 230px 40px 40px; background-size: 100%; background-position:bottom; background-repeat:no-repeat; }
			.np_footer_esq_nirvel .np_footer_inner{ background-color: #FFFCD1; background-image:url('images/cursos-nirvel-professional.jpg'); }
			.np_footer_esq_levissime .np_footer_inner{ background-color: #F8F4F1; background-image:url('images/cursos-levissime.jpg'); background-size: auto 100%; }

	.np_footer_dre{ float:right; width:50%; padding:0 20px; }

		.np_footer_dre .np_footer_inner{ border:1px solid #000; padding:40px 230px 40px 40px; background-size: 100%; background-position:bottom; background-repeat:no-repeat; }
			.np_footer_dre_nirvel .np_footer_inner{ background-image:url('images/catalogo-nirvel-professional_2021-1.png'); }
			.np_footer_dre_levissime .np_footer_inner{ background-image:url('images/catalogo-levissime_2021-1.png'); }


	.np_footer_title{ font-size:25px; font-weight:bold; line-height:1.2; }
	.np_footer_text{ margin:30px 0; }


	.np_bt_catalogo{ width: fit-content; border:1px solid #000; position:relative; padding: 10px 40px 10px 20px; }
		.np_bt_catalogo_icon{ width:18px; height:19px; background-image:url('images/down.png'); position:absolute; right:10px; margin-top:0px; }


@media only screen and (max-width: 768px) { 

	.np_footer_esq{ float:none; width:100%; padding:0; }
		.np_footer_esq .np_footer_inner{ padding:30px 30px 300px 30px; }

	.np_footer_dre{ float:none; width:100%; margin-top: 40px; padding:0; }
		.np_footer_dre .np_footer_inner{ padding:30px 30px 300px 30px; }

}
/* END NIRVEL PROFESSIONAL / LEVISSIME =============================================================================== */




.pu_catalogos{ width:100%; max-width:780px; min-width: 375px; background-color:#fff; margin:auto; padding:20px; }


.lity-container{ background-color:#fff; }
.lity-content{ background-color:#fff; overflow:auto; }

.lity-content:after{ -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0) !important; box-shadow: 0 0 8px rgba(0, 0, 0, 0) !important; }



/* FORMULARI DE CONTACTE ============================================================================================== */
.form_theme_3 { font-size: 0.8em; color: #666; webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 30px 15px;  }

.form_theme_3 input[type="text"], .form_theme_3 input[type="email"], .form_theme_3 textarea, .form_theme_3 select, .form_theme_3 input[type="file"], .form_theme_3 input[type="tel"]{ 
	width: 100%; border: none; border: 1px solid #ccc; margin-bottom: 15px; margin-top: 7px; color: #000; background-color: #FFF;
	webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 8px; 
	-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

.form_theme_3 input[type='checkbox']{ margin-top: 5px; margin-left: -5px; }

.form_theme_3 textarea{ resize:none; height: 180px; font-family: 'Montserrat', sans-serif; font-size: 14px; }

.form_theme_3 .label_checkbox{ font-size: 15px; color: #1A1A1A; }

.form_theme_3 a{ color: #0091B2; }
.form_theme_3 a:hover{ text-decoration: underline; }

.form_theme_3 input[type="submit"]{  border: 1px solid #ccc; margin-top: 10px; cursor: pointer; background-color: #fff; padding:10px 20px; }

.form_theme_3 div.wpcf7-validation-errors{ 
	margin-top: 20px !important; 
	margin-left: -10px !important; 
	font-size: 14px !important; 
	border: none !important; 
	padding-top: 0 !important; 
	color: red !important;
	webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 15px;
}

.wpcf7-response-output{ margin-top: 15px; padding-left:10px; }
.screen-reader-response{ display:none; }


/* CURSOS ================================================================================================================== */
.container_cursos{ margin-top:80px; display:flex; }

	.single_cursos_left{ width:50%; }
		.single_cursos_left img{ width:100%; height:auto; }

	.single_cursos_right{ width:50%; }

		.single_cursos_title_mobile{ display:none; }
		.single_cursos_title{ font-size:40px; }
		.single_cursos_linea{  width:50px; height: 2px; background-color: #000; margin:30px 0; }


.datos_curso_menu{ border-top:1px solid #000; border-bottom:1px solid #000; padding:10px 0; margin-top:40px; }
	.datos_curso_menu_item{ display:flex; justify-content: center; }
	.datos_curso_menu_item div{ margin:0 10px; cursor:pointer; font-size:13px; }

	.datos_curso_menu_item div:hover{ opacity:.6; }

	.dcm_active{ font-weight:bold; }


.datos_cursos_items{ width:100%; max-width:900px; margin:30px auto 0 auto; }


@media only screen and (max-width: 768px) { 

	.container_cursos{ margin-top:20px; display:block; }
		.single_cursos_left{ width:100%; }
			.single_cursos_left img{ margin:15px 0; }

		.single_cursos_right{ width:100%; }
			.single_cursos_title_mobile{ display:inherit; font-size:30px; font-weight:bold; }
			.single_cursos_title{ display:none; }
			.single_cursos_linea_title{ display:none; }


	.datos_curso_menu_item div{ margin:0 7px; font-size:11px; text-align:center; }
}



/* FORMACIÓN ===================================================================================================== */
.for_bloc1{ display:flex; margin-top:70px; }

	.for_bloc1_esq{ width:40%; padding-right:30px; }
		.for_bloc1_title{ margin-top:20px; font-size:20px; }
		.for_bloc1_content{margin-top:20px; }
		.for_bloc1_bt{ width:fit-content; border:1px solid #000; padding:10px 20px; }

	.for_bloc1_dre{ width:60%; padding-left:30px; position:relative; }

		.for_bloc1_dre img{ width:100%; height:auto; }
		.for_bloc1_dre .swiper-pagination{ margin-top: 10px !important; bottom:auto !important; }
		.for_bloc1_dre .swiper-pagination-bullet-active{ background-color:#000; }


.for_bloc2{ display:flex; justify-content: space-between; margin-top:100px; }

	.for_bloc_curs{ width:49%;  padding:40px 240px 40px 40px; background-size:cover; background-position:center; }

		.for_bloc_curs_title{ font-size:20px; }
		.for_bloc_curs_texto{ margin-top:25px; }
		.for_bloc_curs_bt{ width:fit-content; border:1px solid #000; padding:10px 20px; }
		.for_bloc_curs_bt:hover{ background-color:rgba(255,255,255,.6); }


.for_bloc3{ margin:100px 0; display:flex; }

	.for_bloc3_esq{ width:50%; }
		.for_bloc3_esq_inner{ border:1px solid #000; padding:30px 130px 150px 30px; }
			.for_titulo2{ font-size:20px; margin-bottom:40px; }


	.for_bloc3_dre{ width:50%; padding-top:30px; }
		.for_bloc3_dre_inner{ display:flex; flex-wrap: wrap; margin-left:-100px; }

			.for_item{ width:48%; padding:30px; background-color:#f2f2f2; margin: 1%; }
				.for_item_title{ font-size:20px; font-weight:bold; }
				.for_item_text{ margin-top:15px; line-height:1.4; }


@media only screen and (max-width: 995px) { 
	.for_bloc2{ display:block; margin-top:50px; }

		.for_bloc_curs{ width:100%;padding:20px 240px 20px 20px; margin-bottom:20px; }
}

@media only screen and (max-width: 900px) { 

	.for_bloc3{ margin:50px 0; display:block; }

		.for_bloc3_esq{ width:100%; }
			.for_bloc3_esq_inner{ padding:20px; }


		.for_bloc3_dre{ width:100%; padding-top:30px; }
			.for_bloc3_dre_inner{ display:flex; flex-wrap: wrap; margin-left:0px; }

				.for_item{ width:48%; padding:20px; background-color:#f2f2f2; margin: 1%; }

}

@media only screen and (max-width: 768px) { 
	.for_bloc1{ display:block; margin-top:35px; }

		.for_bloc1_esq{ width:100%; padding-right:0px; }
		.for_bloc1_dre{ width:100%; padding-left:0px; margin-top:25px; }
}





#shipping_method input[type="radio"]:checked + label:before, .methods input[type="radio"]:checked + label:before {
    content: "" !important;
}

#shipping_method input[type="radio"] + label:before, .methods input[type="radio"] + label:before {
    content: "" !important;
}
