/*
 * Kontaktai (W2-U1), frame 495:1451, page /kontaktai/ (384). Every value is read from the frame's
 * nodes (.dc/design/nodes.json); y values below are the frame's, at 1440.
 *
 *   495:1452     page title        y 208, Geist 600 70/122 #C69A37 (the 416:953 pattern as drawn)
 *   495:1451.s03 intro             h2 355, text 434, photo 835,355 473 x 159 r 10
 *   495:1451.s04 branches          tab bar 565..632.49, card 683..1058 (1176 x 375 r 12 #F8F8F8)
 *   495:1550     requisites        card 1083..1309 (226)
 *   495:1520     form              cards 1413..1852 (777 + 24 + 375, 439 tall)
 *   495:1606     trust banner      1960..2186 (226), then the consult block at 2249
 *
 * Vertical rhythm: the gap to the next section is this section's bottom padding (U1 contract):
 *   title 330 -> intro 355 (25), intro 514 -> tabs 565 (51), card 1058 -> requisites 1083 (25),
 *   requisites 1309 -> form 1413 (104), form 1852 -> trust 1960 (108), trust 2186 -> consult 2249 (63).
 * Content sits on the 1176 container (132 at 1440); the drawn x 131 of three text boxes and the
 * 1177 card are 1 px designer slips, built on the container edge.
 * Below 1024 (no mobile frame; intake reference pass): one column, 20 px gutter, gaps halved
 * below 782; the tab row swipes where it would overflow.
 */

.mn-kt-title,
.mn-kt-intro,
.mn-kt-branches,
.mn-kt-req,
.mn-kt-form,
.mn-kt-trust {
	--mn-kt-inline: max(var(--mn-gutter, 20px), (100% - var(--mn-content, 1176px)) / 2);
	box-sizing: border-box;
	padding-inline: var(--mn-kt-inline);
	color: var(--wp--preset--color--c-02);
	font-family: var(--wp--preset--font-family--geist);
}

.mn-kt-intro .wp-block-image,
.mn-kt-branches .wp-block-image,
.mn-kt-req .wp-block-image,
.mn-kt-form .wp-block-image,
.mn-kt-trust .wp-block-image {
	margin: 0;
}

.mn-kt-intro .wp-block-image img,
.mn-kt-branches .wp-block-image img,
.mn-kt-req .wp-block-image img,
.mn-kt-form .wp-block-image img,
.mn-kt-trust .wp-block-image img {
	display: block;
}

/* ---- Shared tabs (assets/js/tabs.js) ----
 * Generic on purpose (Blokeliai reuses tabs.js): a panel that is not the open one is not shown. The
 * stored markup marks the drawn panel .is-active, so with scripting on the page paints only that
 * one before the deferred script runs (no flash of three cards). That early hiding is an animation
 * that holds display:none for 4 s and then lets go: if the script never arrives (a failed request,
 * a blocker) every panel shows instead of two being unreachable; tabs.js marks the root ready
 * (wired, skipped or failed) and from then on only the hidden attribute hides. Browsers without
 * display animation simply show all panels until the script runs. Without scripting every panel
 * shows and the dead tab row is hidden. Never in the block editor (its blocks carry
 * .block-editor-block-list__block), so the client can edit every panel's words. */
.mn-tabs__panel[hidden] {
	display: none !important;
}

@keyframes mn-tabs-wait {
	from,
	to {
		display: none;
	}
}

@media (scripting: enabled) {
	.mn-tabs:not(.is-tabs-ready) .mn-tabs__panel:not(.is-active):not(.block-editor-block-list__block) {
		animation: mn-tabs-wait 4s step-end;
	}
}

@media (scripting: none) {
	.mn-tabs__list {
		display: none;
	}
}

/* Kontaktai's first frame (R21, 2026-10-21). tabs.js opens Vilnius (OPEN_WITH), but the stored markup - the
 * client's database since the launch - marks the drawn Kauno selected, so until the deferred script ran the
 * page painted the Kauno card and pill and then swapped (measured with the script held back: Kauno shown,
 * the card 24 px taller at 390). Before the root is ready the frame is now the script's own: every branch
 * panel waits hidden (the same 4 s animation as above, so a script that never arrives still shows them all)
 * except the one the address names (#Kaunas, #Klaipeda) or, with none, #Vilnius; the pill in the same place
 * in the tab row (tabs.js pairs them by order) looks selected and the stored one rests. Only when the root
 * has a #Vilnius panel; browsers without :has() keep the stored frame. Never in the block editor. */
