/* CSS Variables for Dark Mode */
:root {
    --bg-primary: #1e1e1e; /* Darker background */
    --bg-secondary: #282828; /* Dark background for sections/header */
    --text-color: #f0f0f0;
    --accent-color: #ff8c00; /* Lubelogger's orange */
    --border-color: #444;
    --card-bg: #333; /* Background for features/showcase items */
    --header-shadow: rgba(0, 0, 0, 0.3);
    --button-text-color: var(--bg-primary); /* Text color for buttons in dark mode */
    --showcase-shadow-color: rgba(0, 0, 0, 0.5); /* Unified shadow variable */
    --modal-bg-color: rgba(0, 0, 0, 0.8); /* Adjusted to 80% opacity */
    --text-color-filter: 0; /* Default for dark mode: no invert */

    /* НОВИ ПРОМЕНЛИВИ ЗА МОДАЛИ */
    --modal-content-bg: var(--card-bg); /* Фон на съдържанието на модала */
    --modal-close-btn-color: #f1f1f1; /* Цвят на бутона за затваряне в тъмен режим */
    --modal-close-btn-hover-color: #bbb; /* Цвят на бутона за затваряне при hover в тъмен режим */
}

/* CSS Variables for Light Mode */
body.light-mode {
    --bg-primary: #f0f0f0; /* Softer light background */
    --bg-secondary: #ffffff; /* White background for sections/header */
    --text-color: #333;
    --accent-color: #ff8c00; /* Orange accent remains */
    --border-color: #ddd;
    --card-bg: #f9f9f9;
    --header-shadow: rgba(0, 0, 0, 0.1);
    --button-text-color: #f0f0f0; /* Text color for buttons in light mode */
    --showcase-shadow-color: rgba(0, 0, 0, 0.1); /* Unified shadow variable */
    --modal-bg-color: rgba(0, 0, 0, 0.8); /* Adjusted to 80% opacity */
    --text-color-filter: 1; /* Invert for light mode */

    /* НОВИ ПРОМЕНЛИВИ ЗА МОДАЛИ В СВЕТЪЛ РЕЖИМ */
    --modal-content-bg: var(--card-bg); /* В светъл режим да използва същия --card-bg */
    --modal-close-btn-color: #333; /* Тъмен цвят за бутона за затваряне в светъл режим */
    --modal-close-btn-hover-color: #666; /* По-тъмен на hover в светъл режим */
}

body {
    font-family: 'Roboto', sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-color);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Custom Scrollbar for WebKit browsers */
::-webkit-scrollbar {
    width: 12px; /* Width of the scrollbar */
}

::-webkit-scrollbar-track {
    background: var(--bg-primary); /* Background of the scrollbar track */
}

::-webkit-scrollbar-thumb {
    background-color: var(--accent-color); /* Color of the scrollbar thumb */
    border-radius: 6px; /* Rounded corners for the thumb */
    border: 3px solid var(--bg-primary); /* Space around the thumb */
}

::-webkit-scrollbar-thumb:hover {
    background-color: #e67e00; /* Darker orange on hover */
}


.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Header / Navigation */
header {
    background-color: var(--bg-secondary);
    padding: 15px 0;
    box-shadow: 0 2px 5px var(--header-shadow);
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ЛОГОТО: само изображението */
.logo {
    display: flex;
    align-items: center;
}

.logo img {
    height: 30px;
}

/* Контейнер за навигационни линкове и modeToggle */
.nav-links-container {
    display: flex; /* Flexbox за хоризонтално подреждане на ul и modeToggle */
    align-items: center; /* Центриране по вертикала */
    flex-grow: 1; /* Позволява на контейнера да заеме наличното пространство */
    justify-content: flex-end; /* Подравнява съдържанието в дясно */
    /* Важно: за мобилни ще променим това на column */
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-grow: 1;
    justify-content: center; /* Центрира навигационните линкове в ul */
}

nav ul li {
    margin: 0 15px;
}

nav ul li a {
    color: var(--text-color);
    text-decoration: none;
    font-weight: 400;
    transition: color 0.3s ease, font-weight 0.3s ease;
    position: relative;
}

nav ul li a:hover {
    color: var(--accent-color);
}

nav ul li a.active {
    color: var(--accent-color);
    font-weight: 700;
}

nav ul li a.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--accent-color);
    transform: scaleX(1);
    transition: transform 0.3s ease;
}

