body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .alg-wc-ev-notice,
body.woocommerce-account [class*="alg-wc-ev"][class*="notice"] {
	margin: 0 0 34px !important;
	padding: 20px 24px 20px 54px !important;
	background: #171719 !important;
	border: 1px solid rgba(198, 168, 124, 0.42) !important;
	border-left: 4px solid #c6a87c !important;
	border-radius: 12px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22) !important;
	color: #f4f4f5 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.65 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before {
	top: 20px !important;
	left: 22px !important;
	color: #c6a87c !important;
}

body.woocommerce-account .woocommerce-message *,
body.woocommerce-account .woocommerce-info *,
body.woocommerce-account .alg-wc-ev-notice *,
body.woocommerce-account [class*="alg-wc-ev"][class*="notice"] * {
	color: inherit !important;
}

body.woocommerce-account .woocommerce-message a,
body.woocommerce-account .woocommerce-info a,
body.woocommerce-account .alg-wc-ev-notice a,
body.woocommerce-account [class*="alg-wc-ev"][class*="notice"] a {
	color: #d8ba8c !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

html.theme-lighter body.woocommerce-account .woocommerce-message,
html.theme-lighter body.woocommerce-account .woocommerce-info,
html.theme-lighter body.woocommerce-account .alg-wc-ev-notice,
html.theme-lighter body.woocommerce-account [class*="alg-wc-ev"][class*="notice"] {
	background: #ffffff !important;
	border-color: rgba(157, 125, 77, 0.34) !important;
	border-left-color: #a9834f !important;
	box-shadow: 0 16px 38px rgba(27, 31, 38, 0.1) !important;
	color: #242830 !important;
}

html.theme-lighter body.woocommerce-account .woocommerce-message::before,
html.theme-lighter body.woocommerce-account .woocommerce-info::before {
	color: #9d7d4d !important;
}

/* Spokojniejszy, neutralny panel rejestracji zgodny z paletą MercBed. */
body.woocommerce-account .mercbed-auth-panel--login,
body.woocommerce-account .mercbed-auth-panel--register {
	background: #151517 !important;
	border-color: rgba(198, 168, 124, 0.28) !important;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2) !important;
}

html.theme-lighter body.woocommerce-account .mercbed-auth-panel--login,
html.theme-lighter body.woocommerce-account .mercbed-auth-panel--register {
	background: #fbfaf8 !important;
	border-color: rgba(138, 106, 60, 0.3) !important;
	box-shadow: 0 12px 32px rgba(39, 31, 21, 0.07) !important;
}

/* Link do polityki prywatności: 85% widoczności. */
body.woocommerce-account .mercbed-auth-panel--register a[href*="polityka-prywatnosci"] {
	opacity: 0.85 !important;
}

/* Komunikat z ponowną wysyłką: tekst po lewej, przycisk na końcu po prawej. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(.button),
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message:has(.button) {
	display: flex !important;
	align-items: center !important;
	gap: 22px !important;
	padding-right: 24px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(.button) .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message:has(.button) .button {
	order: 2 !important;
	flex: 0 0 auto !important;
	float: none !important;
	margin: 0 0 0 auto !important;
}

@media (max-width: 680px) {
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(.button),
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message:has(.button) {
		align-items: stretch !important;
		flex-direction: column !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(.button) .button,
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message:has(.button) .button {
		width: 100% !important;
		margin-left: 0 !important;
	}
}

/* Zastąpienie kropki i pierścienia motywu klasycznym błękitnym wskaźnikiem. */
#cursor-dot,
#cursor-ring {
	display: none !important;
}

html,
body,
a,
button,
input,
select,
textarea,
label,
[role="button"] {
	cursor: url("cursor-blue.svg") 2 2, auto !important;
}

/* Nieaktualny podpis wykonawcy w stopce. */
footer *:has(> a[href*="barmstudio.pl"]),
.site-footer *:has(> a[href*="barmstudio.pl"]) {
	display: none !important;
}

