/**
 * Acelab – zakup na firmę: wygląd sekcji „Dane do faktury” i „Adres wysyłki”.
 */

form.checkout,
.woocommerce-address-fields {
	--acelab-accent: #1e5eff;
	--acelab-border: rgba(0, 0, 0, 0.12);
	--acelab-surface: rgba(30, 94, 255, 0.05);
	--acelab-muted: rgba(0, 0, 0, 0.6);
	--acelab-ok: #2f7a3d;
	--acelab-error: #c1272d;
}

/* Pola ukryte warunkowo (typ nabywcy = osoba prywatna). */
.acelab-b2b-hidden {
	display: none !important;
}

/* --- Podpowiedzi i nagłówki sekcji --- */

.acelab-b2b-section-intro {
	margin: 0 0 1.25em;
}

.acelab-b2b-hint {
	margin: 0 0 0.75em;
	padding: 0.65em 0.9em;
	border-left: 3px solid var(--acelab-accent);
	background: var(--acelab-surface);
	border-radius: 3px;
	font-size: 0.9em;
	line-height: 1.5;
	color: var(--acelab-muted);
}

.acelab-b2b-hint--info {
	border-left-color: var(--acelab-muted);
}

.acelab-b2b-shipping-intro {
	margin: 2em 0 0.5em;
}

.acelab-b2b-shipping-intro .acelab-b2b-heading {
	margin: 0 0 0.5em;
}

.acelab-b2b-shipping-intro .acelab-b2b-hint {
	margin-bottom: 0.5em;
}

/* Pole wyboru „inny adres wysyłki” jest w WooCommerce nagłówkiem <h3> –
   sprowadzamy je do wyglądu pola do zaznaczenia, żeby nie udawało tytułu sekcji. */
.woocommerce-shipping-fields > h3#ship-to-different-address {
	margin: 0 0 1em;
	padding: 0.7em 0.9em;
	border: 1px solid var(--acelab-border);
	border-radius: 4px;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: normal;
}

.woocommerce-shipping-fields > h3#ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 0.55em;
	margin: 0;
	cursor: pointer;
	font-size: inherit;
	font-weight: inherit;
}

.woocommerce-shipping-fields > h3#ship-to-different-address input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.1em;
	height: 1.1em;
	margin: 0;
}

/* --- Wybór typu nabywcy --- */

#billing_buyer_type_field {
	margin-bottom: 1.25em;
}

#billing_buyer_type_field > label {
	display: block;
	margin-bottom: 0.4em;
	font-weight: 600;
}

#billing_buyer_type_field .woocommerce-input-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
}

#billing_buyer_type_field input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

#billing_buyer_type_field label.radio {
	display: flex;
	align-items: center;
	gap: 0.5em;
	flex: 1 1 12em;
	margin: 0;
	padding: 0.75em 1em;
	border: 1px solid var(--acelab-border);
	border-radius: 4px;
	cursor: pointer;
	font-weight: 500;
	line-height: 1.3;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

#billing_buyer_type_field label.radio::before {
	content: "";
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	border: 2px solid var(--acelab-border);
	border-radius: 50%;
	box-shadow: inset 0 0 0 0.5em #fff;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

#billing_buyer_type_field label.radio:hover {
	border-color: var(--acelab-accent);
}

#billing_buyer_type_field input[type="radio"]:checked + label.radio {
	border-color: var(--acelab-accent);
	background: var(--acelab-surface);
	box-shadow: inset 0 0 0 1px var(--acelab-accent);
}

#billing_buyer_type_field input[type="radio"]:checked + label.radio::before {
	border-color: var(--acelab-accent);
	box-shadow: inset 0 0 0 0.18em #fff, inset 0 0 0 1em var(--acelab-accent);
}

#billing_buyer_type_field input[type="radio"]:focus-visible + label.radio {
	outline: 2px solid var(--acelab-accent);
	outline-offset: 2px;
}

/* --- Pola firmowe --- */

.acelab-b2b--company .acelab-b2b-company-field label {
	font-weight: 600;
}

.acelab-b2b-nip-feedback {
	display: block;
	margin-top: 0.35em;
	font-size: 0.85em;
	line-height: 1.4;
}

.acelab-b2b-nip-feedback.is-valid {
	color: var(--acelab-ok);
}

.acelab-b2b-nip-feedback.is-invalid {
	color: var(--acelab-error);
}

#billing_nip {
	letter-spacing: 0.03em;
}
