/* Componentes que se repiten en las páginas de catálogo y embarcación. */
body.pagina-inicio #marcasmov {
    display: block;
}

body.pagina-inicio #marcas {
    display: none;
}

body.pagina-inicio .promocionespc {
    overflow: hidden;
}

body.pagina-inicio .promocionespc:hover .promociones {
    animation-play-state: paused;
}

body.pagina-inicio .promociones {
    animation: 60s slidepromos infinite linear;
}

body.pagina-inicio .promocion {
    padding: 1em;
}

body.pagina-inicio #cta-izquierda {
    background-image: url("https://www.yachtcancun.com/imagenes/bg-caja1-home.jpg");
}

body.pagina-inicio #cta-derecha {
    background-image: url("https://www.yachtcancun.com/imagenes/bg-caja2-home.jpg");
}

body.pagina-inicio .cta {
    background-repeat: no-repeat;
    background-position: top;
    background-size: 100%;
    height: 150px;
    color: #fff;
}

body.pagina-inicio .cta img {
    width: 60%;
    margin-left: 20%;
}

body.pagina-inicio .cta-video {
    height: 660px;
}

/* Accesos principales del inicio: agrupar en móvil y distribuir en escritorio. */
body.pagina-inicio #botones-home {
    position: relative;
}

body.pagina-inicio #botones-home > .container {
    inset: 0;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    display: flex;
    align-items: center;
}

body.pagina-inicio #botones-home .home-ctas {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 2.5vh, 22px);
    width: 100%;
    margin: 0;
    padding: 20px 16px;
}

body.pagina-inicio #botones-home .home-cta-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    width: 100%;
    min-width: 0;
}

body.pagina-inicio #botones-home .home-cta {
    margin: 0;
}

/* Mantener las etiquetas de estado dentro de cada tarjeta del inventario. */
body.pagina-inicio #inventario-home .bordeverde > a,
body.pagina-inicio #inventario-home .swiper-slide > a {
    position: relative;
    display: block;
    width: 100%;
}

body.pagina-inicio #inventario-home .banderin-status {
    box-sizing: border-box;
    max-width: 100%;
    padding: 5px clamp(6px, 1vw, 12px);
    font-size: clamp(10px, 1.5vw, 15px);
    letter-spacing: clamp(.5px, .25vw, 2.5px);
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.1;
}

body.pagina-inicio #fondo-botones-home {
    background-image: url("https://www.yachtcancun.com/imagenes/fondo-botones-home-mov.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

body.pagina-inicio .carousel-control-prev,
body.pagina-inicio .carousel-control-next {
    width: 6vh;
    height: 6vh;
    border-radius: 50%;
    top: 44%;
}

body.pagina-inicio #carousel-promociones .carousel-control-prev {
    transform: translateX(8%) translateY(-73%);
}

body.pagina-inicio #carousel-promociones .carousel-control-next {
    transform: translateX(-8%) translateY(-73%);
}

body.pagina-inicio .carousel-img-prev {
    transform: scaleX(-1);
    width: 2em;
}

body.pagina-inicio .carousel-img-next {
    width: 2em;
}

body.pagina-inicio .carousel-item img {
    width: 100%;
}

body.pagina-inicio .carousel-marcas {
    display: block;
    width: 100%;
    aspect-ratio: 5 / 6;
    box-sizing: border-box;
    object-fit: cover;
    object-position: center;
    opacity: .4;
    cursor: pointer;
}

body.pagina-inicio .carousel-marcas:hover {
    opacity: 1 !important;
    border-bottom: 1px solid #1ee61e !important;
}

body.pagina-catalogo {
    --color-catalogo: #51c453;
}

@media (min-width: 576px) {
    body.pagina-inicio #marcasmov {
        display: block;
    }

    body.pagina-inicio #marcas {
        display: none;
    }

    body.pagina-inicio .cta {
        height: 130px;
    }

    body.pagina-inicio .cta-video {
        height: 400px;
    }

    body.pagina-inicio .cta img {
        width: 80%;
        margin-left: 10%;
    }

    body.pagina-inicio .contenido-cta {
        width: 45%;
    }

    body.pagina-inicio .texto-marca {
        height: 30px;
    }
}

@media (min-width: 768px) {
    body.pagina-inicio #marcasmov {
        display: none;
    }

    body.pagina-inicio #marcas {
        display: block;
    }

    body.pagina-inicio .cta,
    body.pagina-inicio .cta-video {
        height: 488px;
    }

    body.pagina-inicio #botones-home .home-ctas {
        flex-direction: row;
        gap: clamp(12px, 2vw, 32px);
        padding: 20px 24px;
    }

    body.pagina-inicio #botones-home .home-cta-item {
        flex: 1 1 0;
        width: auto;
    }

    body.pagina-inicio .contenido-cta {
        width: 40%;
    }

    body.pagina-inicio .texto-marca {
        height: 250px;
    }
}

@media (min-width: 992px) {
    body.pagina-inicio .cta,
    body.pagina-inicio .cta-video {
        height: 564px;
    }

    body.pagina-inicio .cta img {
        width: 60%;
        margin-left: 20%;
    }

    body.pagina-inicio .contenido-cta {
        width: 35%;
    }

    body.pagina-inicio .texto-marca {
        height: 200px;
    }
}

@media (min-width: 1200px) {
    body.pagina-inicio .cta,
    body.pagina-inicio .cta-video {
        height: 700px;
    }

    body.pagina-inicio .cta img {
        width: 80%;
        margin-left: 10%;
    }

    body.pagina-inicio .contenido-cta {
        width: 30%;
    }

    body.pagina-inicio .texto-marca {
        height: 190px;
    }
}

