body{overflow-x:hidden;font-family:"Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif}.text-muted{
	color: #333333
}.text-primary{color:#fed136}p{
	font-size: 16px;
	line-height: normal
}p.large{font-size:16px}a,a:hover,a:focus,a:active,a.active{outline:0}a{color:#fed136}a:hover,a:focus,a:active,a.active{color:#fec503}h1,h2,h3,h4,h5,h6{
	font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	text-transform: none;
	font-weight: 700;
	color: #005DBC;
}.img-centered{margin:0 auto}.bg-light-gray{background-color:#f7f7f7}.bg-darkest-gray{background-color:#222}.btn-primary{
	color: #fff;
	background-color: #005DBC;
	font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	border-top-color: #005DBC;
	border-right-color: #005DBC;
	border-bottom-color: #005DBC;
	border-left-color: #005DBC;
}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{
	color: #fff;
	background-color: #8C008C;
	border-top-color: #8C008C;
	border-right-color: #8C008C;
	border-bottom-color: #8C008C;
	border-left-color: #8C008C;
}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#8C008C;border-color:#fed136}.btn-primary .badge{color:#fed136;background-color:#fff}.btn-xl{
	color: #fff;
	background-color: #005DBC;
	font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	border-radius: 3px;
	font-size: 18px;
	padding: 20px 40px;
	border-top-color: #005DBC;
	border-right-color: #005DBC;
	border-bottom-color: #005DBC;
	border-left-color: #005DBC;
}.btn-xl:hover,.btn-xl:focus,.btn-xl:active,.btn-xl.active,.open .dropdown-toggle.btn-xl{
	color: #fff;
	background-color: #8C008C;
	border-top-color: #8C008C;
	border-right-color: #8C008C;
	border-bottom-color: #8C008C;
	border-left-color: #8C008C;
}.btn-xl:active,.btn-xl.active,.open .dropdown-toggle.btn-xl{background-image:none}.btn-xl.disabled,.btn-xl[disabled],fieldset[disabled] .btn-xl,.btn-xl.disabled:hover,.btn-xl[disabled]:hover,fieldset[disabled] .btn-xl:hover,.btn-xl.disabled:focus,.btn-xl[disabled]:focus,fieldset[disabled] .btn-xl:focus,.btn-xl.disabled:active,.btn-xl[disabled]:active,fieldset[disabled] .btn-xl:active,.btn-xl.disabled.active,.btn-xl[disabled].active,fieldset[disabled] .btn-xl.active{background-color:#fed136;border-color:#fed136}.btn-xl .badge{color:#fed136;background-color:#fff}.navbar-default{background-color:#fff;border-color:transparent}.navbar-default .navbar-brand{
	color: #005DBC;
	font-family: "Kaushan Script", "Helvetica Neue", Helvetica, Arial, cursive
}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:active,.navbar-default .navbar-brand.active{
	color: #8C008C;
	font-family: "Kaushan Script", "Helvetica Neue", Helvetica, Arial, cursive;
}.navbar-default .navbar-collapse{border-color:rgba(255,255,255,.02)}.navbar-default .navbar-toggle{
	background-color: #5976DB;
	border-color: #fff
}.navbar-default .navbar-toggle .icon-bar{background-color:#fff}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#8C008C}.navbar-default .nav li a{
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 1px;
	color: #8C008C
}.navbar-default .nav li a:hover,.navbar-default .nav li a:focus{
	color: #395CD5;
	outline: 0
}.navbar-default .navbar-nav>.active>a{border-radius:0;color:#fff;background-color:#5976DB}.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#fff;background-color:#5976DB}@media (min-width:768px){.navbar-default{
	background-color: transparent;
	-webkit-transition: padding .3s;
	-moz-transition: padding .3s;
	transition: padding .3s;
	border: 0;
	padding-top: 25px;
	padding-right: 0;
	padding-bottom: 25px;
	padding-left: 0;
}.navbar-default .navbar-brand{font-size:2em;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.navbar-default .navbar-nav>.active>a{border-radius:3px}.navbar-default.navbar-shrink{background-color:#fff;padding:10px 0}.navbar-default.navbar-shrink .navbar-brand{font-size:1.5em}}
header{
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	-o-background-size: cover;
	text-align: center;
	color: #005DBC;
	text-shadow: 2px 0 0 #005DBC, -2px 0 0 #005DBC, 0 2px 0 #005DBC, 0 -2px 0 #005DBC, 1px 1px #005DBC, -1px -1px 0 #005DBC, 1px -1px 0 #005DBC, -1px 1px 0 #005DBC;
}header .intro-text{
	padding-top: 145px;
	padding-bottom: 5px
}header .intro-text .intro-lead-in{
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: italic;
	font-size: 22px;
	line-height: 22px;
	margin-bottom: 175px;
	text-shadow: 2px 0 0 #FFFFFF, -2px 0 0 #FFFFFF, 0 2px 0 #FFFFFF, 0 -2px 0 #FFFFFF, 1px 1px #FFFFFF, -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF;
	color: #609;
}header .intro-text .intro-heading{
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: none;
	font-weight: 700;
	font-size: 25px;
	line-height: 50px;
	margin-bottom: 25px;
	text-shadow: 2px 0px 0px #FFFFFF,-2px 0 0 #FFFFFF,0 2px 0 #FFFFFF,0 -2px 0 #FFFFFF,1px 1px #FFFFFF,-1px -1px 0 #FFFFFF,1px -1px 0 #FFFFFF,-1px 1px 0 #FFFFFF;
}@media (min-width:768px){header .intro-text{
	padding-top: 150px;
	padding-bottom: 175px
}header .intro-text .intro-lead-in{
	font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-style: italic;
	font-size: 40px;
	line-height: 40px;
	text-shadow: 2px 0 0 #FFFFFF, -2px 0 0 #FFFFFF, 0 2px 0 #FFFFFF, 0 -2px 0 #FFFFFF, 1px 1px #FFFFFF, -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF;
}header .intro-text .intro-heading{
	font-family: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-transform: none;
	font-size: 50px;
	line-height: 75px;
	margin-bottom: 5px;
	color: #005DBC;
	text-shadow: 2px 0px 0px #FFFFFF,-2px 0 0 #FFFFFF,0 2px 0 #FFFFFF,0 -2px 0 #FFFFFF,1px 1px #FFFFFF,-1px -1px 0 #FFFFFF,1px -1px 0 #FFFFFF,-1px 1px 0 #FFFFFF;
}}section{
	padding-top: 100px;
	padding-bottom: 10px;
}section h2.section-heading{
	font-size: 40px;
	margin-top: 10px;
	margin-bottom: 15px;
	color: #005DBC;
	line-height: 1.2;
}section h3.section-subheading{
	font-size: 18px;
	font-family: "Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;
	text-transform: none;
	font-style: italic;
	font-weight: 400;
	margin-bottom: 25px
}@media (min-width:768px){section{
	padding: 0px
}}.service-heading{margin:15px 0;text-transform:none}#portfolio .portfolio-item{margin:0 0 15px;right:0}#portfolio .portfolio-item .portfolio-link{display:block;position:relative;max-width:400px;margin:0 auto}#portfolio .portfolio-item .portfolio-link .portfolio-hover{background:rgba(254,209,54,.9);position:absolute;width:100%;height:100%;opacity:0;transition:all ease .5s;-webkit-transition:all ease .5s;-moz-transition:all ease .5s}#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover{opacity:1}#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content{position:absolute;width:100%;height:20px;font-size:20px;text-align:center;top:50%;margin-top:-12px;color:#fff}#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i{margin-top:-12px}#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3,#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4{margin:0}#portfolio .portfolio-item .portfolio-caption{max-width:400px;margin:0 auto;background-color:#fff;text-align:center;padding:25px}#portfolio .portfolio-item .portfolio-caption h4{text-transform:none;margin:0}#portfolio .portfolio-item .portfolio-caption p{font-family:"Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:italic;font-size:16px;margin:0}#portfolio *{z-index:2}@media (min-width:767px){#portfolio .portfolio-item{margin:0 0 30px}}.timeline{list-style:none;padding:0;position:relative}.timeline:before{top:0;bottom:0;position:absolute;content:"";width:2px;background-color:#f1f1f1;left:40px;margin-left:-1.5px}.timeline>li{margin-bottom:50px;position:relative;min-height:50px}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li .timeline-panel{width:100%;float:right;padding:0 20px 0 100px;position:relative;text-align:left}.timeline>li .timeline-panel:before{border-left-width:0;border-right-width:15px;left:-15px;right:auto}.timeline>li .timeline-panel:after{border-left-width:0;border-right-width:14px;left:-14px;right:auto}.timeline>li .timeline-image{
	left: 0;
	margin-left: 0;
	width: 80px;
	height: 80px;
	position: absolute;
	z-index: 100;
	background-color: #FFFFFF;
	color: #fff;
	border-radius: 100%;
	border: 4px solid #005DBC;
	text-align: center
}.timeline>li .timeline-image h4{font-size:8px;margin-top:12px;line-height:14px}.timeline>li.timeline-inverted>.timeline-panel{float:right;text-align:left;padding:0 20px 0 100px}.timeline>li.timeline-inverted>.timeline-panel:before{border-left-width:0;border-right-width:15px;left:-15px;right:auto}.timeline>li.timeline-inverted>.timeline-panel:after{border-left-width:0;border-right-width:14px;left:-14px;right:auto}.timeline>li:last-child{margin-bottom:0}.timeline .timeline-heading h4{margin-top:0;color:inherit}.timeline .timeline-heading h4.subheading{text-transform:none}.timeline .timeline-body>p,.timeline .timeline-body>ul{margin-bottom:0}@media (min-width:768px){.timeline:before{left:50%}.timeline>li{margin-bottom:100px;min-height:100px}.timeline>li .timeline-panel{width:41%;float:left;padding:0 20px 20px 30px;text-align:right}.timeline>li .timeline-image{width:100px;height:100px;left:50%;margin-left:-50px}.timeline>li .timeline-image h4{font-size:13px;margin-top:16px;line-height:18px}.timeline>li.timeline-inverted>.timeline-panel{float:right;text-align:left;padding:0 30px 20px 20px}}@media (min-width:992px){.timeline>li{min-height:150px}.timeline>li .timeline-panel{padding:0 20px 20px}.timeline>li .timeline-image{width:150px;height:150px;margin-left:-75px}.timeline>li .timeline-image h4{
	font-size: 15px;
	margin-top: 30px;
	line-height: 22px
}.timeline>li.timeline-inverted>.timeline-panel{padding:0 20px 20px}}@media (min-width:1200px){.timeline>li{min-height:170px}.timeline>li .timeline-panel{padding:0 20px 20px 100px}.timeline>li .timeline-image{width:170px;height:170px;margin-left:-85px}.timeline>li .timeline-image h4{margin-top:40px}.timeline>li.timeline-inverted>.timeline-panel{padding:0 100px 20px 20px}}.team-member{text-align:center;margin-bottom:50px}.team-member img{margin:0 auto;border:7px solid #fff}.team-member h4{margin-top:25px;margin-bottom:0;text-transform:none}.team-member p{margin-top:0}aside.clients img{margin:50px auto}section#contact{background-color:#222;background-image:url(../img/map-image.png);background-position:center;background-repeat:no-repeat}section#contact .section-heading{color:#fff}section#contact .form-group{margin-bottom:25px}section#contact .form-group input,section#contact .form-group textarea{padding:20px}section#contact .form-group input.form-control{height:auto}section#contact .form-group textarea.form-control{height:236px}section#contact .form-control:focus{border-color:#fed136;box-shadow:none}section#contact ::-webkit-input-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#bbb}section#contact :-moz-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#bbb}section#contact ::-moz-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#bbb}section#contact :-ms-input-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#bbb}section#contact .text-danger{color:#e74c3c}footer{padding:25px 0;text-align:center}footer span.copyright{line-height:40px;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;text-transform:none}footer ul.quicklinks{margin-bottom:0;line-height:40px;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;text-transform:none}ul.social-buttons{margin-bottom:0}ul.social-buttons li a{display:block;background-color:#222;height:40px;width:40px;border-radius:100%;font-size:20px;line-height:40px;color:#fff;outline:0;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}ul.social-buttons li a:hover,ul.social-buttons li a:focus,ul.social-buttons li a:active{background-color:#fffff}.btn:focus,.btn:active,.btn.active,.btn:active:focus{
	outline: 0;
	color: #FFF;
}.portfolio-modal .modal-content{border-radius:0;background-clip:border-box;-webkit-box-shadow:none;box-shadow:none;border:0;min-height:100%;padding:100px 0;text-align:center}.portfolio-modal .modal-content h2{
	margin-bottom: 15px;
	font-size: 2em
}.portfolio-modal .modal-content p{
	margin-bottom: 30px;
	color: #039;
}.portfolio-modal .modal-content p.item-intro{margin:20px 0 30px;font-family:"Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:italic;font-size:16px}.portfolio-modal .modal-content ul.list-inline{margin-bottom:30px;margin-top:0}.portfolio-modal .modal-content img{margin-bottom:30px}.portfolio-modal .close-modal{position:absolute;width:75px;height:75px;background-color:transparent;top:25px;right:25px;cursor:pointer}.portfolio-modal .close-modal:hover{opacity:.3}.portfolio-modal .close-modal .lr{height:75px;width:1px;margin-left:35px;background-color:#222;transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);z-index:1051}.portfolio-modal .close-modal .lr .rl{height:75px;width:1px;background-color:#222;transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);z-index:1052}.portfolio-modal .modal-backdrop{opacity:0;display:none}::-moz-selection{text-shadow:none;background:#fed136}::selection{text-shadow:none;background:#fed136}img::selection{background:0 0}img::-moz-selection{background:0 0}body{webkit-tap-highlight-color:#FFFFFF}


/* ==========================================================================
   Cabecera y Botones de Conversión (Plantilla Maestra)
   ========================================================================== */

/* Menú: transparente en la cabecera y blanco al hacer scroll */
.navbar-default {
	background-color: #FFF !important;
	border-color: transparent !important;
	transition: background-color 0.3s ease, padding 0.3s ease, box-shadow 0.3s ease;
}

/* Al deslizar hacia abajo (actúa .navbar-shrink) */
.navbar-default.navbar-shrink {
    background-color: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
}

/* Fondo transparente del contenedor interno */
.navbar-default .navbar-collapse {
    background: transparent;
}

/* Espaciado del encabezado */
header .intro-text {
    padding-top: 100px;
}

header .intro-text .intro-lead-in {
	font-size: 50px;
	line-height: 1.3;
	margin-bottom: 25px;
}

header .intro-text .intro-heading {
	margin-top: 100px;
	margin-bottom: 20px;
}

/* Contenedor de botones */
.intro-botones {
	margin-top: 40px;
}

/* Base común para botones de cabecera */
.btn-header {
    display: inline-block;
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: bold !important;
    font-style: normal !important;
    padding: 10px 18px !important;
    margin: 4px !important;
    border-radius: 4px !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
}

/* Botón Llamar */
.btn-header-call {
    background-color: #fed136 !important;
    color: #111111 !important;
    border: none !important;
}

/* Botón Pedir Presupuesto */
.btn-header-quote {
    background-color: #005DBC !important;
    color: #ffffff !important;
    border: none !important;
}

/* Botón Poblaciones */
.btn-header-cities {
    background-color: #ffffff !important;
    color: #005DBC !important;
    border: 2px solid #005DBC !important;
}

/* ==========================================================================
   Corrección de Enlaces y Miniaturas (Otros Servicios)
   ========================================================================== */

/* Enlaces de texto generales (Azul corporativo legible) */
p a, 
.portfolio-caption a {
    color: #005DBC !important;
    text-decoration: none !important;
}

p a:hover, 
.portfolio-caption a:hover {
    color: #395CD5 !important;
    text-decoration: underline !important;
}

/* Teléfonos destacados en texto */
p a[href^="tel:"] {
    font-weight: bold;
    color: #005DBC !important;
}

/* Ocultar las cruces amarillas y fijar el efecto hover de las fotos */
.portfolio-item .portfolio-link {
    position: relative;
    display: block;
    overflow: hidden;
}

.portfolio-item .portfolio-link .portfolio-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 93, 188, 0.85); /* Azul corporativo al pasar el ratón */
    opacity: 0;
    transition: all ease 0.3s;
}

