/* Resets
--------------------------------------------------------------------------------*/

ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input {
    margin: 0;
    padding: 0;
}

/* Restablecer efectos para todas las imágenes */
img {
  border-radius: 0;
  opacity: 1;
  box-shadow: none;
  transition: none;
}

/* Aplica efectos solo a las imágenes dentro de enlaces que contienen un href, excluyendo el logo */
a[href] img:not(#logo img) {
  border-radius: 8px; /* Ajusta a tus preferencias */
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease, box-shadow 0.3s ease;
}

/* Efecto hover solo para imágenes dentro de enlaces que contienen un href, excluyendo el logo y otras clases específicas */
a[href]:hover img:not(#logo img):not(.card img):not(.img-nohover):not(.banner-imagen) {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.5);
  transform: scale(1.01);
  filter: brightness(1.1);
  opacity: 0.7;
}

/* Estilo para el enlace del logo específico */
#logo img {
  box-shadow: none;
  opacity: 1;
  filter: none;
  transition: none;
}

a {
color: #7b7b7b;
text-decoration: none;
}

a:hover {
color: auto;
text-decoration: none;
}

/* General Styling and Structure
--------------------------------------------------------------------------------*/

body {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #666666;
    margin-top: 5px;
	background: #f4f4f4;
}

h1 {
  font-family: 'Roboto', sans-serif;
  white-space: nowrap;
  font-size: clamp(24px, 4vw, 26px);
  font-weight: 700;
  margin-top: 8px;
  padding: 2px 0px 1px;
  line-height: 1.2;
  text-transform:none;
  color: #424242;	
}

h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 23;
  font-weight: 700;
  margin-top: 10px;
  padding: 2px 0px 3px;
  line-height: 1.2;
  text-transform:none;
  color: #424242;
}

h3 {
  font-family: 'Roboto', sans-serif;
  font-size: 20;
  font-weight: 800;
  margin: 0;
  padding: 2px 0px 1px;
  line-height: 1.2;
  text-transform:none;
  color: #424242;
}

h4 {
    font-size: 16px;
    margin: 0;
    padding: 10px 0px 1px;
    line-height: 1.2;
	font-family: 'Inter', Arial, Helvetica, sans-serif;
	font-weight: 700;
	text-transform: none;
    color: #424242;
}

#content h2{
	 color: auto;
}

p {
    font-size: 14px; /* Ajusta según el diseño general */
    line-height: 1.4; /* Buena legibilidad */
    margin: 2px 0 3px; /* Espacio entre párrafos */
    padding: 5px 0; /* Espacio interno, ajustable según sea necesario */
}

#content p {
	 color: auto;
}

p a {
	color: auto;
}

p a:hover {
	color: auto;
}
 
#content abbr {
	 border-bottom: 1px dotted #8f8f8f;
}

.container{
	max-width:1280px;
	margin:0 auto;
}
blockquote {
	font-style:italic;
	border-left:4px solid #7b7b7b;
	margin:10px 0 10px 0;
	padding-left:20px;
	line-height:1.2;
	color:#999;
}

#icontent{
	border:none !important;
}

#header-wrap,
#topnav-wrap,
#banner-wrap {
  width: 100%;/* se mantiene estirado en toda la pantalla */
}
#main-wrap .container {
  max-width: 1280px;   /* contenido centrado */
  margin: 0 auto;      /* centrado horizontalmente */
}
#footer-wrap,
#header-wrap{
	background:#f4f4f4;
}

/* Header
--------------------------------------------------------------------------------*/

#header {
	border-collapse: collapse;
	border-spacing: 0;
	width:1%;
	height:1px;
	margin:0;
}
#header table {
   border-collapse: collapse;
   border-spacing: 0;
}

#header td {
   vertical-align: middle;
   text-align: left;
}

#logo {
   padding:5px 0;
}
#logo, #logo a{
	font-size: 40px;
	color: #252525;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	line-height:.3;
	font-weight:bold;
}
#logo a:hover{
	color:#252525;
	text-decoration:none;
}

#header-right {
   padding: 5px 0 0 5px;
}

#header-right table {
   width: 1px;
   float:right;
}

#header-right td {
 padding: 0;
 text-align:right;
}

#header-right a {
    color: #7b7b7b;
}

#header-right a:hover {
    color: #4c4c4c;
}

/* TOP RIGHT: Phone Number
--------------------------------------------------------------------------------*/
#header-right .phone-number {
	padding:0 0 0px;
}
#header-right .phone-number .wsite-text{
	display:block;
	white-space:nowrap;
	color: #a7a7a8; 
	font-size: 14px; 
	font-weight:bold;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	margin:0;
	text-decoration:none;
}

/* TOP RIGHT: Social Links
--------------------------------------------------------------------------------*/
#header-wrap .social{
	clear:right;
	float:right;
	margin:7px 0;
}
#header-wrap .wsite-social{
    margin: 0;
}

.wsite-social-item {
	width: 25px;
	height: 25px;
	margin: 0 0 0 1px;
	background-image:url(social-no-.png);
}

.wsite-social-facebook {background-position:0 0;}
	.wsite-social-facebook:hover {background-position:0 -25px;}
	.wsite-social-facebook:active {background-position:0 -50px;}
.wsite-social-pinterest {background-position:-25px 0;}
	.wsite-social-pinterest:hover {background-position:-25px -25px;}
	.wsite-social-pinterest:active {background-position:-25px -50px;}
.wsite-social-twitter {background-position:-50px 0;}
	.wsite-social-twitter:hover {background-position:-50px -25px;}
	.wsite-social-twitter:active {background-position:-50px -50px;}
.wsite-social-linkedin {background-position:-75px 0;}
	.wsite-social-linkedin:hover {background-position:-75px -25px;}
	.wsite-social-linkedin:active {background-position:-75px -50px;}
.wsite-social-mail {background-position:-100px 0;}
	.wsite-social-mail:hover {background-position:-100px -25px;}
	.wsite-social-mail:active {background-position:-100px -50px;}
.wsite-social-rss {background-position:-125px 0;}
	.wsite-social-rss:hover {background-position:-125px -25px;}
	.wsite-social-rss:active {background-position:-125px -50px;}
.wsite-social-flickr {background-position:-150px 0;}
	.wsite-social-flickr:hover {background-position:-150px -25px;}
	.wsite-social-flickr:active {background-position:-150px -50px;}
.wsite-social-plus {background-position:-175px 0;}
	.wsite-social-plus:hover {background-position:-175px -25px;}
	.wsite-social-plus:active {background-position:-175px -50px;}
.wsite-social-vimeo {background-position:-200px 0;}
	.wsite-social-vimeo:hover {background-position:-200px -25px;}
	.wsite-social-vimeo:active {background-position:-200px -50px;}
.wsite-social-yahoo {background-position:-225px 0;}
	.wsite-social-yahoo:hover {background-position:-225px -25px;}
	.wsite-social-yahoo:active {background-position:-225px -50px;}
.wsite-social-youtube {background-position:-250px 0;}
	.wsite-social-youtube:hover {background-position:-250px -25px;}
	.wsite-social-youtube:active {background-position:-250px -50px;}