/* Mode Toggle Button */
.mode-toggle {
    background-color: var(--bg-secondary);
    color: var(--text-color);
    border: 1px solid var(--border-color);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2em;
    cursor: pointer;
    box-shadow: 0 2px 5px var(--header-shadow);
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    flex-shrink: 0;
    margin-left: 20px; /* Отстъп от навигационните линкове */
}

.mode-toggle:hover {
    background-color: var(--accent-color);
    color: var(--button-text-color);
}

/* Language Toggle Button - NEW STYLES */
.language-toggle {
    background-color: var(--bg-secondary); /* Същият фон като хедъра */
    color: var(--text-color); /* Цвят на текста като основния */
    border: 1px solid var(--border-color); /* Бордюр като другите елементи */
    padding: 8px 12px;
    border-radius: 5px; /* Малко закръглени ъгли */
    cursor: pointer;
    font-weight: bold;
    font-size: 0.9em;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    margin-left: 10px; /* Разстояние между бутона за тема и бутона за език */
    flex-shrink: 0; /* Не позволява на бутона да се свива */
}

.language-toggle:hover {
    background-color: var(--accent-color); /* Оранжев фон при hover */
    color: var(--button-text-color); /* Текст в цвета на бутона при hover */
}


/* Hamburger Menu Button */
.hamburger {
    display: none; /* Hidden by default, shown on mobile */
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 25px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001; /* Above nav links but below modal */
}

.hamburger .bar {
    width: 100%;
    height: 3px;
    background-color: var(--text-color);
    border-radius: 10px;
    transition: all 0.3s linear;
    transform-origin: 1px;
}

/* Animation for hamburger to 'X' */
.hamburger.open .bar:nth-child(1) {
    transform: rotate(45deg);
}

.hamburger.open .bar:nth-child(2) {
    opacity: 0;
}

.hamburger.open .bar:nth-child(3) {
    transform: rotate(-45deg);
}