.portfolio-item .portfolio-link:hover .portfolio-hover {
    opacity: 1;
}

.portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    text-align: center;
}

.portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i {
    color: #ffffff !important; /* Cruz blanca nítida sobre fondo azul */
}

/* Ajuste para móviles */
@media (max-width: 767px) {
    header {
        padding: 75px 0 30px 0 !important;
    }
    header .intro-text {
        padding-top: 10px !important;
    }
    header .intro-text .intro-lead-in {
        font-size: 18px !important;
        line-height: 1.25 !important;
        margin-bottom: 8px !important;
    }
    header .intro-text .intro-heading {
        font-size: 13px !important;
        line-height: 1.3 !important;
        margin-top: 10px !important;
        margin-bottom: 15px !important;
    }
    .intro-botones {
    margin-top: 40px !important;
    margin-bottom: 10px !important;
}
    .btn-header {
        font-size: 13px !important;
        padding: 8px 12px !important;
        margin: 3px 2px !important;
    }
	}
	
	/* Espaciado universal para la sección de servicio en todas las landings */
.seccion-servicio p.large {
    margin-bottom: 10px !important;
}

.seccion-servicio .row {
    margin-top: 0 !important;
}

.seccion-servicio .col-md-3 {
    margin-top: 0 !important;
}