@media (scripting: enabled) {
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius) > .mn-tabs__panel:not(.block-editor-block-list__block) {
		animation: mn-tabs-wait 4s step-end;
	}

	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)) > #Vilnius.mn-tabs__panel,
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius) > .mn-tabs__panel:target {
		animation: none;
	}

	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius) .mn-kt-tabs > .mn-kt-tab.is-active:not(.block-editor-block-list__block) {
		background: var(--wp--preset--color--c-06);
	}

	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius) .mn-kt-tabs > .mn-kt-tab.is-active:not(.block-editor-block-list__block) .wp-block-button__link {
		color: var(--wp--preset--color--c-02);
	}

	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)):has(> #Vilnius:nth-child(1 of .mn-tabs__panel)) .mn-kt-tabs > .mn-kt-tab:nth-child(1),
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius):has(> .mn-tabs__panel:nth-child(1 of .mn-tabs__panel):target) .mn-kt-tabs > .mn-kt-tab:nth-child(1),
	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)):has(> #Vilnius:nth-child(2 of .mn-tabs__panel)) .mn-kt-tabs > .mn-kt-tab:nth-child(2),
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius):has(> .mn-tabs__panel:nth-child(2 of .mn-tabs__panel):target) .mn-kt-tabs > .mn-kt-tab:nth-child(2),
	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)):has(> #Vilnius:nth-child(3 of .mn-tabs__panel)) .mn-kt-tabs > .mn-kt-tab:nth-child(3),
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius):has(> .mn-tabs__panel:nth-child(3 of .mn-tabs__panel):target) .mn-kt-tabs > .mn-kt-tab:nth-child(3) {
		background: #f4efe7;
	}

	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)):has(> #Vilnius:nth-child(1 of .mn-tabs__panel)) .mn-kt-tabs > .mn-kt-tab:nth-child(1) .wp-block-button__link,
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius):has(> .mn-tabs__panel:nth-child(1 of .mn-tabs__panel):target) .mn-kt-tabs > .mn-kt-tab:nth-child(1) .wp-block-button__link,
	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)):has(> #Vilnius:nth-child(2 of .mn-tabs__panel)) .mn-kt-tabs > .mn-kt-tab:nth-child(2) .wp-block-button__link,
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius):has(> .mn-tabs__panel:nth-child(2 of .mn-tabs__panel):target) .mn-kt-tabs > .mn-kt-tab:nth-child(2) .wp-block-button__link,
	.mn-kt-branches:not(.is-tabs-ready):not(:has(> .mn-tabs__panel:target)):has(> #Vilnius:nth-child(3 of .mn-tabs__panel)) .mn-kt-tabs > .mn-kt-tab:nth-child(3) .wp-block-button__link,
	.mn-kt-branches:not(.is-tabs-ready):has(> #Vilnius):has(> .mn-tabs__panel:nth-child(3 of .mn-tabs__panel):target) .mn-kt-tabs > .mn-kt-tab:nth-child(3) .wp-block-button__link {
		color: var(--wp--preset--color--c-05);
	}
}

/* ---- 495:1452 page title: one 70 px line in a 122 px box, 15 under the header ---- */

.mn-kt-title {
	padding-block: 15px 25px;
}

.mn-kt-title > .mn-kt-title__heading {
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--s-18);
	line-height: 122px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-07);
}

/* ---- 495:1451.s03 intro: copy column (591/663 wide) and the 473 x 159 photo, 41 apart ---- */

.mn-kt-intro {
	display: flex;
	align-items: flex-start;
	gap: 41px;
	padding-bottom: 51px;
}

.mn-kt-intro > .mn-kt-intro__copy {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 663px;
}

.mn-kt-intro .mn-kt-intro__title {
	margin: 0;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s-13);
	line-height: 46px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-11);
}

.mn-kt-intro .mn-kt-intro__text {
	margin: 33px 0 0;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s-04);
	line-height: 28px;
	color: var(--wp--preset--color--c-02);
}

/* The drawn crop is a STRETCH fill whose transform is a uniform scale with a 1.55 degree turn (the
 * designer straightened the photo): it shows x 2-98 % and y 8-66 % of it. Cover with the centre at
 * y 37 %, then the same turn and the 4.2 % the drawn crop is closer in; corners stay covered. */
.mn-kt-intro > .mn-kt-intro__photo {
	flex: 0 0 473px;
	height: 159px;
	overflow: hidden;
	border-radius: 10px;
}

.mn-kt-intro > .mn-kt-intro__photo img {
	border-radius: inherit;
	width: 100%;
	max-width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: 50% 17.6%;
	transform: rotate(1.55deg) scale(1.042);
}

/* ---- 495:1451.s04 branches: "Apskritys:" + three tabs, then the open branch's card ---- */

.mn-kt-branches {
	padding-bottom: 25px;
}

.mn-kt-branches > .mn-kt-branches__bar {
	display: flex;
	align-items: center;
	gap: 54px;
	margin-bottom: 50.51px;
}

.mn-kt-branches .mn-kt-branches__label {
	flex: none;
	margin: 0;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s-11);
	line-height: 30px;
	white-space: nowrap;
	color: var(--wp--preset--color--c-07);
}