/* TOP RIGHT: Search Box
--------------------------------------------------------------------------------*/
.search{
	float:right;
	width:167px;
}
.wsite-search{
    margin: 0;
}

.wsite-search-input{ 
	width:126px; 
	height:17px;
	border:none; 
	padding:7px 10px 7px !important;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	color:#a9a9a9; 
	font-size:14px;
	background:url(input-bg.png) no-repeat;
}

.wsite-search-button{ 
	position: relative; 
	width:21px; 
	height:31px; 
	color:#010101; 
	font-size:12px; 
	border: none; 
	margin: 0px; 
	padding: 0px; 
	background:url(submit-bg.png) no-repeat;
}

/* Navigation
--------------------------------------------------------------------------------*/
#topnav-wrap table{
	border-collapse: collapse;
	border-spacing: 0;
	width:100%;
}
#topnav-wrap{
	border-top:1px solid #dcdcdc;
	border-bottom:1px solid #dcdcdc;	
	box-sizing:border-box;
	background:#eee url(border-bottom.png) left bottom repeat-x;
}
	#topnav-wrap td{
		padding:0;
	}
#topnav {
	clear: both;
	padding:0;
	margin:0;
	min-height:20px;
	float:left;
	/* overflow:hidden; */
}

#topnav ul {
	display: inline;
	list-style: none;
	float: left;
	min-height:20px;
	/* overflow:hidden; */
}

#topnav ul li{
	list-style: none;
	float: left;
	padding: 5px 20px 20px 0;
	list-style: none;
}
#topnav ul li a{
	float:left;
    color: #424242;
	font-size:14px;
    text-decoration: none;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
    padding: 8px 10px 1px;
	border-bottom: 2px solid transparent;
	box-sizing:border-box;
	outline:0;
	list-style-type:none;
	margin-bottom:2px;
}
#icontent #topnav ul li a{
	margin-bottom:1px;
} 
#topnav li#active a,
#topnav a:hover{
	color: #424242;
	border-bottom:2px solid #e87100;
} 

/****************************** flyout menus ******************************/

#wsite-menus .wsite-menu {
	background:#eee;
	position:relative;
	border:1px solid #dcdcdc;
	box-shadow:0 1px 3px rgba(0,0,0,0.1);
}

#wsite-menus .wsite-menu li{
	width:180px;
	float:none;
	margin:10;
	padding:0;
	background:#eee;
}
#wsite-menus .wsite-menu li a{
	float:none;
	text-transform:none;
	font-weight:normal;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	padding:13px 15px 12px;
	font-size:14px;
	width:150px;
	color:#424242;
    line-height: 1.4; 		
	border:0;
	border-bottom:1px solid #dcdcdc;
	background:#eee;
}

#wsite-menus .wsite-menu li:last-child a{
	border-bottom:none;
}
    
#wsite-menus .wsite-menu li a:hover{
	color:#fff;
	background:#ff7c01;
    }
#wsite-menus span.wsite-menu-title{
	padding:0;
}
#wsite-menus .wsite-menu-arrow{
	display:none !important;
}

/* main  */
#main-wrap{
	background:#f4f4f4;
}

#subtitle{
	font-size:20px;
	text-align:center;
	color:#6b6b6b;
	line-height:32px;
	padding:0 0 0 28px;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
}
 
#content {
	min-height: 400px;
	padding:10px 10px;
}
#icontent #content{
	padding-right:2px;
}
#banner-wrap{
	background:#f3f3f3 url(banner-wrap-bg.png) center top repeat-x;
	border-bottom:1px solid #d8d8d8;
	padding:40px 0;
}
#banner{
	overflow:hidden;
	border-bottom:4px solid #4c4c4c;
	margin:0;
}

/* PAGE TYPE: banner-tall
--------------------------------------------------------------------------------*/
.tall-header-page .wsite-header{ 
	width:1280px; 
	height:416px; 
	background:url(banner-tall.jpg) no-repeat;
}

/* PAGE TYPE: banner-short
--------------------------------------------------------------------------------*/
.short-header-page #banner-wrap{
	background:#f3f3f3 url(banner-wrap-short.jpg) center top repeat-x;
	padding:45px 0;
}
.short-header-page #subtitle{
	display:none;
}
.short-header-page .wsite-header{
	width:1280px; 
	height:173px; 
	background:url(banner-short.jpg) no-repeat;
}
.short-header-page #wraper{
	background:url(short-wrapper.png) center top no-repeat;
}
/* PAGE TYPE: no-header-banner
--------------------------------------------------------------------------------*/
.no-header-page #wraper{
	background:url(no-header-wrapper.png) center top no-repeat;
}
.no-header-page #banner{
	display:none;
}
.no-header-page #banner-wrap{
	padding:10px 0 0;
}
.no-header-page #subtitle{
	padding:10px 0 20px;
}
.no-header-page #content{
	padding-top:10px;
}


/* PAGE TYPE: banner-landing
--------------------------------------------------------------------------------*/
#banner-inner{
	background:#fff;
	border-left:1px solid #d7d7d7;
	clear:both;
	float:left;
	width:1280px;
}
#bannerleft{ 
	float: right;
	padding:0;
	position:relative;
	width:499px;
}
.landing-page .wsite-header{ 
	width:499px; 
	height:416px; 
	background:url(banner-landing.jpg) no-repeat;
}
#bannerright{ 
	float: left;
    height: 414px;
    padding: 0 25px;
    width: 411px;
	border-top:1px solid #d7d7d7;
}

#bannerright h2{ 
	color:#5e5e5e;
	font-size:24px;
	padding: 0px;
	line-height: 24px;
	text-transform:capitalize;
}
#bannerright p{
	color:#5e5e5e;
	font-size:14px;
	padding: 25px 0px 30px 0px;
	line-height: 140%;
	margin:0;
}

#bannerright .wsite-button{ 
	margin:0; 
}

.landing-banner-outer
	display: table; 
	#position: relative; 
	overflow: hidden;
}

.landing-banner-mid
	#position: absolute; 
	#top: 50%;
	display: table-cell; 
	vertical-align: middle;
}

.landing-banner-inner
	#position: relative; 
	#top: -50%;
}

/* PAGE TYPE: splash
--------------------------------------------------------------------------------*/

.splash-page #header{ 
	width:532px; 
}

.splash-page #banner{
	 width:527px; 
	 height:161px;
	 padding:6px 4px 4px 6px;  
	 background:url(banner-splash-bg.png) no-repeat; 
}

.splash-page .wsite-header{	
	width:515px; 
	height:149px; 
	background:url(banner-splash.jpg) no-repeat; 
}

.splash-page #content-container { 
	width:528px; 
}

.splash-page #content{ 
	width:528px; 
}

.splash-page #footer{
	width:524px;
}
 	
/* Footer
--------------------------------------------------------------------------------*/
#footer-wrap{
	width: 100%; 
	background:#dfdfdf url(footer-arrow.png) center top no-repeat;
	padding:30px 0 20px;
}
#footer{
	max-width: 1280px;
    margin: 0 auto;	
	padding:0;
	font-size:13px;
	color:#000;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	text-align:right;
	position:relative;
}

#footer .wsite-form-container {margin-top:0 !important;}

