/* ============================================================
   SWITALSKI.LAW — /pl/wezwanie-z-urzedu-skarbowego-kryptowaluty/
   (individual clients: tax-office summons about crypto).
   Layout from the approved mock-up; type, colours, buttons and the
   FAQ accordion are the theme's own. Loaded ONLY on this page
   (inc/enqueue.php), after hub.css + faq.css + contact.css (the page
   is in switalski_hub_slugs(): dark body, accordion, hub.js).

   Every value is a token. Breakpoints per tokens.css: 920 / 640.
   ============================================================ */

/* ------------------------------------------------------------
   Page chassis
   ------------------------------------------------------------ */
.sl-wz__wrap {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--s-6);
}

.sl-wz-sec {
	padding: var(--sp-112) 0;
	border-top: var(--bw-1) solid var(--border-inv-soft);
}

.sl-wz-sec[id] {
	scroll-margin-top: var(--scroll-offset);
}

.sl-wz__stack {
	display: flex;
	flex-direction: column;
	gap: var(--s-5);
}

.sl-wz__stack--md { gap: var(--sp-22); }
.sl-wz__stack--lg { gap: var(--sp-40); }
.sl-wz__stack--xl { gap: var(--sp-56); }

.sl-wz__split {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: var(--s-8);
	align-items: start;
}

/* Theme eyebrow (.t-eyebrow), spaced like the mock-up */
.sl-wz__eyebrow {
	margin: 0 0 var(--sp-20);
}

.sl-wz__eyebrow--flush {
	margin: 0;
}

.sl-wz__h2,
.sl-wz__h3 {
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--paper);
	margin: 0;
	overflow-wrap: break-word;
}

.sl-wz__h2 {
	font-size: var(--t-wz-h2);
	line-height: 0.98;
	letter-spacing: -0.01em;
}

.sl-wz__h2--wide {
	max-width: var(--mw-900);
}

.sl-wz__h3 {
	font-size: var(--fs-26);
	line-height: 1.1;
}

.sl-wz__body {
	font-size: var(--t-body);
	line-height: 1.65;
	color: var(--n-200);
	margin: 0;
	max-width: var(--wz-measure);
}

.sl-wz__body--sm {
	font-size: var(--fs-16);
}

/* Statute citation in running copy */
.sl-wz__ref {
	font-family: var(--font-mono);
	font-size: var(--fs-14);
	color: var(--gold-pale);
	white-space: nowrap;
}

/* Inline text link (paper, gold hairline) */
.sl-wz__lnk {
	color: var(--paper);
	text-decoration: none;
	border-bottom: var(--bw-1) solid var(--gold);
	padding-bottom: var(--sp-2);
	font-weight: 600;
	transition: color .15s ease;
}

a.sl-wz__lnk:hover {
	color: var(--gold);
}

/* Placeholder for a link whose target does not exist yet — visible
   in the draft, deliberately not a link. */
.sl-wz__lnk--todo {
	border-bottom-style: dashed;
}

/* Gold-square bullet list (hero points, package contents) */
.sl-wz__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--sp-10);
}

.sl-wz__point {
	display: flex;
	gap: var(--sp-14);
	align-items: flex-start;
	font-size: var(--fs-16);
	line-height: 1.6;
	color: var(--n-200);
}

.sl-wz__sq {
	width: var(--s-2);
	height: var(--s-2);
	background: var(--gold);
	flex: none;
	margin-top: var(--sp-9);
}

/* Focus visibility on the dark surface */
.sl-wz-crumb__link:focus-visible,
.sl-wz-hero__tel:focus-visible,
.sl-wz__lnk:focus-visible,
.sl-wz-quote__tel:focus-visible,
.sl-wz-table:focus-visible {
	outline: var(--bw-2) solid var(--gold);
	outline-offset: var(--sp-2);
}

/* ------------------------------------------------------------
   Hero
   ------------------------------------------------------------ */