.mn-kt-branches .mn-kt-tabs {
	flex-wrap: nowrap;
	gap: 16px;
	margin: 0;
}

/* Tab pill (495:1600/1602/1604, "green 32/33/34"): 274 x 67.49, radius 47.14, 1 px inside stroke
 * #CD9F3F; label Geist 600 20.62/29.46 centred. Resting #F2F2F2 with #424242 text; the selected one
 * (drawn: Kauno) #F4EFE7 with #CD9F3F text. No hover look is drawn. As on every pill of the site the
 * pill is the button block's wrapper and the <button> (the tab) is the label, its click area
 * stretched over the pill; base.css rings the whole pill on keyboard focus. */
.mn-kt-branches .mn-kt-tab {
	position: relative;
	display: flex;
	flex: 0 0 274px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 274px;
	height: 67.49px;
	margin: 0;
	padding: 11.78px 26.51px;
	border: 1px solid var(--wp--preset--color--c-05);
	border-radius: 47.14px;
	background: var(--wp--preset--color--c-06);
}

.mn-kt-branches .mn-kt-tab .wp-block-button__link {
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--wp--preset--color--c-02);
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 600;
	font-size: 20.62px;
	line-height: 29.46px;
	letter-spacing: 0;
	white-space: nowrap;
	cursor: pointer;
}

.mn-kt-branches .mn-kt-tab .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: 47.14px;
}

.mn-kt-branches .mn-kt-tab.is-active {
	background: #f4efe7;
}

.mn-kt-branches .mn-kt-tab.is-active .wp-block-button__link {
	color: var(--wp--preset--color--c-05);
}

/* Card 495:1558 (each tab panel is the card): padding 37 / 32 / 37 / 41; info column, people column
 * at +466 (300 wide), photo 329 x 301 at +815 (49 after the people column). */
.mn-kt-branches .mn-kt-branch {
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
	min-height: 375px;
	padding: 37px 32px 37px 41px;
	border-radius: 12px;
	background: var(--wp--preset--color--c-04);
}

.mn-kt-branch .mn-kt-branch__info {
	flex: 1 1 0;
	min-width: 0;
}

.mn-kt-branch .mn-kt-branch__head {
	display: flex;
	align-items: center;
	gap: 23px;
}

.mn-kt-branch .mn-kt-branch__pin {
	flex: 0 0 52px;
}

.mn-kt-branch .mn-kt-branch__pin img {
	width: 52px;
	height: 52px;
}

.mn-kt-branch .mn-kt-branch__name {
	margin: 0;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s-11);
	line-height: 30px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-02);
}

.mn-kt-branch .mn-kt-branch__areas,
.mn-kt-branch .mn-kt-branch__detail {
	margin: 0;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s-03);
	line-height: 24px;
	color: var(--wp--preset--color--c-02);
}

.mn-kt-branch .mn-kt-branch__areas {
	margin-top: 33px;
}

.mn-kt-branch strong {
	font-weight: 700;
}

.mn-kt-branch a {
	color: inherit;
	text-decoration: none;
}

/* Address and hours: the icon 2 px in from the column, centred on the first 24 px line, text at +29.
 * A grid, so a paragraph the client adds (the lock allows it) goes under the first, not beside it. */
.mn-kt-branch .mn-kt-branch__row {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	align-items: start;
	column-gap: 9px;
	margin-top: 43px;
}

.mn-kt-branch .mn-kt-branch__row > p,
.mn-kt-branch .mn-kt-person__line > p {
	grid-column: 2;
}

.mn-kt-branch .mn-kt-branch__row + .mn-kt-branch__row {
	margin-top: 29px;
}

.mn-kt-branch .mn-kt-branch__icon {
	grid-column: 1;
	grid-row: 1;
	margin: 3.5px 0 0 2px;
}

.mn-kt-branch .mn-kt-branch__row + .mn-kt-branch__row .mn-kt-branch__icon {
	margin-top: 3px;
}

.mn-kt-branch .mn-kt-branch__people {
	display: flex;
	flex: 0 0 300px;
	flex-direction: column;
	gap: 36px;
	min-width: 0;
	margin-right: 49px;
}

.mn-kt-branch .mn-kt-person__name {
	margin: 0;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s-03);
	line-height: 24px;
	color: var(--wp--preset--color--c-02);
}

/* Phone and mail lines: 26 px lines; the icon (17 x 17 / 18 x 16) 2 px in and 6 down, the text at +31
 * (a grid for the same reason as the address rows). */
.mn-kt-branch .mn-kt-person__line {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	align-items: start;
	column-gap: 11px;
}

.mn-kt-branch .mn-kt-person__icon {
	grid-column: 1;
	grid-row: 1;
	margin: 6px 0 0 2px;
}

.mn-kt-branch .mn-kt-person__text {
	min-width: 0;
	margin: 0;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s-03);
	line-height: 26px;
	overflow-wrap: anywhere;
	color: var(--wp--preset--color--c-02);
}

