/* =================================================================
   Partneryste multistep form — initial scaffold styles.
   Layout/typography mirrors /forma conventions. Step-specific
   rules get added as each step is implemented per Figma.
   ================================================================= */

:root {
	--pn-accent: #ca6b27;
	--pn-accent-soft: #faf0ed;
	--pn-ink: #2c2d34;
	--pn-muted: #616268;
	--pn-line: #e5e7eb;
	--pn-bg: #efeef3;
}

/* Reset Franco body padding on this template */
body.partneryste-page {
	margin: 0;
	background: #fff;
	color: var(--pn-ink);
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.partneryste {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* -------------------- step chrome -------------------- */

.partneryste-step {
	flex: 1 0 auto;
	padding: 64px 24px 96px;
	background: #fff;
}

.partneryste-step--light {
	background: var(--pn-bg);
}

.partneryste-step__content {
	max-width: 1086px;
	margin: 0 auto;
}

.partneryste-step__content--narrow {
	max-width: 820px;
}

.partneryste-step__heading {
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 54px;
	line-height: 68px;
	letter-spacing: -1.35px;
	text-align: center;
	margin: 0 0 16px;
	color: var(--pn-ink);
}

.partneryste-step__heading--h2 {
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.5px;
}

.partneryste-step__lead {
	text-align: center;
	color: var(--pn-muted);
	font-size: 15px;
	line-height: 24px;
	margin: 0 auto 48px;
	max-width: 616px;
}

/* -------------------- button -------------------- */

.partneryste-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	padding: 0 32px;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
	font-family: 'Inter', sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	text-transform: none;
	letter-spacing: normal;
	text-decoration: none;
	transition: background-color .15s ease, opacity .15s ease;
}

.partneryste-btn--primary {
	background: var(--pn-accent);
	color: #fff;
}

.partneryste-btn--compact {
	height: 45px;
	font-size: 16px;
	padding: 0 24px;
	min-width: 285px;
	color: #fff !important;
}

.partneryste-btn--primary:hover:not(:disabled) { background: #b35a1e; }
.partneryste-btn:disabled {
	opacity: .5;
	cursor: not-allowed;
}

.partneryste-step__content--intro {
	text-align: center;
	padding-top: 140px;
	padding-bottom: 140px;
}

.partneryste-step--pre-0,
.partneryste-step--0 {
	position: relative;
	overflow: hidden;
}

.partneryste-step__hero-bg {
	position: absolute;
	inset: 0;
	background: url('hero-bg.jpg') center / cover no-repeat;
	pointer-events: none;
	z-index: 0;
}

.partneryste-step--pre-0 .partneryste-step__hero-bg { opacity: 0.17; }
.partneryste-step--0     .partneryste-step__hero-bg { opacity: 0.15; }

.partneryste-step--pre-0 .partneryste-step__content,
.partneryste-step--0 .partneryste-step__content {
	position: relative;
	z-index: 1;
}

.partneryste-step--pre-0 .partneryste-step__lead {
	margin-bottom: 32px;
}

/* -------------------- progress indicator (top bar) -------------------- */

.partneryste-progress {
	background: #fff;
	border-bottom: 1px solid var(--pn-line);
	padding: 24px 16px;
}

.partneryste-progress__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	max-width: 1280px;
	margin: 0 auto;
}

.partneryste-progress__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.partneryste-progress__circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #f3f4f6;
	color: var(--pn-muted);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
}

.partneryste-progress__circle.is-active {
	background: var(--pn-accent);
	color: #fff;
}

.partneryste-progress__circle.is-done {
	background: #fff;
	border: 1px solid var(--pn-accent);
	color: var(--pn-accent);
}

.partneryste-progress__line {
	display: inline-block;
	width: 32px;
	height: 1px;
	background: var(--pn-line);
	margin: 0 8px;
}

.partneryste-progress__label {
	font-size: 14px;
	font-weight: 500;
	color: var(--pn-muted);
	line-height: 20px;
}

.partneryste-progress__label.is-active {
	color: #171a1f;
}

/* -------------------- choices (cards + rows) -------------------- */

.partneryste-choices__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 32px;
}

.partneryste-choices--2col .partneryste-choices__grid {
	grid-template-columns: repeat(2, 1fr);
}

.partneryste-choices__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 24px;
}

.partneryste-choices__label {
	font-size: 20px;
	font-weight: 500;
	margin: 0 0 16px;
}

