/* ==========================================================================
 * com_semi — apklausa „Kokių funkcijų norėtumėte 2027 metais?“ (view=apklausa)
 *
 * specs/apklausa-funkcijos-2027.md. Naudoja globalius --semi-* tokenus iš cassiopeia_epro
 * user.css (čia jų NEperrašome; fallback'ai tik saugumui). Scope: .com-semi-apklausa.
 * ========================================================================== */

.com-semi-apklausa {
	--apk-ico-teacher: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h7a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H2z'/%3E%3Cpath d='M22 4h-7a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h8z'/%3E%3C/svg%3E");
	--apk-ico-specialist: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
	--apk-ico-head: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V8l7-5 7 5v13'/%3E%3Cpath d='M9 21v-6h6v6'/%3E%3C/svg%3E");
	--apk-ico-other: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='19' cy='12' r='2'/%3E%3C/svg%3E");
	--apk-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	--apk-ico-flag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cline x1='4' y1='22' x2='4' y2='15'/%3E%3C/svg%3E");

	max-width: 860px;
	margin-inline: auto;
	color: var(--semi-ink, #16201c);
	font-family: var(--semi-font-body, system-ui, sans-serif);
	-webkit-font-smoothing: antialiased;
}

.com-semi-apklausa *,
.com-semi-apklausa *::before,
.com-semi-apklausa *::after { box-sizing: border-box; }

/* ---------- Hero ---------- */
.apk-hero {
	position: relative;
	padding: 2rem 2rem 1.6rem;
	margin-bottom: 1.25rem;
	border-radius: var(--semi-radius-lg, 20px);
	background:
		radial-gradient(120% 140% at 100% 0%, var(--semi-amber-soft, #fbeeda) 0%, transparent 55%),
		linear-gradient(160deg, var(--semi-pine-tint, #f1f7f5) 0%, var(--semi-surface, #fff) 70%);
	border: 1px solid var(--semi-line, #e6e1d4);
	box-shadow: var(--semi-shadow-sm, 0 1px 3px rgba(16, 32, 28, .06));
	overflow: hidden;
}
.apk-hero__eyebrow {
	display: flex; flex-wrap: wrap; align-items: center; gap: .6rem;
	margin: 0 0 .9rem;
	font-size: .85rem; font-weight: 600; color: var(--semi-ink-soft, #4c574f);
}
.apk-chip {
	display: inline-block; padding: .2rem .7rem; border-radius: 999px;
	background: var(--semi-pine, #0f5a4e); color: #fff;
	font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.apk-hero__title {
	margin: 0 0 .6rem;
	font-family: var(--semi-font-display, Georgia, serif);
	font-size: clamp(1.6rem, 4vw, 2.3rem); line-height: 1.15; font-weight: 700;
	color: var(--semi-pine-deep, #0a3f37);
}
.apk-hero__lead { margin: 0 0 1.1rem; max-width: 40rem; font-size: 1.05rem; line-height: 1.55; color: var(--semi-ink-soft, #4c574f); }
.apk-hero__facts { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin: 0; padding: 0; list-style: none; font-size: .88rem; color: var(--semi-ink-soft, #4c574f); }
.apk-hero__facts li { display: inline-flex; align-items: center; gap: .45rem; }
.apk-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--semi-amber, #c9791f); flex: none; }

/* ---------- Steps ---------- */
.apk-step {
	min-width: 0;
	margin: 0 0 1rem; padding: 1.4rem 1.5rem 1.5rem;
	background: var(--semi-surface, #fff);
	border: 1px solid var(--semi-line, #e6e1d4);
	border-radius: var(--semi-radius, 14px);
	box-shadow: var(--semi-shadow-sm, 0 1px 3px rgba(16, 32, 28, .06));
}
/* Floated legend = an ordinary block inside the card (no fieldset-border notch). */
.apk-step__legend {
	display: flex; align-items: center; gap: .75rem;
	float: left; width: 100%; margin: 0 0 1.1rem; padding: 0;
	font-size: 1.12rem; font-weight: 700; line-height: 1.3; color: var(--semi-ink, #16201c);
}
.apk-step__no {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--semi-pine-soft, #e4efec); color: var(--semi-pine-deep, #0a3f37);
	font-size: .95rem; font-weight: 700;
}
.apk-step__legend + * { clear: both; }
.apk-step__title em,
.apk-group__title em { font-style: normal; font-weight: 500; font-size: .85em; color: var(--semi-ink-faint, #7a857d); }

/* ---------- Role cards ---------- */
.apk-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.apk-role { display: block; margin: 0; cursor: pointer; }
.apk-role input { position: absolute; opacity: 0; pointer-events: none; }
.apk-role__box {
	display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .8rem; row-gap: .1rem;
	align-items: center; height: 100%;
	padding: .9rem 1rem;
	border: 1.5px solid var(--semi-line-strong, #d6d0c0); border-radius: 12px;
	background: var(--semi-surface, #fff);
	transition: border-color var(--semi-dur, 240ms) var(--semi-ease, ease), background var(--semi-dur, 240ms) var(--semi-ease, ease), box-shadow var(--semi-dur, 240ms) var(--semi-ease, ease);
}
.apk-role__icon {
	grid-row: 1 / span 2; width: 2.4rem; height: 2.4rem; border-radius: 10px;
	background: var(--semi-pine-tint, #f1f7f5); position: relative;
}
.apk-role__icon::before {
	content: ''; position: absolute; inset: 0; margin: auto; width: 1.25rem; height: 1.25rem;
	background-color: var(--semi-pine, #0f5a4e);
	-webkit-mask: center / contain no-repeat; mask: center / contain no-repeat;
}
.apk-role__icon--teacher::before    { -webkit-mask-image: var(--apk-ico-teacher); mask-image: var(--apk-ico-teacher); }
.apk-role__icon--specialist::before { -webkit-mask-image: var(--apk-ico-specialist); mask-image: var(--apk-ico-specialist); }
.apk-role__icon--head::before       { -webkit-mask-image: var(--apk-ico-head); mask-image: var(--apk-ico-head); }
.apk-role__icon--other::before      { -webkit-mask-image: var(--apk-ico-other); mask-image: var(--apk-ico-other); }
.apk-role__label { font-weight: 700; font-size: .98rem; line-height: 1.25; }
.apk-role__hint { font-size: .8rem; line-height: 1.35; color: var(--semi-ink-faint, #7a857d); }
.apk-role:hover .apk-role__box { border-color: var(--semi-pine, #0f5a4e); }
.apk-role input:focus-visible + .apk-role__box { outline: 3px solid var(--semi-amber, #c9791f); outline-offset: 2px; }
.apk-role input:checked + .apk-role__box {
	border-color: var(--semi-pine, #0f5a4e); background: var(--semi-pine-tint, #f1f7f5);
	box-shadow: 0 0 0 1px var(--semi-pine, #0f5a4e) inset;
}
.apk-role input:checked + .apk-role__box .apk-role__icon { background: var(--semi-pine, #0f5a4e); }
.apk-role input:checked + .apk-role__box .apk-role__icon::before { background-color: #fff; }

.apk-other { margin-top: .9rem; }

/* ---------- Feature groups ---------- */
/* Separator between the head list and the personal list — only while both are shown. */
.apk:not(.apk--js) .apk-group + .apk-group,
.apk-group.is-on + .apk-group { margin-top: 1.4rem; padding-top: 1.3rem; border-top: 1px dashed var(--semi-line-strong, #d6d0c0); }
.apk-group__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; margin-bottom: .75rem; }
.apk-group__title {
	flex: 1 1 12rem; min-width: 0; margin: 0;
	font-family: inherit; font-size: .98rem; font-weight: 600; line-height: 1.35;
	white-space: normal; overflow-wrap: anywhere; color: var(--semi-ink-soft, #4c574f);
}
.apk-counter {
	flex: none; padding: .15rem .65rem; border-radius: 999px;
	background: var(--semi-surface-2, #f1efe9); color: var(--semi-ink-soft, #4c574f);
	font-size: .8rem; font-weight: 600; font-variant-numeric: tabular-nums;
	transition: background var(--semi-dur, 240ms), color var(--semi-dur, 240ms);
}
.apk-group.is-full .apk-counter { background: var(--semi-pine, #0f5a4e); color: #fff; }

.apk-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.apk-feature { display: block; margin: 0; cursor: pointer; }
.apk-feature input { position: absolute; opacity: 0; pointer-events: none; }
.apk-feature__box {
	display: flex; align-items: flex-start; gap: .75rem; height: 100%;
	padding: .8rem .9rem;
	border: 1.5px solid var(--semi-line, #e6e1d4); border-radius: 12px;
	background: var(--semi-surface, #fff);
	transition: border-color var(--semi-dur, 240ms) var(--semi-ease, ease), background var(--semi-dur, 240ms) var(--semi-ease, ease), opacity var(--semi-dur, 240ms);
}
.apk-feature__check {
	flex: none; width: 1.3rem; height: 1.3rem; margin-top: .1rem; border-radius: 6px;
	border: 1.5px solid var(--semi-line-strong, #d6d0c0); background: var(--semi-surface, #fff); position: relative;
}
.apk-feature__check::before {
	content: ''; position: absolute; inset: 0; margin: auto; width: .8rem; height: .8rem;
	background-color: #fff; -webkit-mask: var(--apk-ico-check) center / contain no-repeat; mask: var(--apk-ico-check) center / contain no-repeat;
	transform: scale(0); transition: transform 160ms var(--semi-ease, ease);
}
.apk-feature__body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.apk-feature__title { font-weight: 600; font-size: .95rem; line-height: 1.3; }
.apk-feature__hint { font-size: .8rem; line-height: 1.4; color: var(--semi-ink-faint, #7a857d); }
.apk-feature:hover .apk-feature__box { border-color: var(--semi-pine, #0f5a4e); }
.apk-feature input:focus-visible + .apk-feature__box { outline: 3px solid var(--semi-amber, #c9791f); outline-offset: 2px; }
.apk-feature input:checked + .apk-feature__box { border-color: var(--semi-pine, #0f5a4e); background: var(--semi-pine-tint, #f1f7f5); }
.apk-feature input:checked + .apk-feature__box .apk-feature__check { background: var(--semi-pine, #0f5a4e); border-color: var(--semi-pine, #0f5a4e); }
.apk-feature input:checked + .apk-feature__box .apk-feature__check::before { transform: scale(1); }
.apk-feature.is-disabled { cursor: not-allowed; }
.apk-feature.is-disabled .apk-feature__box { opacity: .45; }
.apk-feature.is-disabled:hover .apk-feature__box { border-color: var(--semi-line, #e6e1d4); }

/* Role-dependent blocks: hidden only once the script runs (no JS = everything visible). */
.apk--js [data-for-role]:not(.is-on) { display: none; }

/* ---------- Inputs ---------- */
.apk-label { display: block; margin-bottom: .35rem; font-size: .88rem; font-weight: 600; }
.apk-input,
.apk-textarea {
	display: block; width: 100%;
	padding: .7rem .85rem;
	border: 1.5px solid var(--semi-line-strong, #d6d0c0); border-radius: 10px;
	background: var(--semi-surface, #fff); color: inherit; font: inherit; font-size: 1rem;
	transition: border-color var(--semi-dur, 240ms), box-shadow var(--semi-dur, 240ms);
}
.apk-input:focus,
.apk-textarea:focus { outline: none; border-color: var(--semi-pine, #0f5a4e); box-shadow: 0 0 0 3px var(--semi-pine-soft, #e4efec); }
.apk-textarea { min-height: 7rem; resize: vertical; line-height: 1.5; }
.apk-textwrap { position: relative; }
.apk-textcount { display: block; margin-top: .3rem; text-align: right; font-size: .75rem; color: var(--semi-ink-faint, #7a857d); font-variant-numeric: tabular-nums; }

.apk-error {
	margin: .8rem 0 0; padding: .55rem .8rem; border-radius: 8px;
	background: var(--semi-error-soft, #fbebe9); color: var(--semi-error, #b4443a);
	font-size: .88rem; font-weight: 600;
}
.apk-error[hidden] { display: none; }

/* ---------- Notify consent (switch) ---------- */
.apk-step--last { padding-block: 1.1rem; }
.apk-notify { display: flex; align-items: flex-start; gap: .9rem; margin: 0; cursor: pointer; }
.apk-notify input { position: absolute; opacity: 0; pointer-events: none; }
.apk-notify__switch {
	flex: none; position: relative; width: 2.6rem; height: 1.5rem; margin-top: .1rem; border-radius: 999px;
	background: var(--semi-line-strong, #d6d0c0); transition: background var(--semi-dur, 240ms);
}
.apk-notify__switch::after {
	content: ''; position: absolute; top: .2rem; left: .2rem; width: 1.1rem; height: 1.1rem; border-radius: 50%;
	background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform var(--semi-dur, 240ms) var(--semi-ease, ease);
}
.apk-notify input:checked + .apk-notify__switch { background: var(--semi-pine, #0f5a4e); }
.apk-notify input:checked + .apk-notify__switch::after { transform: translateX(1.1rem); }
.apk-notify input:focus-visible + .apk-notify__switch { outline: 3px solid var(--semi-amber, #c9791f); outline-offset: 2px; }
.apk-notify__body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.apk-notify__title { font-weight: 600; font-size: .98rem; }
.apk-notify__hint { font-size: .82rem; line-height: 1.45; overflow-wrap: anywhere; color: var(--semi-ink-faint, #7a857d); }

/* ---------- Buttons / submit ---------- */
.apk-submit { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; margin: 1.4rem 0 2rem; }
.apk-submit__note { flex-basis: 100%; margin: 0; font-size: .8rem; color: var(--semi-ink-faint, #7a857d); }
.apk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .7rem 1.3rem; border-radius: 999px; border: 1.5px solid transparent;
	font: inherit; font-weight: 700; font-size: .95rem; text-decoration: none; cursor: pointer;
	transition: background var(--semi-dur, 240ms), border-color var(--semi-dur, 240ms), color var(--semi-dur, 240ms), transform 120ms;
}
.apk-btn:active { transform: translateY(1px); }
.apk-btn:focus-visible { outline: 3px solid var(--semi-amber, #c9791f); outline-offset: 2px; }
.apk-btn--primary { background: var(--semi-pine, #0f5a4e); color: #fff; }
.apk-btn--primary:hover { background: var(--semi-pine-deep, #0a3f37); color: #fff; }
.apk-btn--primary:disabled { opacity: .7; cursor: progress; }
.apk-btn--ghost { background: transparent; border-color: var(--semi-line-strong, #d6d0c0); color: var(--semi-ink, #16201c); }
.apk-btn--ghost:hover { border-color: var(--semi-pine, #0f5a4e); color: var(--semi-pine, #0f5a4e); }
.apk-btn--lg { padding: .85rem 1.8rem; font-size: 1.02rem; }

/* ---------- Result cards (summary / closed) ---------- */
.apk-card {
	margin: 1rem 0 2rem; padding: 2rem;
	background: var(--semi-surface, #fff); border: 1px solid var(--semi-line, #e6e1d4);
	border-radius: var(--semi-radius-lg, 20px); box-shadow: var(--semi-shadow, 0 4px 12px rgba(16, 32, 28, .06));
}
.apk-card--center { text-align: center; }
.apk-card__title { margin: .2rem 0 .5rem; font-family: var(--semi-font-display, Georgia, serif); font-size: clamp(1.4rem, 3.5vw, 1.9rem); color: var(--semi-pine-deep, #0a3f37); }
.apk-card__text { margin: 0 auto .6rem; max-width: 34rem; line-height: 1.55; color: var(--semi-ink-soft, #4c574f); }
.apk-card__note { margin: .9rem 0 0; font-size: .8rem; color: var(--semi-ink-faint, #7a857d); }
.apk-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.3rem; }
.apk-actions--center { justify-content: center; }

.apk-icon {
	display: inline-flex; width: 3.6rem; height: 3.6rem; border-radius: 50%; position: relative;
	background: var(--semi-pine-soft, #e4efec);
}
.apk-icon::before {
	content: ''; position: absolute; inset: 0; margin: auto; width: 1.7rem; height: 1.7rem;
	background-color: var(--semi-pine, #0f5a4e); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat;
}
.apk-icon--done::before { -webkit-mask-image: var(--apk-ico-check); mask-image: var(--apk-ico-check); }
.apk-icon--flag { background: var(--semi-amber-soft, #fbeeda); }
.apk-icon--flag::before { -webkit-mask-image: var(--apk-ico-flag); mask-image: var(--apk-ico-flag); background-color: var(--semi-amber-deep, #a9610f); }
@media (prefers-reduced-motion: no-preference) {
	.apk-thanks .apk-icon { animation: apkPop 420ms cubic-bezier(.3, 1.5, .5, 1) both; }
	@keyframes apkPop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
}

.apk-summary {
	display: grid; grid-template-columns: max-content 1fr; gap: .55rem 1.2rem;
	max-width: 36rem; margin: 1.3rem auto 0; padding: 1.1rem 1.3rem;
	text-align: left; background: var(--semi-surface-2, #f7f5f0); border-radius: 12px;
}
.apk-summary dt { font-size: .82rem; font-weight: 600; color: var(--semi-ink-faint, #7a857d); }
.apk-summary dd { margin: 0; font-size: .92rem; }
.apk-summary__list { margin: 0; padding-left: 1.1rem; }
.apk-summary__quote { font-style: italic; color: var(--semi-ink-soft, #4c574f); }

/* ---------- Phone ---------- */
@media (max-width: 640px) {
	.apk-hero { padding: 1.4rem 1.1rem 1.2rem; border-radius: var(--semi-radius, 14px); }
	.apk-step { padding: 1.1rem 1rem 1.2rem; }
	.apk-roles,
	.apk-features { grid-template-columns: minmax(0, 1fr); }
	.apk-submit .apk-btn { width: 100%; }
	.apk-card { padding: 1.4rem 1.1rem; }
	.apk-summary { grid-template-columns: 1fr; gap: .2rem; }
	.apk-summary dd + dt { margin-top: .5rem; }
}