/* Compactar espacio bajo el formulario de contacto */
#contacto {
    padding-bottom: 25px !important;
}

/* Compactar footer y elevar el texto sobre la barra fija de cookies */
footer {
    padding-top: 10px !important;
    padding-bottom: 60px !important; /* Colchón de seguridad para que la barra de cookies no tape nada */
}

/* Footer corporativo azul */
footer {
    background-color: #005DBC !important;
    padding-top: 25px !important;
    padding-bottom: 70px !important; /* Espacio para que no lo tape el aviso de cookies */
}

/* Forzar todos los textos, enlaces y separadores a blanco */
footer p,
footer span,
footer div,
footer .copyright {
    color: #ffffff !important;
}

footer a {
    color: #ffffff !important;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

footer a:hover {
    color: #d1e5ff !important; /* Tono suave al pasar el ratón */
    text-decoration: underline;
}

/* 1. Unificar la altura de caída de todas las secciones al navegar */
section {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* 2. Reducir el hueco entre la dirección y el formulario de contacto */
#contacto .section-subheading {
    margin-bottom: 25px !important;
}

/* 1. Eliminar todo el margen inferior del subtítulo (dirección) */
#contacto .section-subheading {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}

/* 2. Acercar la caja entera del formulario hacia arriba */
#contacto form {
    margin-top: -50px !important; /* Ajusta este valor si lo quieres más cerca o más lejos */
}