#footer p{
	color: #9b9a9a;
}

#footer a{
	color: #bbb;
}

#footer blockquote {
	border-left:4px solid #555;
	color:#777;
}


#footer a:hover{
	color: #ffffff;
	text-decoration:none;
}
#footer h2{
	font-size:14px;
	border-bottom:1px solid #434343;
    margin: 0;
    padding: .6em 0;
    line-height: 1;
	font-weight:bold;
	color:#ffffff;
	text-transform:uppercase;
}
#footer span{
	vertical-align:middle;
}

#footer .wsite-multicol{
	text-align:left !important;
}
#footer .wsite-form-field{
	width:296px !important;
}
#footer .wsite-form-input-container .wsite-form-input{
	width:286px !important;
}
#footer .wsite-form-input-container.wsite-form-left .wsite-form-input{
	width:113px !important;
}
#footer .wsite-form-input-container.wsite-form-right .wsite-form-input{
	width:152px !important;
}
#footer .wsite-form-field textarea{
	width:288px !important;
	overflow:auto;
}


/* Form Customization
--------------------------------------------------------------------------------*/

.wsite-form-container {
    border: 1px solid #dcdcdc;
	border-radius: 0px;	
    font-family: Roboto;
    padding: 15px 15px 8px;
    background-color: #fff6ed;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    }
	
.wsite-form-label {
    display: inline-block;
    color: #666666;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
    font-size: 1em;
    padding: 3px 0px 5px 0px;
    }
    
.form-radio-container {
    color: #666666;
    font-size: 1em;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
    }
    
.wsite-form-input, .wsite-search-element-input {
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	font-size:1em;
    color: #666666;
	background:#fff url(field.png) repeat-x;
    border: 2px solid #d7d7d7;
	padding:8px 4px 5px !important;
	line-height:1;
    }
    
.form-select {
    color: #666666;
    border: 1px solid #d7d7d7;
	font-size:1em;
	background:#fff url(field.png) repeat-x;
	font-family: 'Proxima Nova', 'Myriad Pro', Arial, Helvetica, sans-serif;
	padding:3px 4px;
	height:27px;
	line-height:27px;
	background:url#fff (field.png);
    }

/* Buttons
--------------------------------------------------------------------------------*/
.wsite-button {
	color: #e87100 !important;
	font-family: Helvetica, Arial, sans-serif;
    height: 31px;
    display: inline-block;
	border-radius: 8px;
    border: 1px solid #e87100;	
	font-size: 16px !important;
    text-decoration: none;
	text-align: center;
    padding: 3px 20px;
	background: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease-in-out;
    }
 
.wsite-button:hover {
	background: #ff7c01;
	color: #fff !important;	
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
	transform: scale(1.01); /* Aumenta un poco el tamaño al pasar el mouse */	
    }

.wsite-button:active {
	background: #cc5a00;
    }
    
.wsite-button-inner {
    height: 31px;
    line-height: 31px;
    display: block;
    text-decoration: none;
	font-weight: normal;
    padding: 0;
	background: none;
	transition: all 0.3s ease-in-out;
    }

.wsite-button:hover .wsite-button-inner {
	color: #fff;
    }

.wsite-button:active .wsite-button-inner {
	background:#cc5a00;
    }

/* large */
.wsite-button-large {
    height: auto;
    background: #ff7c01;
    padding: 6px 30px;
    font-size: 26px !important;
    border: none !important;		
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease-out;
    position: relative; /* necesario para que funcione ::before */
}

/* Ícono de descarga como pseudo-elemento */
.wsite-button-large::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 20px;
    width: 35px;
    height: 35px;
    transform: translateY(-50%);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12 16l-6-6h4V4h4v6h4z"/><path d="M20 18H4v2h16v-2z"/></svg>');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none;
    z-index: 2;
}

.wsite-button-large:hover {
    background: #cc5a00;
    box-shadow: 0 5px 6px rgba(0, 0, 0, 0.25);
    transform: scale(1.01);
}

.wsite-button-large:active {
    background: #a64f00;
}

/* Contenido del botón sin fondo para que no tape el ícono */
.wsite-button-large .wsite-button-inner {
    height: 48px;
    line-height: 48px;
    font-weight: bold;
    background: transparent !important;
    padding-left: 30px;
    transition: all 0.3s ease-out;
    color: #fff !important;
}

.wsite-button-large:hover .wsite-button-inner {
    background: transparent !important;
    color: #fff !important;
}

.wsite-button-large:active .wsite-button-inner {
    background: transparent !important;
    color: #fff !important;
}
  
/* highlight */

.wsite-button-large.wsite-button-highlight {
    background: #9e9e9e
}
    
.wsite-button-large.wsite-button-highlight .wsite-button-inner {
	background:#9e9e9e;
	color: #fff
    }

.wsite-button-large.wsite-button-highlight:hover .wsite-button-inner {
	background:#818181;
	color: #fff
    }

.wsite-button-highlight {
    background: #9e9e9e;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
}
	.wsite-button-highlight:hover{
		background: #818181;
	    color:#fff;
        box-shadow: 0 5px 8px rgba(0, 0, 0, 0.4);
        transform: scale(1.02); /* Aumenta un poco el tamaño al pasar el mouse */
	}

.wsite-button-highlight .wsite-button-inner {
	background:#9e9e9e;
    }
	
	/* Blog sidebar
------------------------------------------------------------*/
.blog-sidebar {
  width: 340px;
  padding-left: 20px
}

.column-blog {
  float: right; 
  width: 330px; 
  margin-top: 90px; /* Ajusta el espacio superior */
  padding: 5px 0;
  background-color: #eee;
  border: 1px solid #dcdcdc;  
}

.blog-title {
  color: #424242;
  margin: 1px 0 5px;
  font-weight: 600;
}

/* Breadcrumb*/
.breadcrumb-container {
  display: flex;
  justify-content: center;
  text-align: center;
  width: 99.8%;
  background-color: #eee;
  border: 1px solid #dcdcdc;
  margin-top: 15px; /* Margen solo arriba */
  margin-bottom: 10px; /* Elimina el margen inferior */
  padding-top: 3px; /* Espaciado interno solo arriba */
  padding-bottom: 3px; /* Sin padding inferior */
}

/* Estilo general del breadcrumb */
.breadcrumb {
  list-style: none;
  display: flex;
  flex-wrap: wrap; /* Permitir que se ajusten las líneas en pantallas más pequeñas */
  padding: 8px;
  margin: 0;
  font-size: 16px;
}

/* Espaciado entre los elementos del breadcrumb */
.breadcrumb-item {
  margin-right: 10px;
  white-space: nowrap; /* Evita que el texto se corte */
}

/* Estilo para los enlaces del breadcrumb */
.breadcrumb-item a {
  text-decoration: none;
  color: #e87100;
}

/* Efecto hover en los enlaces del breadcrumb */
.breadcrumb-item a:hover {
  text-decoration: underline;
  color: #af6219;
}

/* Estilo para el último elemento del breadcrumb */
.breadcrumb-item.active {
  color: #424242;
}

/* Separador ">" entre los elementos */
.breadcrumb-item::after {
  content: ">";
  margin-left: 10px;
}

