@font-face {
    font-family: 'mont';
    src: url('./fuentes/Mont-HeavyDEMO.otf') format('truetype');
}
@font-face {
    font-family: glacial;
    src: url('./fuentes/GlacialIndifference-Regular.otf');
}

html, body {
    height: auto;
    min-height: 100vh;
    overflow-x: hidden;
    margin: 0;
  padding: 0;
}
section {
    width: 100%;
    overflow: visible;
}

.slider, #precios {
    height: auto !important;
    overflow: visible !important;
}

.portada {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.inicio {
  font-size: 1.5rem;
  max-width: 90%;
  text-align: center;
  margin: 0 auto;
}

.portada img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agendar {
    display: block;
    margin-left: 18%;
}

.cotiza {
    font-size: 1.2rem;
    font-family: mont;
}

.nav-link {
    font-family: glacial;
    font-size: 1.4rem;
}

.ventana {
    background-color: rgba(0, 0, 0, 0.397);
}

.navbar-nav .nav-link.active {
    text-decoration: underline;
}

.navbar-nav .nav-link {
    transition: all 0.3s ease-in-out;
}

.redes {
    justify-content: space-around;
}

.navbar.scrolled {
    background: whitesmoke;
}

h3 {
    font-size: 4rem;
    width: 100%;
    line-height: 1.1;
    font-weight: lighter;
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-align: center;
    
}


h2 {
    font-size: 4rem;
    font-weight: bold;
    padding-top: 5rem;
    color: rgb(12, 63, 106);
}

.titulos {
    font-family: mont;
    color: rgb(12, 63, 106);
    width: 100%;
    text-align: center;
}

/* Carrusel animación */
.carousel-item.active {
    opacity: 1;
}
.animar-entrada {
    animation: slideIn 1s ease-in-out forwards;
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.carousel-item {
    transform: none;
}
.carousel-item-next {
    transform: translateX(-100%);
    transition: transform 0s ease;
}
.carousel-item-prev {
    transform: translateX(100%);
    transition: transform 2s ease-in;
}
.active.carousel-item-end {
    transform: translateX(0);
}
.active.carousel-item-start {
    transform: translateX(100%);
}

#nosotros {
    background-image: url(./nosotros.jpg);
    background-size: cover;
    background-position: 10rem;
    text-align: center;
}

p {
    font-family: glacial;
}

.texto-desc {
    font-size: 2rem;
    width: 40rem;
    margin: auto auto 3rem auto;
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.poli {
    font-size: 1rem;
    width: 20rem;
    margin-right: 5rem;
}

.card-img-top {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.cart {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    margin: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.26);
}

.carta {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.canva {
    font-size: 200%;
}

.explicacion {
    font-size: 1.5rem;
}

.banner {
    background-color: rgba(255, 255, 255, 0.699);
}

#politicas {
    background-image: url(./politicas1.jpg);
    background-size: cover;
    margin-top: -3rem;
}

.slider {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.btnpoliticas {
    background-color: rgb(12, 63, 106);
    color: white;
    font-family: glacial;
}

.politicaportada {
    max-width: 350px;
    height: auto;
    border-radius: 20px;
}

.carousel-articulo {
    width: 100%;
    height: 350px;
    text-align: center;
    margin: auto;
    padding: 1rem;
    overflow: hidden;
    transition: opacity 0s ease-out, transform 0s ease-out;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    background-color: rgb(12, 63, 106);
    border-radius: 50%;
    padding: 1.5rem;
}

.politicatitulo {
    background-color: rgb(12, 63, 106);
    border-radius: 5rem;
    color: whitesmoke;
    padding: 0.8rem;
    font-family: glacial;
    margin-top: 2rem;
    text-align: center;
    margin-right: auto;
}

.politicas {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 2rem;
    margin: auto;
}

.determinaPrecios {
    width: 16rem;
    margin: auto;
    font-size: 80%;
}

.aviso {
    font-weight: bold;
    font-size: small;
    background-color: brown;
    padding: 0.5rem;
    color: white;
    width: 100%;
}

.contenido {
    opacity: 0;
    transform: translateX(100rem);
    transition: opacity 0.7s, transform 2s;
}

.barraNavegacion {
    background-color: rgb(241, 241, 241);
}

.contenido.visible {
    opacity: 1;
    transform: translateX(0);
}

footer {
    background-color: rgb(12, 63, 106);
    color: whitesmoke;
    margin-top: 0.2rem;
    text-align: center;
}

@media (max-width: 576px) {
    .row {
        flex-direction: column;
        align-items: center;
    }

    .carta {
        width: 90%;
        transition: 0.5 ease all;
    }

    h2 {
        font-size: 2rem;
        text-align: center;
    }

    h3 {
        display: none;
    }

    .texto-desc {
        font-size: 1.3rem;
    }

    .offcanvas {
        width: 100% !important;
        z-index: 1050;
    }

    .navbar-collapse {
        position: absolute;
        top: 100%;
        width: 100%;
        background: white;
        z-index: 999;
    }

    .agendar {
        margin-left: 0 !important;
    }

    .cotiza {
        font-size: 0.7rem;
    }

    .logo {
        width: 60px;
    }

    .politicaportada {
        display: none;
    }

    .slider .row {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .slider .carta {
        flex: 0 0 80%;
        scroll-snap-align: center;
        margin-right: 1rem;
    }
}

@media (min-width: 577px) and (max-width: 991px) {
    h2,
    h3 {
        font-size: 2rem;
    }

    .inicio {
    font-size: 1.2rem;
  }

    .row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .carta {
        width: 40%;
        margin: 20px;
    }

    .logo {
        width: 70px;
    }

    .politicaportada {
        display: none;
    }
      .agendar{
    margin-left: 15%;
    }
    
}

@media (min-width: 992px) {
    .carta {
        width: 23%;
    }

    .inicio {
        font-size: 2rem;
        max-width: 70%;
    }

    .logo {
        width: 80px;
    }
    .agendar{
    margin-left: 18%;
    }
    
    .politicas {
    display: flex;
    flex-wrap: nowrap; /* ❗ Evita que se apilen en grande */
    gap: 2rem;
  }

  .politicaportada {
    max-width: 100%;
    height: auto;
    margin: auto;
  }

  .slider {
    padding: 1rem;
  }
}