.sl-wz-hero {
	position: relative;
	overflow: hidden;
	padding: var(--sp-40) 0 var(--sp-112);
}

.sl-wz-hero__mesh {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(circle at center, var(--cta-mesh-dot) 1px, transparent 1.4px);
	background-size: var(--about-mesh-size) var(--about-mesh-size);
	opacity: var(--hub-mesh-opacity-cta);
}

.sl-wz-hero__wrap {
	position: relative;
}

.sl-wz-crumb {
	margin-bottom: var(--sp-56);
}

.sl-wz-crumb__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-6);
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	letter-spacing: 0.02em;
	color: var(--n-400);
}

.sl-wz-crumb__item {
	display: inline-flex;
	gap: var(--sp-6);
}

.sl-wz-crumb__link {
	color: var(--n-400);
	text-decoration: none;
}

.sl-wz-crumb__link:hover {
	color: var(--paper);
}

.sl-wz-crumb__sep {
	color: var(--n-500);
}

.sl-wz-crumb__current {
	color: var(--n-200);
}

.sl-wz-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: var(--s-8);
	align-items: center;
}

.sl-wz-hero__copy {
	display: flex;
	flex-direction: column;
	gap: var(--sp-28);
}

.sl-wz-hero__h1 {
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--t-wz-h1);
	line-height: var(--lh-tight);
	letter-spacing: -0.02em;
	color: var(--paper);
	margin: 0;
	overflow-wrap: break-word;
}

.sl-wz-hero__h1-outline {
	color: transparent;
	-webkit-text-stroke: var(--bw-2) var(--paper);
}

.sl-wz-hero__h1-accent {
	color: var(--gold);
}

.sl-wz-hero__lead {
	font-size: var(--t-lead);
	line-height: 1.6;
	color: var(--n-200);
	margin: 0;
	max-width: var(--wz-measure-lead);
}

.sl-wz-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-4);
	align-items: center;
	margin-top: var(--s-2);
}

.sl-wz-hero__note {
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	letter-spacing: 0.03em;
	color: var(--n-400);
	margin: 0;
}

.sl-wz-hero__tel {
	color: var(--n-200);
}

/* Summons schematic — decorative shapes; the marked text is real */
.sl-wz-doc {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--sp-14);
}

.sl-wz-doc__sheet {
	position: relative;
	background: var(--n-800);
	border: var(--bw-2) solid var(--paper);
	box-shadow: var(--shadow-card-lg-gold);
	padding: var(--sp-36) var(--s-6) var(--sp-40);
	display: flex;
	flex-direction: column;
	gap: var(--sp-14);
}

.sl-wz-doc__head {
	display: flex;
	justify-content: space-between;
	gap: var(--s-4);
}

.sl-wz-doc__addr {
	display: flex;
	flex-direction: column;
	gap: var(--sp-6);
	min-width: 0;
}

.sl-wz-doc__bar {
	display: block;
	max-width: 100%;
	height: var(--s-2);
	background: var(--n-600);
}

.sl-wz-doc__bar--a    { width: var(--wz-doc-w-a); background: var(--n-500); }
.sl-wz-doc__bar--b    { width: var(--wz-doc-w-b); }
.sl-wz-doc__bar--c    { width: var(--wz-doc-w-c); }
.sl-wz-doc__bar--date { width: var(--wz-doc-w-date); flex: 0 1 auto; }
.sl-wz-doc__bar--sign { width: var(--wz-doc-w-sign); }

.sl-wz-doc__title {
	margin: var(--sp-18) 0 var(--s-1);
	font-family: var(--font-mono);
	font-size: var(--fs-15);
	font-weight: 500;
	letter-spacing: 0.32em;
	color: var(--paper);
	text-align: center;
}

.sl-wz-doc__mark {
	display: flex;
	align-items: center;
	gap: var(--sp-10);
	flex-wrap: wrap;
}

.sl-wz-doc__mark-text {
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	color: var(--n-200);
	border-bottom: var(--bw-2) solid var(--gold);
	padding-bottom: var(--sp-2);
}

