@charset "UTF-8";




* {

    font-family: "Open Sans", sans-serif;

    font-optical-sizing: auto;

    font-weight: 400;

    font-style: normal;

    font-variation-settings: "wdth" 100;

}

/* Loader de entrada */

.page-loader {
    display: none;
}

.js .page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 24%, rgba(255, 205, 92, .28), transparent 28%),
        linear-gradient(145deg, #f9a01b 0%, #f58220 48%, #e96016 100%);
    opacity: 1;
    visibility: visible;
    transition: opacity .5s ease, visibility .5s ease;
}

.js .page-loader--hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.page-loader__content {
    position: relative;
    width: min(78vw, 330px);
    text-align: center;
}

.page-loader__logo {
    position: relative;
    z-index: 2;
    display: block;
    width: min(58vw, 210px);
    height: auto;
    margin: 0 auto;
    animation: loader-breathe 1.8s ease-in-out infinite;
}

.page-loader__sun {
    position: absolute;
    top: -70px;
    right: -18px;
    width: 66px;
    height: 66px;
    border: 2px solid rgba(247, 145, 30, .24);
    border-radius: 50%;
    animation: loader-sun 4s linear infinite;
}

.page-loader__sun::before,
.page-loader__sun::after {
    position: absolute;
    inset: -12px 31px;
    content: "";
    border-top: 8px solid #f9b233;
    border-bottom: 8px solid #f9b233;
}

.page-loader__sun::after {
    transform: rotate(90deg);
}

.page-loader__sun span {
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffd45e, #f58220);
    box-shadow: 0 8px 22px rgba(245, 130, 32, .2);
}

.page-loader__wave {
    width: 78%;
    height: 8px;
    margin: 1rem auto 0;
    border-radius: 50%;
    border-top: 2px solid rgba(255, 255, 255, .85);
    animation: loader-wave 1.5s ease-in-out infinite;
}

.page-loader p {
    margin: .35rem 0 0;
    color: #fff;
    font-size: .9rem;
    font-weight: 400;
    letter-spacing: .04em;
    text-shadow: 0 1px 4px rgba(125, 48, 0, .2);
}

@keyframes loader-breathe {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes loader-sun {
    to { transform: rotate(360deg); }
}

@keyframes loader-wave {
    0%, 100% { transform: scaleX(.82); opacity: .45; }
    50% { transform: scaleX(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .page-loader__logo,
    .page-loader__sun,
    .page-loader__wave {
        animation: none;
    }
}

#contenedor {

    width: 100%;

    overflow-x: hidden;

}



#header {



    background: #f2f2f2

        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */



}



#camiones {

    top: 48vh;

    right: 0px !important;

    width: 45vw;

}



#sombrero {

    top: 50vh;

    width: 26%;

    z-index: 3;

}



#paquetes {

    right: 0;

    top: 93vh;

    z-index: 1;

}



#linea-punteada {

    bottom: -47vh;

    left: 0;

    width: 25%;

    z-index: 1;

}



#polaroids {

    z-index: 2;

    width: 55%;

    left: 0;

    bottom: 4vh;

}



.text-gris {

    color: #636466;

}



#beneficios {

    background-color: #f2f2f2;

    margin-top: 0px;

}



.img-seguridad {

    max-height: 90px;

    width: auto;

    padding: 0 .5vw;

}



#cartera {

    right: 0;

    top: 0;

    z-index: 1;

    width: 20%;

}



#lineaP2 {

    right: 0;

    bottom: -28vh;

    width: 34%;

}



#brujula {

    right: 0;

    top: 21%;

    width: 11%;

}



.owl-dot {

    margin: 0 1em;

}



#viajar {

    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f2f2f2+0,dddddd+100 */

    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(221, 221, 221, 1) 100%);

    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */



}



.list-naranja li::marker {

    color: #f58334;

    /* color del bullet */

    font-size: 1.2em;

    /* opcional, tamaño del bullet */

}



#punteadaViajar {

    top: -30vh;

    width: 13%;

}



#lentes {

    right: 0;

    top: -2vh;

    width: 33%;

}



#polaroidViajar {

    right: 0;

    top: 18vh;

    width: 35%;

}



