:root {
    --dark-bg: #1A202C;
    --dark-card-bg: #2D3748;
    --dark-border: #4A5568;
    --dark-text: #E2E8F0;
    --dark-text-muted: #A0AEC0;
    --accent-yellow: #FDE047;
    --accent-yellow-darker: #EAB308;
}

html {
    scroll-behavior: smooth;
}
header, .hero-section {
    position: relative; /* Обязательно для работы z-index */
    z-index: 10;      /* Устанавливаем высокий слой */
}

/* --- Buttons --- */
/* 1. Базовый стиль для основной (желтой) кнопки. */
.btn-neo-primary {
    background-color: #facc15;
    color: #111827;
    border-color: #111827;
    box-shadow: 5px 5px 0px #111827;
}

/* 2. Стиль при НАВЕДЕНИИ (hover).
   Кнопка немного "нажимается", готовясь к клику. */
.btn-neo-primary:hover, .btn-neo-primary:focus {
    background-color: #eab308; /* Фон чуть темнее */
    color: #111827;
    border-color: #111827;
    box-shadow: 2px 2px 0px #111827 !important;
    transform: translate(3px, 3px);
}

/* 3. Стиль в момент КЛИКА (active) - ВЕРНУЛИ СТАРЫЙ ЭФФЕКТ.
   Фон становится прозрачным, а текст - светлым для читаемости. */
.btn-neo-primary:active {
    background-color: transparent !important;
    color: #f8fafc !important; /* Делаем текст светлым */
    box-shadow: 2px 2px 0px #111827 !important;
    transform: translate(3px, 3px);
}

/* 4. Плавный переход для всех кнопок этого типа. */
.btn-neo {
    transition: all 0.1s ease-in-out;
}


/* --- Forms (НОВЫЙ БЛОК) --- */
/* 1. Базовый стиль для полей ввода. Добавляем плавный переход. */
.form-control-neo, .form-select-neo {
    transition: all 0.2s ease-in-out;
}

/* 2. Стиль при НАВЕДЕНИИ. Легкая желтая подсветка. */
.form-control-neo:hover, .form-select-neo:hover {
    border-color: #fde047; /* Светло-желтый */
    box-shadow: 4px 4px 0px #fde047 !important;
}

/* 3. Стиль при ФОКУСЕ (клик/ввод). Яркая желтая подсветка. */
.form-control-neo:focus, .form-select-neo:focus {
    border-color: #facc15; /* Яркий желтый */
    box-shadow: 4px 4px 0px #facc15 !important;
}
.text-primary { color: var(--accent-yellow) !important; }
body { background-color: var(--dark-bg); color: var(--dark-text); font-family: 'Inter', sans-serif; }
h1, h2, h3, h4, h5, .fw-bolder { font-weight: 800 !important; }
.text-muted, .text-white-50 { color: var(--dark-text-muted) !important; }
.card-neo {
    background-color: var(--dark-card-bg);
    border: 1px solid var(--dark-border);
    border-radius: 12px;
    box-shadow: none;
    transition: border-color 0.2s ease-in-out;
}
.card-neo:hover { border-color: var(--accent-yellow); }
.btn-neo {
    border: none;
    border-radius: 8px;
    font-weight: 700;
    box-shadow: none;
    transition: filter 0.2s ease-in-out !important;
}
.btn-neo:hover, .btn-neo:focus { filter: brightness(1.15); transform: none; }
.btn-neo-primary { background-color: var(--accent-yellow); color: #111; }
.btn-neo-secondary { background-color: var(--dark-border); color: var(--dark-text); }
.icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background-color: rgba(253, 224, 71, 0.1);
    border: 1px solid var(--accent-yellow);
    border-radius: 50%;
    margin-bottom: 1rem;
}
.gallery-image { border: 1px solid var(--dark-border); border-radius: 12px; transition: transform 0.2s ease-in-out; }
.gallery-image:hover { transform: scale(1.03); }
.section-divider { border: 0; height: 1px; background: var(--dark-border); margin: 0 auto; }
.form-label-neo { font-weight: 700; margin-bottom: 0.5rem; }
.form-control-neo, .form-select-neo {
    border: 2px solid var(--dark-border);
    border-radius: 8px;
    box-shadow: none !important;
    background-color: var(--dark-bg);
    color: var(--dark-text);
}
.form-control-neo:focus, .form-select-neo:focus {
    border-color: var(--accent-yellow);
    outline: 0;
    background-color: var(--dark-card-bg);
    color: var(--dark-text);
}
.faq-category {
    font-weight: 700;
    color: var(--accent-yellow);
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}
.accordion-item {
    background-color: var(--dark-card-bg);
    border: 1px solid var(--dark-border);
    border-radius: 8px !important;
    margin-bottom: 0.5rem;
}
.accordion-button {
    background-color: var(--dark-card-bg);
    color: var(--dark-text);
    font-weight: 700;
    border-radius: 8px !important;
    box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
    background-color: var(--dark-card-bg);
    color: var(--accent-yellow);
}
.accordion-button::after { filter: grayscale(1) invert(1) brightness(0.7); }
.accordion-button:not(.collapsed)::after { filter: none; }
.accordion-body {
    background-color: var(--dark-bg);
    border-top: 1px solid var(--dark-border);
    border-radius: 0 0 8px 8px;
    color: var(--dark-text-muted);
}
.footer-legal-links a {
    color: var(--dark-text-muted);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}
.footer-legal-links a:hover {
    color: var(--accent-yellow);
}
.cta-final-block {
    background-color: var(--dark-card-bg);
    border-radius: 12px;
    padding: 3rem;
}
.cta-final-block .icon-wrapper {
    font-size: 7rem;
    color: var(--accent-yellow);
}

/* --- Дополнительные классы для рефакторинга --- */
.task-preview-image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border: 1px solid var(--dark-border);
    border-radius: 8px;
}

.generated-image-link img {
    border-radius: 10px 10px 0 0;
    border-bottom: 1px solid var(--dark-border);
}

.progress-wrapper {
    height: 25px;
    border: 1px solid var(--dark-border);
    padding: 2px;
    border-radius: 8px;
    background-color: var(--dark-bg);
}

.image-card-container {
    position: relative;
    overflow: hidden; /* Чтобы оверлей не вылезал за границы карточки */
}

.image-actions-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(100%);
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.image-card-container:hover .image-actions-overlay {
    opacity: 1;
    transform: translateY(0);
}