
.ct_fono_menu {
	box-sizing: border-box;
	width: 160px;
	margin: 0 auto;
	padding: 20px 0;
	overflow: hidden;
	text-align: right;
	color: #fff; 
	border: #fff 1px solid;
	top: -10px;
	position: absolute;
	z-index: 1001;
	display: block;
}
.fono_movil_menu {
	color: #fff; 
}
/* boton casita */
.home_img img {
	width: 24px; 
	height: 24px;
	padding: 0;
	margin: 0 4px 0 -10px;
}
.home_img a:hover {
	background-color: #fff;
}
.carrito_img { /* carrito de compras */
	width: 26px;
	height: 26px;
	top: 10px;
	left: 10px;
	position: absolute;
	padding: 0;
	margin: 0 10px 0 0;
	z-index: 1000;
}
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a,
#cssmenu #menu-button {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	line-height: 1;
	display: inline-block;
	position: relative;
}
.menu-button {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	line-height: 1;
	display: inline-block;
	position: relative;
	height: auto;
}
#cssmenu:after,
#cssmenu > ul:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
#cssmenu #menu-button {
	display: none;
}
#cssmenu {
	font-family: Cuprum, Open Sans Condensed, Helvetica, sans-serif; /* DISEÑO 1,2,3,4,5,6,7 */
	margin: 0;
	z-index: 999;
	text-align: center; 
	height: 46px; 
	width: auto;
}
#cssmenu.align-right > ul > li {
	float: right;
}
#cssmenu > ul > li {
	float: left;
	display: inline-block;
}
#cssmenu.align-center > ul {
	float: none;
	text-align: center;
}
#cssmenu.align-center > ul > li {
	float: none;
}
#cssmenu.align-center ul ul {
	text-align: left;
}
/********************************************** LINK PPAL MENU *****************/
#cssmenu > ul > li > a {
	text-decoration: none;
    transition: all 400ms ease;
	color: #000;
    padding: 6px 14px 6px 14px; 
	text-transform: uppercase; 
	font-size: 16px; 
	letter-spacing: 2px; 
	line-height: 20px;
}
#cssmenu > ul > li:hover > a,
#cssmenu > ul > li > a:hover,
#cssmenu > ul > li.active > a {
	transition: 0.4s;
	color: #000; 
}
#cssmenu > ul > li:hover > a {
	color: #000;
}
#cssmenu > ul > li:last-child > a {
	border-right: 0 solid #000;
}
/********************************************** FLECHA *****************/
#cssmenu > ul > li.has-sub > a {
	padding-right: 45px; 
	border-top-color: #000;
}
#cssmenu > ul > li.has-sub > a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-top-color: #000; 
	right: 17px;
	top: 14px;
}
#cssmenu > ul > li.has-sub:hover > a::after,
#cssmenu ul ul li.has-sub > a::after,
#cssmenu ul ul li.has-sub:hover > a::after {
    border-top-color: #000;
}	
#cssmenu ul ul {
	position: absolute;
	left: -9999px;
	top: 60px;
	padding-top: 15px;
	font-size: 22px;
	opacity: 0;
	-webkit-transition: top 0.2s ease, opacity 0.2s ease-in;
	-moz-transition: top 0.2s ease, opacity 0.2s ease-in;
	-ms-transition: top 0.2s ease, opacity 0.2s ease-in;
	-o-transition: top 0.2s ease, opacity 0.2s ease-in;
	transition: top 0.2s ease, opacity 0.2s ease-in;
}
#cssmenu.align-right ul ul {
	text-align: right;
}
#cssmenu.align-right > ul > li > ul::after {
	left: auto;
	right: 20px;
}
#cssmenu ul ul ul::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	top: 1px;
	left: -4px;
}
#cssmenu.align-right ul ul ul::after {
	border-right-color: transparent;
	border-left-color: #ffffff;
	left: auto;
	right: -4px;
}
#cssmenu > ul > li > ul {
	top: 120px;
}
#cssmenu > ul > li:hover > ul {
	top: 31px;
	left: 0;
	opacity: 1;
}
#cssmenu.align-right > ul > li:hover > ul {
	left: auto;
	right: 0;
}
#cssmenu ul ul ul {
	padding-top: 0;
	padding-left: 6px;
}
#cssmenu.align-right ul ul ul {
	padding-right: 6px;
}
#cssmenu ul ul > li:hover > ul {
	left: 228px; /* posicion sub sub menu, depende de ANCHO SUB MENU */
	top: 0;
	opacity: 1;
}
#cssmenu.align-right ul ul > li:hover > ul {
	left: auto;
	right: 100%;
	opacity: 1;
}
#cssmenu ul ul li a {
    text-decoration: none;
    width: 180px;               /* ANCHO SUB MENU */
    text-align: left;
    color: #000;
    transition: 0.4s;
	padding: 12px 25px; 
	background: rgba(256, 256, 256, 1);  
	margin: 0; 
	text-transform: uppercase; 
	font-size: 16px; 
	letter-spacing: 1px; 
	line-height: 20px;
}	
#cssmenu ul ul li {
    box-shadow: none;
}
#cssmenu ul ul li:first-child {
    box-shadow: none;
}
#cssmenu ul ul li:last-child {
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}
#cssmenu ul ul li a:hover {
	padding: 12px 20px 12px 30px;
}
	
