/* Hungaro Bau — custom styles (kiegészíti a Tailwind CDN-t) */

body {
    font-family: 'IBM Plex Sans', sans-serif;
    background-color: #0d0d0d;
    color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection {
    background: #E50914;
    color: #ffffff;
}

.font-display {
    font-family: 'Archivo Black', 'Bebas Neue', sans-serif;
    letter-spacing: -0.02em;
}

/* Grain texture overlay */
.grain::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.05;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0d0d0d; }
::-webkit-scrollbar-thumb { background: #262626; }
::-webkit-scrollbar-thumb:hover { background: #E50914; }

/* Reveal */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp 0.7s ease-out both; }

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Inputs */
.hb-input {
    width: 100%;
    padding: 14px 16px;
    background-color: #0a0a0a;
    border: 1px solid #262626;
    color: #ffffff;
    font-size: 0.95rem;
    font-family: 'IBM Plex Sans', sans-serif;
    outline: none;
    transition: border-color 0.2s;
    border-radius: 0;
}
.hb-input:focus { border-color: #E50914; }
.hb-input::placeholder { color: #525252; }
select.hb-input {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E50914' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}
select.hb-input option { background-color: #0a0a0a; color: white; }

/* Toast */
.hb-toast {
    position: fixed;
    top: 80px;
    right: 20px;
    z-index: 60;
    max-width: 380px;
    padding: 14px 18px;
    border: 1px solid #E50914;
    background: #0f0f0f;
    color: #fff;
    font-size: 14px;
    box-shadow: 0 6px 22px rgba(229,9,20,0.25);
    transform: translateX(120%);
    transition: transform .4s ease;
}
.hb-toast.show { transform: translateX(0); }
.hb-toast.error { border-color: #ef4444; box-shadow: 0 6px 22px rgba(239,68,68,0.25); }

/* Pulsing Button Animation */
@keyframes buttonPulse {
    0% { box-shadow: 0 0 0 0 rgba(229, 9, 20, 0.6); }
    70% { box-shadow: 0 0 0 12px rgba(229, 9, 20, 0); }
    100% { box-shadow: 0 0 0 0 rgba(229, 9, 20, 0); }
}
.pulse-btn {
    animation: buttonPulse 2s infinite;
}