/* Wyśrodkowanie dolnej sekcji stopki po usunięciu podpisu wykonawcy. */
footer *:has(> * > a[href*="barmstudio.pl"]),
.site-footer *:has(> * > a[href*="barmstudio.pl"]) {
	justify-content: center !important;
	width: 100% !important;
	text-align: center !important;
}

footer *:has(> * > a[href*="barmstudio.pl"]) > p,
.site-footer *:has(> * > a[href*="barmstudio.pl"]) > p {
	width: 100% !important;
	text-align: center !important;
}

footer *:has(> * > * > a[href*="barmstudio.pl"]) > :first-child,
.site-footer *:has(> * > * > a[href*="barmstudio.pl"]) > :first-child {
	justify-content: center !important;
	text-align: center !important;
}

/* Spójny wygląd finalizacji i potwierdzenia zamówienia. */
body.woocommerce-checkout,
body.woocommerce-order-received {
	--mb-order-surface: #171719;
	--mb-order-surface-alt: #202024;
	--mb-order-text: #f1f1f2;
	--mb-order-muted: #a8a8ad;
	--mb-order-line: rgba(198, 168, 124, 0.28);
	--mb-order-gold: #c6a87c;
}

html.theme-lighter body.woocommerce-checkout,
html.theme-lighter body.woocommerce-order-received {
	--mb-order-surface: #f7f5f1;
	--mb-order-surface-alt: #eeebe5;
	--mb-order-text: #242424;
	--mb-order-muted: #626267;
	--mb-order-line: rgba(157, 125, 77, 0.3);
	--mb-order-gold: #9d7d4d;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	max-width: 1280px;
	margin: 30px auto 28px !important;
	padding: 24px 30px !important;
	background: var(--mb-order-surface) !important;
	border: 1px solid var(--mb-order-line) !important;
	border-left: 4px solid var(--mb-order-gold) !important;
	border-radius: 14px !important;
	color: var(--mb-order-text) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-align: center !important;
}

body.woocommerce-order-received .woocommerce-order-overview {
	display: none !important;
}

body.woocommerce-order-received .woocommerce-order-details {
	max-width: 1280px;
	margin: 0 auto 48px !important;
	padding: 30px !important;
	background: var(--mb-order-surface) !important;
	border: 1px solid var(--mb-order-line) !important;
	border-radius: 16px !important;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.08) !important;
	color: var(--mb-order-text) !important;
}

body.woocommerce-order-received .woocommerce-order-details__title {
	margin: 0 0 22px !important;
	color: var(--mb-order-text) !important;
}

.mercbed-order-meta {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	margin: 0 0 28px;
	overflow: hidden;
	background: var(--mb-order-line);
	border: 1px solid var(--mb-order-line);
	border-radius: 12px;
}

.mercbed-order-meta__item {
	min-width: 0;
	padding: 16px 18px;
	background: var(--mb-order-surface-alt);
}

.mercbed-order-meta__label,
.mercbed-order-meta__value {
	display: block;
}

