/* ======================================
   SUPERCLICK
   INICIO DEL CLIENTE
====================================== */


/* BUSCADOR */

.buscador-premium {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;

    width: 100%;
    min-height: 72px;

    padding: 10px 16px;
    margin-bottom: 30px;

    border: 1px solid var(--color-border);
    border-radius: 19px;

    background: var(--color-surface);
    box-shadow: var(--shadow-medium);
}

.buscador-premium-icono {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: var(--color-primary-light);
    font-size: 20px;
}

.buscador-premium-campo {
    display: grid;
    min-width: 0;
}

.buscador-premium-campo label {
    margin-bottom: 2px;

    color: var(--color-primary-dark);

    font-size: 11px;
    font-weight: 800;
}

.buscador-premium-campo input {
    width: 100%;

    padding: 4px 0;

    border: none !important;
    outline: none !important;

    background: transparent !important;
    box-shadow: none !important;

    color: var(--color-text);
    font-size: 15px;
}

.buscador-atajo {
    padding: 7px 10px;

    border-radius: 9px;

    background: var(--color-primary-light);
    color: var(--color-primary-dark);

    font-size: 10px;
    font-weight: 700;

    white-space: nowrap;
}


/* ENCABEZADOS */

.inicio-ofertas,
.inicio-recomendados {
    width: 100%;
    margin-bottom: 36px;
}

.inicio-seccion-encabezado {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;

    margin-bottom: 18px;
}

.inicio-seccion-encabezado h3 {
    margin: 4px 0 5px;

    color: var(--color-text);

    font-size: 23px;
    font-weight: 800;
}

.inicio-seccion-encabezado p {
    margin: 0;

    color: var(--color-text-secondary);

    font-size: 13px;
}

.boton-ver-todos {
    padding: 10px 14px;

    border: 1px solid var(--color-border);
    border-radius: 11px;

    background: var(--color-surface);
    color: var(--color-primary);

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}


/* OFERTAS */

.ofertas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;

    width: 100%;
}

.oferta-card {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);

    min-width: 0;
    overflow: hidden;

    border: 1px solid var(--color-border);
    border-radius: 19px;

    background: var(--color-surface);
    box-shadow: var(--shadow-small);
}

.oferta-imagen {
    position: relative;

    width: 100%;
    height: 190px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        var(--color-primary-light);
}

.oferta-imagen img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;
    object-position: center;

    padding: 12px;

    background: #ffffff;
}


.oferta-descuento {
    position: absolute;
    top: 11px;
    left: 11px;
    z-index: 2;

    padding: 7px 9px;

    border-radius: 9px;

    background: var(--color-error);
    color: white;

    font-size: 11px;
    font-weight: 800;
}

.oferta-contenido {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 15px;
}

.oferta-contenido h4 {
    margin: 9px 0 12px;

    color: var(--color-text);

    font-size: 15px;
}

.oferta-precios {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 13px;
}

.precio-anterior {
    color: var(--color-text-secondary);

    font-size: 12px;

    text-decoration: line-through;
}

.oferta-precios strong {
    color: var(--color-primary-dark);

    font-size: 17px;
}

.oferta-contenido button {
    width: 100%;
    min-height: 40px;

    margin-top: auto;

    border: none;
    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            var(--color-primary),
            var(--color-primary-dark)
        );

    color: white;

    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}


/* RECOMENDADOS */

.recomendados-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;

    width: 100%;
}

.recomendado-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 11px;

    min-width: 0;

    padding: 11px;

    border: 1px solid var(--color-border);
    border-radius: 16px;

    background: var(--color-surface);
    box-shadow: var(--shadow-small);
}

.recomendado-card img {
    width: 64px !important;
    height: 64px !important;

    object-fit: cover !important;

    border-radius: 12px;

    background: var(--color-primary-light);
}

.recomendado-contenido {
    min-width: 0;
}

.recomendado-contenido > span {
    color: var(--color-primary);

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
}

.recomendado-contenido h4 {
    overflow: hidden;

    margin: 4px 0 5px;

    color: var(--color-text);

    font-size: 13px;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.recomendado-contenido strong {
    color: var(--color-primary-dark);

    font-size: 13px;
}

.recomendado-card > button {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: none;
    border-radius: 11px;

    background: var(--color-primary);
    color: white;

    font-size: 20px;

    cursor: pointer;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

    .ofertas-grid {
        grid-template-columns: 1fr;
    }

    .oferta-card {
        grid-template-columns: 170px minmax(0, 1fr);
    }

    .recomendados-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 650px) {

    .buscador-premium {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .buscador-atajo {
        display: none;
    }

    .inicio-seccion-encabezado {
        align-items: stretch;
        flex-direction: column;
    }

    .boton-ver-todos {
        align-self: flex-start;
    }

    .oferta-card {
        grid-template-columns: 115px minmax(0, 1fr);
    }

    .recomendados-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 430px) {

    .oferta-card {
        grid-template-columns: 1fr;
    }

    .oferta-imagen {
        height: 190px;
    }

}

/* Modo app (celular): menos aire entre secciones y se ocultan las
   bajadas de texto decorativas, para que entre más pantalla útil
   sin scrollear tanto. */

@media (max-width: 900px) {

    .buscador-premium {
        margin-bottom: 18px;
    }

    .inicio-ofertas,
    .inicio-recomendados {
        margin-bottom: 22px;
    }

    .inicio-seccion-encabezado {
        margin-bottom: 12px;
    }

    .inicio-seccion-encabezado p {
        display: none;
    }

}