#camara {

    width: 21%;

    top: 34vh;

}



.flecha-d::after {

    content: '';

    display: block;

    background-image: url("../images/flechaPlaneemos.png.webp");

    background-size: contain;

    background-repeat: no-repeat;

    width: 100px;

    height: 20px;

    top: 30%;

    right: 0;

    position: absolute;

}



#planear {

    background-color: #f2f2f2;

}



#final {

    background-image: url("../images/fondoFinal.jpg.webp");

    background-size: 100% auto;

    background-position: top center;

    padding-top: 16vh;

    background-color: #f86d19;

    background-repeat: no-repeat;

}



#punteadaF {

    width: 100%;

}



#fotosINF {

    margin-top: -16vh;

}



#maletitas {

    width: 45vw;

    height: auto;

}



#btn-enviar {

    max-width: 160px;

    height: auto;

}



/*Animacion polaroids */



/*fin animacion polaroids */

.navbar-toggler {

    border: none !important;

    /* Quita marco */

}



.navbar-toggler-icon {

    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='gray' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");

}



.nav-link {

    position: relative;

    font-weight: normal;

    transition: all 0.3s ease;

}



.nav-link:hover {

    font-weight: bold;

}



.nav-link::after {

    content: '';

    position: absolute;

    bottom: 0;

    left: 0;

    width: 0;

    height: 3px;

    background-color: #f38d47;

    transition: width 0.3s ease;

}



.nav-link:hover::after {

    width: 100%;

}



.img-full {

    width: 100%;

    height: auto;

    max-width: 100%;

}



#experiencia,

#nosotros {

    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cdcdcd+0,ffffff+100 */

    background: linear-gradient(to bottom, #cdcdcd 0%, #ffffff 100%);

    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */



}



#nosotros {

    padding-bottom: 10%;

}



#unidades {

    background: linear-gradient(to bottom, #cdcdcd 0%, #ffffff 100%);

}



#grafico {

    margin-top: -32%;

}



.text-naranja {

    color: #f58334;

}



.text-muted {

    color: #929497 !important;

}



#ic1,

#ic2,

#ic3,

#ic4,

#ic5 {

    width: 13%;

}



#ic1 {

    top: 25%;

}



#ic2 {

    top: 16%;

    left: 15%;

}



#ic3 {

    top: 8%;

    left: 35%;

}



#ic4 {

    top: 12%;

    left: 62%;

}



#ic5 {

    top: 10%;

    left: 87%;

}



.texto {

    margin-top: -16px;

}



#fondoContactoF {

    width: 87%;

    margin-left: 18%;

    margin-top: 21%;

    background-image: url("../images/fondo_formulario.jpg.webp");

    background-size: cover;

    padding: 5% 8%;

    z-index: 2;

    position: relative;

}



#contactoF {

    position: relative;

    width: 100%;

    z-index: 9999999 !important;

}



/*#contactoF input[type="text"], #contactoF input[type="email"], #contactoF input[type="tel"], #contactoF textarea {

	width: 100%;

   border: none;

    padding: 8px;

    margin-bottom: 1em;

	outline: none;

	resize: none;

	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3), !* Outset shadow *!

              

}

#contactoF textarea {

	height: 12rem;

}

#contactoF input[type="submit"] {

	background-image: url(../images/boton_enviar.png.webp);

    background-size: contain;

    background-repeat: no-repeat;

    color: gray;

    border: none;

    text-indent: -9999999em;

    width: 110px;

    height: 50px;

	background-color: transparent;

}*/



iframe {

    width: 100%;

    height: 750px;

}



#contactoC {

    padding-bottom: 12%;

}



#leyendaContacto {

    padding-top: 25%;

    z-index: 2;

}



#graficoLogo {

    bottom: 0;

    z-index: 2;

    left: 5%;

    width: 67%;

    pointer-events: none;

}



#empleado {

    bottom: 0;

    width: 30%;

    left: 33%;

    z-index: 2;

    pointer-events: none;

}



#grafico_inferior {

    width: 45%;

    top: 10%;

    z-index: 1;

    pointer-events: none;

}



#brillo {

    position: absolute;

    z-index: 1;

    bottom: 0;

    width: 52%;

}



