/* PML B2B — brama /b2b/: logowanie + formularz zgłoszeniowy gabinetu (styl PML: Oswald/Roboto, czerń na bieli) */

/* Bez nagłówka strony: odstęp od góry taki, żeby środek formularza logowania
   wypadał na środku wysokości ekranu (header 60px + ~285px do środka karty) */
section#b2b-gate {
	padding-top: max(2.5rem, calc(50vh - 400px)) !important;
}

/* ===== Dwie kolumny na desktopie: logowanie | dołącz jako gabinet ===== */
.pml-b2b-cols {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(3.5rem, 8vw, 8rem);
	align-items: start;
	max-width: 1280px;
	margin: 0 auto;
}

/* ===== Logowanie B2B ===== */
/* Sticky wymaga rodzica wyższego niż element — grid ma align-items:start,
   więc kolumnę login rozciągamy na pełną wysokość rzędu (fix 02.11:
   wcześniej sticky był martwy, karta uciekała przy scrollu formularza). */
.pml-b2b-col--login {
	align-self: stretch;
}
.pml-b2b-login {
	margin: 0;
	position: sticky;
	top: 110px; /* pod sticky headerem */
}

/* Kontakt pod kartą logowania (wypełnia lewą kolumnę) */
.pml-b2b-login-help {
	margin-top: 1.5rem;
	padding: 1.25rem 1.5rem;
	background: #f2f2f2;
	text-align: center;
}
.pml-b2b-login-help p {
	margin: 0 0 0.4rem;
}
.pml-b2b-login-help p:last-child {
	margin-bottom: 0;
}
.pml-b2b-login-help a {
	color: #000;
	text-decoration: underline;
}
.pml-b2b-login-help a:hover {
	color: #727272;
}

/* Sticky header nie może zasłaniać pól przy scrollu (walidacja HTML5 / kotwice) */
.pml-b2b-login,
.pml-b2b-join,
.pml-b2b-join-form input,
.pml-b2b-join-form textarea {
	scroll-margin-top: 110px;
}
.pml-b2b-login > h2,
.pml-b2b-join > h2 {
	font-family: Oswald, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	margin-bottom: 0.6rem;
}
.pml-b2b-login-sub {
	text-align: center;
	color: #727272;
	margin-bottom: 1.2rem;
}
.pml-b2b-login form.woocommerce-form-login {
	border: 1px solid #e0e0e0;
	border-radius: 0;
	padding: 2rem;
	background: #fff;
}
.pml-b2b-login .woocommerce-form-login .form-row label {
	font-weight: 500;
}
.pml-b2b-login .woocommerce-form-login .input-text {
	border: 1px solid #c6c6c6;
	border-radius: 0;
	padding: 0.7em 0.9em;
	width: 100%;
}
.pml-b2b-login .woocommerce-form-login .input-text:focus {
	border-color: #000;
	outline: none;
}
.pml-b2b-login .woocommerce-form-login__rememberme {
	display: block;
	margin-bottom: 0.8rem;
}
/* "Nie pamiętasz hasła?" — sam (bez "Zarejestruj się", rejestracja B2B = formularz obok),
   wyśrodkowany pod przyciskiem. Impreza renderuje .lost_password, Woo .woocommerce-LostPassword. */
.pml-b2b-login form.woocommerce-form-login .woocommerce-LostPassword,
.pml-b2b-login form.woocommerce-form-login .lost_password {
	text-align: center;
	margin: 0.4rem 0 0;
}
.pml-b2b-login form a {
	color: #000;
	text-decoration: underline;
}
.pml-b2b-login form a:hover {
	color: #727272;
}

/* ===== Komunikaty (zalogowany / status konta) ===== */
.pml-b2b-msg {
	max-width: 640px;
	margin: 0 auto 2.5rem;
	border: 1px solid #e0e0e0;
	background: #f2f2f2;
	padding: 1.25rem 1.5rem;
	text-align: center;
}
.pml-b2b-msg p {
	margin: 0;
}
/* Potwierdzenie wysłania zgłoszenia (?zgloszenie=ok) — centrowane na viewport */
.pml-b2b-msg--success {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	padding: 2.5rem 2rem;
	margin-top: max(2.5rem, calc(50vh - 320px));
}
.pml-b2b-msg--success h2 {
	font-family: var(--h2-font-family, inherit);
	text-transform: uppercase;
	letter-spacing: .03em;
	margin: 0 0 1rem;
}
.pml-b2b-msg--success p {
	margin: 0 0 .75rem;
}
.pml-b2b-msg--success p:last-child {
	margin-bottom: 0;
}
.pml-b2b-msg--success a {
	color: #000;
	font-weight: 600;
	text-decoration: underline;
}