.sl-wz-doc__mark-tag {
	font-family: var(--font-mono);
	font-size: var(--fs-10);
	font-weight: 500;
	letter-spacing: 0.06em;
	background: var(--gold);
	color: var(--ink);
	padding: var(--sp-3) var(--sp-7);
}

.sl-wz-doc__line {
	display: block;
	height: var(--sp-7);
	background: var(--n-700);
}

.sl-wz-doc__line--l1 { width: var(--wz-doc-l1); }
.sl-wz-doc__line--l2 { width: var(--wz-doc-l2); }
.sl-wz-doc__line--l3 { width: var(--wz-doc-l3); }
.sl-wz-doc__line--l4 { width: var(--wz-doc-l4); }
.sl-wz-doc__line--l5 { width: var(--wz-doc-l5); }

.sl-wz-doc__sign {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--s-4);
}

.sl-wz-doc__caption {
	font-family: var(--font-mono);
	font-size: var(--fs-11);
	letter-spacing: 0.03em;
	color: var(--n-400);
}

/* ------------------------------------------------------------
   "Pokrótce"
   ------------------------------------------------------------ */
.sl-wz-summary {
	padding: 0 0 var(--sp-112);
}

.sl-wz-summary__box {
	border: var(--bw-2) solid var(--gold);
	padding: var(--sp-36) var(--sp-40);
	display: grid;
	grid-template-columns: var(--mw-160) minmax(0, 1fr);
	gap: var(--s-6);
	align-items: start;
}

.sl-wz-summary__label {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--gold);
}

.sl-wz-summary__text {
	margin: 0;
	font-size: var(--fs-19);
	line-height: 1.65;
	color: var(--paper);
}

/* ------------------------------------------------------------
   #zakres — packages + additional services
   ------------------------------------------------------------ */
.sl-wz-scope__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--s-6);
	flex-wrap: wrap;
	margin-bottom: var(--sp-56);
}

.sl-wz-scope__title {
	max-width: var(--mw-640);
}

.sl-wz-scope__intro {
	max-width: var(--mw-520);
}

.sl-wz-scope__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--s-6);
	align-items: stretch;
}

.sl-wz-pkg {
	background: var(--n-800);
	border: var(--bw-2) solid var(--border-inv-60);
	padding: var(--sp-40);
	display: flex;
	flex-direction: column;
	gap: var(--s-5);
}

.sl-wz-pkg--featured {
	border-color: var(--gold);
	box-shadow: var(--shadow-card-lg-gold);
}

.sl-wz-pkg__badge {
	align-self: flex-start;
	font-family: var(--font-mono);
	font-size: var(--fs-11);
	font-weight: 500;
	letter-spacing: 0.12em;
	border: var(--bw-1-5) solid var(--n-200);
	color: var(--n-200);
	padding: var(--sp-4) var(--sp-10);
}

.sl-wz-pkg--featured .sl-wz-pkg__badge {
	background: var(--gold);
	border-color: var(--gold);
	color: var(--ink);
}

.sl-wz-pkg__title {
	font-size: var(--fs-32);
}

.sl-wz-pkg__price {
	display: flex;
	align-items: baseline;
	gap: var(--s-3);
	flex-wrap: wrap;
	margin: 0;
	padding: var(--sp-20) 0;
	border-top: var(--bw-1) solid var(--border-inv);
	border-bottom: var(--bw-1) solid var(--border-inv);
}

.sl-wz-pkg__price-aff {
	font-size: var(--fs-15);
	color: var(--n-200);
}

.sl-wz-pkg__price-val {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--t-wz-price);
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--paper);
}

.sl-wz-pkg__cta {
	margin-top: auto;
	padding-top: var(--s-2);
}

.sl-wz-extras {
	margin-top: var(--sp-72);
	display: flex;
	flex-direction: column;
	gap: var(--s-5);
}

.sl-wz-extras__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wz-extras-min)), 1fr));
	gap: var(--s-4);
}

