/* ═══════════════════════════════════════════
   SPUNTO PENSIONE — CSS GLOBAL
   ═══════════════════════════════════════════ */

/* ── Reset & Base ──────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    /* UIL Brand Colours */
    --uil-blue: #003d99;
    --uil-blue-dark: #002366;
    --uil-yellow: #f5c842;
    --uil-yellow-soft: #fbe89a;
    --uil-white: #ffffff;
    --uil-grey-bg: #121212;
    /* Dark app background */
    --uil-text-dark: #f5f5f5;
    /* Light text for dark mode */
    --uil-text-light: #ffffff;

    /* Spunto Design System (Modern Dark Theme) */
    --bg-home: #121212;

    /* Neon Accents for Categories */
    --accent-pensioni: #ff782e;
    --accent-pensioni-rgb: 255, 120, 46;
    /* Vibrant Orange */
    --accent-salute: #ff4081;
    --accent-salute-rgb: 255, 64, 129;
    /* Vibrant Pink */
    --accent-integrazioni: #29b6f6;
    --accent-integrazioni-rgb: 41, 182, 246;
    /* Vibrant Blue */
    --accent-servizi: #66bb6a;
    --accent-servizi-rgb: 102, 187, 106;
    /* Vibrant Green */

    /* Support Colors */
    --antracite: #1e1e24;
    /* Elevated dark cards */
    --text-antracite: #e0e0e0;
    --bianco: #ffffff;

    /* Current dynamic accent, default to white or yellow */
    --current-accent: var(--uil-blue);

    /* Dimensions */
    --header-h: 60px;
    --footer-h: 60px;

    /* Transitions */
    --ease-out: cubic-bezier(.25, .46, .45, .94);
}

html,
body {
    height: 100%;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: var(--uil-grey-bg);
    color: var(--uil-text-dark);
    overflow: hidden;
    /* prevent body scroll – main scrolls instead */
}

/* ── Custom Scrollbar ───────────────────────────── */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.25);
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4);
    border: 2px solid transparent;
    background-clip: padding-box;
}

/* ── Utility ───────────────────────────── */
button {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
    opacity: .55;
    pointer-events: none;
}

/* Overrides for legacy inline HTML styling for Dark Theme */
*[style*="color: var(--antracite)"] {
    color: var(--uil-text-dark) !important;
}

*[style*="background: var(--antracite)"] {
    background: var(--current-accent) !important;
}

*[style*="border-color: var(--antracite)"] {
    border-color: var(--current-accent) !important;
}

*[style*="border: 2px solid var(--antracite)"] {
    border-color: var(--current-accent) !important;
}

*[style*="background: #e3f2fd"] {
    background: rgba(var(--current-accent-rgb, 255, 255, 255), 0.1) !important;
}

/* --- MICRO-INTERACTIONS (Tactile Feedback) --- */
.tile:active,
.btn-action-solid:active,
.btn-action-outline:active,
.btn-wizard:active,
.btn-continua:active,
.btn-step-next:active,
.btn-step-next-adi:active,
.btn-step-next-magg:active,
.btn-bivio:active,
.btn-back:active,
.btn-back-category:active,
.coverflow__card:active {
    transform: scale(0.96) !important;
    transition: transform 0.1s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}