/* 3. Reducir el hueco interno (padding) de la estructura del formulario */
#contacto .row:nth-child(2) {
    margin-top: 0px !important;
}

/* Jerarquía universal de títulos en el Timeline */
.timeline-heading h4 {
    color: #005DBC !important;
    font-weight: 700 !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
}

.timeline-heading h4.subheading {
    color: #4a5568 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    text-transform: none !important;
}

/* Carrusel de reseñas universal */
.caja-resenas-carousel {
    background-color: #f8f9fa;
    padding: 40px 20px 60px 20px;
    border-radius: 8px;
    border-left: 4px solid #005DBC;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

#carousel-resenas .carousel-indicators {
    bottom: -40px;
}

#carousel-resenas .carousel-indicators li {
    border: 1px solid #005DBC;
    background-color: transparent;
}

#carousel-resenas .carousel-indicators .active {
    background-color: #005DBC;
}

.review-text {
    font-size: 16px;
    font-style: italic;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

.review-author {
    margin-top: 20px;
    margin-bottom: 5px;
    font-size: 16px;
    color: #333;
}

.review-role {
    font-size: 13px;
    margin-top: 5px;
    margin-bottom: 0;
}

/* Botón secundario para Google Maps */
.btn-google-reviews {
    background-color: #fff !important;
    color: #005DBC !important;
    border: 2px solid #005DBC !important;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 25px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.btn-google-reviews:hover {
    background-color: #005DBC !important;
    color: #fff !important;
}

/* Espacios compactos en Garantía y Reseñas */
.seccion-garantia .section-subheading {
    margin-bottom: 20px !important;
}

.cita-confucio {
    font-size: 16px;
    margin-bottom: 20px;
}

.cita-confucio span {
    font-size: 13px;
}

.texto-garantia {
    text-align: justify;
    margin-bottom: 15px;
    line-height: 1.6;
}

.bloque-historia {
    margin-bottom: 5px !important;
}

.bloque-titulo-resenas {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.bloque-titulo-resenas h3 {
    margin-top: 0 !important;
    margin-bottom: 6px !important;
}

/* Carrusel de reseñas */
.caja-resenas-carousel {
    background-color: #f8f9fa;
    padding: 40px 20px 60px 20px;
    border-radius: 8px;
    border-left: 4px solid #005DBC;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

#carousel-resenas .carousel-indicators {
    bottom: -40px;
}

#carousel-resenas .carousel-indicators li {
    border: 1px solid #005DBC;
    background-color: transparent;
}

#carousel-resenas .carousel-indicators .active {
    background-color: #005DBC;
}