/* Hero Section */
.hero {
    text-align: center;
    padding: 100px 20px;
    background-color: var(--bg-secondary);
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.hero h1 {
    font-size: 3em;
    color: var(--accent-color);
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.hero p {
    font-size: 1.2em;
    color: var(--text-color);
    max-width: 800px;
    margin: 0 auto;
    transition: color 0.3s ease;
}

/* Section Styling */
section {
    padding: 60px 0;
    text-align: center;
    margin-bottom: 20px;
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

section:last-of-type {
    border-bottom: none;
}

section h2 {
    font-size: 2.5em;
    color: var(--text-color);
    margin-bottom: 40px;
    transition: color 0.3s ease;
}

/* Showcase Section - Carousel Specific Styles */
.showcase-outer-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: calc(3 * 350px + 2 * 20px + 2 * 70px);
    margin: 0 auto;
}

.showcase-wrapper {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}

.showcase-content {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 20px;
    padding: 10px 0;
}


.showcase-item {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    padding: 15px;
    border-radius: 8px;
    text-align: left;
    width: 350px;
    box-sizing: border-box;
    flex-shrink: 0;
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;

    /* Drop shadow based on theme */
    box-shadow: 0 4px 10px var(--showcase-shadow-color); /* ИЗПОЛЗВАМЕ НОВАТА ОБЩА ПРОМЕНЛИВА */
}

.showcase-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 10px;
    cursor: pointer;

    /* Добавяме тези свойства за предотвратяване на плъзгане */
    -webkit-user-drag: none; /* За WebKit/Blink браузъри (Chrome, Safari, Edge) */
    user-drag: none; /* Стандартно (макар и нешироко поддържано) */
    -moz-user-select: none; /* За Firefox, предотвратява маркиране на текст, което индиректно помага */
    -webkit-user-select: none; /* За WebKit/Blink, предотвратява маркиране на текст */
    -ms-user-select: none; /* За IE/Edge, предотвратява маркиране на текст */
    user-select: none; /* Стандартно, предотвратява маркиране на текст */
}

.showcase-item h3 {
    margin: 0 0 5px 0;
    font-size: 1.1em;
    color: var(--accent-color);
    transition: color 0.3s ease;
}

.showcase-item p {
    font-size: 0.9em;
    color: var(--text-color);
    margin: 0;
    transition: color 0.3s ease;
}

.carousel-btn {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    color: var(--accent-color);
    font-size: 2.5em;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 2px 5px var(--header-shadow);
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    z-index: 10;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.carousel-btn.prev-btn {
    left: 0;
}

.carousel-btn.next-btn {
    right: 0;
}

.carousel-btn:hover {
    background-color: var(--accent-color);
    color: var(--button-text-color);
}

/* Description below carousel */
.showcase-description {
    background-color: var(--card-bg);
    padding: 20px;
    border-radius: 8px;
    margin-top: 40px;
    display: inline-block;
    max-width: 600px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.showcase-description p {
    font-size: 1.1em;
    margin: 0;
    color: var(--text-color);
    transition: color 0.3s ease;
}

/* Features Section */
.features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 40px;
    text-align: left;
    max-width: 900px;
    margin: 0 auto;
}

.feature-item {
    background-color: var(--card-bg);
    padding: 15px 20px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    min-height: 50px;
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease-out, box-shadow 0.2s ease-out;
}

.feature-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.feature-item p {
    margin: 0;
    font-size: 1em;
    color: var(--text-color);
    transition: color 0.3s ease;
}

/* Try It Out Section */
.try-it-out a {
    background-color: var(--accent-color);
    color: var(--button-text-color);
    padding: 15px 30px;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1.2em;
    font-weight: 700;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: inline-block;
    margin-bottom: 10px;
}

.try-it-out a:hover {
    background-color: #e67e00;
}

.try-it-out p {
    margin-top: 10px;
    font-size: 1em;
    color: var(--text-color);
    transition: color 0.3s ease;
}

/* Footer */
footer {
    text-align: center;
    padding: 30px 20px;
    background-color: var(--bg-secondary);
    color: var(--text-color);
    font-size: 0.9em;
    margin-top: 20px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Modal (Lightbox) Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 2000;
    padding-top: 50px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: var(--modal-bg-color); /* Overlay color */
    justify-content: center;
    align-items: center;
}

.modal.open {
    display: flex;
}

.modal-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90vh;
    animation-name: zoom;
    animation-duration: 0.6s;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.6);
    background-color: var(--modal-content-bg); /* ИЗПОЛЗВАМЕ НОВАТА ПРОМЕНЛИВА ЗА ФОН */
    color: var(--text-color); /* ЗАДАВАМЕ ЦВЯТ НА ТЕКСТА ЗА ЦЕЛИЯ КОНТЕЙНЕР НА МОДАЛА */
    transition: background-color 0.3s ease, color 0.3s ease; /* ПЛАВЕН ПРЕХОД */
}

/* Add Animation - Zoom in the modal image */
@keyframes zoom {
    from {transform: scale(0.1)}
    to {transform: scale(1)}
}

/* The Close Button */
.close-btn {
    position: absolute;
    top: 15px;
    right: 35px;
    color: var(--modal-close-btn-color); /* ИЗПОЛЗВАМЕ НОВАТА ПРОМЕНЛИВА ЗА ЦВЯТ */
    font-size: 40px;
    font-weight: bold;
    transition: color 0.3s; /* ПЛАВЕН ПРЕХОД */
    cursor: pointer;
    z-index: 2001;
}

.close-btn:hover,
.close-btn:focus {
    color: var(--modal-close-btn-hover-color); /* ИЗПОЛЗВАМЕ НОВАТА ПРОМЕНЛИВА ЗА ЦВЯТ ПРИ HOVER */
    text-decoration: none;
    cursor: pointer;
}

/* НОВИ СТИЛОВЕ ЗА DOWNLOAD МОДАЛА */
.download-modal-content {
    background-color: var(--card-bg); /* Използваме цвета за картичките */
    margin: auto; /* Центриране */
    padding: 30px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    max-width: 600px;
    text-align: center;
    position: relative;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
    animation-name: zoom;
    animation-duration: 0.6s;
    box-sizing: border-box;
    color: var(--text-color); /* **ЗАДАВАМЕ ЦВЯТ НА ТЕКСТА ЗА ЦЕЛИЯ DOWNLOAD МОДАЛ** */
    transition: background-color 0.3s ease, color 0.3s ease; /* ПЛАВЕН ПРЕХОД */
}

.download-modal-content p {
    margin-bottom: 25px;
    font-size: 1.1em;
    color: var(--text-color); /* Това вече е правилно */
}

