/* =================================================================== */
/* --- Тема "Organic / Природа" --- v2.0 ENHANCED --- */
/* =================================================================== */

/* --- 1. Анимации и ключевые кадры --- */

@keyframes subtle-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- 2. Переменные для СВЕТЛОЙ темы ("Morning Dew") --- */
body.theme-organic.gsearch-light-theme {
    --org-bg: #F4F1E8; /* Цвет небеленого холста */
    --org-surface: rgba(255, 255, 255, 0.75); /* Полупрозрачный для эффекта стекла */
    --org-surface-solid: #FFFFFF;
    --org-text: #3D403A; /* Глубокий серо-зеленый */
    --org-text-secondary: #6B7067;
    --org-accent: #4CAF50; /* Сочный зеленый */
    --org-accent-dark: #2E7D32;
    --org-border: rgba(61, 64, 58, 0.15);
    --org-shadow: rgba(61, 64, 58, 0.07);
    --org-shadow-hover: rgba(61, 64, 58, 0.12);
    --org-accent-glow: rgba(76, 175, 80, 0.2);
}

/* --- 3. Переменные для ТЕМНОЙ темы ("Deep Forest") --- */
body.theme-organic:not(.gsearch-light-theme) {
    --org-bg: #1A201E; /* Глубокий угольно-зеленый */
    --org-surface: rgba(42, 51, 48, 0.75); /* Темное матовое стекло */
    --org-surface-solid: #2A3330;
    --org-text: #E0E2E0;
    --org-text-secondary: #909895;
    --org-accent: #66BB6A; /* Более яркий зеленый для контраста */
    --org-accent-dark: #81C784;
    --org-border: rgba(144, 152, 149, 0.2);
    --org-shadow: rgba(0, 0, 0, 0.2);
    --org-shadow-hover: rgba(0, 0, 0, 0.3);
    --org-accent-glow: rgba(102, 187, 106, 0.25);
}

/* --- 4. Применение общих стилей --- */

body.theme-organic {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--org-bg);
    /* Многослойный фон для глубины */
    background-image:
        radial-gradient(circle at 10% 20%, var(--org-accent-glow) 0%, transparent 40%),
        radial-gradient(circle at 80% 90%, var(--org-border) 0%, transparent 30%),
        url('https://www.transparenttextures.com/patterns/subtle-noise.png');
    background-attachment: fixed;
}

/* Шапка с эффектом "матового стекла" */
.theme-organic .gsearch-header-container {
    background: var(--org-surface);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--org-border);
}

/* Мягкие, "живые" карточки */
.theme-organic .gsearch-result-item,
.theme-organic .gsearch-ai-box,
.theme-organic .gsearch-info-panel,
.theme-organic .calculator-widget,
.theme-organic .weather-widget {
    background: var(--org-surface);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--org-border);
    border-radius: 20px !important;
    box-shadow: 0 4px 20px var(--org-shadow);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    animation: fadeIn 0.5s ease-out;
}

.theme-organic .gsearch-result-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px var(--org-shadow-hover), 0 0 25px var(--org-accent-glow);
}

/* Улучшаем иконку сайта при наведении */
.theme-organic .gsearch-result-item .gsearch-result-favicon img {
    transition: transform 0.3s ease;
}
.theme-organic .gsearch-result-item:hover .gsearch-result-favicon img {
    transform: scale(1.3);
}

/* Заголовки с иконкой листка */
.theme-organic .gsearch-panel-title,
.theme-organic .gsearch-ai-box .gsearch-ai-logo {
    color: var(--org-text);
    font-weight: 600;
    display: flex;
    align-items: center;
}
.theme-organic .gsearch-panel-title::before,
.theme-organic .gsearch-ai-box .gsearch-ai-logo::before {
    content: '🌿'; /* Иконка листка */
    margin-right: 8px;
    font-size: 1.2em;
    color: var(--org-accent);
}

/* Ссылки */
.theme-organic .gsearch-result-title a {
    color: var(--org-accent-dark) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.theme-organic .gsearch-result-title a:hover {
    color: var(--org-accent) !important;
}

/* Мягкий разделитель */
.theme-organic .gsearch-results-count {
    border: none;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--org-border), transparent);
    margin: 15px 0;
    padding: 0 !important;
}

.gsearch-tab.active {
    color: var(--org-accent);
    border-bottom-color: var(--org-accent-dark);
}

/* Пагинация */
.theme-organic .gsearch-pagination-link,
.theme-organic .gsearch-pagination-current {
    border-radius: 20px !important;
    border: 1px solid var(--org-border) !important;
    background: transparent !important;
    color: var(--org-text-secondary) !important;
    transition: all 0.3s ease;
}
.theme-organic .gsearch-pagination-link:hover {
    color: var(--org-text) !important;
    border-color: var(--org-accent) !important;
    background: var(--org-accent-glow) !important;
    transform: translateY(-2px);
}
.theme-organic .gsearch-pagination-current {
    background: var(--org-accent) !important;
    color: var(--org-surface-solid) !important;
    border-color: var(--org-accent) !important;
    font-weight: 600;
}

/* Адаптация виджета погоды */
.theme-organic .weather-widget {
    border-color: transparent !important;
    box-shadow: 0 8px 30px var(--org-shadow-hover), 0 0 25px var(--org-accent-glow);
    color: #fff; /* Белый текст для контраста с градиентом */
}
.theme-organic .weather-content {
    background: linear-gradient(135deg,
        var(--org-accent) 0%,
        #388E3C 100% /* Более темный оттенок для градиента */
    );
}
body.theme-organic:not(.gsearch-light-theme) .weather-content {
    background: linear-gradient(135deg, #1A201E 0%, #2A3330 100%);
}

.theme-organic .weather-section {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    border-radius: 15px;
}