/******** ANCHO ESPECIFICO SUB MENU */
.submenu_xs { width: 152px !important; }
.submenu_s { width: 180px !important; }
.submenu_m { width: 320px !important; }
.submenu_l { width: 460px !important; }
.submenu_xl { width: 520px !important; }
	
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li.active > a {
	color: #000;
	background-color: #fff;
}
#cssmenu > ul > li > ul::after {
	position: absolute;
	display: block;
}
#cssmenu ul ul li.has-sub > a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left-color: #777;
	right: 17px;
	top: 14px;
}
#cssmenu.align-right ul ul li.has-sub > a::after {
	border-left-color: transparent;
	border-right-color: #777;
	right: auto;
	left: 17px;
}
#cssmenu ul ul li.has-sub.active > a::after,
#cssmenu ul ul li.has-sub:hover > a::after {
	border-left-color: #333;
}
#cssmenu.align-right ul ul li.has-sub.active > a::after,
#cssmenu.align-right ul ul li.has-sub:hover > a::after {
	border-right-color: #333;
	border-left-color: transparent;
}

.link_menu_con_icono {
	padding: 12px 14px 34px 14px;
}
	
/****** BOTON DESTACADO *****/
.btn_destacado {
	background-color: #3393DF;
	border-radius: 4px;	
}
.btn_destacado:hover {
	background-color: #62ABE8;
}
.ct_menu_top_fijo ul li {
	height: 43px !important;
}
	
/********************************************** LINEA ROLL OVER ANIMADA ****************/
.linea_link {
	position: relative;
	text-decoration: none;
}
.linea_link::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #d52b2b;
	top: 2px;
	left: 0;
	margin: 0 0 3px 0;
	transform-origin: center;
	transform: scaleX(0);
	transition: transform 0.3s ease-in-out;
}
.linea_link:hover::before {
	transform-origin: center;
	transform: scaleX(1);
}
.linea_on::before {	
	content: '';
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #d52b2b;
	top: 2px;
	left: 0;
	margin: 0 0 3px 0;
	transform-origin: center;
	transform: scaleX(1);
	transition: transform 0.3s ease-in-out;
}