/* Eliminar el separador en el último elemento */
.breadcrumb-item:last-child::after {
  content: "";
}

/* Ajustes para pantallas pequeñas */
@media screen and (max-width: 768px) {
  .breadcrumb {
    font-size: 14px; /* Reduce el tamaño de la fuente en móviles */
    justify-content: flex-start; /* Alinear el breadcrumb al principio en móviles */
  }

  .breadcrumb-item {
    margin-right: 8px; /* Reduce el espacio entre los elementos en móviles */
  }

  .breadcrumb-container {
    padding-top: 5px; /* Ajusta el espaciado para pantallas pequeñas */
    padding-bottom: 5px;
  }
}

@media screen and (max-width: 480px) {
  .breadcrumb {
    font-size: 12px; /* Aún más pequeño en pantallas muy pequeñas */
    justify-content: flex-start;
  }

  .breadcrumb-item {
    margin-right: 6px; /* Menos espacio en pantallas muy pequeñas */
  }
}

/* menu horizontal */
.menu-horizontal {
  padding: 10px 0px 10px;
  border: 1px solid #dcdcdc;
  margin-bottom: 10px;
  margin-top: 0px;
  text-align: center; /* Centra los botones horizontalmente */
  background-color: #eee;
}

.menu-horizontal a {
  display: inline-block; /* Asegura que los enlaces se comporten como elementos en línea */
  text-align: center;
  font-size: 16px;
  color: #e87100;
  padding: 8px 8px;
  border: 1px solid #e87100;
  margin: 3px 1px;
  border-radius: 5px;
  transition: all 0.2s ease-in-out;
  background-color: #fff6ed; /* Fondo del botón */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  font-weight: normal;
}

.menu-horizontal a:hover {
  background-color: #ff7c01;
  color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  transform: scale(1.01); /* Aumenta un poco el tamaño al pasar el mouse */
}

.menu-horizontal a:active {
  background-color: #cc5a00 !important; /* Color de fondo gris */
  border-color: #e87100 !important; /* Color de borde gris */
}

.menu-horizontal a.disabled-button {
  color: gray;
  background-color: #eee;
  border-color: gray;
  pointer-events: none; /* Desactiva el clic */
  box-shadow: none; /* Elimina la sombra */  
}

/* Card */
.card {
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: #fff6ed;
  margin: 10px 10px;
  padding: 0 0 5px; /* Para reducir el tamaño visual de la tarjeta */
  text-align: center; /* Añade esto para centrar contenido, incluido el botón */
}

.card:hover {
  transform: scale(1.01); /* Aumenta ligeramente el tamaño al pasar el mouse */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra más pronunciada */
}

.card img {
  width: 100%;
  height: auto;
  display: block;
}

.titlecard {
  text-align: center;
  padding: 10px 10px 2px;
  font-size: 18px;
  font-weight: bold;
  color: #424242;
  margin: 0;
  transition: color 0.3s ease; /* Efecto suave para el cambio de color */
}

.descriptioncard {
  color: #555; /* Gris oscuro para menor contraste */
  padding: 3px 15px 5px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4em;
}

.titlecard:hover {
  color: #af6219;
  text-decoration: underline;

}

/* Elimina los efectos para imágenes dentro de .card */
.card a > img {
  border-radius: 0 !important; /* Sin borde redondeado */
  box-shadow: none !important; /* Sin sombra adicional */
  transition: none; /* Sin transición */
}

/* CTA button */
.cta-button {
  display: inline-block;
  background-color: #ffc439;
  color: #000;
  font-weight: bold;
  text-align: center;
  padding: 10px 18px;
  margin: 1px auto 4px;
  border-radius: 8px;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
}
.cta-button:hover {
  background-color: #f2ba36;
  transform: scale(1.01);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}
.cta-button:active {
  background-color: #d1a130;
}

/* Custom Paypal button */
.custom-paypal-button {
  display: inline-block;
  background-color: #ffc439;
  color: #000;
  font-weight: bold;
  text-align: center;
  padding: 10px 18px;
  margin: 1px auto 4px;
  border-radius: 8px;
  font-size: 18px;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
}
.custom-paypal-button:hover {
  background-color: #f2ba36;
  transform: scale(1.01);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
}
.custom-paypal-button:active {
  background-color: #d1a130;
}

/* Recuadro */
.recuadro {
  background-color: #e9e9e9;
  padding: 0px 15px 5px;
  margin: 5px 0px 0px;
  border: 1px solid #dcdcdc;  
}

/* Sidebar */
.descargas-page #main {
  display: flex;
  justify-content: space-between; /* Añade espacio entre el contenido y el sidebar */
}

.descargas-page #content {
  width: calc(100% - 340px); /* El contenido ocupará el espacio restante menos 320px (300px del sidebar + 20px de margen) */
  padding-right: 20px; /* Espacio entre el contenido y el sidebar */
}

.descargas-page #sidebar {
  width: 310px; /* Sidebar con un ancho fijo de 300px */
  margin-top: 1px; /* Ajusta el espacio superior */
  padding: 5px;
  background-color: #eee;
  border-top: none;
  border-bottom: none;
  border-left: 1px solid #dcdcdc;
  border-right: 1px solid #dcdcdc;  
}

@media screen and (max-width: 768px) {
  .descargas-page #main {
    flex-direction: column;
  }

  .descargas-page #sidebar {
    width: 100%; /* El sidebar ocupará el 100% del ancho en pantallas pequeñas */
    padding-left: 0;
    margin-top: 20px;
  }
}

/* Estilos para la sección de artículos relacionados */
#related-articles-section {
  margin-top: 20px;
  padding: 10px 15px 10px;
  background-color: #eee;
  border: 1px solid #dcdcdc;
}

#related-articles-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* Distribuye los artículos de manera uniforme */
}

.related-articles-title {
  font-size: 18px;
  margin-bottom: 1px; /* Añade más espacio debajo del título */
  margin-top: 5px;
  color: #424242;
  text-align: center;
}

.related-article {
  width: 32%; /* Ancho del 32% para tres artículos por fila en pantallas grandes */
  margin-bottom: 10px;
  position: relative;
}

.related-article img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; /* Mantén la relación de aspecto sin deformar las imágenes */
  margin-top: 15px;
  box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.related-article img:hover {
  box-shadow: 4px 8px 12px rgba(0, 0, 0, 0.3);
  transform: translateY(-3px);
}

.related-article h4 {
  color: #666;
  font-size: 13px;
  margin-top: 0px;
  text-align: center;
  font-weight: normal;
}

.related-article h4:hover {
  color: #666;
}

@media screen and (max-width: 768px) {
  .related-article {
    width: 48%; /* En pantallas pequeñas, dos artículos por fila */
  }
}

@media screen and (max-width: 480px) {
  .related-article {
    width: 100%; /* En móviles, los artículos ocuparán el 100% del ancho */
  }
}

/* ===== Menu Sidebar (versión Weebly compatible, sin gap) ===== */
.menu-sidebar{
  border-bottom:1px solid #dcdcdc;
  border-top:1px solid #dcdcdc;
  padding:10px 8px 10px;
  margin:20px 0 20px;
}