.sl-wz-extras__card {
	border: var(--bw-1) solid var(--border-inv);
	padding: var(--s-5);
	display: flex;
	flex-direction: column;
	gap: var(--sp-14);
}

.sl-wz-extras__text {
	margin: 0;
	font-size: var(--fs-16);
	line-height: 1.55;
	color: var(--paper);
}

.sl-wz-extras__tag {
	font-family: var(--font-mono);
	font-size: var(--fs-11);
	letter-spacing: 0.08em;
	color: var(--gold);
}

/* ------------------------------------------------------------
   Price factors
   ------------------------------------------------------------ */
.sl-wz-price__label {
	margin: 0;
	font-size: var(--fs-15);
	font-weight: 600;
	color: var(--paper);
}

.sl-wz-price__factors {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--s-4);
}

.sl-wz-price__factor {
	background: var(--n-800);
	padding: var(--sp-22);
	display: flex;
	flex-direction: column;
	gap: var(--sp-10);
}

.sl-wz-price__n {
	font-family: var(--font-display);
	font-size: var(--fs-28);
	line-height: 1;
	color: var(--gold);
}

.sl-wz-price__text {
	font-size: var(--fs-16);
	line-height: 1.5;
	color: var(--paper);
}

/* ------------------------------------------------------------
   Tables — real <table>, sideways scroll inside its own region
   ------------------------------------------------------------ */
.sl-wz-table {
	overflow-x: auto;
	border: var(--bw-1) solid var(--border-inv);
	-webkit-overflow-scrolling: touch;
}

.sl-wz-table__t {
	width: 100%;
	min-width: var(--mw-720);
	border-collapse: collapse;
	font-size: var(--fs-15);
	line-height: 1.5;
}

.sl-wz-table__t thead th {
	text-align: left;
	font-family: var(--font-mono);
	font-size: var(--fs-11);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	padding: var(--s-4) var(--sp-20);
	border-bottom: var(--bw-1) solid var(--border-inv);
	background: var(--n-800);
}

.sl-wz-table__t tbody th,
.sl-wz-table__t td {
	text-align: left;
	padding: var(--sp-18) var(--sp-20);
	border-bottom: var(--bw-1) solid var(--border-inv-soft);
	color: var(--n-200);
	vertical-align: top;
}

.sl-wz-table__t tbody th {
	color: var(--paper);
	font-weight: 600;
}

.sl-wz-table__t tbody tr:last-child th,
.sl-wz-table__t tbody tr:last-child td {
	border-bottom: 0;
}

.sl-wz-table__t thead .sl-wz-table__hl-head {
	background: var(--gold);
	color: var(--ink);
}

.sl-wz-table__t .sl-wz-table__hl {
	background: var(--gold-tint-08);
}

.sl-wz-table__t .sl-wz-table__hl--strong {
	color: var(--paper);
}

/* ------------------------------------------------------------
   5 steps
   ------------------------------------------------------------ */
.sl-wz-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--sp-28);
}

.sl-wz-steps__item {
	border-top: var(--bw-2) solid var(--gold);
	padding-top: var(--sp-20);
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
}

.sl-wz-steps__n {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--t-wz-step-n);
	line-height: 0.85;
	color: var(--paper);
}

.sl-wz-steps__dot {
	color: var(--gold);
	font-size: var(--fs-24);
}

.sl-wz-steps__title {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--fs-17);
	font-weight: 700;
	line-height: 1.35;
	color: var(--paper);
}

.sl-wz-steps__text {
	margin: 0;
	font-size: var(--fs-15);
	line-height: 1.6;
	color: var(--n-200);
}

/* ------------------------------------------------------------
   Czynny żal / dokumenty
   ------------------------------------------------------------ */
.sl-wz-relief__see {
	margin: var(--s-2) 0 0;
	font-size: var(--fs-15);
	color: var(--n-200);
}