/* Промени в .download-buttons, за да подредим елементите на един ред */
.download-buttons {
    display: flex; /* Използваме flexbox за подреждане на един ред */
    flex-wrap: wrap; /* Позволява на елементите да преминават на нов ред, ако няма достатъъчно място */
    justify-content: center; /* Центрира бутоните хоризонтално */
    gap: 20px; /* Разстояние между елементите */
}

/* Нов стил за елементите с лога на ОС */
.download-os-item {
    background-color: var(--card-bg); /* Използваме цвета за картичките */
    border: 1px solid var(--border-color);
    border-radius: 8px;
    width: 120px; /* Фиксирана ширина, за да стане квадратно */
    height: 120px; /* Фиксирана височина, за да стане квадратно */
    display: flex;
    flex-direction: column; /* Елементите вътре ще са един под друг (лого и текст) */
    justify-content: center; /* Центрира съдържанието вертикално */
    align-items: center; /* Центрира съдържанието хоризонтално */
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease-out, box-shadow 0.2s ease-out;
    text-align: center;
    padding: 10px; /* Вътрешен отстъп */
    box-sizing: border-box; /* Включва padding-а в width/height */
}

.download-os-item:hover {
    background-color: var(--accent-color); /* Смяна на фон при hover */
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.download-os-item:hover span {
    color: var(--button-text-color); /* Смяна на цвета на текста при hover */
}

.download-os-item img {
    width: 60px; /* Размер на логото */
    height: 60px; /* Размер на логото */
    object-fit: contain; /* Запазва пропорциите и побира изображението */
    margin-bottom: 8px; /* Разстояние между логото и текста */
    /* filter: invert(var(--text-color-filter)); */
}

.download-os-item span {
    font-size: 0.9em;
    font-weight: bold;
    color: var(--text-color); /* Цвят на текста */
    transition: color 0.3s ease;
}

/* Отделно правило за бутона за затваряне, за да не се бърка с другия */
.download-close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    color: var(--text-color); /* Цвят, който се променя с темата */
    font-size: 30px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
    z-index: 2001;
}

.download-close-btn:hover,
.download-close-btn:focus {
    color: var(--accent-color);
    text-decoration: none;
    cursor: pointer;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .showcase-outer-wrapper {
        max-width: calc(2 * 350px + 1 * 20px + 2 * 70px);
    }
}