.menu-sidebar h3{
  text-align:center;
  font-size:16px;
  margin:5px 15px 5px;
  font-weight:600;
  color:#424242;
}

.menu-sidebar ul{list-style:none;padding-left:0;margin:0;}
.menu-sidebar li{margin:0;}

/* Enlaces: icono + texto + (+/-) */
.menu-sidebar a{
  display:flex;                  /* contenedor flexible */
  align-items:center;
  text-align:left;
  font-size:16px;
  min-height:30px;
  line-height:1;
  color:#e87100;
  padding:5px 20px;
  text-decoration:none;
  border:1px solid #e87100;
  margin-bottom:6px;
  border-radius:5px;
  transition:all .2s ease-in-out;
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}

/* Contenedor del icono */
.menu-sidebar .icon{
  display:inline-flex;
  width:20px;height:20px;line-height:0;
  margin-right:8px;              /* reemplaza gap */
}

/* El SVG hereda el color del enlace */
.menu-sidebar .icon svg{display:block;width:20px;height:20px;fill:currentColor}

/* Hover general */
.menu-sidebar a:hover{
  background-color:#ff7c01;
  color:#fff;                    /* el SVG pasa a blanco */
  box-shadow:0 3px 6px rgba(0,0,0,.2);
  transform:scale(1.01);
}
.menu-sidebar a:active{background-color:#cc5a00;border:1px solid #e87100}

/* ===== Jerarquía ===== */
/* Pilares con acordeón */
.menu-sidebar>ul>li>a{font-weight:normal;background-color:#fff6ed}
.menu-sidebar>ul>li>a[aria-expanded="true"]{background-color:#fff1e1}

/* Subcategorías (sin iconos) */
.menu-sidebar .subcategories{display:none;padding-left:0;margin-left:20px;border-left:none}
.menu-sidebar .subcategories li a{
  font-weight:normal;background-color:#fff1e1;border:1px solid #e87100;
  box-shadow:0 1px 3px rgba(0,0,0,.2);font-size:15px
}
.menu-sidebar .subcategories li a:hover{background-color:#ff7c01;color:#fff}

/* (+/-) a la derecha con flex */
.menu-sidebar .toggle-subcategories .toggle-icon{
  margin-left:auto;              /* empuja a la derecha */
  font-weight:800;font-size:16px;letter-spacing:1px;color:#e87100;transition:color .2s
  line-height:1;padding-left:8px
}
.menu-sidebar>ul>li>a:hover .toggle-icon,
.menu-sidebar .toggle-subcategories:hover .toggle-icon{color:#fff !important}

/* Opcional: compactar en móvil */
@media (max-width:480px){
  .menu-sidebar .icon{display:none}
}

/* Pilar ABIERTO en hover: mantener naranja */
.menu-sidebar > ul > li > a[aria-expanded="true"]:hover{
  color:#e87100;                /* texto naranja */
  background-color:#fff1e1;     /* mismo fondo de abierto */
  box-shadow:0 1px 3px rgba(0,0,0,.2);
  transform:none;               /* sin zoom */
}

/* (+/-) en pilar ABIERTO durante hover: naranja también */
.menu-sidebar > ul > li > a[aria-expanded="true"]:hover .toggle-icon{
  color:#e87100 !important;     /* sobreescribe el !important previo */
}


/* Diseño del contenedor del menú */
.menu-group {
  margin-top: 15px;
}

/* Título de cada grupo */
.group-title {
  font-size: 20px;
  color: #424242;
  text-align: center;
  margin: 0 0 10px;
  font-weight: bold;
  background-color: #eee;
  border: 1px solid #dcdcdc;
  padding: 8px 15px;
}

/* Diseño del contenedor de ítems */
.menu-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 5 columnas en escritorio */
  padding: 2px 1px 10px;
  margin: 0 0 5px;
}

.menu-grid-muebles {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 5 columnas en escritorio */
  padding: 5px 8px 10px;
  margin: 0 0 5px;
}

/* Diseño individual de cada ítem */
.menu-item {
  background-color: #fff2e5;
  border: 1px solid #e87100;
  border-radius: 10px;
  padding: 1px 8px 1px;
  transition: all 0.2s ease-out;
  min-height: 100px;
  text-align: center;
  margin: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);  
  display: flex;
  flex-direction: column;
}

/* Hover y active */
.menu-item:hover {
  background-color: #ff7c01;
  color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transform: scale(1.02); /* Aumenta un poco el tamaño al pasar el mouse */
}
.menu-item:active {
  background-color: #cc5a00;
}

/* Hover del texto */
.menu-item:hover .menu-title,
.menu-item:hover .menu-description {
  color: #fff;
}

/* Estilo general del título con ícono */
.menu-title {
  display: block; /* ← Elimina la estructura en columna */
  color: #e87100;
  font-size: 20px;
  text-transform: none;
  font-weight: 700;
  text-align: center;
  padding: 8px 1px 0px;  
}

.menu-title:hover {
  color: #fff;
}

.menu-card svg {
  width: 35px;
  height: 35px;
  fill: #e87100;       /* Color naranja */
  display: block;
  margin: 0 auto 1px; /* Centrado y separación inferior */
}

.menu-card:hover svg {
  fill: #fff;
}

/* Descripción dentro del ítem */
.menu-description {
  font-size: 12px;
  color: #e87100;
  flex-grow: 1;
  transition: color 0.3s ease;
  line-height: 1.2 !important;
}
.menu-description:hover {
  color: #fff;
}

/* Responsivo */
@media screen and (max-width: 1200px) {
  .menu-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 900px) {
  .menu-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .menu-grid {
    grid-template-columns: 1fr;
  }
}

/* Recommended Articles Sidebar Sin Imagen */
.recommended-articles {
  padding: 5px;
  margin: 20px 5px 20px;
}

.recommended-articles h3 {
  font-size: 16px;
  color: #424242;
  margin-bottom: 10px;
  font-weight: 600;
  text-transform: none;
  text-align: center;
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 5px;
}

.recommended-articles ul {
  list-style: none; /* Sin bullets */
  padding-left: 0;
  margin: 0;
}

.recommended-articles ul li {
  margin-bottom: 6px;
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 6px;
}

.recommended-articles ul li:last-child {
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 8px;
  margin-bottom: 0;
}

.recommended-articles ul li a {
  text-decoration: none;
  color: #e87100;
  font-size: 13px;
  font-weight: normal;
  transition: color 0.3s ease;
  display: block;
}

.recommended-articles ul li a:hover {
  color: #a95404;
  text-decoration: underline;
}

/* Recommended content Sidebar con Imagen */
.recommended-content .card {
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  margin-bottom: 30px;
  text-align: left;
  background-color: #fff2e5;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.recommended-content h3 {
  font-size: 16px;
  color: #333;
  margin-top: 30px;
  margin-bottom: 5px;
  font-weight: 600;
  text-transform: none;
  text-align: center;
  padding-bottom: 5px;
  border-top: 1px solid #c7c7c7;
}

.recommended-content .card img {
  width: 100%;
  border-radius: 8px;
}

.recommended-content .titlecard {
  font-size: 18px;
  margin: 5px 0 2px;
  color: #333;
}

.recommended-content .descriptioncard {
  font-size: 14px;
  color: #666;
}

.recommended-content .titlecard:hover {
  text-decoration: underline;
}

/* Sección de artículos recomendados en formato horizontal */
.recommended-wrapper {
  max-width: 1280px;
  margin: 0 auto; /* Centra el contenedor horizontalmente */
  padding: 0 15px; /* Espaciado opcional */
  border-top: 1px solid #c7c7c7;
}

.recommended-section-horizontal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 20px;
}

/* Estilo para el título de "Artículos Recomendados" */
.recommended-title {
  font-size: 16px;
  font-weight: 500;
  color: #424242;
  margin: 20px 10px 5px;
  padding: 20px 10px 5px;  
  text-align: left;
}

.recommended-section-horizontal .card {
  flex: 1 1 22%; /* Cada tarjeta ocupa aproximadamente una cuarta parte del ancho */
  border: 1px solid #c7c7c7;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: #fff2e5;
  text-align: center;
  padding: 0 0;
  margin: 0 20px 20px 0; /* Espacio entre tarjetas horizontal y vertical */
}

.recommended-section-horizontal .card:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
}

.recommended-section-horizontal .card img {
  width: 100%;
  height: auto;
  border-bottom: 1px solid #c7c7c7;
}

.recommended-section-horizontal .titlecard {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin: 5px 0;
}

.recommended-section-horizontal .descriptioncard {
  color: #555;
  font-size: 14px;
  line-height: 1.4em;
  padding: 0 10px 10px;
}

.recommended-section-horizontal .titlecard:hover {
  text-decoration: underline;
}

/* Ajustes para pantallas pequeñas */
@media screen and (max-width: 768px) {
  .recommended-section-horizontal {
    flex-direction: column;
  }
  .recommended-section-horizontal .card {
    flex: 1 1 100%;
    margin: 0 0 20px 0;
  }
}

/* Paginacion */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 8px;
  background-color: #eee;
  border: 1px solid #dcdcdc;
  margin: 5px 0 10px;
}