.review-text {
    font-size: 16px;
    font-style: italic;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

.review-author {
    margin-top: 20px;
    margin-bottom: 5px;
    font-size: 16px;
    color: #333;
}

.review-role {
    font-size: 13px;
    margin-top: 5px;
    margin-bottom: 0;
}

.btn-google-reviews {
    background-color: #fff !important;
    color: #005DBC !important;
    border: 2px solid #005DBC !important;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 25px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.btn-google-reviews:hover {
    background-color: #005DBC !important;
    color: #fff !important;
}

/* Espaciado del bloque de reseñas */
.bloque-historia {
    margin-bottom: 0 !important;
}

.bloque-titulo-resenas {
    margin-top: 15px !important;
    margin-bottom: 20px !important;
}

.titulo-resenas {
    font-size: 28px !important;
    font-weight: 700;
    color: #005DBC;
    margin: 0 0 8px 0 !important;
}

.subtitulo-resenas {
    font-size: 18px !important;
    color: #444 !important; /* Gris oscuro con alto contraste, no lavado */
    margin-bottom: 15px;
}

/* Tipografía de las reseñas pensada para María */
.caja-resenas-carousel {
    background-color: #f8f9fa;
    padding: 35px 25px 55px 25px;
    border-radius: 8px;
    border-left: 4px solid #005DBC;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.review-text {
    font-size: 19px !important; /* Letra grande y cómoda para vista cansada */
    font-style: italic;
    color: #222 !important;     /* Casi negro para máxima nitidez */
    max-width: 820px;
    margin: 0 auto;
    line-height: 1.7 !important;
}

.review-author {
    margin-top: 20px;
    margin-bottom: 4px;
    font-size: 17px !important;
    font-weight: 700;
    color: #0b3b60 !important;
}

.review-role {
    font-size: 15px !important;
    color: #555 !important;
    margin-top: 4px;
    margin-bottom: 0;
}

/* Acordeón de FAQs interactivo */
.seccion-faqs .panel-faq {
    border: 1px solid #d2dbe5;
    border-radius: 6px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    overflow: hidden;
}

.seccion-faqs .panel-heading {
    background-color: #ffffff !important;
    padding: 0 !important; /* Permite que el enlace rellene toda la caja */
    border: none !important;
}

/* Pregunta en reposo: azul corporativo sobre blanco */
.seccion-faqs .panel-title a {
    font-size: 18px;
    font-weight: 700;
    color: #005DBC !important;
    background-color: #ffffff;
    text-decoration: none !important;
    display: block;
    padding: 16px 20px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Al pasar el ratón (hover) o al estar desplegada (clic): caja azul y texto blanco */
.seccion-faqs .panel-title a:hover,
.seccion-faqs .panel-title a:focus,
.seccion-faqs .panel-title a:not(.collapsed) {
    background-color: #005DBC !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Caja de la respuesta */
.seccion-faqs .faq-body {
    font-size: 16px;
    line-height: 1.7;
    color: #333333;
    background-color: #ffffff;
    padding: 20px;
    border-top: 1px solid #e2e8f0;
}

/* Tipografía uniforme y legible para todas las FAQs */
.panel-faq .faq-body {
    font-size: 16px;
    line-height: 1.7;
    color: #333333;
}

.panel-faq .faq-body p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 14px;
}

.panel-faq .faq-body ul,
.panel-faq .faq-body ol {
    font-size: 16px;
    line-height: 1.7;
    padding-left: 22px;
    margin-bottom: 14px;
}

.panel-faq .faq-body li {
    margin-bottom: 8px;
}

.panel-faq .faq-body strong {
    color: #111111;
}

/* Menú móvil con fondo blanco sólido y sin transparencias al pulsar */
@media (max-width: 767px) {
    .navbar-collapse {
        background-color: #ffffff !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    }
    .navbar-nav li a {
        background-color: #ffffff !important;
    }
    .navbar-nav li a:hover,
    .navbar-nav li a:focus,
    .navbar-nav li a:active {
        background-color: #f4f6f9 !important; /* Fondo suave al tocar con el dedo */
        color: #0056b3 !important;
    }
}

/* Unificar el tamaño de letra en ambas cajas de cobertura */
#poblaciones-cobertura p,
#poblaciones-cobertura ul li {
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* Estado activo en el menú móvil: texto en azul corporativo y legible */
@media (max-width: 767px) {
    .navbar-default .navbar-nav > .active > a,
    .navbar-default .navbar-nav > .active > a:hover,
    .navbar-default .navbar-nav > .active > a:focus {
        color: #005DBC !important; /* Azul corporativo para destacar sobre el rosa */
        background-color: #ffffff !important;
        font-weight: bold !important;
    }
}

/* Margen lateral de seguridad para móvil y pantallas estrechas */
@media (max-width: 767px) {
    section {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* 1. MÓVIL Y TABLET (HASTA 991px): Menú hamburguesa */
@media (max-width: 991px) {
    .navbar-header { float: none; }
    .navbar-toggle { display: block !important; }
    .navbar-collapse.collapse { display: none !important; }
    .navbar-collapse.collapse.in { display: block !important; overflow-y: auto !important; }
    .navbar-nav { float: none !important; margin: 7.5px 0 !important; }
    .navbar-nav > li { float: none !important; }
    .navbar-nav > li > a { padding-top: 10px !important; padding-bottom: 10px !important; }
    .menu-telefono { display: none !important; }
}

/* 2. PORTÁTILES Y PANTALLAS PEQUEÑAS (992px A 1199px): Menú compacto sin colisiones */
@media (min-width: 992px) and (max-width: 1199px) {
    .boton-flotante-telefono { display: none !important; }
    .navbar-nav > li > a {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 12px !important;
        letter-spacing: 0px !important;
    }
}

/* 3. ESCRITORIO Y PANTALLAS GRANDES (A PARTIR DE 1200px) */
@media (min-width: 1200px) {
    .boton-flotante-telefono { display: none !important; }
    .navbar-nav > li > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* Botón Volver Arriba */
.boton-subir {
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: 45px;
    height: 45px;
    background-color: #005DBC;
    color: #ffffff;
    text-align: center;
    line-height: 43px;
    border-radius: 50%;
    font-size: 20px;
    z-index: 9999;
    box-shadow: 0 3px 6px rgba(0,0,0,0.3);
    display: none; /* Lo mantenemos oculto al inicio */
}
.boton-subir:hover, .boton-subir:focus {
    background-color: #004488;
    color: #ffffff;
}

