.navbar {
  
  box-shadow: 2px 2px 5px #000;
  opacity: 0.9;
  background-color: #f8d1e5
}

.nav-item .nav-link {
  color:  #ffffff;
}

.nav-item .nav-link:hover {
  background: none;
  color:  #ffffff ;
  font-weight: bold;
}

.main-header {
  position: static;
  background-size:  cover;
  background-repeat: no-repeat;
  background-position: center top;
}

.background-overlay {
  background: rgba(48, 51, 107,.3);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.form-control, .btn{
  border-radius: 0;
}

.team, footer {
  background: #F286E7;
}

.map-responsive{
    overflow:hidden;
    padding-bottom:40%;
    position:relative;
    height:0;
}

.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}


.fucsia-border {
  border: 2px solid #F286E7 !important; /* Fucsia */
}

.bg-fucsia-pastel {
  background-color: #f8d1e5 !important;
  color: #343a40 !important; /* Gris oscuro para mejor contraste */
}


.bg-rosa-pastel {
  background-color: #fbe9ff !important;
  color: #343a40 !important; /* Gris oscuro para mejor contraste */
}

.btn-fucsia {
  background-color: #E754A6 !important;
  color: #fff !important;
  border: none;
}

.btn-fucsia:hover {
  background-color: #c13b87 !important;
  color: #fff !important;
}

.bg-fucsia-pastel h3 {
  color: #4B2354 !important;
}

/* Colores personalizados */
.bg-rosa-pastel {
    background-color: #f8c8dc;
    /* Rosa suave */
}

/* Espaciado y centrado para las secciones */
.section {
    padding: 1rem;
}

/* Estilos para títulos principales */
h1 {
  font-family: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(1.5rem, 2.2vw + 0.4rem, 2rem); /* más flexible para pantallas grandes */
  line-height: 1.00;
  letter-spacing: -0.5px;
  color: #343a40;
  margin: 0 0 0.5rem 0;

  display: inline-block;           /* permite usar max-width correctamente */
  max-width: calc(100% - 1rem);    /* deja espacio para padding/márgenes */
  white-space: nowrap;             /* fuerza una sola línea */
  overflow: hidden;                /* oculta exceso */
  text-overflow: ellipsis;         /* muestra "..." si no cabe */
  word-break: normal;              /* evita romper palabras */
  overflow-wrap: normal;           /* evita partir palabras largas */
  hyphens: none;                   /* evita guiones automáticos */
}

h2 {
  font-family: 'Aptos', 'Poppins', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(1.25rem, 2.5vw + 0.25rem, 2rem);
  line-height: 1.2;
  color: #4B2354; /* opcional: contraste con el fucsia pastel */
}
/* Mejor presentación en móviles */
@media (max-width: 768px) {
    h1 {
        font-size: 1.5rem;
    }

    h2 {
        font-size: 1.25rem;
    }

    .section {
        padding: 0.75rem;
    }

}

.titulo-montserrat {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800; /* Negrita */
}

.titulo-servicio {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700; /* Negrita */
  font-size: 1.4rem; 
  color: #d63384; /* un rosado elegante opcional */
}

.texto-servicio {
  font-size: 1rem;
  line-height: 1.6;
  text-align: justify; /* opcional, se ve más ordenado */
}