@media screen and (max-width: 1040px) {
	.linea_link::before, 
	.linea_on::before {
		display: none;
	}
	
	#cssmenu {
		background-color: #24306c;
		margin: 0;
		padding: 0;
		text-align: left;
		display: block;
		height: 46px; 
	}
	#menu-button {
		display: block;
	}
	#cssmenu > ul {
		display: none;
		background-color: #24306c;
		padding: 0;
	}
	#cssmenu > ul.open {
		display: block;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
	}
	#cssmenu.align-right > ul {
		float: none;
	}
	#cssmenu.align-center > ul {
		text-align: left;
	}
	#cssmenu > ul > li,
	#cssmenu.align-right > ul > li {
		float: none;
		display: block;  
	}
	#cssmenu > ul > li > a {
		padding-right: 0;
		padding-left: 0;
		border-right: 0;
		width: 100%;
		color: #fff;
		text-align: left; 	
		border-bottom: #152086 1px solid; /* LINEA INFERIOR CADA LINK MENU MOVIL */
	}
	#cssmenu > ul > li:hover > a {
		background: #121b6e;
		color: #fff;
		padding-right: 0;
		padding-left: 0;
	}
	#cssmenu > ul > li.active > a {
		background: #172495;
		color: #fff; 
		padding-right: 0;
		padding-left: 0;	
	}
	.linea_on {
		border-top: #000 0 solid !important;
	}
	#cssmenu #menu-button {
		display: block;
		text-decoration: none;
		font-size: 22px;
		font-weight: 100;
		color: #fff;
		padding: 11px 25px 12px 25px; 
		letter-spacing: 1px;
		cursor: pointer; 
		font-family: Cuprum; 
		background-color: #24306c;
	}
	#cssmenu #menu-button a {
		text-decoration: none;
		font-size: 22px;
		font-weight: 100;
		color: #fff;
		letter-spacing: 1px;
		cursor: pointer; 
		font-family: Cuprum; 
	}
	#cssmenu ul ul,
	#cssmenu ul li:hover > ul,
	#cssmenu > ul > li > ul,
	#cssmenu ul ul ul,
	#cssmenu ul ul li:hover > ul,
	#cssmenu.align-right ul ul,
	#cssmenu.align-right ul li:hover > ul,
	#cssmenu.align-right > ul > li > ul,
	#cssmenu.align-right ul ul ul,
	#cssmenu.align-right ul ul li:hover > ul {
		left: 0;
		right: auto;
		top: auto;
		opacity: 1;
		width: 100%;
		padding: 0;
		position: relative;
		text-align: left;
	}
	#cssmenu ul ul li {
		width: 100%;
		padding: 0;
	}
	#cssmenu ul ul li a {
		width: 100%;
		box-shadow: none;
		margin: 0; 
		padding: 8px 0 8px 0;
	}
	.submenu_xs, .submenu_s, .submenu_m, .submenu_l, .submenu_xl {
		width: 100% !important;
	}
	#cssmenu ul ul ul li a {
		padding-left: 35px;
	}
	#cssmenu ul ul ul li a:hover {
		padding-left: 40px;
	}
	#cssmenu ul ul li:first-child > a,
	#cssmenu ul ul li:last-child > a {
		border-radius: 0;
	}
	#cssmenu #menu-button::after {
		display: block;
		content: '';
		position: absolute;
		height: 3px;
		width: 22px;
		border-top: 2px solid #fff;
		border-bottom: 2px solid #fff;
		right: 25px;
		top: 18px;
	}
	#cssmenu #menu-button::before {
		display: block;
		content: '';
		position: absolute;
		height: 3px;
		width: 22px;
		border-top: 2px solid #fff;
		right: 25px;
		top: 28px;
	}
	#cssmenu > ul > li.has-sub > a::after,
	#cssmenu ul ul li.has-sub > a::after {
		display: none;
	}
	.home_img img {
		padding: 0 0 0 20px;
		width: 18px;
		height: 18px;
	}
	
	/* Span Padding Mobile */
	#cssmenu > ul > li.has-sub > a {
		padding-right: 0;
	}
	#cssmenu ul ul li a:hover {
		padding: 8px 0 8px 5px;
	}
	#cssmenu ul li a span {
		padding: 0 10px 0 20px;
		transition: 0.4s;
		width: 100%;
	}
	#cssmenu ul ul li a span {
		padding: 0 10px 0 30px;
		transition: 0.4s;
		width: 90%;
		display: block;
	}
	#cssmenu ul ul li a:hover span {
		padding: 0 10px 0 30px;
		width: 90%;
	}
}

/************************ MEGA MENU IA FEDEVELA 2025 3 *********************************/

.mega_menu {
    position: absolute;
    width: 80vw;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 102px;
    margin-right: 0;
    max-width: 1800px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 1.0);
    padding: 20px 40px;
    padding-top: 14px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    display: none;
    text-align: left;
    top: 100%;
}
#cssmenu > ul > li:hover .mega_menu, .mega_menu:hover {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.mega_menu div {							
    flex: 0 0 16.66%; /* 6 elementos por fila en pantallas grandes */
    margin-bottom: 15px;
    padding: 0;
    box-sizing: border-box;
    min-width: 160px; /* evitar elementos demasiado estrechos */
}
.mega_menu div a {
    display: block;
    text-decoration: none;
    color: #000;
    padding: 8px 10px !important;
    transition: all 0.3s ease;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    white-space: nowrap;
    width: 100%; 
    height: 100%; 
    box-sizing: border-box; 
}
.mega_menu div a:hover {
    background-color: #d6d9d8;
    padding-left: 15px !important;
}
.mega_menu_link {
    padding-bottom: 3px !important; /* distancia link ppal a megamenu */
}
@media screen and (max-width: 1240px) {
    .mega_menu div {
        flex: 0 0 20%;
    }
}
@media screen and (max-width: 960px) {
    .mega_menu div {
        flex: 0 0 25%;
    }
}
@media screen and (max-width: 1040px) {
    .mega_menu {
        position: static;
        width: 100%;
        left: 0;
        transform: none;
        display: block;
        padding: 0;
        margin: 0;
        box-shadow: none;
        background-color: #FFF;
    }
    .mega_menu div {
        flex: 0 0 100%;
        margin-bottom: 0;
        padding: 0;
        margin-left: 20px;
    }
    .mega_menu div a {
        color: #000;
        white-space: normal;
        padding: 12px 10px !important;
    }
    .mega_menu div a:hover {
        background-color: #FFF;
    }
    .mega_menu div a span {
        padding: 0 !important;
    }
    #cssmenu > ul > li:hover .mega_menu {
        display: block;
    }
    .mega_menu_link {
        padding-bottom: 0 !important;
    }
}