.pagination a {
  margin: 0 5px;
  padding: 10px 15px;
  text-decoration: none;
  color: #e87100;
  border: 1px solid #e87100;
  border-radius: 5px;
  background-color: #fff6ed;  
  transition: all 0.2s ease-in-out;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);  
}

.pagination a:hover {
  background-color: #ff7c01;
  color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  transform: scale(1.01); /* Aumenta un poco el tamaño al pasar el mouse */
}

.pagination a:active {
  background: #cc5a00;
  color: #fff;
  border: 1px solid #e87100;
}

.pagination a.disabled-button {
  color: gray;
  background-color: #eee; /* Fondo ligeramente gris */
  border-color: gray;
  pointer-events: none; /* Desactiva el clic */
  box-shadow: none; /* Elimina la sombra */
}

/* Boton sencillo claro */
.button-text {
    padding: 1px 10px 10px; /* Espaciado reducido */
}

.button-text a {
    display: inline-block;
    text-align: left;
    font-size: 16px; /* Reducido pero legible */
    color: #e87100;
    padding: 8px 20px; /* Ajustado para más espacio a la derecha y compacto */
    text-decoration: none;
    border: 1px solid #e87100;
    margin-bottom: 8px;
    border-radius: 8px;
    transition: all 0.3s ease;
    background-color: #fff2e5; /* Fondo del botón */
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

.button-text a:hover {
    background-color: #ff7c01;
    color: white;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
	transform: scale(1.01); /* Aumenta un poco el tamaño al pasar el mouse */
}

/* Boton sencillo gris */
.button-text-gray {
    padding: 1px 10px 20px; /* Espaciado reducido */
}

.button-text-gray a {
    display: inline-block;
    text-align: left;
    font-size: 16px; /* Reducido pero legible */
    color: #e87100;
    padding: 8px 30px; /* Ajustado para más espacio a la derecha y compacto */
    text-decoration: none;
    font-weight: normal;	
    margin-bottom: 8px;
	border: 1px solid #e87100;
    border-radius: 8px;
    transition: all 0.3s ease;
    background-color: none; /* Fondo del botón */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.button-text-gray a:hover {
    background-color: #ff7c01;
    color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
	transform: scale(1.01); /* Aumenta un poco el tamaño al pasar el mouse */
}

.button-text-gray a:active {
    background-color: #cc5a00;
}

/* Contador */
.countdown-container {
    text-align: center;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    margin: 5px 0;
}

.countdown-title {
    font-size: 1.0rem;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.countdown-timer {
    font-size: 1.5rem;
    font-weight: bold;
    color: #d9534f;
}

/* Quita efectos hover y cursor en la imagen del banner */
.img-nohover {
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  border-radius: 0 !important;
}

/* DWG INFO */

.dwg-info {
  text-align: center;
  font-size: 14px;
  margin: 0 0;
}

.dwg-label {
  margin-right: 5px;
}

/* === BANNER ANCLA – SOLO VARIANTE E === */

#banner-ancla-horizontal-E {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #ffc025;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  font-family: sans-serif;
  background: #212932;
}

.banner-ancla-titulo-E {
  font-size: 20px;
  font-weight: bold;
  color: #f4f4f4;
  margin-bottom: 4px;
}

.banner-ancla-descripcion-E {
  font-size: 15px;
  line-height: 1.4;
  color: #bebebe;
}

.banner-ancla-cerrar-E {
  font-size: 20px;
  cursor: pointer;
  color: #f4f4f4;
  padding: 0 15px;
}

.banner-ancla-cerrar-E:hover {
  color: #bebebe;
  transform: scale(1.2);
}

/* Banner común */
.banner-ancla-contenido {
  max-width: 1000px;
  margin: 0 auto;
  padding: 5px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  min-height: 90px;
  height: auto;
}

.banner-ancla-enlace {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.banner-ancla-enlace:hover .banner-ancla-titulo-E,
.banner-ancla-enlace:hover .banner-ancla-descripcion-E {
  text-decoration: none;
}

.banner-ancla-contenido > *:not(:last-child) {
  margin-right: 10px;
}

#banner-ancla-horizontal-E img {
  height: 90px;
  max-height: 90px;
  width: auto;
  margin-right: 30px;
  flex-shrink: 0;
}

.banner-ancla-texto {
  flex: 1;
  min-width: 240px;
}

.banner-ancla-boton {
  display: inline-flex;
  align-items: center;
  background-color: #ffc025;
  color: #000;
  text-decoration: none;
  padding: 15px 20px;
  font-weight: bold;
  border-radius: 8px;
  font-size: 16px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  transition: all 0.3s ease-in-out;
}

.banner-ancla-boton:hover {
  background-color: #e0aa08;
  transform: scale(1.01);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

.banner-ancla-boton:active {
  background-color: #d1a130;
}

/* MÓVIL – Banner Ancla E */

@media screen and (max-width: 768px) {
  #banner-ancla-horizontal-E {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
  }

  .banner-ancla-contenido {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 10px !important;
  }

  .banner-ancla-enlace {
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 10px !important;
  }

  .banner-ancla-boton {
    width: 100% !important;
    justify-content: center !important;
  }

  #banner-ancla-horizontal-E img {
    height: 60px !important;
    margin: 0 0 10px 0 !important;
  }

  .banner-ancla-texto {
    width: 100% !important;
    min-width: auto !important;
    margin-bottom: 10px !important;
  }
}

/* === SIDEBAR – SOLO VARIANTE E === */
.banner-bloques-E {
  background-color: #fff6ed;
  border-radius: 0px;
  border: 1px solid #dcdcdc;
  text-align: center;
  padding: 0 0 15px;
  max-width: 400px;
  margin: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  font-family: Arial, sans-serif;
  margin-bottom: 20px;
}

.banner-imagen {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border-radius: 0 !important;
  transform: none !important;
  box-shadow: none !important;
}

.banner-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.banner-titulo-E {
  font-size: 18px;
  font-weight: bold;
  color: #424242;
  margin: 10px 8px 4px;
}

.banner-descripcion-E {
  font-size: 14px;
  color: #424242;
  margin: 3px 8px 5px;
}

.banner-oferta-E {
  display: block;
  font-size: 12px;
  color: #424242;
  margin-bottom: 0px;
}

.banner-boton {
  background-color: #ffc107;
  color: #000;
  font-weight: bold;
  font-size: 16px;
  text-decoration: none;
  padding: 14px 12px 10px;
  margin: 0 15px 15px;
  width: auto;
  display: block;
  border-radius: 6px;
  box-sizing: border-box;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease-in-out;
}

.banner-boton:hover {
  background-color: #e0aa08;
  transform: scale(1.01);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);
}