/* ===== Dołącz jako gabinet ===== */
.pml-b2b-join {
	margin: 0;
}
/* Zalogowany detaliczny: lewa kolumna = karta komunikatu w miejscu logowania
   (układ dwukolumnowy jak dla niezalogowanych — decyzja Kuby 02.11) */
.pml-b2b-login--msg .pml-b2b-msg {
	max-width: none;
	margin: 0;
	background: #fff;
	padding: 2rem 1.75rem;
	text-align: center;
}
.pml-b2b-login--msg .pml-b2b-msg p {
	margin: 0;
	line-height: 1.6;
}
/* Nagłówek i intro wyśrodkowane — spójnie z kolumną logowania */
.pml-b2b-join-intro {
	text-align: center;
	margin-bottom: 1.6rem;
}
.pml-b2b-join-intro > p:first-child {
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}
/* Kafelki korzyści zostają wyrównane do lewej (kreska + tekst) */
.pml-b2b-perk {
	text-align: left;
}
/* Siatka korzyści 2×2: nagłówek Oswald + opis, lewa kreska zamiast ikonek */
.pml-b2b-perks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.2rem 2rem;
	margin: 1.4rem 0;
}
.pml-b2b-perk {
	border-left: 2px solid #000;
	padding-left: 1rem;
}
.pml-b2b-perk h3 {
	font-family: Oswald, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 17px;
	margin: 0 0 0.25rem;
}
.pml-b2b-perk p {
	margin: 0;
	font-size: 15px;
	color: #555;
	line-height: 1.5;
}
.pml-b2b-join-how {
	color: #727272;
}

/* Formularz zgłoszeniowy */
.pml-b2b-join-form {
	border: 1px solid #e0e0e0;
	background: #fff;
	padding: 2rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1rem;
}
.pml-b2b-join-form .pml-field {
	margin: 0 0 1rem;
	grid-column: 1 / -1;
}
.pml-b2b-join-form .pml-field--kod {
	grid-column: 1 / 2;
}
.pml-b2b-join-form .pml-field--miasto {
	grid-column: 2 / 3;
}
.pml-b2b-join-form .pml-field--half:nth-of-type(odd) {
	grid-column: auto;
}
.pml-b2b-join-form .pml-field--half {
	grid-column: auto;
}
.pml-b2b-join-form label {
	display: block;
	font-weight: 500;
	margin-bottom: 0.3em;
}
.pml-b2b-join-form input[type="text"],
.pml-b2b-join-form input[type="tel"],
.pml-b2b-join-form input[type="email"],
.pml-b2b-join-form textarea {
	border: 1px solid #c6c6c6;
	border-radius: 0;
	padding: 0.7em 0.9em;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
}
.pml-b2b-join-form input:focus,
.pml-b2b-join-form textarea:focus {
	border-color: #000;
	outline: none;
}
.pml-b2b-join-form .required {
	color: #727272;
}
.pml-optional {
	font-weight: 400;
	color: #727272;
	font-size: 0.86em;
}

/* Zgoda RODO */
.pml-field--consent label {
	display: flex;
	gap: 0.6em;
	align-items: flex-start;
	font-weight: 400;
	font-size: 0.86em;
	color: #555;
	cursor: pointer;
}
.pml-field--consent input[type="checkbox"] {
	margin-top: 0.25em;
	flex: 0 0 auto;
}

/* P5: notka RODO (administrator danych + link do Polityki prywatności) */
.pml-b2b-join-form .pml-rodo-nota {
	margin-top: -0.3rem;
	font-size: 0.78em;
	line-height: 1.5;
	color: #727272;
}
.pml-b2b-join-form .pml-rodo-nota a,
.pml-b2b-join-form .pml-rodo-nota a:visited,
.pml-b2b-join-form .pml-rodo-nota a:hover {
	color: #000 !important;
	-webkit-text-fill-color: #000;
	text-decoration: underline !important;
}

/* Przycisk: czarny CTA PML */
.pml-field--submit {
	margin-bottom: 0 !important;
}
.pml-b2b-join-form button[type="submit"],
.pml-b2b-login .woocommerce-form-login button[type="submit"] {
	display: block;
	width: 100%;
	background: #000 !important;
	color: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 0;
	font-family: Roboto, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0.9em 1.2em;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}
