body {
    background-color: #F9F8F5;
    color: #1E1E1E;
}

.brand-logo {
    width: 178px;
    height: 46px;
    object-fit: contain;
    display: block;
}

.footer-brand-logo {
    width: 220px;
    height: 72px;
    object-fit: contain;
    display: block;
}

@media (min-width: 768px) {
    #footer-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.social-icon svg {
    width: 1.15rem;
    height: 1.15rem;
    display: block;
    fill: currentColor;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #F9F8F5;
}

::-webkit-scrollbar-thumb {
    background: #1B3A6B;
    border-radius: 4px;
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

details > summary {
    list-style: none;
}

details > summary::-webkit-details-marker {
    display: none;
}

.header-solid {
    background-color: #F9F8F5;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.stats-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
}

.article-body {
    position: relative;
}

.article-body > p:first-child {
    font-size: 1.15rem;
    color: #374151;
}

.article-media img {
    display: block;
}

.article-body h2 {
    color: #1B3A6B;
    font-size: 1.75rem;
    line-height: 1.2;
    font-weight: 800;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

.article-body h3 {
    color: #1B3A6B;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 800;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.article-body p {
    color: #4B5563;
    line-height: 1.85;
    margin-bottom: 1rem;
}

.article-body ul,
.article-body ol {
    color: #4B5563;
    line-height: 1.8;
    margin: 1rem 0 1.5rem;
    padding-left: 1.25rem;
}

.article-body ul {
    list-style: disc;
}

.article-body ol {
    list-style: decimal;
}

.article-body li {
    margin-bottom: 0.65rem;
}

.article-body a {
    color: #1B3A6B;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(212, 168, 67, 0.55);
    text-underline-offset: 3px;
}

@media (min-width: 1024px) {
    main > section:not(.relative)[class*="py-24"],
    main > section[class*="py-20"],
    main > section[class*="py-16"],
    article > section[class*="py-16"],
    [id="contact-bottom"] {
        padding-top: 5.25rem;
        padding-bottom: 5.25rem;
    }

    article header .container {
        padding-top: 5.5rem;
        padding-bottom: 5.75rem;
    }

    #services .text-center.max-w-3xl,
    #universities .text-center.max-w-3xl,
    #faq .text-center,
    #blog > .container > h2,
    #reviews h2 {
        margin-bottom: 2.5rem;
    }

    #why-slovakia-grid,
    #universities-grid,
    #blog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #why-slovakia-grid,
    #blog-grid,
    #services .grid.lg\:grid-cols-3,
    #reviews .flex.gap-8 {
        gap: 1.5rem;
    }

    #why-slovakia-grid > article,
    #services .grid.lg\:grid-cols-3 > div,
    #universities-grid > a .p-6,
    #reviews .snap-center {
        padding: 1.75rem;
    }

    #universities-grid {
        margin-bottom: 3rem;
    }

    #blog a {
        display: grid;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
        height: 22.5rem;
    }

    #blog a .aspect-video {
        aspect-ratio: auto;
        height: 100%;
    }

    #blog a > div:last-child {
        min-height: 0;
        height: 100%;
        padding: 1.35rem 1.5rem;
    }

    #blog a h3 {
        margin-bottom: 0;
    }

    .article-body {
        padding: 2rem 2.25rem;
    }

    .article-body > p:first-child {
        font-size: 1.08rem;
    }

    .article-body h2 {
        margin-top: 2rem;
        margin-bottom: 0.85rem;
    }

    .article-body h3 {
        margin-top: 1.25rem;
        margin-bottom: 0.65rem;
    }

    .article-body p {
        line-height: 1.78;
        margin-bottom: 0.9rem;
    }

    .article-body ul,
    .article-body ol {
        margin: 0.85rem 0 1.2rem;
    }

    .article-media {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .article-body .mt-10,
    .article-body .mt-12 {
        margin-top: 2rem;
    }

    .article-body .p-6,
    .article-body .p-8,
    .article-body .md\:p-10,
    .article-body .md\:p-12 {
        padding: 1.5rem;
    }

    .article-body img.h-72 {
        height: 16rem;
    }
}

@media (max-width: 767px) {
    #blog a {
        height: auto;
    }

    #blog a > div:last-child {
        min-height: auto;
    }
}

/* Lucide Icons Styling */
i[data-lucide] {
    display: inline-block;
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    vertical-align: middle;
}

/* Icons in navigation and buttons */
nav i[data-lucide],
button i[data-lucide] {
    width: 24px;
    height: 24px;
}

/* Icons in hero section */
#home i[data-lucide] {
    width: 24px;
    height: 24px;
    color: #1B3A6B;
    stroke-width: 2.5;
}