.mn-kt-branch .mn-kt-branch__photo {
	flex: 0 0 329px;
	height: 301px;
	overflow: hidden;
	border-radius: 12px;
}

.mn-kt-branch .mn-kt-branch__photo img {
	border-radius: inherit;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

/* ---- 495:1550 requisites: building icon 74 in / 48 down, text column at +245 ---- */

.mn-kt-req {
	padding-bottom: 104px;
}

.mn-kt-req > .mn-kt-req__card {
	display: flex;
	align-items: flex-start;
	gap: 65px;
	box-sizing: border-box;
	min-height: 226px;
	padding: 41px 40px 41px 74px;
	border-radius: 12px;
	background: var(--wp--preset--color--c-04);
}

.mn-kt-req .mn-kt-req__icon {
	flex: 0 0 106px;
	margin-top: 7px;
}

.mn-kt-req .mn-kt-req__icon img {
	width: 106px;
	height: 117px;
}

.mn-kt-req .mn-kt-req__body {
	flex: 1 1 auto;
	min-width: 0;
}

.mn-kt-req .mn-kt-req__title {
	margin: 0 0 18px;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s-11);
	line-height: 30px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-02);
}

/* The second column starts 459 after the first (836 at 1440). The drawn first column is 342 wide,
 * the width of its longest line in Figma; Chrome sets that line ~2 px wider, so the first column sits
 * in a 459 track; each column takes its own text's width instead of wrapping "Kaunas". Below 1050 the two
 * stack, one line apart. */
.mn-kt-req .mn-kt-req__cols {
	display: grid;
	grid-template-columns: 459px minmax(0, 1fr);
	row-gap: 24px;
}

.mn-kt-req .mn-kt-req__col {
	width: max-content;
	min-width: 0;
	max-width: 100%;
	font-weight: 500;
}

.mn-kt-req .mn-kt-req__line {
	margin: 0;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s-03);
	line-height: 24px;
	overflow-wrap: anywhere;
	color: var(--wp--preset--color--c-02);
}

.mn-kt-req strong {
	font-weight: 700;
}

/* ---- 495:1520 form card (777) and architects card (375), 24 apart, both 439 tall ---- */

.mn-kt-form {
	display: flex;
	align-items: stretch;
	gap: 24px;
	padding-bottom: 108px;
}

.mn-kt-form > .mn-kt-form__card {
	flex: 1 1 auto;
	/* a floor that does not depend on the architects card or its photo (R10 item 4: with the photo failing, the card grew to 3032 px and this one shrank to 0) */
	min-width: min(320px, 100%);
	box-sizing: border-box;
	min-height: 439px;
	padding: 37px 41px 33.72px;
	border-radius: 12px;
	background: var(--wp--preset--color--c-04);
}

.mn-kt-form .mn-kt-form__title {
	margin: 0;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s-11);
	line-height: 30px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-02);
}

/* The Contact Form 7 form (tools/cf7-kontaktai.php writes its markup: .mn-cf7 grid, fields, consent,
 * submit). Fields 335 x 43 (message 695 x 91), 25 apart across, 14 down; 1.86 px inside stroke
 * #EBEBEB, radius 9.92; text Geist 500 15.64/32.23 #424242, 20 in. No fill, no chevron on the select,
 * no focus or hover look drawn (the browser's own focus ring stays). The strokes are inset rings:
 * Chrome draws a 1.86 px border 1 px wide (measured), a box-shadow keeps the drawn width. */
.mn-kt-form .wp-block-contact-form-7-contact-form-selector {
	margin-top: 25.21px;
}

.mn-kt-form .mn-cf7 p {
	margin: 0;
}

.mn-kt-form .mn-cf7__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 25px;
}

.mn-kt-form .mn-cf7__field--wide {
	grid-column: 1 / -1;
	margin-top: 5.79px;
}

.mn-kt-form .wpcf7-form-control-wrap {
	display: block;
}

.mn-kt-form .mn-cf7 input[type="text"],
.mn-kt-form .mn-cf7 input[type="email"],
.mn-kt-form .mn-cf7 input[type="tel"],
.mn-kt-form .mn-cf7 select,
.mn-kt-form .mn-cf7 textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 43px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 9.92px;
	box-shadow: inset 0 0 0 1.86px #ebebeb;
	background: transparent;
	color: var(--wp--preset--color--c-02);
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 500;
	font-size: 15.64px;
	line-height: 32.23px;
	letter-spacing: 0;
	-webkit-appearance: none;
	appearance: none;
}

.mn-kt-form .mn-cf7 select {
	cursor: pointer;
}

/* each field's name for screen readers (the design draws placeholders only, and a select is never
 * named by its first option): visually hidden labels written by tools/cf7-kontaktai.php */
.mn-kt-form .mn-cf7__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.mn-kt-form .mn-cf7__field {
	position: relative;
}

