/*
 * Замінники компонентів першої версії (акордеон, вкладки, чекбокс, список)
 * на звичайному HTML + дрібниці, яких потребує WordPress.
 * Розміри й відступи повторюють компоненти shadcn, з якими був зроблений дизайн.
 */

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:12px 18px;background:var(--ink);color:var(--ivory);font-weight:750}
.skip-link:focus{left:16px;top:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Мобільне меню */
.mobile-toggle [hidden]{display:none}
.mobile-toggle span{display:inline-flex}

/* Акордеон FAQ */
[data-slot=accordion-item]{border-bottom:1px solid var(--border)}
[data-slot=accordion-item]:last-child{border-bottom:0}
.faq-heading{display:flex}
[data-slot=accordion-trigger]{display:flex;flex:1;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:6px;padding-block:16px;text-align:left;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;outline:none}
[data-slot=accordion-trigger]:hover{text-decoration:underline}
[data-slot=accordion-trigger]:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}
[data-slot=accordion-trigger] svg{pointer-events:none;width:16px;height:16px;flex-shrink:0;transform:translateY(2px);color:var(--muted-foreground);transition:transform .2s}
[data-slot=accordion-trigger][data-state=open] svg{transform:translateY(2px) rotate(180deg)}
[data-slot=accordion-content]{overflow:hidden;font-size:14px}
.faq-answer{padding-bottom:16px}