@media (min-width: 1600px) {
    body.pagina-inicio .cta,
    body.pagina-inicio .cta-video {
        height: 900px;
    }

    body.pagina-inicio .cta img {
        width: 100%;
        margin-left: 0;
    }

    body.pagina-inicio .contenido-cta {
        width: 30%;
    }

    body.pagina-inicio .texto-marca {
        height: 150px;
    }
}

body.pagina-catalogo.pagina-catalogo--bright {
    --color-catalogo: #1ee61e;
}

body.pagina-catalogo h1 {
    text-align: left;
}

body.pagina-catalogo.pagina-vender h1 {
    text-align: center;
}

body.pagina-catalogo .oferta {
    font-size: 2.5em;
    text-decoration: line-through;
    color: #555;
    margin: 0;
}

body.pagina-catalogo .precio {
    font-size: 2.5em;
    color: var(--color-catalogo);
}

body.pagina-catalogo .borde-verde {
    border: 2px solid var(--color-catalogo);
}

body.pagina-catalogo .tdinferior {
    border-bottom: 2px solid var(--color-catalogo);
}

body.pagina-catalogo table {
    width: 100%;
}

body.pagina-catalogo td {
    padding-left: 1em;
    width: 100%;
    vertical-align: top;
}

body.pagina-catalogo td p {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

body.pagina-catalogo .tdizquierdo {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}

body.pagina-catalogo .tdderecho {
    border-bottom: 2px solid #fff;
}

/* Tarjetas de embarcaciones: reservar una caja panorámica y recortar dentro de ella. */
body.pagina-catalogo #resultado .bordeverde > a {
    display: block;
    width: 100%;
}

body.pagina-catalogo #resultado .imagen-embarcacion {
    width: 100%;
    aspect-ratio: 580 / 380;
    overflow: hidden;
}

body.pagina-catalogo #resultado .imagen-embarcacion img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

body.pagina-catalogo .thumbs {
    overflow: hidden;
}

body.pagina-catalogo .thumb-galeria {
    margin-bottom: 16px;
}

body.pagina-catalogo .thumbnail {
    padding: 10px;
}

body.pagina-catalogo .imagen {
    width: 100%;
}

body.pagina-catalogo .datosvendedor {
    text-align: center;
    line-height: 25px;
    margin-left: 1rem;
    margin-top: 0;
}

body.pagina-catalogo .comunicate-abajo {
    display: block;
    margin-bottom: 2em;
}

body.pagina-catalogo .comunicate-arriba {
    display: none;
}

.ficha-perfil-pc {
    background: url("https://www.yachtcancun.com/imagenes/fondo-nosotros.jpg");
    background-size: 100% 100%;
    margin-bottom: 20px;
}

.ficha-perfil {
    background: url("https://www.yachtcancun.com/imagenes/fondo-nosotros.jpg");
    background-size: 100% 100%;
    width: 48%;
    margin-bottom: 12px;
}

.bordeverde {
    position: relative;
    border: 1px solid #1ee61e;
}

.flechabotonhome {
    height: 1.3rem;
    margin-top: -2px;
}

body.pagina-filtros .form-select {
    background: #000;
    border-radius: 0;
    border: 2px solid #1ee61e;
}

body.pagina-filtros .k-label {
    color: transparent !important;
}

body.pagina-filtros .rangode {
    width: 100px;
    float: left;
    background: #1ee61e;
    color: #000;
    text-align: center;
}

body.pagina-filtros .rangohasta {
    width: 100px;
    float: right;
    background: #1ee61e;
    color: #000;
    text-align: center;
}

body.pagina-buscador #cajabusqueda {
    border: 1px solid #1ee61e;
    background: rgba(255, 255, 255, .2);
    margin-bottom: 2rem;
    width: 100%;
}

body.pagina-buscador .contenidobuscador {
    width: 100%;
}

body.pagina-buscador .boton-buscador {
    height: 2em;
    border: 1px solid;
    border-radius: 0;
    background: #000;
    padding-top: 5px;
    color: #fff;
}

/* Apariencia común de los controles Kendo usados en los filtros. */
.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-pagination-bullet-active,
.swiper-pagination-bullet {
    background: #1ee61e;
    width: 1em;
    height: 1em;
}

.swiper-button-next,
.swiper-button-prev {
    color: #1ee61e;
}

.k-slider .k-draghandle {
    border-color: #1ee61e;
    color: var(--kendo-color-on-primary, #fff);
    background-color: #1ee61e;
    border-radius: 50%;
}

.k-slider .k-draghandle:hover {
    border-color: #1ee61e;
    background-color: #1ee61e;
}

.k-slider .k-slider-selection {
    background-color: #1ee61e;
}

@media (min-width: 576px) {
    body.pagina-catalogo td {
        width: 50%;
    }

    body.pagina-catalogo .datosvendedor {
        text-align: center;
        margin-left: 0;
    }
}

@media (min-width: 768px) {
    body.pagina-catalogo .comunicate-abajo {
        display: none;
    }

    body.pagina-catalogo .comunicate-arriba {
        display: block;
    }
}

@media (min-width: 992px) {
    body.pagina-catalogo .datosvendedor {
        text-align: left;
    }

    body.pagina-catalogo .comunicate-abajo {
        display: block;
    }

    body.pagina-catalogo .comunicate-arriba {
        display: none;
    }
}
