/* Сторінка «Астрологія»: безкоштовні Сонце, Місяць і асцендент (assets/js/astrology.js). */

.astro-skip{margin-top:24px;font-size:14px}

/* Блок калькулятора: як на «Нумерології», але в теплому астрологічному кольорі */
.astro-calculator{--astro-peach:#f9c1b2;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px 55px;padding:45px;background:var(--astro-peach);border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}
.astro-calculator h2{font-size:clamp(29px,3vw,43px);line-height:1.2;letter-spacing:-.065em;margin:16px 0}
.astro-calculator-copy>p:not(.eyebrow){max-width:360px}
.astro-calculator-copy .astro-privacy{font-size:13px;color:var(--dim);line-height:1.5;margin-top:16px}

/* Форма */
.astro-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.astro-form .field{margin-top:0}
.astro-form .field input{min-height:51px}
.astro-form .field input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.astro-form .check-label{margin:10px 0 0;color:var(--ink);font-weight:600;line-height:1.35}
.astro-form .check-label input{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0;margin:0}
.astro-form .place-finder{margin-top:18px}
.astro-form .field-help{font-weight:500;line-height:1.5}
.astro-place .error-message{margin:0}
/* Стандартний червоний помилки на персиковому тлі має контраст лише 4,4:1, тут темніший (5,6:1) */
.astro-calculator .error-message{color:#8f1a36}
.astro-place .place-results{margin-top:2px}
.astro-place .place-option{width:100%;min-height:44px;align-items:center;text-align:left;color:var(--ink);font:inherit;font-size:14px;font-weight:650;line-height:1.4}
.astro-place .place-option:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.astro-place .place-chosen span{min-width:0;overflow-wrap:anywhere}
/* Довга назва міста переноситься всередині рядка, а не під галочку: галочка, назва й «Змінити» в одному ряду */
.astro-place .place-chosen{flex-wrap:nowrap}
.astro-place .place-chosen .text-link{flex-shrink:0}
.astro-place .place-chosen .text-link:focus-visible{outline-offset:3px}

/* Підказки міста під полем (places.js): список поверх форми, фокус лишається в полі */
.astro-form .place-search{position:relative}
.place-suggest{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:#fffdf8;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.place-suggest[hidden],.place-suggest-list[hidden]{display:none}
.place-suggest-list{list-style:none;margin:0;padding:0}
.place-suggest-option{min-height:44px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:14px;font-weight:500;line-height:1.35;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.place-suggest-option strong{font-weight:800}
.place-suggest-option:hover{background:var(--lilac)}
.place-suggest-option[aria-selected=true]{background:var(--lilac);box-shadow:inset 4px 0 0 var(--blue)}
.place-suggest-more{display:block;width:100%;min-height:44px;margin:0;padding:12px 14px;border:0;background:var(--ivory);font:inherit;font-size:13px;font-weight:700;line-height:1.4;color:var(--dim);text-align:left;cursor:pointer}
.place-suggest-more:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.astro-error{margin:16px 0 0;font-weight:700}
.astro-error:empty{margin:0}
.astro-submit{margin-top:22px}
.astro-submit[aria-disabled=true]{cursor:progress;opacity:.8}
.astro-submit[aria-disabled=true]:hover{transform:none;box-shadow:4px 4px 0 var(--ink)}
.astro-submit-icon{display:inline-flex}

/* Результат */
.astro-output{grid-column:1/-1;border-top:2px solid var(--ink);padding-top:30px}
.astro-output:empty{display:none}
.astro-result-head h3{font-size:clamp(24px,2.6vw,34px);line-height:1.2;letter-spacing:-.055em;margin:10px 0 8px;outline:none}
.astro-result-head h3:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.astro-result-facts{font-size:13px;color:var(--dim);font-weight:600;overflow-wrap:anywhere}
.astro-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;align-items:stretch}
.astro-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:22px;background:var(--ivory);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.astro-card-icon{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--ink);border-radius:50%;background:var(--coral)}
.astro-card--moon .astro-card-icon{background:var(--lilac)}
.astro-card--asc .astro-card-icon{background:var(--mint)}
.astro-card-title{display:grid;gap:6px;padding-right:56px;font-weight:800}
.astro-card-label{font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.astro-card-sign{font-family:var(--font-display);font-size:30px;line-height:1.1;letter-spacing:-.06em;color:var(--ink);overflow-wrap:anywhere}
.astro-card-degree{font-size:13px;font-weight:700;color:var(--dim)}
.astro-card-hint{margin-top:8px;font-size:14px;font-weight:800}
.astro-card-note{font-size:13px;line-height:1.5;border-left:3px solid var(--coral);padding-left:12px}
.astro-card-text{font-size:15px;line-height:1.55}
.astro-card--missing{background:#fff8ecb3;border-style:dashed;box-shadow:none}
.astro-card--missing .astro-card-sign{font-size:24px}
.astro-card--missing .text-link{margin-top:auto;padding-top:6px}

/* Продовження: базова натальна карта */
.astro-upsell{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 40px;align-items:center;padding:30px;background:var(--lilac);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.astro-upsell h3{font-size:clamp(22px,2.3vw,30px);line-height:1.2;letter-spacing:-.055em;margin:10px 0 16px}
.astro-upsell ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.astro-upsell li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.45}
.astro-upsell li svg{color:var(--blue);flex-shrink:0;margin-top:2px}
.astro-upsell-actions{display:grid;justify-items:start;gap:14px;max-width:330px}
.astro-upsell-note{font-size:13px;color:var(--dim)}
.astro-upsell-actions .text-link{font-size:13px;line-height:1.5}

@media(max-width:1100px){
	.astro-upsell{grid-template-columns:1fr}
	.astro-upsell-actions{max-width:none}
}
@media(max-width:850px){
	.astro-calculator{grid-template-columns:minmax(0,1fr);gap:26px}
	.astro-calculator-copy>p:not(.eyebrow){max-width:560px}
	.astro-cards{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media(max-width:620px){
	.astro-calculator{padding:22px;box-shadow:4px 4px 0 var(--ink)}
	.astro-form-row{grid-template-columns:minmax(0,1fr);gap:18px}
	/* «Знайти» лишається поруч із полем міста: форма коротша, каталог не з’їжджає далеко вниз */
	.astro-form .place-search{flex-direction:row;gap:8px}
	.astro-form .place-search input{min-width:0}
	.astro-form .place-button{width:auto;flex-shrink:0;padding-inline:14px;box-shadow:3px 3px 0 var(--ink)}
	.astro-submit{width:100%}
	.astro-output{padding-top:24px}
	.astro-card{padding:18px}
	.astro-card-icon{top:14px;right:14px;width:40px;height:40px}
	.astro-card-sign{font-size:27px}
	.astro-upsell{padding:20px;box-shadow:4px 4px 0 var(--ink)}
	.astro-upsell .button{width:100%}
}

/* Назва знака в результаті веде на його сторінку; посилання на всі знаки (бібліотека значень) */
.astro-card-sign-link{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.astro-card-sign-link:hover{color:var(--blue)}
.astro-library-link{margin-top:14px;font-size:14px}
.astro-library-link .text-link{display:inline;line-height:1.6}
.astro-library-link .text-link svg{display:inline-block;vertical-align:-3px;margin-left:6px}
/* Посилання на сторінки розборів у примітці під каталогом: у рядок із текстом, тим самим розміром */
.category-catalog .catalog-note .text-link{display:inline;font-size:inherit;line-height:inherit}