/* Windows high contrast drops box-shadows: the fields and the box keep a real outline there */
@media (forced-colors: active) {
	.mn-kt-form .mn-cf7 input[type="text"],
	.mn-kt-form .mn-cf7 input[type="email"],
	.mn-kt-form .mn-cf7 input[type="tel"],
	.mn-kt-form .mn-cf7 select,
	.mn-kt-form .mn-cf7 textarea,
	.mn-kt-form .mn-cf7__consent input[type="checkbox"] {
		border: 1px solid CanvasText;
	}
}

/* The message starts at the top (R21, operator 2026-10-21; the drawn 30.44 px put it mid-box): its first
 * line sits where a one-line field's line does, (43 - 32.23) / 2 below the box top, 20 in. */
.mn-kt-form .mn-cf7 textarea {
	height: 91px;
	padding-top: calc((43px - 32.23px) / 2);
	padding-bottom: calc((43px - 32.23px) / 2);
	resize: none;
}

.mn-kt-form .mn-cf7 ::placeholder {
	color: var(--wp--preset--color--c-02);
	opacity: 1;
}

/* Consent row: a 14.88 box (1.24 #CD9F3F inset ring, radius 2.48) and the 13.16/32.23 sentence 8 to its right,
 * #424242 at 70 % with the privacy link in #CD9F3F. Ticked is not drawn: the box fills with the same
 * gold inside a 2 px card-coloured ring. */
.mn-kt-form .mn-cf7__consent {
	margin-top: 10px;
}

.mn-kt-form .mn-cf7__consent .wpcf7-list-item {
	display: block;
	margin: 0;
}

.mn-kt-form .mn-cf7__consent label {
	display: flex;
	align-items: center;
	gap: 8.12px;
	cursor: pointer;
}

.mn-kt-form .mn-cf7__consent input[type="checkbox"] {
	flex: 0 0 14.88px;
	box-sizing: border-box;
	width: 14.88px;
	height: 14.88px;
	margin: 0;
	border: 0;
	border-radius: 2.48px;
	box-shadow: inset 0 0 0 1.24px var(--wp--preset--color--c-05);
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.mn-kt-form .mn-cf7__consent input[type="checkbox"]:checked {
	background: var(--wp--preset--color--c-05);
	box-shadow: inset 0 0 0 1.24px var(--wp--preset--color--c-05), inset 0 0 0 3.24px var(--wp--preset--color--c-04);
}

.mn-kt-form .mn-cf7__consent .wpcf7-list-item-label {
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 500;
	font-size: 13.16px;
	line-height: 32.23px;
	color: rgb(66 66 66 / 0.7);
}

.mn-kt-form .mn-cf7__consent a {
	color: var(--wp--preset--color--c-05);
	text-decoration: none;
}

.mn-kt-form .mn-cf7__actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 6px;
}

/* Cloudflare Turnstile (R19). tools/cf7-kontaktai.php puts the [turnstile] tag first in this row. With no keys saved the tag
 * prints nothing and none of the rules below applies (:has), so the row is exactly the drawn one. With keys it prints one
 * .wpcf7-turnstile box, which stays empty and takes no height unless Cloudflare asks for a click (interaction-only); then the
 * widget (flexible: 65 px tall, the width of its box) shows left of the pill in the first field column's 335 px. The row is
 * given the widget's height up front and the pill stays on the row's top line, so the pill does not move when it appears. */
.mn-kt-form .mn-cf7__actions:has(.wpcf7-turnstile) {
	align-items: flex-start;
	justify-content: space-between;
	min-height: 65px;
}

.mn-kt-form .mn-cf7__actions .wpcf7-turnstile {
	flex: 0 1 335px;
	min-width: 0;
	max-width: 335px;
}

/* Submit pill 495:1545: 199 x 53.28, radius 36.93, label Geist 600 16.16/23.08 white; the gold
 * fill and the 1.15 px white-to-clear stroke as on every gold pill (see .mn-kt-pill). An input cannot
 * hold the stroke, so the pill is its wrapper and the input fills it. */
.mn-kt-form .mn-cf7__submit {
	position: relative;
	box-sizing: border-box;
	width: 199px;
	max-width: 100%;
	height: 53.28px;
	border-radius: 36.93px;
	background-color: var(--wp--preset--color--c-12);
	background-image: linear-gradient(90deg, #caa140 0%, #caa140 54%, #c99d3b 63%, #c69935 78%, #c79b38 90%, #c79b38 100%);
}

.mn-kt-form .mn-cf7__submit::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1.15px;
	border-radius: inherit;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0.2), rgb(255 255 255 / 0));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	pointer-events: none;
}

.mn-kt-form .mn-cf7__submit > p {
	height: 100%;
}

