:root {
  --bg: #07040e;
  --night: #120a22;
  --card: rgba(22, 12, 38, .72);
  --card2: rgba(34, 19, 58, .6);
  --line: rgba(214, 178, 110, .26);
  --gold: #d6b06a;
  --gold2: #f4dfaa;
  --text: #ede5f6;
  --muted: #ad9fc4;
  --violet: #9b78e6;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--bg);
  color: var(--text);
  font: 16px/1.55 Inter, system-ui, sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ---------- naktinis dangus ---------- */
.sky { position: fixed; inset: 0; z-index: -1; overflow: hidden;
  background: radial-gradient(1100px 650px at 50% -8%, #2e1a52 0%, #160c2a 45%, var(--bg) 80%); }
.sky i { position: absolute; inset: -50%; background-repeat: repeat; animation: drift 240s linear infinite; }
.sky .s1 { background-image: radial-gradient(1px 1px at 20px 30px, #fff, transparent), radial-gradient(1px 1px at 140px 90px, #e8dcff, transparent),
  radial-gradient(1.2px 1.2px at 260px 170px, #fff, transparent), radial-gradient(1px 1px at 80px 220px, #f4dfaa, transparent);
  background-size: 320px 260px; opacity: .55; animation-duration: 300s; }
.sky .s2 { background-image: radial-gradient(1.5px 1.5px at 60px 80px, #fff, transparent), radial-gradient(1px 1px at 200px 40px, #cdb8ff, transparent);
  background-size: 420px 380px; opacity: .45; animation: drift 420s linear infinite, twinkle 6s ease-in-out infinite; }
.sky .s3 { background-image: radial-gradient(2px 2px at 120px 160px, #f4dfaa, transparent);
  background-size: 700px 560px; opacity: .5; animation: drift 600s linear infinite, twinkle 9s ease-in-out infinite reverse; }
.sky-cv { position: absolute; inset: 0; pointer-events: none; }
.sky .fog { position: absolute; left: -20%; right: -20%; bottom: -10%; height: 55%;
  background: radial-gradient(60% 60% at 30% 80%, rgba(120, 80, 190, .18), transparent 70%),
              radial-gradient(50% 50% at 75% 90%, rgba(200, 150, 90, .10), transparent 70%);
  filter: blur(20px); animation: fog 30s ease-in-out infinite alternate; }
@keyframes drift { to { transform: translate3d(-160px, 90px, 0); } }
@keyframes twinkle { 50% { opacity: .15; } }
@keyframes fog { to { transform: translateX(6%); } }
@media (prefers-reduced-motion: reduce) { .sky i, .sky .fog { animation: none; } }

/* ---------- antraštė ---------- */
h1, h2, h3 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700; letter-spacing: .02em; }
.top { text-align: center; padding: 26px 16px 4px; }
.moon { width: 42px; height: 42px; fill: var(--gold2); filter: drop-shadow(0 0 12px rgba(244, 223, 170, .6)); }
.top h1 { margin: 2px 0 0; font-family: "Cinzel Decorative", "Cormorant Garamond", serif; font-size: clamp(38px, 7vw, 62px);
  color: var(--gold2); text-shadow: 0 0 28px rgba(214, 176, 106, .45), 0 0 2px #000; letter-spacing: .06em; }
.tag { margin: 0; color: var(--muted); font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 21px; }
.orn { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--gold); margin: 10px auto 0; max-width: 360px; }
.orn span { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }

/* ---------- išdėstymas ---------- */
.wrap { display: grid; gap: 26px; max-width: 1140px; margin: 0 auto; padding: 18px 16px;
  grid-template-columns: minmax(0, 430px) minmax(0, 1fr); align-items: start; }
@media (max-width: 880px) { .wrap { grid-template-columns: 1fr; } }
.stage-col { position: sticky; top: 14px; }
@media (max-width: 880px) { .stage-col { position: static; } }

.arch { padding: 7px; border-radius: 230px 230px 22px 22px;
  background: linear-gradient(180deg, rgba(244, 223, 170, .55), rgba(214, 176, 106, .15) 40%, rgba(155, 120, 230, .25));
  box-shadow: 0 0 60px rgba(155, 120, 230, .18), 0 30px 70px rgba(0, 0, 0, .6); max-width: 430px; margin: 0 auto; }
.stage { position: relative; width: 100%; aspect-ratio: 9 / 16; max-height: 78vh; border-radius: 224px 224px 16px 16px;
  overflow: hidden; background: #000 url(video/poster.jpg) center / cover; }
@media (max-width: 880px) { .stage { max-height: 62vh; margin: 0 auto; } .arch { max-width: min(430px, calc(62vh * 9 / 16 + 14px)); } }
.stage video, .stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.stage video { opacity: 0; transition: opacity .35s ease; }
.stage video.on { opacity: 1; }
.stage canvas { pointer-events: none; }
.timer { position: absolute; bottom: 2.5%; left: 50%; transform: translateX(-50%); padding: 4px 14px; border-radius: 999px;
  background: rgba(7, 4, 14, .55); border: 1px solid var(--line); color: var(--gold2); font: 600 14px Inter, sans-serif;
  font-variant-numeric: tabular-nums; letter-spacing: .04em; backdrop-filter: blur(4px); }
.timer::before { content: "☾ "; color: var(--gold); }
.quote { text-align: center; color: var(--muted); font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 18px;
  margin: 14px auto 0; max-width: 400px; }

/* ---------- kortelės ---------- */
.panel { display: flex; flex-direction: column; gap: 18px; }
#p_plans { display: flex; flex-direction: column; gap: 18px; }
#p_plans[hidden] { display: none; }
.card { position: relative; background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 22px;
  backdrop-filter: blur(8px); box-shadow: inset 0 1px 0 rgba(244, 223, 170, .08); }
.card h2 { margin: 0 0 6px; font-size: 32px; color: var(--gold2); }
.lead { margin: 0 0 14px; color: var(--text); }
.fine { color: var(--muted); font-size: 13px; margin: 10px 0 0; }
.opt { color: var(--muted); font-size: 13px; font-weight: 400; }

.kinds { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 1040px) { .kinds { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kind:last-child { grid-column: 1 / -1; }
@media (max-width: 880px) { .kind { padding: 12px; } .kind small { font-size: 12px; } }
.kind { cursor: pointer; text-align: left; border: 1px solid var(--line); border-radius: 16px; padding: 14px;
  background: var(--card2); color: var(--text); font: inherit; transition: transform .15s, border-color .15s, box-shadow .15s; }
.kind:hover { transform: translateY(-2px); border-color: rgba(244, 223, 170, .5); }
.kind[aria-checked=true] { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold), 0 0 26px rgba(214, 176, 106, .25);
  background: linear-gradient(180deg, rgba(214, 176, 106, .14), rgba(34, 19, 58, .6)); }
.kind svg { width: 30px; height: 30px; stroke: var(--gold2); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.kind b { display: block; margin-top: 6px; font-family: "Cormorant Garamond", serif; font-size: 20px; color: var(--gold2); line-height: 1.15; }
.kind small { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 1.35; }

.seans { border-color: rgba(214, 176, 106, .5); background: linear-gradient(160deg, rgba(60, 34, 98, .65), rgba(22, 12, 38, .8)); }
.seans-row { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.seans h3 { margin: 0; font-size: 26px; color: var(--gold2); }
.seans p { margin: 4px 0 0; color: var(--muted); }
.price { font-family: "Cormorant Garamond", serif; font-size: 40px; font-weight: 700; color: var(--gold2); white-space: nowrap; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 16px; }
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } }
.steps div { display: flex; gap: 10px; align-items: center; color: var(--muted); font-size: 14px; }
.steps b { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--gold);
  color: var(--gold2); font-family: "Cormorant Garamond", serif; font-size: 18px; }

label { display: block; margin: 0 0 14px; font-weight: 500; }
fieldset { border: 1px solid var(--line); border-radius: 14px; padding: 10px 14px 0; margin: 0 0 14px; }
legend { padding: 0 6px; color: var(--gold2); font-weight: 500; }
input, textarea { display: block; width: 100%; margin-top: 6px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line);
  background: rgba(5, 3, 10, .7); color: var(--text); font: inherit; }
input:focus, textarea:focus { outline: 2px solid var(--violet); outline-offset: 1px; }
input[type=date] { color-scheme: dark; }

.btn { white-space: nowrap; cursor: pointer; border: 0; border-radius: 12px; padding: 11px 18px; font: 600 15px Inter, sans-serif; color: #1c1028;
  background: linear-gradient(180deg, var(--gold2), var(--gold)); box-shadow: 0 6px 22px rgba(214, 176, 106, .28); }
.btn:hover { filter: brightness(1.07); }
.btn:disabled { opacity: .5; cursor: default; }
.btn.ghost { background: transparent; color: var(--gold2); border: 1px solid var(--gold); box-shadow: none; }
a.btn { display: inline-block; text-align: center; text-decoration: none; }
.dl { margin-top: 12px; }
#p_end .btn + .btn, #p_end .fine + .btn { margin-top: 12px; }
.btn.big { width: 100%; padding: 15px; font-size: 17px; letter-spacing: .03em; }
.link { background: none; border: 0; color: var(--muted); cursor: pointer; font: inherit; padding: 0; }
.link[aria-pressed=false] { text-decoration: line-through; }
.back { display: block; margin: 12px auto 0; }

.chat .meta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; color: var(--muted); font-size: 14px; margin-bottom: 10px; }
#m_kind { color: var(--gold2); font-family: "Cormorant Garamond", serif; font-size: 18px; }
.chat .meta .link { margin-left: auto; }
.log { display: flex; flex-direction: column; gap: 12px; max-height: 58vh; overflow-y: auto; padding-right: 4px; }
.msg { padding: 13px 15px; border-radius: 16px; white-space: pre-wrap; }
.msg.b { background: rgba(5, 3, 10, .55); border: 1px solid var(--line); font-family: "Cormorant Garamond", serif; font-size: 20px; line-height: 1.5; }
.vbar { margin-top: 8px; font-family: Inter, sans-serif; font-size: 14px; }
.vbtn { color: var(--gold2); border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; }
.vbtn:hover { border-color: var(--gold); }
.vbtn:disabled { color: var(--muted); cursor: default; }
.msg.u { align-self: flex-end; background: rgba(155, 120, 230, .22); max-width: 85%; }
.msg.wait { color: var(--muted); font-style: italic; animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .5; } }
.ask { display: flex; gap: 8px; margin-top: 14px; }
.ask input { margin: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.chips button { cursor: pointer; border: 1px solid var(--line); background: transparent; color: var(--muted); border-radius: 999px;
  padding: 6px 12px; font: 13px Inter, sans-serif; }
.chips button:hover { color: var(--gold2); border-color: var(--gold); }
[hidden] { display: none !important; }

.free { border-color: rgba(155, 120, 230, .45); background: linear-gradient(160deg, rgba(48, 28, 84, .7), rgba(22, 12, 38, .78)); }
.t_res { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: center; margin-top: 16px;
  animation: rise .6s ease both; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } }
.t_num { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: 84px; line-height: 1; color: var(--gold2);
  text-shadow: 0 0 30px rgba(214, 176, 106, .55); min-width: 86px; text-align: center; }
.t_res h3 { margin: 0; font-size: 26px; color: var(--gold2); }
.t_res p { margin: 4px 0 0; }
.t_meta { color: var(--muted); font-size: 14px; }
.t_more { grid-column: 1 / -1; color: var(--muted); font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 18px; }
.t_btns { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.t_btns .btn { flex: 1 1 200px; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 13px; color: var(--muted); margin: 4px 0 12px; }
.consent input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--gold); }
a { color: var(--gold2); }
.foot .links a { color: var(--muted); }
.doc { max-width: 820px; margin: 0 auto; padding: 16px; }
.doc .card { line-height: 1.65; }
.doc h2 { font-size: 24px; margin: 22px 0 6px; }
.doc h1 { color: var(--gold2); text-align: center; }
.foot { max-width: 900px; margin: 16px auto 34px; padding: 0 16px; text-align: center; color: var(--muted); font-size: 13px; }