/* Вкладки (таро) */
[data-slot=tabs]{display:flex;flex-direction:column;gap:8px}
[data-slot=tabs-list]{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border-radius:10px;padding:3px;height:36px;background:var(--muted);color:var(--muted-foreground)}
[data-slot=tabs-trigger]{position:relative;display:inline-flex;height:calc(100% - 1px);flex:1;align-items:center;justify-content:center;gap:6px;border-radius:6px;border:1px solid transparent;padding:4px 8px;font-size:14px;font-weight:500;white-space:nowrap;color:color-mix(in oklab,var(--foreground) 60%,transparent);cursor:pointer;transition:all .15s}
[data-slot=tabs-trigger]:hover{color:var(--foreground)}
[data-slot=tabs-trigger]:focus-visible{outline:1px solid var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}
[data-slot=tabs-trigger][data-state=active]{background:var(--background);color:var(--foreground);box-shadow:0 1px 3px #0000001a}
[data-slot=tabs-trigger] svg{pointer-events:none;flex-shrink:0}
[data-slot=tabs-content]{flex:1;outline:none}
[data-slot=tabs-content][hidden]{display:none}

/* Чекбокс */
input[data-slot=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex-shrink:0;border:1px solid var(--input);border-radius:4px;background:transparent;cursor:pointer;display:inline-grid;place-content:center;margin:0}
input[data-slot=checkbox]:checked{background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff8ec' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--primary)}
input[data-slot=checkbox]:focus-visible{outline:2px solid var(--ring);outline-offset:2px}

/* Список карт (замість випадного меню shadcn) */
select.card-select{appearance:none;-webkit-appearance:none;padding:0 38px 0 12px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23211f46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}

/* Юридичні посилання в підвалі */
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 22px;margin-left:auto;font-size:14px}
.footer-legal a{color:var(--ivory);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#fff6}
.footer-legal a:hover{text-decoration-color:var(--coral)}
@media(max-width:620px){.footer-legal{margin-left:0;width:100%;order:4;font-size:13px}}

/* Текстові сторінки (оферта, політики, контакти) */
.text-page{padding-block:60px 90px;max-width:820px}
.text-page h1{font-family:var(--font-display);font-size:clamp(30px,4vw,48px);line-height:1.15;letter-spacing:-.05em;margin-bottom:28px}
.text-page .entry{font-size:16px;line-height:1.75}
.text-page .entry h2{font-family:var(--font-display);font-size:22px;line-height:1.3;margin:38px 0 12px;letter-spacing:-.03em}
.text-page .entry h3{font-size:18px;font-weight:800;margin:26px 0 8px}
.text-page .entry p,.text-page .entry ul,.text-page .entry ol{margin-bottom:14px}
.text-page .entry ul{list-style:disc;padding-left:22px}
.text-page .entry ol{list-style:decimal;padding-left:22px}
.text-page .entry a{color:var(--blue);text-decoration:underline}
.text-page .entry mark,.text-page .entry .fill-me{background:#ffe08a;padding:0 4px}

/* Кнопка розкладу з двома станами підпису */
[data-draw-label]{display:inline-flex;align-items:center;gap:inherit;white-space:nowrap}
[data-draw-label][hidden]{display:none}

/* Оформлення: пошук міста народження */
.place-finder{display:grid;gap:8px}
.place-finder>label{font-size:14px;font-weight:750}
.place-search{display:flex;gap:10px;align-items:stretch}
.place-search input{flex:1}
.place-button{min-height:51px;padding-inline:18px;white-space:nowrap}
.place-results{display:grid;gap:6px;margin:0;padding:0;border:0}
.place-results legend{margin-bottom:6px}
.place-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:2px solid var(--ink);background:#fffdf8;cursor:pointer;font-size:14px;line-height:1.4}
.place-option:hover{background:var(--lilac)}
.place-option input{margin-top:2px;accent-color:var(--blue)}
.place-chosen{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750;color:var(--ink);flex-wrap:wrap}
.place-chosen svg{color:var(--blue);flex-shrink:0}
.place-chosen .text-link{font-size:13px}
.checkout-loading{padding:60px 0;color:var(--dim)}
.checkout-ai-note{margin-top:18px;font-size:13px;line-height:1.6;color:var(--dim);border-left:3px solid var(--coral);padding-left:12px}
.checkout-consent{align-items:flex-start;margin-top:20px;color:var(--ink);line-height:1.5}
.checkout-consent input{margin-top:3px;accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}
.checkout-consent a{text-decoration:underline;color:var(--blue)}
.checkout-privacy a{font-size:inherit}
.checkout-error{margin:18px 0 0}
.checkout-next[disabled]{opacity:.75;cursor:progress}
.checkout-next .lucide-loader-circle{animation:selena-spin 1s linear infinite}
@keyframes selena-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.checkout-next .lucide-loader-circle{animation:none}}
@media(max-width:620px){.place-search{flex-direction:column}.place-button{width:100%}}

/* Сторінка замовлення й текст розбору */
.order-test-note{display:inline-block;margin:0 0 22px;padding:6px 12px;background:var(--mint);border:2px solid var(--ink);font-size:13px;font-weight:750}
.order-live{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:15px;color:var(--ink)}
.order-spin{animation:selena-spin 1s linear infinite;flex-shrink:0}
@media(prefers-reduced-motion:reduce){.order-spin{animation:none}}
.order-readings{display:grid;gap:34px;margin-top:10px}
.order-reading{background:#fffdf8;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:clamp(22px,4vw,48px)}
.order-reading-head h2{font-family:var(--font-display);font-size:clamp(24px,3vw,36px);line-height:1.15;letter-spacing:-.05em;margin-top:10px}
.order-cards{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px;padding:0;list-style:none}
.order-cards li{display:grid;gap:2px;min-width:150px;flex:1 1 150px;padding:12px 14px;background:var(--blue);color:var(--ivory);border:2px solid var(--ink)}
.order-cards .order-card-pos{font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.order-cards strong{font-size:16px;line-height:1.3}
.order-cards small{font-size:12px;color:var(--coral);font-weight:750}
.reading-text{margin-top:24px;font-size:17px;line-height:1.75;max-width:760px}
.reading-text h2{font-family:var(--font-display);font-size:clamp(20px,2.4vw,26px);line-height:1.25;letter-spacing:-.03em;margin:34px 0 10px}
.reading-text h3{font-size:18px;font-weight:800;margin:24px 0 6px}
.reading-text h4{font-size:16px;font-weight:800;margin:18px 0 6px}
.reading-text p{margin:0 0 14px}
.reading-text ul,.reading-text ol{margin:0 0 16px;padding-left:22px}
.reading-text ul{list-style:disc}
.reading-text ol{list-style:decimal}
.reading-text li{margin-bottom:6px}
.reading-text blockquote{margin:18px 0;padding:10px 0 10px 18px;border-left:4px solid var(--coral);font-style:italic}
.reading-text hr{border:0;border-top:2px solid var(--ink);margin:26px 0}
.order-disclaimer{font-size:13px;color:var(--dim);max-width:760px}
.order-main .checkout-complete{margin-top:40px}
@media(max-width:620px){.order-reading{box-shadow:4px 4px 0 var(--ink)}.reading-text{font-size:16px}}
.order-spread-q{margin:22px 0 -10px;font-size:14px;font-weight:750;color:var(--ink)}
