@charset "utf-8";
/*********************/
/* CSS Document */
body {color: #111827;}
h1, h2 {color:#000; font-weight: bold; text-shadow: 1px 1px 2px white, 0 0 1em grey, 0 0 0.2em white;}
.h2-init {font-size:22px !important; font-weight: 700 !important;}
.title-case {text-transform: capitalize;}
.top-bar {background-color: #111;color: white;padding: 8px 20px; overflow: visible !important;}
.top-bar .container {display: flex; align-items: center; justify-content: space-between;}
.top-bar .contact-info {flex-grow: 1; text-align: center;}
.top-bar img {height: 60px; margin:10px;}
.contact-info img {display: inline-block !important; visibility: visible !important; opacity: 1 !important;}
.contact-info span {display: flex; align-items: center; gap: 5px;}
.contact-info img {width: 36px; height: 36px; display: inline-block !important; margin: 0 5px; visibility: visible !important;}
.contact-info span:first-child {margin-right: 30px;}

header.top-bar {display: flex; align-items: center; justify-content: space-between;padding: 10px 0;height: auto;}
header.top-bar .container {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
header.top-bar img { max-height: 60px;}
header {background: url('images/banner-lg.jpg') no-repeat center center;background-size: cover;height: 400px; display: flex;
            align-items: center;justify-content: center;text-align: center; color: #1E3A8A;}
.header-container {background: rgba(255, 255, 255, 0.0);padding: 20px;border-radius: 10px;}
.header-link      {color:#fff !important; text-decoration: none; font-size:18px;}
a.header-link:link {color:#fff; text-decoration: none;}
a.header-link:hover{color:#fff !important; text-decoration:underline;}
/* -- google **/
.gbm-reviews {background: #fff; text-align: center;padding-top: 15px;}
.google-icon {width: 60px;height: auto;}
/*.review-content h2 {font-size: 1.8rem; margin-bottom: 8px; color: #333;} */
.review-content p {font-size: 1.2rem;margin-bottom: 12px;color: #555;}
.review-content {display: flex;align-items: center; justify-content: center; gap: 20px; max-width: 800px; margin: 0 auto;flex-wrap: wrap;padding: 10px;}
.review-button {display: inline-block; background-color: #1D4395; /* Azul oficial de Google */
    color: #fff; padding: 10px 20px;border-radius: 5px;text-decoration: none; font-weight: bold;transition: background 0.3s ease-in-out;}
.review-button:hover {background-color: #3367d6;} /*  3367d6 Azul más oscuro en hover */
/* -- fin google **/
.services-container {display: flex;flex-wrap: wrap;justify-content: space-between;gap: 20px;}
.service-box { flex: 1 1 calc(33.33% - 20px); /* 3 columnas en pantallas grandes */
    min-width: 250px;display: flex;flex-direction: column; align-items: stretch; border: 1px solid #ddd; padding: 20px;}
/* Para que el contenido interno de la tarjeta también se expanda */
.service-box h2,
.service-box p {flex-grow: 1;}
/*  INIT CARDS */
.card {background: #fff;border-radius: 15px; overflow: hidden;display: flex;flex-direction: column;}
.image-container {width: 100%;height: 250px; /* Ajusta según necesidad */
    overflow: hidden; }/* Evita desbordamientos */
.image-container img { width: 100%; height: 100%;object-fit: cover;} /* Recorta sin deformar */

.card-body {display: flex;flex-direction: column;justify-content: space-between; flex-grow: 1;}
.text-muted{font-size:17px !important;text-align: left !important;}
.price-tag {background: black;font-weight: bold;font-size: 1.2rem;}
.btn-custom {background:#6F5420; color: white;font-size: 1.1rem; padding: 12px 24px; border-radius: 10px; border: none;text-transform: uppercase;
        transition: background 0.3s ease-in-out;}
.btn-custom:hover {background: #c19a4b;color: white;}
/*  FIN CARDS */
.btn-cta-llamada {display: inline-flex; align-items: center; gap: 12px; padding: 18px 36px; background-color: dodgerblue; color: #fff; text-decoration: none;
font-weight: bold; border-radius: 8px; font-size: 18px; box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3); transition: background-color 0.3s ease, transform 0.2s;}
.btn-cta-llamada:hover {background-color: dodgerblue; transform: scale(1.05); color: #fff;}
		
.hero-image { position: relative; background: url('../images/banner-lg.jpg') center top / cover no-repeat;
  color: #fff; height: 400px; overflow: hidden; display: flex; justify-content: center; align-items: center; text-align: center;}
 
.hero-content { position: relative;  z-index: 2;display: flex; flex-direction: column;align-items: center;} 
.hero-content h1, .hero-content h2 { margin: 0;  padding: 0;}
.hero-content h1 {font-size: 2.5rem; font-weight: 700; margin-bottom: 30px; margin-top:40px;}
.hero-content h2 { font-size: 1.5rem; font-weight: 400;}
.hero-image::after {content: ''; position: absolute; bottom: 0px; left: 0;  width: 100%; height: 100px; background: white; z-index: 10; /* #A8D5BA */
  clip-path: polygon(
    0% 80%,     
    20% 90%, 
    40% 70%, 
    60% 90%, 
    80% 75%, 
    100% 85%, 
    100% 100%, 
    0% 100%
  );
}
.card-img-top { width: 100%; height: 250px; /* Ajusta según necesidad */
    object-fit: cover; }/* Recorta la imagen sin distorsión */

/*  button scroll boton  ir arriba  */
#myBtn { display: none; position: fixed; bottom: 5px; right: 5px; z-index: 99;  font-size: 16px; border: none;
	outline: none;  background-color: transparent; color: white; cursor: pointer;  padding: 10px; border-radius: 10px; margin-bottom: 40px;}
.btn-whatsapp {position: fixed; right: 12px; bottom: 120px; z-index: 10; background-color: transparent; border: none;}
.icono-subir {width: 50px;height: 50px;border-radius: 50%;}
/* PREPSUPUESTO */
.cta-presupuesto {background: #f8f9fa; padding: 40px 0; margin-top: 30px;}
.cta-presupuesto h2 {font-size: 1.8rem; color: #333; margin-bottom: 10px;}
.cta-presupuesto p {font-size: 1.2rem; color: #666; margin-bottom: 20px;}

.internal-link-sub      {color:#a65017; text-decoration: none; font-weight: 700;}
a.internal-link-sub:hover{color:#a65017;text-decoration: underline;}
/*  FOOTER */
.footer {background-color: black; color: white; padding: 20px 0px;}
.footer h3 {border-bottom: 3px solid #FBEA1F;display: inline-block;padding-bottom: 5px; font-size:1.3em;}
.footer a {color: white;text-decoration: none;}
.footer a:hover {text-decoration: underline;}
.footer-bottom p {text-align: center; padding: 10px 0; background-color: #000; color: #fff;font-size: 12px; border-top: 1px solid #FFD700;}
.footer-bottom a {color: #FFD700;text-decoration: none; margin: 0 15px;}
.footer-bottom p::after {content: " "; margin-right: 10px;} 
.footer-bottom a:hover { text-decoration: underline;}
/* 1 columna en móviles */
 @media (max-width: 575px) {
.h1-init{font-size:2.1em !important; margin:0 1.3em 0 1.3em;}
.hero-image { position: relative; background: url('../images/banner-sm.jpg');}
.service-box {flex: 1 1 100%;}
 }
/* 2 columnas en pantallas medianas */
@media (max-width: 992px) {
.h1-init{font-size:2.2em !important; margin:0 1.2em 0 1.2em;}
.service-box {flex: 1 1 calc(50% - 20px);}
}
