/* =========================================================================
   F-Tech Customer Accounts: logowanie i rejestracja na stronie Moje konto.
   Komponenty z ft-core (.ft-field, .ft-input, .ft-check, .ft-segment, .ft-btn,
   .ft-heading, .ft-note) tylko pozycjonujemy. Nadpisania dotyczą wyłącznie reguł
   Astry, WooCommerce i snippetu sklepu, które przykrywają komponenty na tej stronie.
   Zakres: .woocommerce .ftech-acc-auth, bez !important poza stanem [hidden].
   ========================================================================= */

.ftech-acc-auth {
	--acc-accent: var(--ft-accent, #707246);
	--acc-accent-hover: var(--ft-accent-hover, #5a5c38);
	--acc-accent-soft: var(--ft-accent-soft, #eef0e0);
	--acc-accent-deco: var(--ft-accent-deco, #8b8c5f);
	--acc-ink: var(--ft-ink, #2e2e2e);
	--acc-muted: var(--ft-muted, #5c5c5c);
	--acc-surface: var(--ft-surface, #ffffff);
	--acc-surface-alt: var(--ft-surface-alt, #f7f7f3);
	--acc-border: var(--ft-border, #d6d6c2);
	--acc-border-strong: var(--ft-border-strong, #8b8c5f);
	--acc-success: var(--ft-success, #1e7a3b);
	--acc-danger: var(--ft-danger, #b42318);
	--acc-display: var(--ft-font-display, 'Oswald', 'Arial Narrow', sans-serif);
	--acc-body: var(--ft-font-body, 'Roboto Condensed', 'Arial Narrow', system-ui, sans-serif);
	--acc-fs-xs: var(--ft-fs-xs, 0.875rem);
	--acc-fs-sm: var(--ft-fs-sm, 0.9375rem);
	--acc-fs-body: var(--ft-fs-body, 1rem);
	--acc-fs-lead: var(--ft-fs-lead, clamp(1.0625rem, 1.6vw, 1.125rem));
	--acc-lh-heading: var(--ft-lh-heading, 1.25);
	--acc-lh-body: var(--ft-lh-body, 1.7);
	--acc-track: var(--ft-track-label, 0.1em);
	--acc-space-1: var(--ft-space-1, 0.25rem);
	--acc-space-2: var(--ft-space-2, 0.5rem);
	--acc-space-3: var(--ft-space-3, 0.75rem);
	--acc-space-4: var(--ft-space-4, 1rem);
	--acc-space-5: var(--ft-space-5, 1.5rem);
	--acc-space-6: var(--ft-space-6, 2rem);
	--acc-space-7: var(--ft-space-7, 3rem);
	--acc-rule: var(--ft-rule, 3px);
	--acc-radius: var(--ft-radius-sm, 0);
	--acc-touch: var(--ft-touch, 2.75rem);
	--acc-touch-lg: var(--ft-touch-lg, 3.25rem);
	--acc-shadow: var(--ft-shadow-2, 0 1px 2px rgba(30, 30, 20, 0.05), 0 10px 30px rgba(30, 30, 20, 0.07));
	--acc-measure: var(--ft-measure, 70ch);
	--acc-dur-fast: var(--ft-dur-fast, 180ms);
	--acc-dur: var(--ft-dur, 250ms);
	--acc-dur-slow: var(--ft-dur-slow, 600ms);
	--acc-ease: var(--ft-ease, cubic-bezier(0.4, 0, 0.2, 1));
	--acc-ease-out: var(--ft-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
	--acc-sticky-top: var(--ft-space-6, 2rem);
}

.ftech-acc-auth [hidden],
.ftech-acc-auth[hidden] { display: none !important; }

/* ===== Układ ===== */
.woocommerce .ftech-acc-auth {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--acc-space-5);
	margin: 0 0 var(--acc-space-7);
	font-family: var(--acc-body);
	color: var(--acc-ink);
}
.woocommerce .ftech-acc-auth *,
.woocommerce .ftech-acc-auth *::before,
.woocommerce .ftech-acc-auth *::after { box-sizing: border-box; }

.woocommerce .ftech-acc-auth__panel {
	min-width: 0;
	padding: var(--acc-space-5) var(--acc-space-4);
	border: 1px solid var(--acc-border);
	border-radius: var(--acc-radius);
	background: var(--acc-surface);
}
.woocommerce .ftech-acc-auth__panel--register { border-top: var(--acc-rule) solid var(--acc-accent); }

.woocommerce .ftech-acc-auth--login-only { max-width: calc(var(--acc-measure) * 0.7); }

@media (min-width: 640px) {
	.woocommerce .ftech-acc-auth__panel { padding: var(--acc-space-6); }
}

@media (min-width: 1024px) {
	.woocommerce .ftech-acc-auth:not(.ftech-acc-auth--login-only) {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: var(--acc-space-6);
		align-items: start;
	}
	/* Logowanie jest krótsze, więc zostaje przy krawędzi ekranu, kiedy klient przewija rejestrację. */
	.woocommerce .ftech-acc-auth__panel--login {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--acc-sticky-top) + var(--acc-touch-lg));
	}
}

/* ===== Zakładki na telefonie i tablecie ===== */
.woocommerce .ftech-acc-auth__tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 1px solid var(--acc-border);
}
.woocommerce .ftech-acc-auth .ftech-acc-auth__tab {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--acc-touch);
	margin: 0 0 -1px;
	padding: var(--acc-space-2) var(--acc-space-3);
	border: 0;
	border-bottom: var(--acc-rule) solid transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--acc-muted);
	font-family: var(--acc-display);
	font-size: var(--acc-fs-sm);
	font-weight: 600;
	line-height: var(--acc-lh-heading);
	letter-spacing: var(--acc-track);
	text-transform: uppercase;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: color var(--acc-dur-fast) var(--acc-ease), border-color var(--acc-dur-fast) var(--acc-ease);
}
/* Astra koloruje każdy button na :hover i :focus. Zakładka zostaje przezroczysta. */
.woocommerce .ftech-acc-auth .ftech-acc-auth__tab:hover,
.woocommerce .ftech-acc-auth .ftech-acc-auth__tab:focus {
	background: transparent;
	color: var(--acc-ink);
}
.woocommerce .ftech-acc-auth .ftech-acc-auth__tab[aria-selected="true"] {
	border-bottom-color: var(--acc-accent);
	color: var(--acc-ink);
}
.woocommerce .ftech-acc-auth .ftech-acc-auth__tab:focus-visible {
	outline: 2px solid var(--ft-focus, var(--acc-accent-hover));
	outline-offset: calc(var(--acc-space-1) * -1);
}

/* Panel wchodzi po przełączeniu zakładki. Tylko opacity i transform. */
.ftech-acc-auth.is-tabbed .ftech-acc-auth__panel.is-entering { animation: ftech-acc-enter var(--acc-dur) var(--acc-ease-out) both; }
@keyframes ftech-acc-enter {
	from { opacity: 0; transform: translateY(var(--acc-space-2)); }
	to { opacity: 1; transform: none; }
}

/* ===== Nagłówki i wstęp ===== */
.woocommerce .ftech-acc-auth .ftech-acc-auth__title { margin-bottom: var(--acc-space-5); }
.woocommerce .ftech-acc-auth .ftech-acc-auth__lead {
	max-width: var(--acc-measure);
	margin: 0 0 var(--acc-space-4);
	font-size: var(--acc-fs-body);
	line-height: var(--acc-lh-body);
	color: var(--acc-muted);
}
.woocommerce .ftech-acc-auth .ftech-acc-auth__benefits {
	display: grid;
	gap: var(--acc-space-2);
	margin: 0 0 var(--acc-space-6);
	padding: var(--acc-space-4) var(--acc-space-4) var(--acc-space-4) var(--acc-space-5);
	border-left: var(--acc-rule) solid var(--acc-accent-deco);
	background: var(--acc-surface-alt);
}
.woocommerce .ftech-acc-auth .ftech-acc-auth__benefit {
	position: relative;
	margin: 0;
	padding: 0 0 0 var(--acc-space-5);
	font-size: var(--acc-fs-sm);
	line-height: var(--acc-lh-heading);
	color: var(--acc-ink);
}
/* Znacznik: oliwkowy kwadrat, ta sama geometria co krawędzie w sklepie. */
.woocommerce .ftech-acc-auth .ftech-acc-auth__benefit::before {
	content: '';
	position: absolute;
	top: calc(var(--acc-fs-sm) * var(--acc-lh-heading) / 2 - var(--acc-space-1));
	left: 0;
	width: var(--acc-space-2);
	height: var(--acc-space-2);
	background: var(--acc-accent);
}
@media (min-width: 640px) {
	.woocommerce .ftech-acc-auth .ftech-acc-auth__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--acc-space-5); }
}

/* ===== Formularze: zdjęcie ramki i odstępów z motywu i snippetu sklepu ===== */
.woocommerce-account .woocommerce .ftech-acc-auth form.ftech-acc-form {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: left;
}
.woocommerce .ftech-acc-auth .ftech-acc-form--register { container-type: inline-size; }

.woocommerce .ftech-acc-auth .ftech-acc-field,
.woocommerce .ftech-acc-auth .ftech-acc-form__row {
	display: flex;
	flex-direction: column;
	gap: var(--acc-space-2);
	width: 100%;
	margin: 0 0 var(--acc-space-4);
	padding: 0;
	float: none;
}
.woocommerce .ftech-acc-auth .ftech-acc-form__row--remember { margin-bottom: var(--acc-space-3); }

.woocommerce .ftech-acc-auth label.ft-label,
.woocommerce .ftech-acc-auth legend.ft-label {
	display: block;
	margin: 0;
	padding: 0;
	font-size: var(--acc-fs-sm);
	font-weight: 600;
	line-height: var(--acc-lh-heading);
	color: var(--acc-ink);
}
.woocommerce .ftech-acc-auth .ft-label .required {
	visibility: visible;
	color: var(--acc-danger);
	font-weight: 700;
	text-decoration: none;
}

/* Pole z ft-core: przywrócenie ramki komponentu, którą snippet sklepu podmienia dla .input-text na stronie konta. */
.woocommerce-account .woocommerce .ftech-acc-auth :is(input, select).ft-input {
	height: auto;
	min-height: var(--acc-touch);
	margin: 0;
	border: 1px solid var(--acc-border-strong);
	border-radius: var(--acc-radius);
	box-shadow: none;
	font-size: var(--acc-fs-body);
	line-height: var(--acc-lh-heading);
}
.woocommerce-account .woocommerce .ftech-acc-auth :is(input, select).ft-input:focus {
	border-color: var(--acc-accent);
	box-shadow: var(--ft-ring, 0 0 0 3px rgba(112, 114, 70, 0.18));
	outline: none;
}
.woocommerce-account .woocommerce .ftech-acc-auth :is(input, select).ft-input[aria-invalid="true"] { border-color: var(--acc-danger); }
.woocommerce .ftech-acc-auth select.ft-input { padding-right: var(--acc-space-7); background-position-x: calc(100% - var(--acc-space-3)); }

/* Przycisk podglądu hasła WooCommerce: cel dotykowy z kontraktu. */
.woocommerce .ftech-acc-auth .password-input { display: flex; position: relative; }
.woocommerce .ftech-acc-auth .password-input .ft-input { padding-right: var(--acc-touch); }
.woocommerce .ftech-acc-auth .show-password-input {
	display: flex;
	align-items: center;
	justify-content: center;
	right: 0;
	width: var(--acc-touch);
	height: var(--acc-touch);
	margin: 0;
	color: var(--acc-muted);
}
.woocommerce .ftech-acc-auth .show-password-input:focus-visible { outline: 2px solid var(--ft-focus, var(--acc-accent-hover)); outline-offset: calc(var(--acc-space-1) * -1); }

/* Miernik siły hasła WooCommerce w kolorach kontraktu. */
.woocommerce .ftech-acc-auth .woocommerce-password-strength {
	margin: 0;
	padding: var(--acc-space-2) var(--acc-space-3);
	border-left: var(--acc-rule) solid var(--acc-border);
	background: var(--acc-surface-alt);
	color: var(--acc-ink);
	font-size: var(--acc-fs-xs);
	font-weight: 600;
	text-align: left;
}
.woocommerce .ftech-acc-auth .woocommerce-password-strength.short,
.woocommerce .ftech-acc-auth .woocommerce-password-strength.bad { border-left-color: var(--acc-danger); background: color-mix(in oklab, var(--acc-danger) 8%, var(--acc-surface)); }
.woocommerce .ftech-acc-auth .woocommerce-password-strength.good { border-left-color: var(--acc-accent-deco); background: var(--acc-accent-soft); }
.woocommerce .ftech-acc-auth .woocommerce-password-strength.strong { border-left-color: var(--acc-success); background: color-mix(in oklab, var(--acc-success) 8%, var(--acc-surface)); }
.woocommerce .ftech-acc-auth .woocommerce-password-hint { display: block; font-size: var(--acc-fs-xs); line-height: var(--acc-lh-body); color: var(--acc-muted); }

/* Przyciski: blok na całą szerokość i wysokość z wariantu --lg, wbrew inline-flex ze snippetu sklepu. */
.woocommerce-account .woocommerce .ftech-acc-auth button.ft-btn--block {
	display: flex;
	width: 100%;
	min-height: var(--acc-touch-lg);
	margin: 0;
	font-size: var(--acc-fs-body);
}
.woocommerce .ftech-acc-auth button.ft-btn.is-loading { cursor: progress; opacity: 0.75; }

.woocommerce .ftech-acc-auth .ftech-acc-form__lost { margin: var(--acc-space-3) 0 0; text-align: center; }

/* ===== Rejestracja: typ konta, siatki pól ===== */
.woocommerce .ftech-acc-auth .ftech-acc-type {
	margin: 0 0 var(--acc-space-5);
	padding: 0;
	border: 0;
	min-width: 0;
}
.woocommerce .ftech-acc-auth legend.ftech-acc-type__legend { margin-bottom: var(--acc-space-2); }
.woocommerce .ftech-acc-auth .ftech-acc-type__options { display: grid; width: 100%; }
.woocommerce .ftech-acc-auth .ftech-acc-type .ft-error { display: block; margin-top: var(--acc-space-2); }

.woocommerce .ftech-acc-auth .ftech-acc-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: var(--acc-space-4); }
@container (min-width: 30rem) {
	.woocommerce .ftech-acc-auth .ftech-acc-form__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce .ftech-acc-auth .ftech-acc-form__grid--postcode { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
}

.woocommerce .ftech-acc-auth .ftech-acc-form__note { margin: 0 0 var(--acc-space-4); }

/* ===== Blok firmy: animacja wysokości przez grid-template-rows, bez pomiaru w JS ===== */
.woocommerce .ftech-acc-auth .ftech-acc-company {
	display: grid;
	grid-template-rows: 1fr;
	transition: grid-template-rows var(--acc-dur) var(--acc-ease);
}
.woocommerce .ftech-acc-auth .ftech-acc-company.is-collapsed { grid-template-rows: 0fr; }
.woocommerce .ftech-acc-auth .ftech-acc-company.no-motion { transition: none; }
.woocommerce .ftech-acc-auth .ftech-acc-company__inner { min-height: 0; overflow: hidden; }
.woocommerce .ftech-acc-auth .ftech-acc-company__fieldset {
	min-width: 0;
	margin: 0 0 var(--acc-space-5);
	padding: var(--acc-space-4);
	border: 1px solid var(--acc-border);
	border-left: var(--acc-rule) solid var(--acc-accent);
	border-radius: var(--acc-radius);
	background: var(--acc-surface-alt);
	transition: opacity var(--acc-dur) var(--acc-ease), transform var(--acc-dur) var(--acc-ease);
}
.woocommerce .ftech-acc-auth .ftech-acc-company.is-collapsed .ftech-acc-company__fieldset { opacity: 0; transform: translateY(calc(var(--acc-space-2) * -1)); }
.woocommerce .ftech-acc-auth legend.ftech-acc-company__legend {
	float: left;
	width: 100%;
	margin: 0 0 var(--acc-space-4);
	font-family: var(--acc-display);
	font-size: var(--acc-fs-sm);
	letter-spacing: var(--acc-track);
	text-transform: uppercase;
}
.woocommerce .ftech-acc-auth .ftech-acc-company__legend ~ * { clear: both; }
.woocommerce .ftech-acc-auth .ftech-acc-company__intro { margin: 0 0 var(--acc-space-4); }
.woocommerce .ftech-acc-auth.is-enhanced .ftech-acc-company__intro { display: none; }
@media (min-width: 640px) {
	.woocommerce .ftech-acc-auth .ftech-acc-company__fieldset { padding: var(--acc-space-5); }
}

/* NIP i przycisk pobierania w jednym rzędzie. Przycisk wyrównany do pola, nie do etykiety. */
.woocommerce .ftech-acc-auth .ftech-acc-lookup { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: var(--acc-space-3); }
.woocommerce .ftech-acc-auth .ftech-acc-lookup .ftech-acc-field { margin-bottom: var(--acc-space-3); }
.woocommerce .ftech-acc-auth .ftech-acc-lookup__button { margin: 0 0 var(--acc-space-3); white-space: nowrap; }
@container (min-width: 30rem) {
	.woocommerce .ftech-acc-auth .ftech-acc-lookup { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
	.woocommerce .ftech-acc-auth .ftech-acc-lookup__button { margin-top: calc(var(--acc-fs-sm) * var(--acc-lh-heading) + var(--acc-space-2)); }
}
.woocommerce .ftech-acc-auth .ftech-acc-lookup__status { margin: 0 0 var(--acc-space-4); }
.woocommerce .ftech-acc-auth .ftech-acc-lookup__status:empty { display: none; }
.woocommerce .ftech-acc-auth .ftech-acc-lookup__status.ft-note { padding: var(--acc-space-3) var(--acc-space-4); font-size: var(--acc-fs-sm); }

/* Pole wypełnione danymi z wykazu: krótki błysk tła, żeby klient widział, co się zmieniło. */
.woocommerce .ftech-acc-auth .ftech-acc-field.is-autofilled .ft-input { animation: ftech-acc-filled var(--acc-dur-slow) var(--acc-ease-out); }
@keyframes ftech-acc-filled {
	from { background-color: var(--acc-accent-soft); }
	to { background-color: var(--acc-surface); }
}

/* ===== Zgody ===== */
.woocommerce .ftech-acc-auth .ftech-acc-consents {
	display: grid;
	gap: var(--acc-space-3);
	margin: 0 0 var(--acc-space-4);
	padding-top: var(--acc-space-4);
	border-top: 1px solid var(--acc-border);
}
.woocommerce .ftech-acc-auth .ftech-acc-consent { display: flex; flex-direction: column; gap: var(--acc-space-1); margin: 0; padding: 0; }
.woocommerce .ftech-acc-auth .ftech-acc-consent .ft-check { align-items: flex-start; min-height: 0; padding-block: var(--acc-space-2); }
.woocommerce .ftech-acc-auth .ftech-acc-consent .ft-check__box { margin-top: calc((var(--acc-fs-sm) * var(--acc-lh-heading) - var(--acc-space-5)) / 2); }
.woocommerce .ftech-acc-auth .ftech-acc-consent .ft-check__label { font-weight: 500; }
/* Link w treści zgody płynie w linii tekstu, bez wysokości celu dotykowego samodzielnego linku. */
.woocommerce .ftech-acc-auth .ft-check__label .ft-link { display: inline; min-height: 0; text-decoration: underline; text-underline-offset: var(--acc-space-1); }
.woocommerce .ftech-acc-auth .ftech-acc-consent__text,
.woocommerce .ftech-acc-auth .ftech-acc-consent .ft-error { padding-left: calc(var(--acc-space-5) + var(--acc-space-2)); }
.woocommerce .ftech-acc-auth .ftech-acc-consent__text { display: block; line-height: var(--acc-lh-body); }
.woocommerce .ftech-acc-auth .ftech-acc-consent.is-invalid .ft-check__box { border-color: var(--acc-danger); }
.woocommerce .ftech-acc-auth .ftech-acc-form__row--remember .ft-check { min-height: var(--acc-touch); }

/* Informacja o danych osobowych WooCommerce. */
.woocommerce .ftech-acc-auth .woocommerce-privacy-policy-text p {
	margin: 0 0 var(--acc-space-4);
	font-size: var(--acc-fs-xs);
	line-height: var(--acc-lh-body);
	color: var(--acc-muted);
}
.woocommerce .ftech-acc-auth .woocommerce-privacy-policy-text a { color: var(--acc-accent-hover); text-decoration: underline; text-underline-offset: var(--acc-space-1); }

.woocommerce .ftech-acc-auth .ft-error { display: block; }
.woocommerce .ftech-acc-auth .ft-hint { display: block; line-height: var(--acc-lh-body); }

/* ===== Ograniczenie ruchu ===== */
@media (prefers-reduced-motion: reduce) {
	.woocommerce .ftech-acc-auth .ftech-acc-company,
	.woocommerce .ftech-acc-auth .ftech-acc-company__fieldset,
	.woocommerce .ftech-acc-auth .ftech-acc-auth__tab { transition-duration: 0.01ms; }
	.ftech-acc-auth.is-tabbed .ftech-acc-auth__panel.is-entering,
	.woocommerce .ftech-acc-auth .ftech-acc-field.is-autofilled .ft-input { animation: none; }
}

/* =========================================================================
   Moje konto dla zalogowanego klienta (od 1.4.0) i checkout (od 1.5.0)
   ========================================================================= */

.ftech-acc-address,
.ftech-acc-checkout,
.ftech-acc-summary,
.ftech-acc-consents-page {
	--acc-accent: var(--ft-accent, #707246);
	--acc-accent-hover: var(--ft-accent-hover, #5a5c38);
	--acc-accent-soft: var(--ft-accent-soft, #eef0e0);
	--acc-ink: var(--ft-ink, #2e2e2e);
	--acc-muted: var(--ft-muted, #5c5c5c);
	--acc-surface: var(--ft-surface, #ffffff);
	--acc-surface-alt: var(--ft-surface-alt, #f7f7f3);
	--acc-border: var(--ft-border, #d6d6c2);
	--acc-success: var(--ft-success, #1e7a3b);
	--acc-danger: var(--ft-danger, #b42318);
	--acc-display: var(--ft-font-display, 'Oswald', 'Arial Narrow', sans-serif);
	--acc-fs-xs: var(--ft-fs-xs, 0.875rem);
	--acc-fs-sm: var(--ft-fs-sm, 0.9375rem);
	--acc-fs-h3: var(--ft-fs-h3, clamp(1.125rem, 1.8vw, 1.25rem));
	--acc-lh-heading: var(--ft-lh-heading, 1.25);
	--acc-lh-body: var(--ft-lh-body, 1.7);
	--acc-track: var(--ft-track-label, 0.1em);
	--acc-space-1: var(--ft-space-1, 0.25rem);
	--acc-space-2: var(--ft-space-2, 0.5rem);
	--acc-space-3: var(--ft-space-3, 0.75rem);
	--acc-space-4: var(--ft-space-4, 1rem);
	--acc-space-5: var(--ft-space-5, 1.5rem);
	--acc-space-6: var(--ft-space-6, 2rem);
	--acc-rule: var(--ft-rule, 3px);
	--acc-touch: var(--ft-touch, 2.75rem);
	--acc-dur-slow: var(--ft-dur-slow, 600ms);
	--acc-ease-out: var(--ft-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

/* ===== Adres rozliczeniowy i checkout: wiersze firmy, NIP z pobieraniem danych ===== */
:is(.ftech-acc-address, .ftech-acc-checkout) [hidden] { display: none !important; }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-type-row { margin-bottom: var(--acc-space-4); }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-type { margin: 0; padding: 0; border: 0; min-width: 0; }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) legend.ftech-acc-type__legend {
	margin: 0 0 var(--acc-space-2);
	padding: 0;
	font-size: var(--acc-fs-sm);
	font-weight: 600;
	line-height: var(--acc-lh-heading);
	color: var(--acc-ink);
}

/* NIP obok przycisku pobierania, przycisk na wysokości pola, pod etykietą WooCommerce. */
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup--address {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: var(--acc-space-3);
	clear: both;
}
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup--address .form-row { margin-bottom: var(--acc-space-2); }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup__button { margin: 0 0 var(--acc-space-3); white-space: nowrap; }
@media (min-width: 640px) {
	.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup--address { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
	.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup__button { margin-top: calc(var(--acc-fs-xs) * 2 + var(--acc-space-1)); }
}
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup__status { clear: both; margin: 0 0 var(--acc-space-4); }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup__status:empty { display: none; }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .ftech-acc-lookup__status.ft-note { padding: var(--acc-space-3) var(--acc-space-4); font-size: var(--acc-fs-sm); }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) button.ft-btn.is-loading { cursor: progress; opacity: 0.75; }

/* Pola firmy są wymagane dla konta firmowego: gwiazdka zamiast dopisku „opcjonalne”. */
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout).is-company :is(#billing_nip_field, #billing_company_field) .optional { display: none; }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout).is-company :is(#billing_nip_field, #billing_company_field) > label::after {
	content: ' *';
	color: var(--acc-danger);
	font-weight: 700;
}
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .form-row .ft-error { display: block; margin-top: var(--acc-space-1); }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .form-row.is-invalid .input-text { border-color: var(--acc-danger); }
.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .form-row.is-autofilled .input-text { animation: ftech-acc-filled var(--acc-dur-slow) var(--acc-ease-out); }

/* ===== Checkout: faktura na firmę i zgoda na newsletter ===== */
.woocommerce .ftech-acc-checkout .ftech-acc-invoice-row {
	clear: both;
	margin: var(--acc-space-2) 0 var(--acc-space-4);
	padding: var(--acc-space-3) var(--acc-space-4);
	border: 1px solid var(--acc-border);
	border-left: var(--acc-rule) solid var(--acc-accent);
	background: var(--acc-surface-alt);
}
.woocommerce .ftech-acc-checkout .ftech-acc-invoice-row label.checkbox {
	display: flex;
	align-items: center;
	gap: var(--acc-space-2);
	min-height: calc(var(--acc-touch) - 2 * var(--acc-space-3));
	margin: 0;
	font-family: var(--acc-display);
	font-size: var(--acc-fs-sm);
	font-weight: 600;
	letter-spacing: var(--acc-track);
	text-transform: uppercase;
	color: var(--acc-ink);
	cursor: pointer;
}
.woocommerce .ftech-acc-checkout .ftech-acc-invoice-row .optional,
.woocommerce .ftech-acc-checkout .ftech-acc-marketing-row .optional { display: none; }
.woocommerce .ftech-acc-checkout .ftech-acc-invoice-row input[type="checkbox"] {
	flex: 0 0 auto;
	width: var(--acc-space-5);
	height: var(--acc-space-5);
	margin: 0;
	accent-color: var(--acc-accent);
}
.woocommerce .ftech-acc-checkout .ftech-acc-marketing-row {
	clear: both;
	margin-top: var(--acc-space-4);
	padding-top: var(--acc-space-4);
	border-top: 1px solid var(--acc-border);
}
.woocommerce .ftech-acc-checkout .ftech-acc-marketing-row label.checkbox { display: flex; align-items: flex-start; gap: var(--acc-space-2); font-weight: 600; color: var(--acc-ink); cursor: pointer; }
.woocommerce .ftech-acc-checkout .ftech-acc-marketing-row input[type="checkbox"] { flex: 0 0 auto; width: var(--acc-space-5); height: var(--acc-space-5); margin: 0; accent-color: var(--acc-accent); }
.woocommerce .ftech-acc-checkout .ftech-acc-marketing-row .ftech-acc-consent-text {
	display: block;
	margin-top: var(--acc-space-2);
	padding-left: calc(var(--acc-space-5) + var(--acc-space-2));
	font-size: var(--acc-fs-xs);
	line-height: var(--acc-lh-body);
	color: var(--acc-muted);
}

/* ===== Pulpit: dane do faktury i newsletter ===== */
.woocommerce .ftech-acc-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--acc-space-4);
	margin: 0 0 var(--acc-space-6);
}
@media (min-width: 768px) {
	.woocommerce .ftech-acc-summary { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}
.woocommerce .ftech-acc-summary .ftech-acc-summary__card { border-top: var(--acc-rule) solid var(--acc-accent); }
/* Snippet sklepu stylizuje każde h2 w treści konta jak nagłówek sekcji. Tytuł karty zostaje tytułem karty. */
.woocommerce-account .woocommerce-MyAccount-content .ftech-acc-summary h2.ft-card__title {
	margin: 0;
	padding: 0;
	font-size: var(--acc-fs-h3);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
.woocommerce-account .woocommerce-MyAccount-content .ftech-acc-summary h2.ft-card__title::after { display: none; }
.woocommerce .ftech-acc-summary__list { display: grid; gap: var(--acc-space-2); margin: 0; }
.woocommerce .ftech-acc-summary__row { display: grid; grid-template-columns: minmax(0, 6rem) minmax(0, 1fr); gap: var(--acc-space-3); }
.woocommerce .ftech-acc-summary__row dt { color: var(--acc-muted); font-size: var(--acc-fs-sm); }
.woocommerce .ftech-acc-summary__row dd { margin: 0; color: var(--acc-ink); font-weight: 600; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.woocommerce .ftech-acc-summary__state {
	display: inline-block;
	margin-right: var(--acc-space-2);
	padding: var(--acc-space-1) var(--acc-space-2);
	border-left: var(--acc-rule) solid var(--acc-border);
	background: var(--acc-surface-alt);
	color: var(--acc-muted);
	font-family: var(--acc-display);
	font-size: var(--acc-fs-xs);
	font-weight: 600;
	letter-spacing: var(--acc-track);
	text-transform: uppercase;
}
.woocommerce .ftech-acc-summary__state.is-on { border-left-color: var(--acc-success); color: var(--acc-success); background: color-mix(in oklab, var(--acc-success) 8%, var(--acc-surface)); }
.woocommerce .ftech-acc-summary .ft-link { align-self: flex-start; margin-top: auto; }

/* ===== Zgody i newsletter ===== */
.woocommerce-account .woocommerce-MyAccount-content .ftech-acc-consents-page h2.ft-heading--sm { font-size: var(--acc-fs-h3); margin-bottom: var(--acc-space-5); }
.woocommerce .ftech-acc-consents-form {
	margin: 0 0 var(--acc-space-6);
	padding: 0 0 var(--acc-space-6);
	border-bottom: 1px solid var(--acc-border);
}
.woocommerce .ftech-acc-consents-form__row { display: grid; gap: var(--acc-space-2); margin: 0 0 var(--acc-space-5); }
.woocommerce .ftech-acc-consents-form__switch .ft-check__label { font-weight: 600; }
.woocommerce .ftech-acc-consents-form__text {
	max-width: var(--ft-measure, 70ch);
	padding-left: calc(var(--acc-space-5) * 1.8 + var(--acc-space-2));
	line-height: var(--acc-lh-body);
}
.woocommerce .ftech-acc-consents-page__terms { margin: 0 0 var(--acc-space-6); font-size: var(--acc-fs-sm); }
.woocommerce .ftech-acc-consents-page__version { display: block; color: var(--acc-muted); font-size: var(--acc-fs-xs); }
.woocommerce .ftech-acc-consents-page__decision { font-weight: 600; color: var(--acc-muted); }
.woocommerce .ftech-acc-consents-page__decision.is-on { color: var(--acc-success); }
.woocommerce .ftech-acc-consents-page__table-wrap { max-width: 100%; overflow-x: auto; }
.woocommerce .ftech-acc-consents-page__table { width: 100%; margin: 0; }

@media (prefers-reduced-motion: reduce) {
	.woocommerce :is(.ftech-acc-address, .ftech-acc-checkout) .form-row.is-autofilled .input-text { animation: none; }
}