.mn-kt-form .mn-cf7__submit input[type="submit"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 20.77px;
	border: 0;
	border-radius: inherit;
	background: transparent;
	color: var(--wp--preset--color--c-01);
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 600;
	font-size: 16.16px;
	line-height: 23.08px;
	letter-spacing: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.mn-kt-form .mn-cf7__submit input[type="submit"]:disabled {
	cursor: default;
}

/* Contact Form 7's own busy spinner sits left of the pill instead of widening it. */
.mn-kt-form .mn-cf7__submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	right: 100%;
	margin: -12px 12px 0 0;
}

/* Contact Form 7's messages (not drawn): the site's type, the plugin's own colours. */
.mn-kt-form .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 500;
	font-size: 13.16px;
	line-height: 18px;
}

.mn-kt-form .wpcf7 form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 8px 14px;
	border-radius: 9.92px;
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 500;
	font-size: 13.16px;
	line-height: 20px;
}

/* Architects card 495:1522: photo 343 x 146 r 10 at 14,18; then icon, title, text and the link 27 in. */
.mn-kt-form > .mn-kt-arch {
	flex: 0 0 375px;
	width: 375px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 439px;
	padding: 18px 18px 34px 14px;
	border-radius: 12px;
	background: var(--wp--preset--color--c-04);
}

.mn-kt-arch .mn-kt-arch__photo {
	width: 100%;
	max-width: 100%;
	height: 146px;
	overflow: hidden;
	border-radius: 10px;
}

.mn-kt-arch .mn-kt-arch__photo img {
	border-radius: inherit;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.mn-kt-arch .mn-kt-arch__icon,
.mn-kt-arch .mn-kt-arch__title,
.mn-kt-arch .mn-kt-arch__text,
.mn-kt-arch .mn-kt-arch__more {
	margin-left: 13px;
}

.mn-kt-arch .mn-kt-arch__icon {
	width: 65px;
	margin-top: 19px;
}

.mn-kt-arch .mn-kt-arch__icon img {
	width: 65px;
	height: 40px;
}

.mn-kt-arch .mn-kt-arch__title {
	margin-top: 17px;
	margin-bottom: 0;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--s-11);
	line-height: 30px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-02);
}

.mn-kt-arch .mn-kt-arch__text {
	max-width: 300px;
	margin-top: 12px;
	margin-bottom: 0;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--s-03);
	line-height: 26px;
	color: var(--wp--preset--color--c-02);
}

/* "Sužinokite daugiau" + arrow, 9.42 apart; the link covers the arrow too. A grid, so an added
 * paragraph goes under the link rather than beside it. */
.mn-kt-arch .mn-kt-arch__more {
	position: relative;
	display: grid;
	grid-template-columns: auto 19px;
	align-items: center;
	column-gap: 9.42px;
	width: fit-content;
	max-width: 100%;
	margin-top: 14px;
}

.mn-kt-arch .mn-kt-arch__more > p {
	grid-column: 1;
	min-width: 0;
}

.mn-kt-arch .mn-kt-arch__link {
	margin: 0;
	font-weight: 500;
	font-size: 18.78px;
	line-height: 26.83px;
	letter-spacing: 0;
}

.mn-kt-arch .mn-kt-arch__link a {
	color: var(--wp--preset--color--c-03);
	text-decoration: none;
}

