.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

:root {
    --main-bg: #ebe9e1;
    --main-bg-light: #f6f4ec;
    --main-text: #5b4e42;
    --primary: #e84517;
    --primary-dark: #8c1c13;
    --border: #dfdbce;
    --accent: #d83911;
    --button-bg: #e84517;
    /* ez a piros, gombhoz */
    --button-hover: #a0342b;
    /* gomb hover */
    --footer-bg: #fff;
    /* vagy sötét, pl. #e5e1d6 */
    --footer-muted: #5f4c4c;
    /* halvány barna */
    --card-bg: #fff;
    --error: #e84517;
}

.custom-marker li::marker {
    color: var(--accent);
    /* vagy szöveg: #d83911 */
}

.bg-main {
    background-color: var(--main-bg) !important;
}

.bg-main-light {
    background-color: var(--main-bg-light) !important;
}

.bg-accent {
    background-color: var(--accent) !important;
}

.bg-footer {
    background-color: var(--footer-bg) !important;
}

.bg-card {
    background-color: var(--card-bg) !important;
}

.bg-button {
    background-color: var(--button-bg) !important;
}

.text-main {
    color: var(--main-text) !important;
}

.text-primary-dark {
    color: var(--primary-dark) !important;
}

.text-muted {
    color: var(--footer-muted) !important;
}

.text-accent {
    color: var(--accent) !important;
}

.text-error {
    color: var(--error) !important;
}


.border-main {
    border-color: var(--border) !important;
}

.border-accent {
    border-color: var(--accent) !important;
}

.border-error {
    border-color: var(--error) !important;
}


.hover\:bg-button-hover:hover {
    background-color: var(--button-hover) !important;
}

.hover\:bg-accent:hover {
    background-color: var(--button-hover) !important;
}

.hover\:text-primary-dark:hover {
    color: var(--primary-dark) !important;
}

/* Fix horizontális scroll bug animációknál is */
html,
body {
    background: var(--main-bg);
    color: var(--main-text);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: 'Poppins', sans-serif;
}

/* Mobilmenü megjelenítése .open classra */
.mobile-menu {
    display: none;
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s;
}

.mobile-menu.open {
    display: flex;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}


html,
body {
    overflow-x: hidden !important;
}

body {
    background-color: #ebe9e1;
    /* gradient helyett! */
    color: var(--text-main);
    font-family: 'Poppins', sans-serif;
    scroll-behavior: smooth;
}

.hover\:bg-accent:hover {
    background-color: #a0342b;
}

.card-hover {
    transition: box-shadow 0.3s, transform 0.25s, border-color 0.2s;
}

.card-hover:hover {
    box-shadow: 0 8px 24px rgba(216, 57, 17, 0.07), 0 2px 6px rgba(0, 0, 0, 0.06);
    transform: scale(1.025) translateY(-2px);
    /* border-color: var(--accent) !important;*/
    z-index: 1;
}

#features .card-hover p {
    letter-spacing: 0.01em;
    margin-bottom: 0.75rem;
}

#features .card-hover h3 {
    letter-spacing: 0.025em;
}

#features .card-hover .opacity-80 {
    opacity: 0.8;
}

/* Alap blog-kártya */
.blog-card {
    transition: box-shadow 0.25s, border-color 0.2s;
}

.blog-card:hover {
    transform: none !important;
}

/* Hoverre csak egy picit erősebb árnyék és border szín */
.blog-card:hover {
    box-shadow: 0 6px 20px rgba(216, 57, 17, 0.11), 0 1px 4px rgba(0, 0, 0, 0.07);
    border-color: var(--accent);
    /* nincs transform, nincs z-index! */
}

/* Mobilon - csak shadow, nincs scale */
@media (max-width: 768px) {
    .blog-card:hover {
        box-shadow: 0 4px 16px rgba(216, 57, 17, 0.10), 0 1px 4px rgba(0, 0, 0, 0.05);
        border-color: var(--accent);
        transform: none;
        /* scale ne legyen! */
        z-index: 2;
    }
}

/* Asztalin - shadow + scale */
@media (min-width: 769px) {
    .blog-card:hover {
        box-shadow: 0 8px 28px rgba(216, 57, 17, 0.13), 0 2px 8px rgba(0, 0, 0, 0.08);
        border-color: var(--accent);
        transform: scale(1.035) translateY(-4px);
        z-index: 2;
    }
}

.hero-bg {
    background-color: var(--bg-muted);
}

@media (max-width: 768px) {
    #blog .grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    #blog .grid>div {
        scroll-snap-align: start;
        flex: 0 0 80%;
        margin-right: 1rem;
    }
}

#form-success {
    background-color: #dcfce7;
    border: 1px solid #34d399;
    color: #065f46;
    padding: 1rem;
    border-radius: 0.5rem;
}

.overflow-hidden {
    overflow: hidden !important;
}

.mobile-menu {
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s;
}

.mobile-menu.open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

#rolam p {
    word-break: break-word;
    margin-bottom: 0;
}