.sl-wz-check {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sl-wz-check__item {
	display: flex;
	gap: var(--s-4);
	align-items: flex-start;
	padding: var(--sp-18) 0;
	border-bottom: var(--bw-1) solid var(--border-inv-mid);
	font-size: var(--fs-16);
	line-height: 1.55;
	color: var(--paper);
}

.sl-wz-check__item:last-child {
	border-bottom: 0;
}

.sl-wz-check__box {
	width: var(--sp-18);
	height: var(--sp-18);
	border: var(--bw-2) solid var(--gold);
	flex: none;
	margin-top: var(--sp-2);
}

.sl-wz-docs__box {
	background: var(--n-800);
	padding: var(--sp-28) var(--sp-30);
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
	border-top: var(--bw-2) solid var(--gold);
}

.sl-wz-docs__box-title {
	margin: 0;
	font-size: var(--fs-17);
	font-weight: 700;
	color: var(--paper);
}

.sl-wz-docs__box-text {
	margin: 0;
	font-size: var(--fs-16);
	line-height: 1.6;
	color: var(--n-200);
}

.sl-wz-docs__box-link {
	margin: var(--sp-6) 0 0;
	font-size: var(--fs-15);
}

/* ------------------------------------------------------------
   Kto prowadzi sprawę
   ------------------------------------------------------------ */
.sl-wz-author {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--wz-author-min)), 1fr));
	gap: var(--sp-72);
	align-items: center;
}

.sl-wz-author__photo {
	max-width: var(--mw-420);
}

.sl-wz-author__img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
	border: var(--bw-2) solid var(--paper);
	box-shadow: var(--shadow-card-lg-gold);
}

.sl-wz-author__badges {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--sp-10);
	flex-wrap: wrap;
}

.sl-wz-author__badge {
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	border: var(--bw-1-5) solid var(--gold);
	color: var(--gold);
	padding: var(--sp-6) var(--sp-10);
}

.sl-wz-author__more {
	margin: var(--s-1) 0 0;
	font-size: var(--fs-15);
}

/* ------------------------------------------------------------
   #wycena — steps, urgent box, form card
   ------------------------------------------------------------ */
.sl-wz-quote {
	background: var(--n-800);
}

.sl-wz-quote__steps {
	list-style: none;
	margin: var(--s-2) 0 0;
	padding: 0;
}

.sl-wz-quote__step {
	display: flex;
	gap: var(--sp-18);
	align-items: baseline;
	padding: var(--s-4) 0;
	border-top: var(--bw-1) solid var(--border-inv);
}

.sl-wz-quote__step:last-child {
	border-bottom: var(--bw-1) solid var(--border-inv);
}

.sl-wz-quote__n {
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	color: var(--gold);
	width: var(--sp-28);
	flex: none;
}

.sl-wz-quote__text {
	font-size: var(--fs-16);
	color: var(--paper);
}

.sl-wz-quote__urgent {
	border: var(--bw-2) solid var(--gold);
	padding: var(--sp-22) var(--s-5);
	display: flex;
	flex-direction: column;
	gap: var(--sp-6);
}

.sl-wz-quote__urgent-title {
	margin: 0;
	font-size: var(--fs-15);
	font-weight: 700;
	color: var(--paper);
}

.sl-wz-quote__urgent-text {
	margin: 0;
	font-size: var(--fs-15);
	color: var(--n-200);
}

.sl-wz-quote__tel {
	color: var(--paper);
	font-weight: 700;
}

.sl-wz-form {
	background: var(--ink);
	border: var(--bw-2) solid var(--paper);
	box-shadow: var(--shadow-card-lg-gold);
	padding: var(--sp-40);
	display: flex;
	flex-direction: column;
	gap: var(--sp-22);
	min-width: 0;
}

/* CF7 wraps the <form> (html_class sl-wz-form__cf7) in div.wpcf7 */
.sl-wz-form__cf7 {
	display: flex;
	flex-direction: column;
	gap: var(--sp-22);
	margin: 0;
}

.sl-wz-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-18);
}