.mercbed-order-meta__label {
	margin-bottom: 7px;
	color: var(--mb-order-muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.mercbed-order-meta__value {
	overflow-wrap: anywhere;
	color: var(--mb-order-text);
	font-size: 14px;
	font-weight: 700;
}

body.woocommerce-checkout table.shop_table,
body.woocommerce-order-received table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	overflow: hidden;
	background: var(--mb-order-surface) !important;
	border: 1px solid var(--mb-order-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 12px !important;
	color: var(--mb-order-text) !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
	padding: 16px 18px !important;
	background: transparent !important;
	border-color: var(--mb-order-line) !important;
	color: var(--mb-order-text) !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout table.shop_table thead th,
body.woocommerce-order-received table.shop_table thead th {
	background: var(--mb-order-surface-alt) !important;
	color: var(--mb-order-text) !important;
	font-size: 11px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

body.woocommerce-checkout table.shop_table tfoot th,
body.woocommerce-order-received table.shop_table tfoot th {
	background: var(--mb-order-surface-alt) !important;
	color: var(--mb-order-muted) !important;
}

body.woocommerce-checkout table.shop_table tfoot tr:last-child th,
body.woocommerce-checkout table.shop_table tfoot tr:last-child td,
body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td {
	color: var(--mb-order-gold) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

body.woocommerce-order-received .woocommerce-customer-details {
	margin: 30px 0 0 !important;
	padding-top: 28px !important;
	border-top: 1px solid var(--mb-order-line) !important;
	color: var(--mb-order-text) !important;
}

body.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px !important;
}

body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address {
	width: auto !important;
	float: none !important;
}

body.woocommerce-order-received .woocommerce-customer-details h2,
body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-order-received .woocommerce-customer-details address * {
	color: var(--mb-order-text) !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	min-height: 100%;
	margin: 0 !important;
	padding: 22px !important;
	background: var(--mb-order-surface-alt) !important;
	border: 1px solid var(--mb-order-line) !important;
	border-radius: 12px !important;
	font-style: normal !important;
	line-height: 1.75 !important;
}

.mercbed-consents-note {
	display: none !important;
}

.mercbed-pickup-title {
	display: block;
	margin-bottom: 8px;
	color: var(--mb-order-gold) !important;
	font-size: 15px;
	font-weight: 800;
}

.mercbed-pickup-invitation {
	display: block;
	margin-top: 12px;
	color: var(--mb-order-muted) !important;
	font-size: 13px;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-checkout-review-order {
	color: var(--mb-order-text) !important;
}

body.woocommerce-checkout #customer_details > div,
body.woocommerce-checkout .woocommerce-checkout-review-order {
	padding: 24px !important;
	background: var(--mb-order-surface) !important;
	border: 1px solid var(--mb-order-line) !important;
	border-radius: 14px !important;
}

body.woocommerce-checkout #customer_details label,
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-checkout-review-order label {
	color: var(--mb-order-text) !important;
}

body.woocommerce-checkout #customer_details input,
body.woocommerce-checkout #customer_details textarea,
body.woocommerce-checkout #customer_details select,
body.woocommerce-checkout .select2-selection {
	background: var(--mb-order-surface-alt) !important;
	border: 1px solid var(--mb-order-line) !important;
	color: var(--mb-order-text) !important;
	border-radius: 8px !important;
}

.mercbed-company-fields {
	margin-top: 22px;
	padding: 22px;
	background: var(--mb-order-surface-alt);
	border: 1px solid var(--mb-order-line);
	border-left: 4px solid var(--mb-order-gold);
	border-radius: 12px;
}

.mercbed-company-fields h3 {
	margin: 0 0 14px;
	color: var(--mb-order-text) !important;
	font-size: 20px;
}

.mercbed-company-toggle label {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	color: var(--mb-order-text) !important;
	font-weight: 700;
}

.mercbed-company-toggle input[type="checkbox"] {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	accent-color: var(--mb-order-gold);
}

.mercbed-company-fields__details[hidden] {
	display: none !important;
}

.mercbed-company-fields__details.is-visible {
	display: block;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--mb-order-line);
}

.mercbed-company-fields__note {
	margin: 0 0 18px;
	color: var(--mb-order-muted) !important;
	font-size: 12px;
	line-height: 1.6;
}

.mercbed-company-fields abbr.required {
	color: var(--mb-order-gold) !important;
	text-decoration: none;
}

body.mercbed-withdrawal-page {
	--mb-withdraw-surface: #171719;
	--mb-withdraw-surface-alt: #202024;
	--mb-withdraw-text: #f1f1f2;
	--mb-withdraw-muted: #a8a8ad;
	--mb-withdraw-line: rgba(198, 168, 124, 0.3);
	--mb-withdraw-gold: #c6a87c;
}

html.theme-lighter body.mercbed-withdrawal-page {
	--mb-withdraw-surface: #f7f5f1;
	--mb-withdraw-surface-alt: #eeebe5;
	--mb-withdraw-text: #242424;
	--mb-withdraw-muted: #626267;
	--mb-withdraw-line: rgba(157, 125, 77, 0.34);
	--mb-withdraw-gold: #9d7d4d;
}

body.mercbed-withdrawal-page .mercbed-withdraw-step-title {
	max-width: 1280px;
	margin: 34px auto 12px !important;
	color: var(--mb-withdraw-text) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card {
	max-width: 1280px;
	margin: 0 auto 34px !important;
	padding: 30px !important;
	background: var(--mb-withdraw-surface) !important;
	border: 1px solid var(--mb-withdraw-line) !important;
	border-left: 4px solid var(--mb-withdraw-gold) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	color: var(--mb-withdraw-text) !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card p,
body.mercbed-withdrawal-page .mercbed-withdraw-card label,
body.mercbed-withdrawal-page .mercbed-withdraw-card small {
	color: var(--mb-withdraw-muted) !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card table {
	width: 100% !important;
	margin: 22px 0 !important;
	background: var(--mb-withdraw-surface-alt) !important;
	border: 1px solid var(--mb-withdraw-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 12px !important;
	overflow: hidden;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card table th,
body.mercbed-withdrawal-page .mercbed-withdraw-card table td {
	padding: 16px 18px !important;
	background: transparent !important;
	border-color: var(--mb-withdraw-line) !important;
	color: var(--mb-withdraw-text) !important;
	vertical-align: middle !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card table th {
	background: var(--mb-withdraw-surface-alt) !important;
	color: var(--mb-withdraw-muted) !important;
	font-size: 11px !important;
	letter-spacing: 0.09em !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card input,
body.mercbed-withdrawal-page .mercbed-withdraw-card textarea,
body.mercbed-withdrawal-page .mercbed-withdraw-card select {
	background: var(--mb-withdraw-surface-alt) !important;
	border: 1px solid var(--mb-withdraw-line) !important;
	border-radius: 8px !important;
	color: var(--mb-withdraw-text) !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card textarea {
	min-height: 130px;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card button,
body.mercbed-withdrawal-page .mercbed-withdraw-card .button,
body.mercbed-withdrawal-page .mercbed-withdraw-card input[type="submit"] {
	background: #111113 !important;
	border: 1px solid #111113 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
}

html:not(.theme-lighter) body.mercbed-withdrawal-page .mercbed-withdraw-card button,
html:not(.theme-lighter) body.mercbed-withdrawal-page .mercbed-withdraw-card .button,
html:not(.theme-lighter) body.mercbed-withdrawal-page .mercbed-withdraw-card input[type="submit"] {
	background: var(--mb-withdraw-gold) !important;
	border-color: var(--mb-withdraw-gold) !important;
	color: #111113 !important;
}

body.mercbed-withdrawal-page .mercbed-withdraw-card a:not(.button) {
	color: var(--mb-withdraw-gold) !important;
}

@media (max-width: 900px) {
	.mercbed-order-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	body.mercbed-withdrawal-page .mercbed-withdraw-card {
		padding: 20px 14px !important;
	}

	body.mercbed-withdrawal-page .mercbed-withdraw-card table th,
	body.mercbed-withdrawal-page .mercbed-withdraw-card table td {
		padding: 12px 8px !important;
		font-size: 12px !important;
	}
	.mercbed-company-fields {
		padding: 18px 14px;
	}
	body.woocommerce-order-received .woocommerce-order-details {
		padding: 20px 14px !important;
	}

	.mercbed-order-meta,
	body.woocommerce-order-received .woocommerce-columns--addresses {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-checkout table.shop_table th,
	body.woocommerce-checkout table.shop_table td,
	body.woocommerce-order-received table.shop_table th,
	body.woocommerce-order-received table.shop_table td {
		padding: 12px 10px !important;
	}
}
