/* OfertaScan — Estilos principales */

:root {
    --primary: #0d6efd;
    --hero-gradient-start: #f0f4ff;
    --hero-gradient-end: #e8f0fe;
}

/* ── Tipografía ──────────────────────────────────────────────────────────── */
body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background-color: #f8f9fa;
    color: #212529;
}

/* ── Navbar ──────────────────────────────────────────────────────────────── */
.navbar {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero-section {
    background: linear-gradient(135deg, var(--hero-gradient-start) 0%, var(--hero-gradient-end) 100%);
    padding: 4rem 0 3rem;
}

/* Barra de búsqueda del hero: bordes redondeados consistentes */
.search-bar .form-control,
.search-bar .input-group-text,
.search-bar .btn {
    border-radius: 0 !important;
}
.search-bar .input-group {
    border-radius: 10px;
    overflow: hidden;
}

/* ── Cards ───────────────────────────────────────────────────────────────── */
.card {
    border-radius: 12px;
}

.category-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    cursor: pointer;
}
.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1) !important;
}

/* ── Botones ─────────────────────────────────────────────────────────────── */
.btn {
    border-radius: 8px;
}

/* ── Formularios ─────────────────────────────────────────────────────────── */
.form-control,
.form-select {
    border-radius: 8px;
}
.input-group > .form-control:not(:last-child) {
    border-right: 0;
}

/* ── Tablas ──────────────────────────────────────────────────────────────── */
.table thead th {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
    white-space: nowrap;
}
.table-success {
    --bs-table-bg: #e8f5ea;
}

/* ── Banner premium ──────────────────────────────────────────────────────── */
.premium-banner {
    background: linear-gradient(135deg, #0d6efd 0%, #6610f2 100%);
}

/* ── Flash alerts auto-close ─────────────────────────────────────────────── */
#flash-container .alert {
    animation: slideDown 0.3s ease;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Scrollbar personalizado ─────────────────────────────────────────────── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #c8c8c8; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #999; }

/* ── Responsive tweaks ───────────────────────────────────────────────────── */
@media (max-width: 767.98px) {
    .hero-section { padding: 2.5rem 0 2rem; }
    h1.display-5 { font-size: 1.8rem; }
}