.partneryste-choices__actions {
	display: flex;
	justify-content: center;
}

.partneryste-choices__note {
	text-align: center;
	color: var(--pn-muted);
	font-size: 14px;
	margin: 16px 0 0;
}

/* card style (step-3 branches) */
.partneryste-choice {
	position: relative;
	display: block;
	border: 1px solid var(--pn-line);
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.partneryste-choice.is-selected {
	border-color: var(--pn-accent);
	box-shadow: 0 0 0 1px var(--pn-accent);
}

.partneryste-choice__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.partneryste-choice__image img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.partneryste-choice__label {
	display: block;
	padding: 12px 16px;
	font-size: 15px;
	color: var(--pn-ink);
}

.partneryste-choice__check {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--pn-accent);
	color: #fff;
	display: none;
	align-items: center;
	justify-content: center;
}

.partneryste-choice.is-selected .partneryste-choice__check {
	display: inline-flex;
}

/* row style (step-0) */
.partneryste-choice--row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 16px;
	height: 62px;
	border: 1px solid var(--pn-line);
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
}

.partneryste-choice--row.is-selected {
	border-color: var(--pn-accent);
}

.partneryste-choice--row .partneryste-choice__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--pn-ink);
}

.partneryste-choice--row .partneryste-choice__label {
	flex: 1;
	padding: 0;
	font-size: 15px;
	line-height: 23px;
}

.partneryste-choice--row .partneryste-choice__check {
	position: static;
	background: transparent;
	color: var(--pn-accent);
	display: inline-flex;
	opacity: 0;
}

.partneryste-choice--row.is-selected .partneryste-choice__check {
	opacity: 1;
}

/* step-0 outer container (salmon box) */
.partneryste-step--0 .partneryste-choices--list {
	background: var(--pn-accent-soft);
	border-radius: 8px;
	padding: 32px;
}

.partneryste-choices__label {
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 30px;
	color: var(--pn-ink);
	margin: 0 0 18px;
}

.partneryste-btn--block {
	display: flex;
	width: 100%;
	margin-top: 8px;
}

/* -------------------- contacts (step-1) -------------------- */

.partneryste-step__content--wide {
	max-width: 1184px;
	padding: 0 24px;
}

.partneryste-step__header {
	position: relative;
	margin-bottom: 48px;
}

/* Top-right "Atgal" link (Figma 436:18). Scoped to content column via
   position: relative on the parent __header. Anchor overrides beat Franco's
   global `a` color. */
a.partneryste-back,
a.partneryste-back:link,
a.partneryste-back:visited {
	position: absolute;
	top: 8px;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	color: #565d6d;
	text-decoration: none;
	transition: color .15s ease;
	z-index: 2;
}
a.partneryste-back:hover,
a.partneryste-back:focus {
	color: #2c2d34;
	text-decoration: none;
}
.partneryste-back__icon {
	flex: 0 0 auto;
}

.partneryste-step__heading--left {
	text-align: left;
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 40px;
	letter-spacing: 0;
	color: #171a1f;
	margin: 0 0 16px;
}

.partneryste-step__lead--left {
	text-align: left;
	font-size: 18px;
	line-height: 28px;
	color: #565d6d;
	margin: 0;
	max-width: none;
}