.mn-kt-arch .mn-kt-arch__link:not(.block-editor-block-list__block) a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* the arrow, drawn here and not a photo block (R8b item 5): a 19 x 21 shape in C03 (#04448C), in the
 * second grid column beside the link */
.mn-kt-arch .mn-kt-arch__more::after {
	content: "";
	grid-column: 2;
	grid-row: 1;
	width: 19px;
	height: 21px;
	background-color: var(--wp--preset--color--c-03);
	-webkit-mask: url("../../img/kontaktai/rodykle.svg") no-repeat center / 100% 100%;
	mask: url("../../img/kontaktai/rodykle.svg") no-repeat center / 100% 100%;
}

/* ---- 495:1606 trust banner: the photo at 60 % over black (a cover with a 40 % black overlay),
 * radius 12, 226 tall; shield 79 in, the line at +245, the button 73 from the right ---- */

.mn-kt-trust {
	padding-bottom: 63px;
}

.mn-kt-trust .mn-kt-trust__banner {
	min-height: 226px;
	padding: 0;
	overflow: hidden;
	border-radius: 12px;
}

.mn-kt-trust .mn-kt-trust__banner .wp-block-cover__image-background,
.mn-kt-trust .mn-kt-trust__banner .wp-block-cover__background {
	border-radius: 12px;
}

.mn-kt-trust .mn-kt-trust__banner .wp-block-cover__inner-container {
	width: 100%;
}

/* A grid (icon | words | button), so a paragraph the client adds stacks under the line and the icon
 * and button stay centred on the words. */
.mn-kt-trust .mn-kt-trust__row {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 70px;
	box-sizing: border-box;
	padding: 0 73px 0 79px;
}

.mn-kt-trust .mn-kt-trust__row > p {
	grid-column: 2;
}

.mn-kt-trust .mn-kt-trust__icon {
	grid-column: 1;
	grid-row: 1 / span 9;
}

.mn-kt-trust .mn-kt-trust__icon img {
	width: 96px;
	height: 114px;
}

/* Figma sets both lines on 60 px; in CSS the 54 px run makes its line taller, so the run's own line
 * height is 48 and 6 px on top restore the drawn ink: line 1 at +73, line 2 at +120 (measured). */
.mn-kt-trust .mn-kt-trust__text {
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding-top: 6px;
	font-weight: 700;
	font-size: 37px;
	line-height: 60px;
	letter-spacing: 0;
	color: var(--wp--preset--color--c-06);
}

.mn-kt-trust .mn-kt-trust__big {
	font-size: 54px;
	line-height: 48px;
}

.mn-kt-trust .mn-kt-trust__actions {
	grid-column: 3;
	grid-row: 1 / span 9;
	margin: 0;
}

/* Gold pill 495:1616: 274 x 67.49, radius 47.14, label Geist 600 20.62/29.46 white. Fill #CF9D45
 * under a diamond gradient, which CSS has no form for: sampled from the frame render along the pill
 * (flat #CAA140 to 54 %, darkest #C69935 near 78 %, #C79B38 at the right). Stroke 1.47 inside, white
 * 20 % at the top fading to nothing (as the consult pill). The link stretches over the pill. */
.mn-kt-trust .mn-kt-pill {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 274px;
	max-width: 100%;
	min-height: 67.49px;
	margin: 0;
	padding: 11.78px 26.51px;
	border-radius: 47.14px;
	background-color: var(--wp--preset--color--c-12);
	background-image: linear-gradient(90deg, #caa140 0%, #caa140 54%, #c99d3b 63%, #c69935 78%, #c79b38 90%, #c79b38 100%);
}

.mn-kt-trust .mn-kt-pill::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1.47px;
	border-radius: inherit;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0.2), rgb(255 255 255 / 0));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	pointer-events: none;
}

.mn-kt-trust .mn-kt-pill .wp-block-button__link {
	display: block;
	flex: 0 1 auto;
	width: auto;
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--wp--preset--color--c-01);
	font-family: var(--wp--preset--font-family--geist);
	font-weight: 600;
	font-size: 20.62px;
	line-height: 29.46px;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	white-space: normal;
}

.mn-kt-trust .mn-kt-pill .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 47.14px;
}

/* ---- Narrower windows ---- */

/* the tab bar needs 1039 px in one row (label 131 + 54 + 3 x 274 + 2 x 16; 20 px kept for a wider
 * font rendering or a longer label): below that the label sits above and the tab row swipes;
 * tabs.js centres the selected tab, so both neighbours peek. The scrolling row clips, so it gets
 * 4 px of room on every side (taken back by the margin) for the pill's focus ring. */
@media (max-width: 1099.98px) {
	.mn-kt-branches > .mn-kt-branches__bar {
		flex-wrap: wrap;
		gap: 16px;
	}

	.mn-kt-branches .mn-kt-tabs {
		flex: 1 1 100%;
		min-width: 0;
		margin: -4px;
		padding: 4px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scroll-padding-inline: 4px;
		scrollbar-width: none;
	}

	.mn-kt-branches .mn-kt-tabs::-webkit-scrollbar {
		display: none;
	}

	.mn-kt-branches .mn-kt-tab {
		scroll-snap-align: center;
	}
}

@media (max-width: 1175.98px) {
	.mn-kt-req > .mn-kt-req__card {
		gap: 40px;
		padding-left: 41px;
	}

	/* below the full container the banner stacks: icon, words, button, with room above and below */
	.mn-kt-trust .mn-kt-trust__row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		padding: 40px;
	}

	.mn-kt-trust .mn-kt-trust__text {
		padding-top: 0;
	}
}

@media (max-width: 1049.98px) {
	.mn-kt-req .mn-kt-req__cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 1023.98px) {
	.mn-kt-intro {
		flex-direction: column;
		gap: 24px;
	}

	.mn-kt-intro > .mn-kt-intro__copy {
		max-width: none;
	}

	.mn-kt-intro > .mn-kt-intro__photo {
		flex: none;
		width: 100%;
		height: auto;
		aspect-ratio: 473 / 159;
	}

	.mn-kt-branches .mn-kt-branch {
		flex-wrap: wrap;
		gap: 40px 32px;
		padding: 32px;
	}

	.mn-kt-branch .mn-kt-branch__info {
		flex: 1 1 280px;
	}

	.mn-kt-branch .mn-kt-branch__people {
		flex: 1 1 280px;
		margin-right: 0;
	}

	.mn-kt-branch .mn-kt-branch__photo {
		flex: 0 0 100%;
		width: 100%;
		max-width: 329px;
		height: auto;
		aspect-ratio: 329 / 301;
	}

	.mn-kt-form {
		flex-direction: column;
	}

	.mn-kt-form > .mn-kt-arch {
		flex: none;
		width: 100%;
		max-width: 375px;
		min-height: 0;
	}

}