@media (max-width: 768px) {
    /* Навигация за мобилни */
    nav {
        flex-direction: row; /* Връщаме реда, за да са бутонът и логото на един ред */
        justify-content: space-between; /* Логото отляво, хамбургерът отдясно */
        align-items: center;
    }

    .hamburger {
        display: flex; /* Показваме хамбургер бутона на мобилни */
    }

    .nav-links-container {
        display: none; /* Скриваме навигационните линкове по подразбиране */
        flex-direction: column; /* Подреждаме елементите вертикално */
        position: absolute; /* Позиционираме го над съдържанието */
        top: 60px; /* Отдолу на хедъра */
        left: 0;
        width: 100%;
        background-color: var(--bg-secondary); /* Фон на менюто */
        box-shadow: 0 5px 10px rgba(0,0,0,0.2);
        padding: 20px 0;
        z-index: 999;
        transform: translateY(-100%); /* Скрит извън екрана */
        transition: transform 0.3s ease-out;
        opacity: 0; /* За по-плавна анимация */
        pointer-events: none; /* За да не блокира кликове, докато е скрит */
        align-items: center; /* Центрира съдържанието на менюто */
    }

    .nav-links-container.open {
        display: flex; /* Показваме менюто */
        transform: translateY(0); /* Връщаме го на позиция */
        opacity: 1; /* Показваме го */
        pointer-events: auto; /* Активираме кликовете */
    }

    .nav-links-container ul {
        flex-direction: column; /* Линковете едно под друго */
        width: 100%;
        text-align: center;
        margin-bottom: 20px; /* Отстъп преди modeToggle */
    }

    .nav-links-container ul li {
        margin: 10px 0; /* Отстъп между линковете */
    }

    .nav-links-container ul li a {
        padding: 10px 0;
        display: block; /* За да може да се клика по цялата ширина */
        font-size: 1.1em;
    }

    /* Премахване на стила за активен линк на мобилни устройства */
    .nav-links-container ul li a.active {
        color: var(--text-color); /* Връщане към нормалния цвят на текста */
        font-weight: 400; /* Връщане към нормалната дебелина на шрифта */
    }

    .nav-links-container ul li a.active::after {
        content: none; /* Премахване на долната черта */
    }

    .mode-toggle {
        position: static; /* Премахваме относителното позициониране */
        margin: 0; /* Премахваме предишния маржин */
        margin-top: 10px; /* Отстъп от линковете */
    }

    /* Адаптации за мобилен изглед за бутона за език */
    .language-toggle {
        margin-top: 10px; /* Разстояние между бутоните, когато са подредени вертикално */
        margin-left: 0; /* Премахва левия маржин, когато е колона */
    }

    /* Съществуващи правила за мобилни, които може да трябва да коригирате */
    .hero h1 {
        font-size: 2.2em;
    }

    .hero p {
        font-size: 1em;
    }

    section h2 {
        font-size: 1.8em;
    }

    .showcase-outer-wrapper {
        max-width: 100%;
        padding: 0 10px;
        flex-direction: column;
    }

    .showcase-wrapper {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        margin: 0 auto;
    }

    .showcase-item {
        min-width: 100px;
        width: 100%;
        max-width: 220px;
        margin: 0 auto;
        padding: 10px;
    }

    .showcase-item img {
        height: 150px;
        width: 100%;
        object-fit: cover;
    }

    .showcase-item h3 {
        font-size: 1em;
        margin: 8px 0 5px 0;
    }

    .showcase-item p {
        font-size: 0.85em;
        line-height: 1.4;
    }

    .carousel-btn {
        position: relative;
        top: auto;
        transform: none;
        margin: 15px 10px 0;
        width: 40px;
        height: 40px;
        font-size: 1.8em;
    }

    .showcase-outer-wrapper > .carousel-btn {
        margin-top: 15px;
    }

    .carousel-btn:first-of-type {
        order: 2;
    }
    .carousel-btn:last-of-type {
        order: 3;
    }

    .showcase-wrapper {
        order: 1;
    }

    .showcase-description {
        margin-top: 20px;
        padding: 15px;
        max-width: 100%;
    }

    .showcase-description p {
        font-size: 1em;
    }

    .features-grid {
        grid-template-columns: 1fr;
    }

    .feature-item {
        padding: 10px 15px;
    }

    /* Responsive adjustment for modal on smaller screens (already there) */
    .modal-content {
        width: 100%;
        max-height: 80vh;
    }
    .close-btn {
        font-size: 30px;
        top: 10px;
        right: 20px;
    }

    /* Responsive за download modal */
    .download-modal-content {
        max-width: 90%; /* На мобилни да заема повече ширина */
        padding: 20px;
    }

    .download-buttons {
        /* На мобилни устройства може да ги направим да се подреждат на две колони, ако изглежда по-добре */
        grid-template-columns: 1fr 1fr; /* Връщаме на две колони за по-малки екрани */
        gap: 15px; /* Намаляваме разстоянието */
        display: grid; /* Връщаме на grid */
    }

    .download-os-item {
        width: 100px; /* Малко по-малки на мобилни */
        height: 100px;
        padding: 5px;
    }

    .download-os-item img {
        width: 50px;
        height: 50px;
    }
}