#textosC {

    width: 58%;

}



.icono-pie {

    width: 2em;

    height: auto;

}



.iconos img {

    width: 2.5em;

    height: auto;

    margin-right: .5em;

}



.map-container {

    position: absolute;

    width: 58%;

    height: 71%;

    border-radius: 50%;

    overflow: hidden;

    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);

    top: 14%;

    left: 21%;

}



#fondo-mapa {

    width: 80%;

    margin: 0 auto;

}



.map-container iframe {

    width: 100%;

    height: 100%;

}



footer .container {

    padding-top: 3rem !important;

}



.logo-pie {

    max-width: 85%;

    height: auto;

}



.pie {

    background-image: url("../images/fondoFooter.jpg");

    background-size: cover;

}



#wassap {

    bottom: 2%;

    right: 2%;

    width: 20%;

    z-index: 999999;

}



.ml-neg {

    margin-left: 0%;

}



.owl-carousel .owl-item img {

    height: auto;

}



.desktop {

    display: block;

}



.mobile {

    display: none !important;

}



/* --- Flechas de navegación --- */

.owl-nav button.owl-prev,

.owl-nav button.owl-next {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    opacity: 0.5;

    color: #fff !important;

    border: none;

    padding: 10px;

    border-radius: 50%;

    cursor: pointer;

    transition: background 0.3s ease;

    font-size: 4em !important;

}



.owl-nav button.owl-prev:hover,

.owl-nav button.owl-next:hover {

    opacity: 1;

}



/* Posiciones */

.owl-nav button.owl-prev {

    left: 15px;

}



.owl-nav button.owl-next {

    right: 15px;

}



/* --- Puntos de navegación --- */

.owl-dots {

    position: relative;

    bottom: 5px;

    text-align: center;

    width: 100%;

    margin-top: -4em;

}



.owl-dots .owl-dot span {

    width: 12px;

    height: 12px;

    background: rgba(210, 210, 210, 0.4);

    /* Blanco translúcido */

    display: block;

    margin: 5px;

    border-radius: 50%;

    transition: background 0.3s ease;

}



.owl-dots .owl-dot.active span {

    background: rgba(210, 210, 210, 1);

    /* Blanco sólido al estar activo */

}



.background-banner {

    height: 2000px;

    background: #EB782B;

}



@media only screen AND (max-width: 1440px) {

    #grafico {

        margin-top: -28vh;

    }



    #contactoF {

        width: 71%;

        margin-top: 13%;

    }



    #contactoF input[type="submit"] {

        width: 8vw;

    }



    #leyendaContacto {

        padding-top: 15vh;

    }



    #contactoC {

        padding-bottom: 5%;

    }



    footer .container,

    footer .pt-5 {

        padding-top: 1rem !important;

    }



    /* Ajustes de banner */

    #camiones {

        top: 44vh;

        width: 42vw;

    }



    #sombrero {

        top: 48vh;

        width: 24%;

        left: 0;

    }



    #paquetes {

        top: 88vh;

    }



    #polaroids {

        width: 52%;

        bottom: 5vh;

    }



    #cartera {

        width: 22%;

    }



    #brujula {

        width: 13%;

    }



    #punteadaViajar {

        top: -25vh;

        width: 15%;

    }



    #lentes {

        width: 31%;

        top: 0vh;

    }



    #polaroidViajar {

        width: 33%;

        top: 20vh;

    }



    #camara {

        width: 23%;

        top: 36vh;

    }



}



@media only screen AND (max-width: 1470px) {

    #lentes {

        top: 8vh;

        width: 30%;

    }

}



@media only screen AND (max-width: 1050px) {

    #camiones {

        top: 36vh;

        width: 50vw;

    }



    #sombrero {

        top: 52vh;

        width: 28%;

    }



    #paquetes {

        top: 82vh;

        max-width: 55%;

    }



    #polaroids {

        width: 60%;

        bottom: 6vh;

    }



    #linea-punteada {

        width: 28%;

    }



    #cartera {

        width: 25%;

    }



    #lineaP2 {

        width: 38%;

    }



    #brujula {

        width: 15%;

        top: 18%;

    }



    #punteadaViajar {

        top: -22vh;

        width: 17%;

    }



    #lentes {

        width: 32%;

        top: 2vh;

    }



    #polaroidViajar {

        width: 38%;

        top: 22vh;

    }



    #camara {

        width: 25%;

        top: 38vh;

    }



    .flecha-d::after {

        width: 80px;

        height: 16px;

    }



    #wassap {

        width: 25%;

    }

}