.banner-boton:active {
  background-color: #d1a130;
}

.boton-con-icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* === CONTENEDOR SIDEBAR CATEGORIAS === */

#contenedor-dwg-sidebar-categorias-A {
  text-align: center;
}
#contenedor-dwg-sidebar-categorias-A ins.adsbygoogle {
  margin: 0 auto;
  display: inline-block;
}

/* === SIDEBAR TEST === */
.sidebar-test {
  font-family: Arial, sans-serif;
  border: 1px solid #ddd;
  padding: 10px;
  max-width: 260px;
}
.sidebar-test .category {
  margin-bottom: 12px;
}
.sidebar-test a {
  display: block;
  padding: 6px 8px;
  text-decoration: none;
  color: #424242;
}
.sidebar-test a:hover {
  background: #f2f2f2;
}
.sidebar-test .chips {
  margin: 5px 0;
}
.sidebar-test .chips a {
  background: #f2f2f2;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 13px;
  display: inline-block;
  margin: 2px 4px 2px 0; /* simula el gap */
}
.sidebar-test .accordion {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: #888;
  padding: 2px 8px;
}
.sidebar-test .panel {
  display: none;
  padding-left: 10px;
}
.sidebar-test .panel a {
  font-size: 14px;
}

/* === TABLAS MEDIDAS CATEGORÍAS — CSS FINAL === */

/* Contenedor general */
.specs{
  margin:10px 0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;
  font-size:14px;
  color:#1f2937;
}

/* Títulos */
.h2-principal{font-size:20px;margin:10px 0;font-weight:700;color:#222;}
.h2-tabla{font-size:16px;margin:10px 0;font-weight:600;color:#343a40;}

/* Accesibilidad */
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* Envuélvelo alrededor de cada tabla */
.table-wrap{
  max-width:100%;
  overflow-x:auto;           /* sólo aparece barra si es estrictamente necesario */
}

/* Tabla */
.spec-table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
  table-layout:auto;         /* las columnas se ajustan al contenido */
  background:#f9f9f9;
  border:1px solid #d1d5db;
  margin:0 0 5px;
}

/* Si hubiera <colgroup> con widths, los anulamos */
.spec-table col{ width:auto!important; }

.spec-table caption{
  text-align:left;font-weight:600;padding:5px 8px;color:#111827;
  background:none;border-bottom:1px solid #d1d5db;
}

.spec-table th,
.spec-table td{
  padding:6px 10px;
  vertical-align:top;
  border:1px solid #d1d5db;
}

/* Encabezados: no cortar palabras breves como “Fondo” */
.spec-table thead th{
  background:#eeeeee;font-weight:700;color:#111827;text-align:left;
  white-space:nowrap;         /* títulos en una sola línea */
  word-break:normal;hyphens:manual;
}

/* Celdas de datos: que el texto se ajuste y no fuerce desborde */
.spec-table tbody td{
  white-space:normal;         /* permite saltos de línea en contenido */
  overflow-wrap:anywhere;     /* corta tokens largos si hace falta */
  word-break:break-word;
  hyphens:auto;
}

/* Rayado y hover */
.spec-table tbody tr:nth-child(odd) td{ background:#f9f9f9; }
.spec-table tbody tr:hover td{ background:#fff8f1; }

/* Opcional: controla sólo 1ª y última columna para legibilidad */
.spec-table th:nth-child(1), .spec-table td:nth-child(1){ min-width:160px; max-width:300px; }
.spec-table th:nth-child(5), .spec-table td:nth-child(5){ min-width:200px; max-width:520px; }

/* Nota */
.tabla-nota{font-size:13px;color:#555;margin-top:0;font-style:italic;}

/* Responsivo */
@media (max-width:1024px){
  .spec-table th:nth-child(1), .spec-table td:nth-child(1){ max-width:260px; }
  .spec-table th:nth-child(5), .spec-table td:nth-child(5){ max-width:420px; }
}

@media (max-width:768px){
  .specs{font-size:13px;}
  .h2-principal{font-size:18px;}
  .h2-tabla{font-size:15px;}
  .spec-table th,.spec-table td{padding:6px;}
  .spec-table th:nth-child(1), .spec-table td:nth-child(1){ min-width:140px; max-width:220px; }
  .spec-table th:nth-child(5), .spec-table td:nth-child(5){ min-width:180px; max-width:360px; }
}


/* === BUSCADOR === */

.search-header {
  width: 350px;
  min-width: 350px;
  max-width: 350px;
  height: auto;
  padding: 10px 0px 10px 10px; /* arriba/abajo | izquierda/derecha */
  box-sizing: border-box;
}

.search-header .gsc-control-cse {
  width: 100% !important;
}

.search-header input.gsc-input {
  width: 100% !important;
  box-sizing: border-box;
}


/* === AD Container Descargas C === */

#ad-container-descargas-c {
    text-align: center;
    margin: 10px 0 0;
}


/* === BANNER INLINE HORIZONTAL PACK E - VERSION OPTIMIZADA === */

#banner-inline-horizontal-E {
  width: 100%;
  max-width: 1000px; 
  margin: 20px auto;
  background: #fff;
  border: 1px solid #ff8a00;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  font-family: 'Roboto', sans-serif;
  box-sizing: border-box;
  overflow: hidden;
}

#banner-inline-horizontal-E .banner-ancla-inline-E {
  max-width: 1000px;
  margin: 0 auto;
  padding: 5px 40px 5px 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-height: 96px;
  height: auto;
  box-sizing: border-box;
}

#banner-inline-horizontal-E .banner-ancla-enlace {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

#banner-inline-horizontal-E .banner-ancla-enlace:hover,
#banner-inline-horizontal-E .banner-ancla-enlace:focus {
  text-decoration: none;
  color: inherit;
}