/* --- */
/* Membership Section */
.membership {
    text-align: center;
    padding: 60px 0;
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.membership h2 {
    font-size: 2.5em;
    color: var(--text-color);
    margin-bottom: 40px;
    transition: color 0.3s ease;
}

.membership-content {
    background-color: var(--card-bg);
    padding: 30px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 4px 10px var(--showcase-shadow-color); /* Reusing unified shadow variable */
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.membership-content p {
    font-size: 1.1em;
    color: var(--text-color);
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.membership-content ul {
    list-style: none; /* Remove default bullet points */
    padding: 0;
    margin: 0 0 20px 0;
    text-align: left; /* Align list items to the left */
    display: inline-block; /* Helps center the ul if it's narrower than its container */
}

.membership-content ul li {
    font-size: 1em;
    color: var(--text-color);
    margin-bottom: 8px;
    position: relative;
    padding-left: 25px; /* Space for custom bullet */
    transition: color 0.3s ease;
}

.membership-content ul li::before {
    content: ''; /* Empty content for the pseudo-element */
    position: absolute;
    left: 0;
    top: 50%; /* Center vertically */
    transform: translateY(-50%); /* Adjust for perfect vertical centering */
    width: 12px; /* Size of the circle */
    height: 12px; /* Size of the circle */
    background-color: var(--accent-color); /* Orange color from your theme */
    border-radius: 50%; /* Make it a perfect circle */
    margin-right: 10px; /* Space between the circle and the text */
}

.membership-content .price {
    font-size: 1.5em;
    font-weight: 700;
    color: var(--text-color);
    margin-top: 25px;
    margin-bottom: 25px;
    transition: color 0.3s ease;
}

.membership-content .price span {
    color: var(--accent-color); /* Highlight the price */
}

.membership-button {
    background-color: var(--accent-color);
    color: var(--button-text-color);
    padding: 15px 30px;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1.2em;
    font-weight: 700;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: inline-block;
    margin-top: 10px;
}

.membership-button:hover {
    background-color: #e67e00; /* Darker orange on hover */
}

/* Responsive adjustments for Membership Section */
@media (max-width: 768px) {
    .membership h2 {
        font-size: 1.8em;
    }

    .membership-content {
        padding: 20px;
        margin: 0 15px; /* Add some side margin on small screens */
    }

    .membership-content p {
        font-size: 1em;
    }

    .membership-content .price {
        font-size: 1.3em;
    }

    .membership-button {
        padding: 12px 25px;
        font-size: 1.1em;
    }
}

/* --- */
/* Contact Section */
.contact {
    text-align: center;
    padding: 60px 0;
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.contact h2 {
    font-size: 2.5em;
    color: var(--text-color);
    margin-bottom: 40px;
    transition: color 0.3s ease;
}

.contact p {
    font-size: 1.1em;
    color: var(--text-color);
    margin-bottom: 30px;
    transition: color 0.3s ease;
}

.contact-form {
    background-color: var(--card-bg);
    padding: 30px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    max-width: 600px;
    margin: 0 auto;
    text-align: left; /* Align form elements to the left */
    box-shadow: 0 4px 10px var(--showcase-shadow-color); /* Reusing unified shadow variable */
    transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 1em;
    color: var(--text-color);
    margin-bottom: 8px;
    font-weight: 700;
    transition: color 0.3s ease;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 5px;
    background-color: var(--bg-primary);
    color: var(--text-color);
    font-size: 1em;
    box-sizing: border-box; /* Include padding in width */
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.form-group input[type="text"]:focus,
.form-group input[type="email"]:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 2px rgba(255, 140, 0, 0.5);
}

.submit-button {
    background-color: var(--accent-color);
    color: var(--button-text-color);
    padding: 15px 30px;
    border: none;
    border-radius: 5px;
    font-size: 1.2em;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    width: auto; /* Allow button to size based on content */
    display: inline-block; /* For proper centering if desired */
}

.submit-button:hover {
    background-color: #e67e00;
}

/* Responsive adjustments for Contact Section */
@media (max-width: 768px) {
    .contact h2 {
        font-size: 1.8em;
    }

    .contact p {
        font-size: 1em;
        margin-bottom: 20px;
    }

    .contact-form {
        padding: 20px;
        margin: 0 15px; /* Add some side margin on small screens */
    }

    .form-group input[type="text"],
    .form-group input[type="email"],
    .form-group textarea {
        padding: 10px;
    }

    .submit-button {
        padding: 12px 25px;
        font-size: 1.1em;
        width: 100%; /* Make button full width on mobile for better touch target */
    }
}

/* Допълнителни стилове за много малки екрани */
@media (max-width: 480px) {
    .showcase-item {
        max-width: 280px;
        padding: 8px;
    }

    .showcase-item img {
        height: 120px;
    }

    .showcase-item h3 {
        font-size: 0.95em;
        margin: 6px 0 4px 0;
    }

    .showcase-item p {
        font-size: 0.8em;
        line-height: 1.3;
    }

    .carousel-btn {
        width: 35px;
        height: 35px;
        font-size: 1.5em;
        margin: 10px 8px 0;
    }

    .showcase-description {
        padding: 12px;
        margin-top: 15px;
    }

    .showcase-description p {
        font-size: 0.9em;
    }

    .hero h1 {
        font-size: 1.6em;
    }

    .hero p {
        font-size: 0.9em;
    }

    section h2 {
        font-size: 1.6em;
    }
}