.sl-wz-field {
	display: flex;
	flex-direction: column;
	gap: var(--s-2);
	min-width: 0;
}

.sl-wz-field__label {
	font-size: var(--fs-13);
	font-weight: 600;
	color: var(--paper);
	padding: 0;
}

.sl-wz-field__opt {
	font-weight: 400;
	color: var(--n-400);
}

.sl-wz-field .wpcf7-form-control-wrap {
	display: block;
}

.sl-wz-field__input {
	width: 100%;
	background: var(--ink);
	border: var(--bw-2) solid var(--n-600);
	border-radius: var(--r-2);
	padding: var(--sp-14) var(--s-4);
	font-family: inherit;
	font-size: var(--fs-16);
	color: var(--paper);
	outline: none;
	color-scheme: dark;
}

.sl-wz-field__input::placeholder {
	color: var(--n-500);
}

.sl-wz-field__input:focus {
	border-color: var(--gold);
}

.sl-wz-fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.sl-wz-fieldset legend {
	margin-bottom: var(--sp-10);
}

/* CF7 radio group → bordered option rows */
.sl-wz-opts {
	display: flex;
	flex-direction: column;
	gap: var(--sp-10);
}

.sl-wz-opts--row {
	flex-direction: row;
	flex-wrap: wrap;
}

.sl-wz-opts .wpcf7-list-item {
	margin: 0;
}

.sl-wz-opts .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: var(--sp-10);
	border: var(--bw-2) solid var(--n-600);
	border-radius: var(--r-2);
	padding: var(--s-3) var(--sp-14);
	font-size: var(--fs-15);
	color: var(--n-200);
	cursor: pointer;
}

.sl-wz-opts .wpcf7-list-item label:has(input:checked) {
	border-color: var(--gold);
	color: var(--paper);
}

.sl-wz-opts .wpcf7-list-item label:focus-within {
	outline: var(--bw-2) solid var(--gold);
	outline-offset: var(--sp-2);
}

.sl-wz-opts input,
.sl-wz-accept input {
	accent-color: var(--gold);
	width: var(--sp-18);
	height: var(--sp-18);
	margin: 0;
	flex: none;
}

/* Scan drop zone — the real file input stays focusable, visually hidden */
.sl-wz-drop {
	position: relative;
}

.sl-wz-drop__zone {
	border: var(--bw-2) dashed var(--n-500);
	border-radius: var(--r-2);
	padding: var(--sp-26);
	text-align: center;
	font-size: var(--fs-15);
	color: var(--n-200);
	cursor: pointer;
	transition: border-color .15s ease;
}

.sl-wz-drop.is-dragover .sl-wz-drop__zone,
.sl-wz-drop.has-file .sl-wz-drop__zone {
	border-color: var(--gold);
}

.sl-wz-drop:focus-within .sl-wz-drop__zone {
	outline: var(--bw-2) solid var(--gold);
	outline-offset: var(--sp-2);
}

.sl-wz-drop__pick {
	color: var(--paper);
	border-bottom: var(--bw-1) solid var(--gold);
	font-weight: 600;
}

.sl-wz-drop__name {
	display: block;
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	color: var(--gold-pale);
	overflow-wrap: anywhere;
}

.sl-wz-drop__name:not(:empty) {
	margin-top: var(--s-2);
}