/* Icons in "Why Slovakia" section */
#why-slovakia-grid i[data-lucide] {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    color: #D4A843;
    stroke-width: 1.5;
}

/* Icons in services section */
#services i[data-lucide] {
    width: 32px;
    height: 32px;
    color: #D4A843;
    stroke-width: 2;
}

/* Icons in list items - checkmarks */
li i[data-lucide="check"] {
    width: 20px;
    height: 20px;
    color: #D4A843;
    stroke-width: 2.5;
    flex-shrink: 0;
}

/* Icons in "Why us" section */
#about i[data-lucide="headphones"] {
    width: 28px;
    height: 28px;
    color: #FFFFFF;
    stroke-width: 2;
}

/* Icons in university pages */
article i[data-lucide] {
    width: 24px;
    height: 24px;
    color: #1B3A6B;
    stroke-width: 2;
}

/* Scroll to top button icon */
#scrollToTopBtn i[data-lucide] {
    width: 24px;
    height: 24px;
    color: #FFFFFF;
    stroke-width: 2.5;
}

/* Mobile menu icon */
#mobileMenuBtn i[data-lucide] {
    width: 28px;
    height: 28px;
    color: #1B3A6B;
    stroke-width: 2;
}


/* Lucide Icons Global Styling */
[data-lucide] {
    width: 24px;
    height: 24px;
    stroke-width: 2;
    display: inline-block;
}

/* MOBILE MENU - HIDE ON DESKTOP */
@media (min-width: 768px) {
    #mobileMenuBtn {
        display: none !important;
    }
    
    #mobileMenu {
        display: none !important;
    }
}

/* Icons with text-brand-blue class - BLUE COLOR */
[data-lucide].text-brand-blue {
    color: #1B3A6B !important;
    stroke: #1B3A6B !important;
}

/* Icons in text-brand-blue elements - BLUE COLOR */
.text-brand-blue [data-lucide] {
    color: #1B3A6B !important;
    stroke: #1B3A6B !important;
}

/* Hero button graduation-cap icon - BLUE COLOR */
a[href="#universities"] [data-lucide="graduation-cap"] {
    color: #1B3A6B !important;
    stroke: #1B3A6B !important;
    width: 24px !important;
    height: 24px !important;
}

/* Icons in text-gray-500 elements - GOLD COLOR */
.text-gray-500 [data-lucide] {
    color: #D4A843 !important;
    stroke: #D4A843 !important;
}

/* Icons with w-8 h-8 classes - GOLD COLOR, 32px */
.w-8.h-8[data-lucide],
.text-brand-gold[data-lucide] {
    width: 32px !important;
    height: 32px !important;
    color: #D4A843 !important;
    stroke: #D4A843 !important;
    display: block;
}

/* Icons with w-5 h-5 classes - inherit color from parent (messengers) */
.w-5.h-5[data-lucide] {
    width: 20px !important;
    height: 20px !important;
    color: currentColor !important;
    stroke: currentColor !important;
}

/* Icons with w-4 h-4 classes - GOLD COLOR, 16px (university cards) */
.w-4.h-4[data-lucide] {
    width: 16px !important;
    height: 16px !important;
    color: #D4A843 !important;
    stroke: #D4A843 !important;
}

/* Icons in article cards - GOLD COLOR, LARGER SIZE */
article [data-lucide] {
    width: 32px !important;
    height: 32px !important;
    color: #D4A843 !important;
    stroke: #D4A843 !important;
    margin-bottom: 24px;
    display: block;
}

/* Icons in service cards */
.w-12 [data-lucide],
.w-10 [data-lucide] {
    width: 24px !important;
    height: 24px !important;
    color: #D4A843 !important;
    stroke: #D4A843 !important;
}

/* Icons in university characteristics (круглые блоки) */
.w-12.h-12 [data-lucide],
.bg-brand-light [data-lucide] {
    width: 24px !important;
    height: 24px !important;
    color: #D4A843 !important;
    stroke: #D4A843 !important;
}

/* Icons in rounded circles */
.rounded-full [data-lucide] {
    width: 24px !important;
    height: 24px !important;
    color: #D4A843 !important;
    stroke: #D4A843 !important;
}

/* Icons in lists */
li [data-lucide] {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0;
    color: currentColor !important;
}

/* Icons in buttons and links */
button [data-lucide],
a [data-lucide] {
    width: 20px !important;
    height: 20px !important;
}

/* Contact section icons - white by default, blue on hover for contrast with gold background */
.group .bg-brand-blue [data-lucide] {
    color: #FFFFFF !important;
    stroke: #FFFFFF !important;
}

.group:hover .group-hover\:bg-brand-gold [data-lucide],
.group:hover span.group-hover\:bg-brand-gold [data-lucide] {
    color: #1B3A6B !important;
    stroke: #1B3A6B !important;
}

