/* ============================================================
   modules/astro_conception/astro_conception.css – "Поиск периодов зачатия"

   Раскладка карточек/слайдера/прогресса/результатов — перенесено со
   старого сайта (conception.php, инлайн <style>), с добавлением тёмной
   темы (на старом сайте её не было вовсе, кроме одного правила для
   period-unfavorable).
   ============================================================ */

.astro-conception-app .astro-conception-two-col {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 10px;
}
.astro-conception-app .astro-conception-two-col > div {
    flex: 1 1 calc(50% - 20px);
    min-width: 260px;
}
@media (max-width: 768px) {
    .astro-conception-app .astro-conception-two-col > div { flex: 1 1 100%; }
}

.astro-conception-app .astro-conception-card {
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 8px;
    background: #f9f9f9;
}
body.theme-dark .astro-conception-app .astro-conception-card {
    background: #2a2a2a;
    border-color: #444;
}

.astro-conception-app .astro-conception-gender {
    margin-top: 10px;
}
.astro-conception-app .astro-conception-gender span {
    font-weight: bold;
    margin-right: 15px;
}
.astro-conception-app .astro-conception-gender label {
    margin-right: 15px;
}
.astro-conception-app .astro-conception-partner-label {
    display: block;
    font-weight: bold;
    margin-bottom: 6px;
}

/* ---------- Двойной ползунок возраста ---------- */
.astro-conception-app .astro-conception-slider-wrap {
    margin: 20px 0 10px;
}
.astro-conception-app .astro-conception-slider-labels-top {
    display: flex;
    justify-content: space-between;
    font-size: 0.9em;
    color: #555;
    margin-bottom: 2px;
}
body.theme-dark .astro-conception-app .astro-conception-slider-labels-top {
    color: #aaa;
}
.astro-conception-app .range-slider {
    position: relative;
    width: 100%;
    height: 60px;
    margin: 20px 0 10px;
}
.astro-conception-app .range-slider input[type="range"] {
    position: absolute; width: 100%; height: 6px; background: transparent;
    pointer-events: none; -webkit-appearance: none; appearance: none;
    top: 50%; transform: translateY(-50%); z-index: 2; cursor: grab;
}
.astro-conception-app .range-slider input[type="range"]:active { cursor: grabbing; }
.astro-conception-app .range-slider input[type="range"]::-webkit-slider-track { height: 6px; background: transparent; border-radius: 3px; }
.astro-conception-app .range-slider input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 20px; height: 20px;
    background: #4CAF50; border-radius: 50%; cursor: pointer; pointer-events: auto;
    border: 2px solid white; box-shadow: 0 1px 3px rgba(0,0,0,0.3); z-index: 3;
}
.astro-conception-app .range-slider input[type="range"]::-moz-range-track { height: 6px; background: transparent; border-radius: 3px; border: none; }
.astro-conception-app .range-slider input[type="range"]::-moz-range-thumb {
    width: 20px; height: 20px; background: #4CAF50; border-radius: 50%; cursor: pointer;
    pointer-events: auto; border: 2px solid white; box-shadow: 0 1px 3px rgba(0,0,0,0.3); z-index: 3;
}
.astro-conception-app .range-slider .track-fill {
    position: absolute; height: 6px; background: #4CAF50; border-radius: 3px;
    top: 50%; transform: translateY(-50%); pointer-events: none; z-index: 1; left: 0%; width: 100%;
}
.astro-conception-app .range-slider .track-bg {
    position: absolute; height: 6px; background: #ddd; border-radius: 3px;
    top: 50%; transform: translateY(-50%); pointer-events: none; z-index: 0; width: 100%;
}
body.theme-dark .astro-conception-app .range-slider .track-bg { background: #555; }
.astro-conception-app .range-slider .slider-label {
    position: absolute; top: -25px; font-size: 14px; font-weight: bold; color: #333;
    background: #fff; padding: 0 6px; border-radius: 4px; border: 1px solid #ccc;
    transform: translateX(-50%); pointer-events: none; white-space: nowrap;
}
body.theme-dark .astro-conception-app .range-slider .slider-label {
    color: #e0e0e0; background: #2a2a2a; border-color: #555;
}

/* ---------- Форма транзитного места/времени ---------- */
.astro-conception-app .astro-conception-search-form {
    background: #f8f9fa;
    padding: 10px 15px;
    border-radius: 6px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 20px;
}
body.theme-dark .astro-conception-app .astro-conception-search-form {
    background: #2a2a2a;
}

/* ---------- Прогресс ---------- */
.astro-conception-app .astro-conception-progress {
    width: 100%;
    margin: 15px 0;
}
.astro-conception-app .astro-conception-progress-bar {
    width: 0%; height: 30px; background: #4CAF50; color: white;
    text-align: center; line-height: 30px; border-radius: 4px; transition: width 0.3s;
}
.astro-conception-app #astroConceptionStatus {
    margin: 10px 0;
    font-weight: bold;
}

/* ---------- Результаты: сгруппированные периоды ---------- */
.astro-conception-app .periods-columns { display: flex; flex-wrap: wrap; gap: 30px; }
.astro-conception-app .periods-column { flex: 1 1 300px; min-width: 250px; }
.astro-conception-app .periods-column h4 { border-bottom: 2px solid #ddd; padding-bottom: 5px; }
body.theme-dark .astro-conception-app .periods-column h4 { border-bottom-color: #444; }

.astro-conception-app .group-header {
    cursor: pointer; background: #f0f0f0; padding: 8px 12px; border-radius: 4px;
    margin-bottom: 4px; display: flex; align-items: center; gap: 10px;
}
.astro-conception-app .group-header:hover { background: #e0e0e0; }
body.theme-dark .astro-conception-app .group-header { background: #333; }
body.theme-dark .astro-conception-app .group-header:hover { background: #3d3d3d; }
.astro-conception-app .group-header .toggle-icon { font-weight: bold; font-size: 1.2em; }
.astro-conception-app .group-content { margin-left: 20px; margin-bottom: 8px; display: none; }
.astro-conception-app .group-content.open { display: block; }

.astro-conception-app .period-item {
    padding: 4px 8px; border-bottom: 1px solid #eee; display: flex;
    align-items: center; gap: 6px; flex-wrap: wrap;
}
body.theme-dark .astro-conception-app .period-item { border-bottom-color: #3a3a3a; }
.astro-conception-app .period-item:last-child { border-bottom: none; }
.astro-conception-app .period-item span { display: inline-block; min-width: 80px; }
.astro-conception-app .period-item .birth-info { width: 100%; font-size: 0.9em; color: #555; margin-top: 2px; }
body.theme-dark .astro-conception-app .period-item .birth-info { color: #aaa; }

.astro-conception-app .transit-icon { cursor: pointer; color: #0d6efd; font-size: 1.1em; }
.astro-conception-app .period-unfavorable { background-color: #fff0f0 !important; border-left: 4px solid #dc3545; }
body.theme-dark .astro-conception-app .period-unfavorable { background-color: #3a1a1a !important; border-left-color: #ea868f; }