/* Tablet landscape y portrait grande (1024px y menos) */

@media only screen AND (max-width: 1024px) {

    .background-banner {

        min-height: 124vh;

        height: auto;

    }



    #camiones {

        top: 42vh;

        width: 48vw;

        right: 2vw;

    }



    #sombrero {

        top: 58vh;

        width: 28%;

        left: 0vw;

    }



    #paquetes {

        top: 88vh;

        right: 3vw;

        max-width: 58%;

    }



    #paquetes .row.mt-3 {

        margin-top: 1rem !important;

    }



    #paquetes .row.mt-5 {

        margin-top: 2rem !important;

    }



    #paquetes img {

        max-width: 100%;

    }



    #polaroids {

        width: 58%;

        bottom: 8vh;

        left: 3vw;

    }



    #linea-punteada {

        width: 28%;

        bottom: -10vh;

    }



    #cartera {

        width: 24%;

        top: 1vh;

    }



    #lineaP2 {

        width: 38%;

        bottom: -24vh;

    }



    #brujula {

        width: 14%;

        top: 19%;

        right: -1%;

    }



    #punteadaViajar {

        top: -18vh;

        width: 16%;

    }



    #lentes {

        width: 32%;

        top: 4vh;

    }



    #polaroidViajar {

        width: 38%;

        top: 22vh;

    }



    #camara {

        width: 24%;

        top: 42vh;

    }



    .flecha-d::after {

        width: 65px;

        height: 13px;

        right: -5vw;

    }



    #maletitas {

        width: 55vw;

    }



    #wassap {

        width: 26%;

    }



    .btn-size {

        width: 50% !important;

    }



    h2 {

        font-size: 1.65rem;

    }



    .img-seguridad {

        max-height: 80px;

        padding: 0 1.2vw;

        margin: 2vh 1vh;

    }



    #iconosSeg .mt-5 {

        margin-top: 2.5rem !important;

    }



    .owl-dots {

        margin-top: -3em;

    }



    #fotosINF {

        margin-top: -12vh;

    }



    iframe {

        height: 850px;

    }

}



/* Tablet portrait (768px y menos) */

@media only screen AND (max-width: 768px) {

    .background-banner {

        height: auto;

        min-height: 90vh;

    }



    #camiones {

        top: 48vh;

        width: 68vw;

        right: auto;

        left: 50%;

        transform: translateX(-50%);

    }



    #sombrero {

        top: 72vh;

        width: 32%;

        left: 0vw;

    }



    #paquetes {

        top: 98vh;

        right: 4vw;

        max-width: 72%;

    }



    #paquetes .row.mt-3 {

        margin-top: 0.5rem !important;

    }



    #paquetes .row.mt-5 {

        margin-top: 1.5rem !important;

    }



    #paquetes .text-end.pe-5 {

        padding-right: 1rem !important;

    }



    #polaroids {

        width: 72%;

        bottom: 10vh;

        left: 50%;

        transform: translateX(-50%);

    }



    #linea-punteada {

        width: 30%;

        bottom: -6vh;

    }



    #cartera {

        width: 26%;

        top: 2vh;

    }



    #lineaP2 {

        width: 40%;

        bottom: -20vh;

    }



    #brujula {

        width: 16%;

        top: 18%;

        right: -1%;

    }



    #punteadaViajar {

        top: -14vh;

        width: 18%;

    }



    #lentes {

        width: 34%;

        top: 8vh;

    }



    #polaroidViajar {

        width: 42%;

        top: 18vh;

    }



    #camara {

        width: 26%;

        top: 50vh;

    }



    .flecha-d::after {

        width: 50px;

        height: 10px;

        top: 32%;

        right: 5vw;

    }



    #maletitas {

        width: 65vw;

    }



    #wassap {

        width: 30%;

    }



    .btn-size {

        width: 60% !important;

    }



    h2 {

        font-size: 1.35rem;

    }



    .list-naranja {

        font-size: 1rem !important;

    }



    .img-seguridad {

        max-height: 75px;

        padding: 0;

        margin: 2.5vh 1.5vh;

        display: inline-block;

    }



    #iconosSeg .mt-5 {

        margin-top: 1.5rem !important;

    }



    #iconosSeg .pt-5 {

        padding-top: 2rem !important;

    }



    .owl-dots {

        margin-top: -2em;

    }



    #fotosINF {

        margin-top: -10vh;

    }



    iframe {

        height: 950px;

    }



    #logoCamara {

        width: 50%;

        margin: 0 auto;

        padding-bottom: 5vh;

    }



    #beneficios {

        margin-top: 579px;

    }

}