.partneryste-contacts--split {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

@media (max-width: 768px) {
	.partneryste-contacts--split {
		grid-template-columns: 1fr;
	}
}

.partneryste-contacts__left {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.partneryste-contacts__right {
	background: #fff;
	border-radius: 10px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

@media (max-width: 768px) {
	.partneryste-contacts__right {
		padding: 0;
	}
}

.partneryste-contacts__heading {
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: #171a1f;
	margin: 0 0 10px;
	letter-spacing: 0;
}

.partneryste-contacts__note {
	text-align: center;
	color: #565d6d;
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.partneryste-field,
.partneryste-textarea {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 14px;
	color: #171a1f;
}

.partneryste-field span,
.partneryste-textarea span {
	font-weight: 500;
	line-height: 22px;
}

.partneryste-field em {
	color: #de3b40;
	font-style: normal;
}

.partneryste-field input,
.partneryste-textarea textarea {
	border: 1px solid #dee1e6;
	border-radius: 6px;
	padding: 8px 12px;
	font: inherit;
	background: #fff;
	color: #171a1f;
}

.partneryste-field input::placeholder,
.partneryste-textarea textarea::placeholder {
	color: #565d6d;
}

.partneryste-field input:focus,
.partneryste-textarea textarea:focus {
	border-color: var(--pn-accent);
	outline: none;
}

/* -------------------- dropzone (step-1 + step-3/kita) -------------------- */

.partneryste-dropzone {
	display: block;
	border: 2px dashed var(--pn-line);
	border-radius: 8px;
	padding: 32px;
	background: #fff;
	text-align: center;
	cursor: pointer;
	margin-bottom: 16px;
}

.partneryste-dropzone.is-drag {
	border-color: var(--pn-accent);
	background: var(--pn-accent-soft);
}

.partneryste-dropzone__input {
	display: none;
}

.partneryste-dropzone__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.partneryste-dropzone__headline { font-size: 16px; font-weight: 500; }
.partneryste-dropzone__button {
	display: inline-block;
	padding: 8px 16px;
	background: var(--pn-accent);
	color: #fff;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
}
.partneryste-dropzone__hint { font-size: 13px; color: var(--pn-muted); }

.partneryste-dropzone__list {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.partneryste-dropzone__file {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 12px;
	background: var(--pn-bg);
	border-radius: 4px;
	font-size: 14px;
}

.partneryste-dropzone__file.is-error { background: #fde8e8; color: #7a1a1a; }
.partneryste-dropzone__file.is-uploading { opacity: .7; }

.partneryste-dropzone__remove {
	border: 0;
	background: transparent;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	color: var(--pn-muted);
}

/* -------------------- step-2 (material + load + area) -------------------- */

.partneryste-step2__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin-bottom: 32px;
}

.partneryste-step2__card {
	background: #fff;
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 1px 2px rgba(23, 26, 31, .04);
}

.partneryste-step2__heading {
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: -0.6px;
	color: #171a1f;
	margin: 0 0 8px;
}

.partneryste-step2__subheading {
	font-size: 14px;
	line-height: 20px;
	color: #565d6d;
	margin: 0 0 20px;
}

.partneryste-step2__section-heading {
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: #171a1f;
	margin: 24px 0 12px;
}

.partneryste-step2__section-heading:first-child { margin-top: 0; }

.partneryste-step2__row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

/* Material radio card (COR-TEN A/B) */
.partneryste-material {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #dee1e6;
	border-radius: 10px;
	cursor: pointer;
	margin-bottom: 12px;
}

.partneryste-material:has(input:checked),
.partneryste-material.is-selected {
	border-color: var(--pn-accent);
}

.partneryste-material__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.partneryste-material__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.partneryste-material__title {
	font-weight: 500;
	font-size: 18px;
	line-height: 28px;
	color: #171a1f;
}

.partneryste-material__desc {
	font-size: 14px;
	line-height: 20px;
	color: #565d6d;
}

.partneryste-material__radio {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid #565d6d;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	margin-top: 4px;
}

.partneryste-material__radio span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	display: none;
}

.partneryste-material:has(input:checked) .partneryste-material__radio,
.partneryste-material.is-selected .partneryste-material__radio {
	background: var(--pn-accent);
	border-color: var(--pn-accent);
}

.partneryste-material:has(input:checked) .partneryste-material__radio span,
.partneryste-material.is-selected .partneryste-material__radio span {
	display: inline-block;
}

/* Inline radios (load type) */
.partneryste-step2__inline-radios {
	display: flex;
	gap: 32px;
	margin-bottom: 8px;
}

.partneryste-inline-radio {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-size: 16px;
	color: #171a1f;
}

.partneryste-inline-radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.partneryste-inline-radio__dot {
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1px solid #565d6d;
	flex: 0 0 auto;
	position: relative;
}

.partneryste-inline-radio__dot::after {
	content: '';
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--pn-accent);
	display: none;
}

.partneryste-inline-radio input:checked ~ .partneryste-inline-radio__dot {
	border-color: var(--pn-accent);
}
.partneryste-inline-radio input:checked ~ .partneryste-inline-radio__dot::after {
	display: block;
}

.partneryste-inline-radio__label {
	font-size: 16px;
	line-height: 20px;
}

/* Area + thickness fields with inline unit */
.partneryste-field--with-unit .partneryste-field__input-wrap {
	position: relative;
	display: block;
}

.partneryste-field--with-unit input {
	width: 100%;
	padding-right: 40px;
}

.partneryste-field__unit {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #565d6d;
	font-size: 14px;
	pointer-events: none;
}

/* Franco auto-wraps <select> in .select_container with an orange ::before
   chevron block. Neutralize both pseudo-elements for our selects and render
   a subtle grey chevron via the select's own background. */
.partneryste-field .select_container {
	position: relative;
	background: transparent !important;
	border: 0 !important;
}

.partneryste-field .select_container::before,
.partneryste-field .select_container::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

.partneryste-field select {
	border: 1px solid #dee1e6 !important;
	border-radius: 6px !important;
	padding: 8px 32px 8px 12px !important;
	font: inherit !important;
	background-color: #fff !important;
	color: #171a1f !important;
	height: 39px !important;
	width: 100% !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23565d6d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='4,6 8,10 12,6'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 16px 16px !important;
}

.partneryste-field select::-ms-expand {
	display: none;
}

.partneryste-field--with-unit input {
	height: 39px;
}

/* Summary card (right) */
.partneryste-step2__card--summary {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.partneryste-step2__hero {
	width: 100%;
	aspect-ratio: 528 / 250;
	background: linear-gradient(135deg, #7a3e1d, #ca6b27 60%, #d9815a);
	background-size: cover;
	background-position: center;
	border-radius: 6px;
	margin-bottom: 12px;
}

.partneryste-choice-summary {
	list-style: disc;
	padding-left: 20px;
	margin: 0;
	color: #171a1f;
}

.partneryste-choice-summary li {
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 4px;
	color: #171a1f;
}

/* Bottom actions row (Grįžti / Tęsti) */
.partneryste-step2__actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
}

.partneryste-btn--ghost {
	background: #fff;
	color: #171a1f !important;
	border: 1px solid #dee1e6;
	min-width: fit-content;
}

.partneryste-btn--ghost:hover:not(:disabled) {
	background: #f3f4f6;
}

.partneryste-btn svg {
	margin-left: 8px;
}

/* -------------------- step-3 solution cards -------------------- */

.partneryste-choices--solutions .partneryste-choices__grid {
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 32px;
}

.partneryste-solution {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 24px;
	background: #fff;
	border: 2px solid #dee1e6;
	border-radius: 10px;
	cursor: pointer;
	min-height: 248px;
	transition: border-color .15s ease;
}

.partneryste-solution:hover {
	border-color: #c7cad1;
}

.partneryste-solution.is-selected {
	border-color: var(--pn-accent);
}

.partneryste-solution__media {
	display: block;
	overflow: hidden;
	border-radius: 4px;
	margin-bottom: 16px;
	aspect-ratio: 268 / 96;
}

.partneryste-solution__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.partneryste-solution__title {
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 28px;
	color: #171a1f;
	display: block;
	margin-bottom: 8px;
}

.partneryste-solution__features {
	list-style: disc;
	padding-left: 16px;
	margin: 0;
	color: #565d6d;
}

.partneryste-solution__features li {
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 4px;
}

.partneryste-solution__check {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--pn-accent);
	color: #fff;
	display: none;
	align-items: center;
	justify-content: center;
}

.partneryste-solution.is-selected .partneryste-solution__check {
	display: inline-flex;
}

/* Hide the raw radio input for all solution cards. */
.partneryste-solution .partneryste-choice__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* -------------------- step-3 kita (free-form) -------------------- */

.partneryste-kita__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
	margin-bottom: 32px;
}

.partneryste-kita__col {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.partneryste-kita__lead {
	font-size: 18px;
	line-height: 28px;
	color: #565d6d;
	margin: 0 0 12px;
}

.partneryste-textarea--large textarea {
	min-height: 240px;
	resize: vertical;
}

/* -------------------- step-4 (confirmation-only) -------------------- */

.partneryste-step4__card {
	background: #fff;
	border-radius: 10px;
	padding: 40px;
	max-width: 792px;
	margin: 0 auto;
	min-height: 324px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.partneryste-step4__panel {
	display: none;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: 100%;
}

.partneryste-step4__card[data-state="pending"] [data-panel="pending"],
.partneryste-step4__card[data-state="done"]    [data-panel="done"],
.partneryste-step4__card[data-state="error"]   [data-panel="error"] {
	display: flex;
}

.partneryste-step4__heading {
	font-family: 'Archivo', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	color: #171a1f;
	margin: 0;
}

.partneryste-step4__heading--center { text-align: center; }

.partneryste-step4__lead {
	font-size: 16px;
	line-height: 24px;
	color: #565d6d;
	margin: 0 0 8px;
	max-width: 373px;
}

.partneryste-step4__lead--center { text-align: center; }

.partneryste-step4__check {
	color: #171a1f;
}

.partneryste-step4__spinner {
	width: 40px;
	height: 40px;
	border: 3px solid var(--pn-line);
	border-top-color: var(--pn-accent);
	border-radius: 50%;
	animation: partneryste-spin 0.8s linear infinite;
}

@keyframes partneryste-spin {
	to { transform: rotate(360deg); }
}

/* Hidden CF7 form — kept in the DOM for programmatic auto-submit only. */
.partneryste-contact--hidden {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.partneryste-notice {
	text-align: center;
	color: #7a1a1a;
	background: #fde8e8;
	padding: 16px;
	border-radius: 6px;
}

/* -------------------- footer (single copyright strip) -------------------- */

.partneryste-footer {
	border-top: 1px solid var(--pn-line);
	padding: 20px 24px;
	background: transparent;
}

.partneryste-footer__line {
	margin: 0;
	text-align: center;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: #616268;
}

/* -------------------- responsive -------------------- */

@media (max-width: 768px) {
	/* Container / section padding */
	.partneryste-step { padding: 32px 16px 48px; }
	.partneryste-step__content--wide { padding: 0; }
	.partneryste-step__content--intro { padding-top: 72px; padding-bottom: 72px; }

	/* Headings */
	.partneryste-step__heading { font-size: 36px; line-height: 44px; letter-spacing: -0.5px; }
	.partneryste-step__heading--h2,
	.partneryste-step__heading--left { font-size: 24px; line-height: 32px; margin: 0 0 8px; }
	.partneryste-step__lead { font-size: 14px; line-height: 22px; margin-bottom: 32px; }
	.partneryste-step__lead--left { font-size: 15px; line-height: 22px; }
	.partneryste-step__header { margin-bottom: 24px; }

	/* Progress bar */
	.partneryste-progress { padding: 16px 12px; }
	.partneryste-progress__inner { gap: 6px; }
	.partneryste-progress__label { font-size: 12px; line-height: 16px; }
	.partneryste-progress__line { width: 12px; margin: 0 2px; }

	/* Step-0 salmon box + choice rows */
	.partneryste-step--0 .partneryste-choices--list { padding: 20px 16px; }
	.partneryste-choices__label { font-size: 18px; line-height: 26px; margin: 0 0 12px; }
	.partneryste-choice--row { height: auto; min-height: 56px; padding: 10px 14px; }

	/* Choice grids (all variants collapse to single column) */
	.partneryste-choices__grid,
	.partneryste-choices--2col .partneryste-choices__grid,
	.partneryste-choices--solutions .partneryste-choices__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	/* Step-2 */
	.partneryste-step2__grid { grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
	.partneryste-step2__card { padding: 16px; }
	.partneryste-step2__heading { font-size: 20px; line-height: 28px; }
	.partneryste-step2__section-heading { font-size: 18px; line-height: 26px; margin: 20px 0 10px; }
	.partneryste-step2__row { grid-template-columns: 1fr; }
	.partneryste-step2__inline-radios { gap: 16px; flex-wrap: wrap; }

	/* Step-3 kita */
	.partneryste-kita__grid { grid-template-columns: 1fr; gap: 24px; margin-bottom: 24px; }
	.partneryste-kita__lead { font-size: 16px; line-height: 24px; }
	.partneryste-textarea--large textarea { min-height: 180px; }

	/* Step-3 solution cards */
	.partneryste-solution { min-height: 0; padding: 16px; }

	/* Dropzone */
	.partneryste-dropzone { padding: 24px 16px; }

	/* Step-4 card */
	.partneryste-step4__card { padding: 24px; min-height: 240px; }
	.partneryste-step4__heading { font-size: 22px; line-height: 28px; }

	/* Buttons: drop enforced min-width so they fit the viewport */
	.partneryste-btn--compact { min-width: 0; }

	/* Bottom actions row stacks; primary CTA on top */
	.partneryste-step2__actions {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 10px;
	}

	/* Footer */
	.partneryste-footer { padding: 16px 16px; }
}

@media (max-width: 480px) {
	.partneryste-step__heading { font-size: 28px; line-height: 36px; }
	.partneryste-step__content--intro { padding-top: 48px; padding-bottom: 48px; }

	/* Progress bar: hide text labels, keep numbered circles */
	.partneryste-progress__label { display: none; }
	.partneryste-progress__line { width: 16px; margin: 0 4px; }
}