.pml-b2b-join-form button[type="submit"]:hover,
.pml-b2b-login .woocommerce-form-login button[type="submit"]:hover {
	background: #fff !important;
	color: #000 !important;
}

/* Tablet/mobile: kolumny jedna pod drugą, logowanie wycentrowane */
@media (max-width: 900px) {
	.pml-b2b-cols {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.pml-b2b-col--login {
		max-width: 460px;
		margin: 0 auto;
		width: 100%;
	}
	.pml-b2b-login {
		position: static; /* sticky tylko na desktopie */
	}
	.pml-b2b-col--join {
		max-width: 640px;
		margin: 0 auto;
		width: 100%;
	}

	.pml-b2b-perks {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
}

/* Mobile */
@media (max-width: 600px) {
	.pml-b2b-login form.woocommerce-form-login,
	.pml-b2b-join-form {
		padding: 1.25rem;
	}

	.pml-b2b-join-form {
		grid-template-columns: 1fr;
	}
	.pml-b2b-join-form .pml-field,
	.pml-b2b-join-form .pml-field--kod,
	.pml-b2b-join-form .pml-field--miasto,
	.pml-b2b-join-form .pml-field--half {
		grid-column: 1 / -1;
	}
	.pml-b2b-perks {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	section#b2b-gate {
		padding-top: max(2rem, calc(50vh - 400px)) !important;
	}
}

/* ===== GUS autofill (2.3): status pod polem NIP ===== */
.pml-gus-status {
	display: block;
	min-height: 1.2em;
	margin-top: 0.35rem;
	font-size: 0.82rem;
	line-height: 1.4;
	color: #727272;
}
.pml-gus-status--busy {
	color: #727272;
}
.pml-gus-status--ok {
	color: #000;
}
.pml-gus-status--warn {
	color: #9a6700;
}

/* ===== 4.2 rejestracja z kodu + 4.3 potwierdzenie ===== */
.pml-b2b-msg--error,
.pml-b2b-msg--info {
	scroll-margin-top: 90px;
}
.pml-b2b-msg--error {
	background: #fdf2f2;
	border: 1px solid #b00020;
	color: #b00020;
}
.pml-b2b-msg--info {
	background: #f2f2f2;
	border: 1px solid #ccc;
}
/* Rejestracja z kodu: sama, bez kolumn (grid pól dziedziczony z .pml-b2b-join-form) */
.pml-b2b-rej {
	max-width: 640px;
	margin: 0 auto;
	scroll-margin-top: 90px;
}
.pml-b2b-rej-by {
	font-family: Oswald, sans-serif;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0 0 .5rem;
}
.pml-b2b-rej-email {
	color: #727272;
}
.pml-b2b-rej .pml-b2b-join-form input[type="password"] {
	border: 1px solid #c6c6c6;
	border-radius: 0;
	padding: 0.7em 0.9em;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
}
.pml-b2b-rej input[type="checkbox"] {
	accent-color: #000;
}
/* Potwierdzenie dodania hurtownika (zalogowany gabinet z ?kod=) */
.pml-b2b-confirm {
	max-width: 560px;
	margin: 0 auto;
	padding: 2rem;
	background: #f2f2f2;
	scroll-margin-top: 90px;
}
.pml-b2b-confirm h2 {
	font-family: Oswald, sans-serif;
	text-transform: uppercase;
	letter-spacing: .03em;
	margin: 0 0 1rem;
}
.pml-b2b-confirm form {
	display: flex;
	gap: 1rem;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 1.5rem;
}
/* Impreza maluje każdy button na #007cc3 — nadpisujemy twardo */
.pml-b2b-confirm form button[type="submit"],
.pml-b2b-rej .pml-b2b-join-form button[type="submit"] {
	background: #000 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: .9rem 1.8rem !important;
	font-family: Roboto, sans-serif !important;
	font-weight: 500 !important;
	cursor: pointer;
}
.pml-b2b-confirm form button[type="submit"]:hover,
.pml-b2b-rej .pml-b2b-join-form button[type="submit"]:hover {
	background: #222 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.pml-b2b-confirm-cancel {
	color: #444 !important;
	text-decoration: underline !important;
	line-height: 1;
}
@media (max-width: 600px) {
	.pml-b2b-confirm {
		padding: 1.25rem;
	}
	.pml-b2b-confirm form {
		flex-direction: column;
		align-items: stretch;
	}
	.pml-b2b-confirm form button[type="submit"] {
		width: 100%;
	}
}