@media only screen AND (max-width: 640px) {

    #lentes {

        top: 11vh;

        width: 38%;

    }



    #beneficios {

        margin-top: 579px;

    }



    iframe {

        height: 1050px;

    }



    #camiones {

        top: 48vh;

        width: 85vw;

    }



    #sombrero {

        top: 75vh;

        width: 35%;

    }



    #paquetes {

        top: 100vh;

    }



    #polaroids {

        width: 80%;

    }



    #camara {

        width: 30%;

        top: 55vh;

    }



    #polaroidViajar {

        width: 45%;

        top: 10vh;

    }



    #punteadaViajar {

        top: -15vh;

        width: 22%;

    }



    .flecha-d::after {

        width: 50px;

        right: 10vw;

    }



    #brujula {

        width: 20%;

        right: -5%;

    }

}



@media only screen AND (max-width: 470px) {

    #beneficios {

        margin-top: 0px;

    }



    #fotosINF {

        margin-top: -7vh;

    }



    iframe {

        height: 1200px;

    }



    #maletitas {

        width: 133vw;

        height: auto;

        margin-top: -36vh;

    }



    .flecha-d::after {

        right: 15vw;

    }



    #camara {

        width: 26%;

        top: 74vh;

    }



    #polaroidViajar {



        top: -6vh;



    }



    #brujula {

        right: -7%;

        top: 8%;

        width: 22%;

    }



    #camiones {

        top: 63vh;

        width: 99vw;

    }



    #sombrero {

        top: 88vh;

        width: 26%;

        display: none;

    }



    #paquetes {

        top: 26vh;

    }



    .background-banner {

        height: 565px;

    }



    #cartera {

        display: none;

    }



    #slideP {

        display: none;

    }



    #polaroids {

        width: 70%;

        bottom: 9vh;

    }



    #cartera {

        right: 0;

        top: 3vh;

        z-index: 1;

        width: 33%;

    }



    #empleado {

        width: 44%;

        left: -12%;

    }



    #graficoLogo {

        left: -22%;

    }



    #contactoF input[type="submit"] {

        width: 21vw;

    }



    #textosC {

        width: 100%;

    }



    #contactoF {

        width: 85%;

        margin-left: 12%;

    }



    #grafico_inferior {

        width: 64%;

        top: 75%;

        z-index: 1;

    }



    #ic1,

    #ic2,

    #ic3,

    #ic4,

    #ic5 {

        width: 20%;

    }



    #ic1 {

        top: 43%;

    }



    #ic2 {

        top: 35%;

    }



    #ic3 {

        top: 24%;

    }



    #ic4 {

        top: 29%;

        left: 62%;

    }



    #ic5 {

        top: 29%;

        left: 80%;

    }



    #brillo {

        width: 98%;

    }



    #seccion-contadores .text-end,

    #seccion-contadores .col-md {

        text-align: center !important;

        margin-bottom: 1rem;

    }



    .ml-neg {

        margin-left: -15%;

    }



    .desktop {

        display: none !important;

    }



    .mobile {

        display: block !important;

    }



    /* Permitir que el carrusel del banner muestre sus slides "desktop" en móvil */

    #bannerc .desktop {

        display: block !important;

        width: 100% !important;

    }



    /* ocultar versiones "mobile" dentro del banner si existieran */

    #bannerc .mobile {

        display: none !important;

    }



    .btn-size {

        width: 50% !important;

    }



    #wassap {

        width: 70%;

    }



    .img-seguridad {

        max-height: 90px;

        width: auto;

        padding: 0;

        display: block;

        margin: 3vh 3vh;

    }



    #iconosSeg .mt-5 {

        margin-top: -1.5rem !important;

    }



    .owl-carousel .owl-item img {

        display: block;

        width: 90%;

        margin: 3vh auto 0vh;

    }



    /* --- Puntos de navegación --- */

    .owl-dots {

        margin-top: 0em;

    }



    .owl-dots .owl-dot span {

        width: 12px;

        height: 12px;

        background: rgba(210, 210, 210, 0.4);

        /* Blanco translúcido */

        display: block;

        margin: 3px;

        border-radius: 50%;

        transition: background 0.3s ease;

    }



    #logoCamara {

        width: 45%;

        margin: 0 auto;

        padding-bottom: 7vh;

    }

}