/* below 782: gaps halved, one column inside the cards, the 20 px gutter (base) */
@media (max-width: 781.98px) {
	.mn-kt-title {
		padding-bottom: 12px;
	}

	.mn-kt-title > .mn-kt-title__heading {
		font-size: var(--wp--preset--font-size--s-14);
		line-height: 51px;
	}

	.mn-kt-intro {
		padding-bottom: 26px;
	}

	.mn-kt-intro .mn-kt-intro__text {
		margin-top: 16px;
	}

	.mn-kt-branches > .mn-kt-branches__bar {
		margin-bottom: 25px;
	}

	/* pills as wide as their label (20 px each side), so on a phone both neighbours of the centred
	 * tab peek in (at 320 a 274 px pill left 3 px each side) */
	.mn-kt-branches .mn-kt-tab {
		flex: 0 0 auto;
		width: auto;
		height: auto;
		min-height: 53px;
		padding: 11.78px 20px;
	}

	.mn-kt-branches .mn-kt-branch {
		padding: 24px 20px;
	}

	.mn-kt-branch .mn-kt-branch__areas {
		margin-top: 24px;
	}

	.mn-kt-branch .mn-kt-branch__row {
		margin-top: 24px;
	}

	.mn-kt-branch .mn-kt-branch__row + .mn-kt-branch__row {
		margin-top: 16px;
	}

	.mn-kt-req {
		padding-bottom: 52px;
	}

	.mn-kt-req > .mn-kt-req__card {
		flex-direction: column;
		gap: 24px;
		padding: 24px 20px;
	}

	.mn-kt-req .mn-kt-req__icon {
		flex: none;
		margin-top: 0;
	}

	.mn-kt-req .mn-kt-req__icon img {
		width: 53px;
		height: 58.5px;
	}

	.mn-kt-form {
		gap: 16px;
		padding-bottom: 54px;
	}

	.mn-kt-form > .mn-kt-form__card {
		min-height: 0;
		padding: 24px 20px;
	}

	.mn-kt-form .mn-cf7__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	/* 16 px on phones: iOS Safari zooms the page into any field set smaller */
	.mn-kt-form .mn-cf7 input[type="text"],
	.mn-kt-form .mn-cf7 input[type="email"],
	.mn-kt-form .mn-cf7 input[type="tel"],
	.mn-kt-form .mn-cf7 select,
	.mn-kt-form .mn-cf7 textarea {
		font-size: var(--wp--preset--font-size--s-03);
	}

	.mn-kt-form .mn-cf7__field--wide {
		margin-top: 0;
	}

	.mn-kt-form .mn-cf7__consent label {
		align-items: flex-start;
	}

	.mn-kt-form .mn-cf7__consent input[type="checkbox"] {
		margin-top: 2.56px;
	}

	.mn-kt-form .mn-cf7__consent .wpcf7-list-item-label {
		line-height: 20px;
	}

	.mn-kt-form .mn-cf7__actions {
		justify-content: flex-start;
	}

	/* phones: the widget stacks above the pill, in the card's full width (310 px at 390, which holds its 300 px minimum) */
	.mn-kt-form .mn-cf7__actions:has(.wpcf7-turnstile) {
		flex-direction: column;
		align-items: flex-start;
		min-height: 0;
	}

	.mn-kt-form .mn-cf7__actions .wpcf7-turnstile {
		flex: none;
		width: 100%;
		max-width: none;
		margin-bottom: 12px;
	}

	.mn-kt-form > .mn-kt-arch {
		max-width: none;
		padding: 14px 14px 24px;
	}

	.mn-kt-arch .mn-kt-arch__photo {
		height: auto;
		aspect-ratio: 343 / 146;
	}

	.mn-kt-arch .mn-kt-arch__icon,
	.mn-kt-arch .mn-kt-arch__title,
	.mn-kt-arch .mn-kt-arch__text,
	.mn-kt-arch .mn-kt-arch__more {
		margin-left: 6px;
	}

	.mn-kt-trust {
		padding-bottom: 32px;
	}

	.mn-kt-trust .mn-kt-trust__row {
		gap: 20px;
		padding: 32px 20px;
	}

	.mn-kt-trust .mn-kt-trust__icon img {
		width: 64px;
		height: 76px;
	}

	.mn-kt-trust .mn-kt-trust__text {
		font-size: var(--wp--preset--font-size--s-09);
		line-height: 36px;
	}

	.mn-kt-trust .mn-kt-trust__big {
		font-size: var(--wp--preset--font-size--s-13);
		line-height: 36px;
	}

	.mn-kt-trust .mn-kt-trust__actions {
		flex: none;
	}
}