#banner-inline-horizontal-E .banner-ancla-enlace video {
  height: 160px;
  max-height: 160px;
  width: auto;
  margin-right: 15px;
  flex-shrink: 0;
}

#banner-inline-horizontal-E .banner-ancla-texto {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-align: center;  
}

#banner-inline-horizontal-E .banner-ancla-badge-E {
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  font-weight: 400;
  color: #424242;
  padding: 5px 8px;
  margin-bottom: 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-align: center;

}

#banner-inline-horizontal-E .banner-ancla-titulo-E {
  font-size: 22px;
  font-weight: 700;
  color: #424242;
  margin-bottom: 5px;
  line-height: 1.15;
  text-align: center;  
}

#banner-inline-horizontal-E .banner-ancla-descripcion-E {
  font-size: 16px;
  line-height: 1.45;
  color: #424242;
  text-align: center;  
}

#banner-inline-horizontal-E .banner-ancla-microcopy-E {
  font-size: 14px;
  line-height: 1.3;
  color: #e87100;
  font-weight: 500;
  margin-top: 6px;
  text-align: center;  
}

#banner-inline-horizontal-E .banner-ancla-boton-inline-E {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #424242;
  color: #fff;
  text-decoration: none;
  padding: 14px 20px 12px;
  font-weight: 700;
  border-radius: 8px;
  font-size: 18px;
  line-height: 1.2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  transition: all 0.25s ease-in-out;
  flex: 0 0 auto;
  margin-left: 20px;
  text-align: center;
  min-width: 185px;
}

#banner-inline-horizontal-E .banner-ancla-boton-inline-E:hover {
  background-color: #ff7a00;
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.18);
}

#banner-inline-horizontal-E .banner-ancla-boton-inline-E:active {
  background-color: #ff7a00;
  transform: translateY(0);
}

#banner-inline-horizontal-E .banner-ancla-boton-texto-E {
  display: block;
}

#banner-inline-horizontal-E .banner-ancla-boton-micro-E {
  display: block;
  font-size: 11px;
  font-weight: 500;
  color: #fff;
  margin-top: 4px;
  line-height: 1.2;
}

.banner-ancla-arrow-E {
  margin-left: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.arrow-circle-E {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  transition: all 0.25s ease;
}

/* efecto hover tipo anuncio */
.banner-ancla-enlace:hover .arrow-circle-E {
  background: #ff7a00;
}

@media screen and (max-width: 767px) {
  #banner-inline-horizontal-E {
    margin: 18px auto;
  }

  #banner-inline-horizontal-E .banner-ancla-inline-E {
    flex-wrap: wrap;
    padding: 12px 14px;
  }

  #banner-inline-horizontal-E .banner-ancla-enlace {
    width: 100%;
    margin-bottom: 12px;
    align-items: flex-start;
  }

  #banner-inline-horizontal-E .banner-ancla-enlace video {
    height: 72px;
    max-height: 72px;
    margin-right: 14px;
  }

  #banner-inline-horizontal-E .banner-ancla-badge-E {
    font-size: 10px;
    margin-bottom: 7px;
  }

  #banner-inline-horizontal-E .banner-ancla-titulo-E {
    font-size: 18px;
  }

  #banner-inline-horizontal-E .banner-ancla-descripcion-E {
    font-size: 13px;
  }

  #banner-inline-horizontal-E .banner-ancla-boton-inline-E {
    width: 100%;
    margin-left: 0;
    white-space: normal;
    min-width: 0;
    padding: 14px 16px 12px;
  }
}

/* CONTENEDOR GENERAL DEL BANNER SIDEBAR */
.banner-sidebar-premium {
  display: block;
  width: 95%;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #ff8a00;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 14px;
  margin: 10px 7px 20px;
  overflow: hidden;
  font-family: 'Roboto', sans-serif;
}

/* BADGE SUPERIOR */
.banner-sidebar-premium-badge {
  display: inline-block;
  color: #424242;
  font-size: 11px;
  line-height: 1;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 3px 5px;
  border-radius: 4px;
  margin-bottom: 12px;
  text-align: center;
}

/* LINK PRINCIPAL */
.banner-sidebar-premium-main {
  display: block;
  text-decoration: none;
  color: inherit;
}

.banner-sidebar-premium-main:hover,
.banner-sidebar-premium-main:focus {
  text-decoration: none;
  color: inherit;
}

/* IMAGEN */
.banner-sidebar-premium-image-wrap {
  display: block;
  margin: 0 0 12px 0;
}

.banner-sidebar-premium-image {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 6px;
}

/* TÍTULO */
.banner-sidebar-premium-title {
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  color: #424242;
  margin: 0 0 10px 0;
  text-align: center;  
}

/* TEXTO */
.banner-sidebar-premium-text {
  font-size: 14px;
  line-height: 1.5;
  color: #424242;
  margin: 0 0 12px 0;
  text-align: left;    
}

/* LISTA DE BENEFICIOS */
.banner-sidebar-premium-list {
  margin: 0 0 14px 0;
  padding: 0;
  list-style: none;
}

.banner-sidebar-premium-list li {
  position: relative;
  padding-left: 18px;
  margin: 0 0 8px 0;
  font-size: 13px;
  line-height: 1.4;
  color: #424242;
}

.banner-sidebar-premium-list li:before {
  content: "✔";
  position: absolute;
  top: 0;
  left: 0;
  color: #ff8a00;
  font-weight: 700;
}

/* BLOQUE DE PRECIO */
.banner-sidebar-premium-price-wrap {
  text-align: center;
  margin: 8px 0 12px 0;
}

.banner-sidebar-premium-price-label {
  font-size: 12px;
  line-height: 1.3;
  color: #e87100;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-bottom: 4px;
}

.banner-sidebar-premium-price-old {
  font-size: 13px;
  line-height: 1.2;
  color: #8a8a8a;
  text-decoration: line-through;
  margin-bottom: 2px;
}

.banner-sidebar-premium-price-current {
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
  color: #424242;
}

/* BOTÓN */
.banner-sidebar-premium-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: #424242;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  padding: 12px 8px;
  border-radius: 6px;
  margin-top: 4px;
  transition: background 0.2s ease, transform 0.2s ease;
}

.banner-sidebar-premium-btn:hover,
.banner-sidebar-premium-btn:focus {
  background: #ff8a00;
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-1px);
}

/* MICROCOPY */
.banner-sidebar-premium-microcopy {
  font-size: 12px;
  line-height: 1.4;
  color: #666666;
  margin-top: 8px;
  text-align: center;
}

/* NOTA ANTERIOR POR SI LA USAS EN OTRA PARTE */
.banner-sidebar-premium-note {
  font-size: 11px;
  line-height: 1.4;
  color: #777777;
  margin-top: 10px;
  text-align: center;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .banner-sidebar-premium {
    padding: 12px;
  }

  .banner-sidebar-premium-title {
    font-size: 19px;
  }

  .banner-sidebar-premium-text {
    font-size: 13px;
  }

  .banner-sidebar-premium-price-current {
    font-size: 26px;
  }

  .banner-sidebar-premium-btn {
    font-size: 15px;
    padding: 14px 8px;
  }
}