/* Mantener el carrusel de polaroids debajo del banner principal.
   Las alturas se derivan de las proporciones reales de las imágenes. */

@media only screen and (min-width: 768px) {
    .background-banner {
        height: max(2000px, calc(103.5vw + 6rem));
    }

    #polaroids {
        top: calc(46.71875vw + clamp(2rem, 3vw, 4rem));
        bottom: auto;
    }
}

@media only screen and (min-width: 471px) and (max-width: 767px) {
    .background-banner {
        height: max(90vh, calc(253.5vw + 4rem));
        min-height: 0;
    }

    #polaroids {
        top: calc(177.7778vw + 2rem);
        bottom: auto;
    }
}

@media only screen and (max-width: 470px) {
    #banner {
        background: #EB782B;
    }

    .background-banner {
        height: auto;
        min-height: 0;
    }

    #bannerc picture {
        display: block;
    }

    #bannerc .owl-item img {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
    }

    #paquetes {
        position: relative !important;
        top: auto;
        right: auto;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 2rem 1rem 3rem;
    }

    #paquetes .row.mt-3 {
        margin-top: 0 !important;
    }

    #paquetes .row.mt-5 {
        margin-top: 1.5rem !important;
    }

    #paquetes .text-end {
        text-align: center !important;
    }

    #paquetes .text-end.pe-5 {
        padding-right: 0 !important;
    }

    #beneficios {
        clear: both;
        margin-top: 0;
    }
}

/* Las decoraciones derechas deben crecer junto con su contenedor.
   .img-fluid sólo define max-width y dejaba huecos en monitores anchos. */

#cartera > img,
#brujula > img,
#lentes > img,
#polaroidViajar > img {
    display: block;
    width: 100%;
    height: auto;
}

/* Botón para regresar al inicio */

.back-to-top {
    position: fixed;
    left: 2%;
    bottom: 2%;
    z-index: 999998;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: #fff;
    background: linear-gradient(145deg, #f9a01b, #ed6b1b);
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(119, 58, 13, .25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease, box-shadow .25s ease;
    cursor: pointer;
}

.back-to-top svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.back-to-top--visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
    box-shadow: 0 8px 22px rgba(119, 58, 13, .4);
    transform: translateY(-2px);
}

.back-to-top:focus-visible {
    outline: 3px solid rgba(255, 255, 255, .95);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .back-to-top {
        transition: none;
    }
}

/* Indicadores del carrusel principal debajo de la imagen */

#bannerc .owl-dots {
    position: relative;
    bottom: auto;
    width: 100%;
    margin-top: 1rem;
    padding-bottom: .75rem;
    text-align: center;
}

/* Contenido descriptivo disponible desde el HTML inicial. */
.seo-intro h1 { font-size: clamp(1.5rem, 3vw, 2.25rem); color: #646464; font-weight: 700; }
.seo-intro p { max-width: 850px; margin: 1rem auto; color: #646464; }
.seo-intro a { color: #97400c; font-weight: 700; }
/* Mostrar el primer elemento incluso si el carrusel no se inicializa. */
.owl-carousel:not(.owl-loaded) { display: block; }
.owl-carousel:not(.owl-loaded) > :not(:first-child) { display: none; }
