﻿



*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
}

img, svg, video, canvas {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Asegura que las tarjetas no excedan el ancho en móviles */
.login-left, .login-card {
    max-width: 100%;
}

/* Inputs “tocables” y sin zoom en iOS */
.k-textbox, .k-input, .k-dropdownlist, .k-combobox {
    font-size: 16px;
}

/* Evitar que textos larguísimos rompan el layout */
.login-left, .login-card {
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

/* ——— Estado base de la grilla (desktop/tablet ancho) ——— */
/* (Tu base original, pero agregamos padding lateral mínimo para que nunca “toque” el borde) */
.login-layout {
    padding: 0 16px;
}


@media (max-width: 768px) {
    /* reduce altura para pantallas pequeñas */
    .k-scrollview,
    .k-scrollview .k-scrollview-wrap,
    .k-scrollview .k-scrollview-item {
        height: 260px !important; /* puedes probar 240–300px */
    }

    /* muestra el SVG completo sin recortes */
    .image-with-text img {
        object-fit: contain !important;
        background: #fff; /* “letterboxing” limpio si sobra espacio */
    }
}

/* ===== Very-narrow phones ===== */
@media (max-width: 360px) {
    .k-scrollview,
    .k-scrollview .k-scrollview-wrap,
    .k-scrollview .k-scrollview-item {
        height: 230px !important;
    }
}

/* ===== Grid de centros – evita overflow en móviles delgados ===== */
@media (max-width: 420px) {
    .centros-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 12px;
    }
}

/* Desktop: dejas el alto fijo si quieres */
@media (min-width: 1025px) {
    .home-carousel .k-scrollview,
    .home-carousel .k-scrollview-wrap,
    .home-carousel .k-scrollview-item {
        height: 384px;
    }

    .home-carousel .image-with-text img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Tablet/Móvil: alto del banner (pisamos el inline) */
@media (max-width: 420px) {
    .home-carousel .k-scrollview,
    .home-carousel .k-scrollview-wrap,
    .home-carousel .k-scrollview-item {
        height: 100px !important;
    }

    .home-carousel .image-with-text img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: top center;
        background: #fff;
    }
}