.sl-wz-drop__input {
	position: absolute;
	width: var(--sp-1);
	height: var(--sp-1);
	margin: calc(-1 * var(--sp-1));
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

/* Confirmation checkbox (CF7 acceptance) */
.sl-wz-accept .wpcf7-list-item {
	margin: 0;
}

.sl-wz-accept label {
	display: flex;
	gap: var(--s-3);
	align-items: flex-start;
	font-size: var(--fs-14);
	line-height: 1.5;
	color: var(--n-200);
	cursor: pointer;
}

.sl-wz-accept input {
	margin-top: var(--sp-2);
}

.sl-wz-accept a {
	color: var(--paper);
}

.sl-wz-form__actions {
	display: flex;
}

.sl-wz-form__note {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	letter-spacing: 0.02em;
	color: var(--n-400);
}

/* CF7 feedback on the dark card */
.sl-wz-form .wpcf7-not-valid-tip {
	color: var(--danger-inv);
	font-size: var(--fs-13);
	margin-top: var(--s-2);
}

/* Selectors one step above the plugin's own ".wpcf7 form …" rules so
   its foreign margins/colours never win. */
.sl-wz-form .wpcf7 form .wpcf7-response-output {
	margin: 0;
	padding: var(--s-3) var(--s-4);
	border: var(--bw-2) solid var(--gold);
	color: var(--paper);
	font-size: var(--fs-14);
	line-height: 1.5;
}

.sl-wz-form .wpcf7 form.invalid .wpcf7-response-output,
.sl-wz-form .wpcf7 form.unaccepted .wpcf7-response-output,
.sl-wz-form .wpcf7 form.failed .wpcf7-response-output,
.sl-wz-form .wpcf7 form.aborted .wpcf7-response-output,
.sl-wz-form .wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--danger-inv);
}

/* ------------------------------------------------------------
   Data-processing clause — own section after #wycena (target of the
   form checkbox link). Reading text, deliberately quieter than the
   page's display headings.
   ------------------------------------------------------------ */
.sl-wz-clause__inner {
	max-width: var(--mw-800);
	display: flex;
	flex-direction: column;
	gap: var(--sp-28);
}

.sl-wz-clause__h2 {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--fs-28);
	line-height: 1.1;
	color: var(--paper);
	overflow-wrap: break-word;
}

.sl-wz-clause__part {
	display: flex;
	flex-direction: column;
	gap: var(--sp-10);
}

.sl-wz-clause__h3 {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--fs-16);
	font-weight: 700;
	line-height: 1.4;
	color: var(--paper);
}

.sl-wz-clause__p,
.sl-wz-clause__list {
	margin: 0;
	font-size: var(--fs-15);
	line-height: 1.65;
	color: var(--n-200);
}

.sl-wz-clause__list {
	padding-left: var(--s-5);
	display: flex;
	flex-direction: column;
	gap: var(--sp-6);
}

.sl-wz-clause__list li::marker {
	color: var(--gold);
}

/* ------------------------------------------------------------
   Responsive — columns stack, tables keep their own scroll
   ------------------------------------------------------------ */
@media (max-width: 920px) {
	.sl-wz-hero__grid,
	.sl-wz__split,
	.sl-wz-scope__grid,
	.sl-wz-form__row {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sp-40);
	}

	.sl-wz-form__row {
		gap: var(--sp-18);
	}

	.sl-wz-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sl-wz-sec {
		padding: var(--sp-80) 0;
	}

	.sl-wz-hero,
	.sl-wz-summary {
		padding-bottom: var(--sp-80);
	}
}

@media (max-width: 640px) {
	.sl-wz__wrap {
		padding: 0 var(--s-4);
	}

	.sl-wz-sec {
		padding: var(--s-8) 0;
	}

	.sl-wz-hero,
	.sl-wz-summary {
		padding-bottom: var(--s-8);
	}

	.sl-wz-crumb {
		margin-bottom: var(--sp-40);
	}

	.sl-wz-steps,
	.sl-wz-price__factors,
	.sl-wz-summary__box {
		grid-template-columns: minmax(0, 1fr);
	}

	.sl-wz-summary__box {
		gap: var(--s-4);
		padding: var(--s-5);
	}

	.sl-wz-pkg,
	.sl-wz-form {
		padding: var(--s-5);
	}

	.sl-wz-doc__sheet {
		padding: var(--sp-28) var(--s-5) var(--s-6);
	}

	/* Long mock-up labels: full-width buttons that may wrap */
	.sl-wz-page .sl-wz__wrap .sl-btn {
		width: 100%;
		line-height: 1.3;
		text-align: center;
	}
}
