/* Dodatki do karty produktu: swatche, ilosc, tabele tresci, nawigacja sekcji. */
.imsf-visually-hidden {
	position: absolute !important;
	width: 0.0625rem !important;
	height: 0.0625rem !important;
	padding: 0 !important;
	margin: -0.0625rem !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.imsf-swatches__value {
	font-weight: 400;
}

.imsf-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.imsf-swatch {
	box-sizing: border-box;
	min-width: 1.75rem;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 2px solid #d1d5db;
	border-radius: 0.25rem;
	background: var(--imsf-swatch, #e5e7eb);
	cursor: pointer;
}

.imsf-swatch.is-selected {
	border-color: #be0225;
	box-shadow: 0 0 0 0.125rem #fff inset;
}

.imsf-swatch:focus-visible {
	outline: 0.1875rem solid #1d4ed8;
	outline-offset: 0.125rem;
}

.imsf-swatch--named {
	width: auto;
	max-width: 12rem;
	padding: 0 0.5rem;
	font-size: var(--imsf-fs-small);
	line-height: 1.2;
	white-space: normal;
	color: #374151;
}

.imsf-swatches.is-invalid .imsf-swatch {
	border-color: #be0225;
}

.imsf-swatches__preview {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-top: 0.5rem;
}

.imsf-swatches__preview,
.imsf-swatches__preview[hidden] {
	display: none;
}

.imsf-swatches__preview-color {
	display: block;
	width: 100%;
	height: 1.5rem;
	border: 1px solid #d1d5db;
	border-radius: 0.25rem;
	background: var(--imsf-swatch, #e5e7eb);
}

.imsf-swatches__preview-name {
	font-size: var(--imsf-fs-small);
}

.imsf-card__sidebar .quantity {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.imsf-qty__label {
	flex: 0 0 auto;
}

.imsf-qty__controls {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid #d1d5db;
	border-radius: 0.25rem;
	overflow: hidden;
}

.imsf-qty__btn,
.imsf-qty__controls input.qty {
	box-sizing: border-box;
	min-height: 2.75rem;
	margin: 0;
	border: 0 !important;
	border-radius: 0;
}

.imsf-qty__btn {
	min-width: 2.75rem;
	padding: 0 0.5rem;
	background: #f3f4f6;
	cursor: pointer;
}

.imsf-qty__btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.imsf-qty__controls input.qty {
	width: 5rem;
	padding: 0.25rem;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.imsf-qty__controls input.qty::-webkit-inner-spin-button,
.imsf-qty__controls input.qty::-webkit-outer-spin-button {
	display: none;
	margin: 0;
}

.imsf-card__tabs {
	position: sticky;
	top: var(--imsf-card-header-offset, 0px);
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid #e5e7eb;
	min-width: 0;
	max-width: 100%;
}

.imsf-card__tabs ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.imsf-card__tabs li {
	margin: 0;
}

.imsf-card__tabs a {
	display: flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 0.25rem;
	border-bottom: 2px solid transparent;
	text-decoration: none;
}

.imsf-card__tabs a,
.imsf-card__tabs a:link,
.imsf-card__tabs a:visited,
.imsf-card__tabs a:hover,
.imsf-card__tabs a:focus,
.imsf-card__tabs a:active {
	color: #1f2937 !important;
	-webkit-text-fill-color: currentColor;
	font-size: 0.875rem !important;
	font-weight: 500;
	line-height: 1.2;
	text-indent: 0;
	overflow: visible;
	opacity: 1;
	visibility: visible;
}

.imsf-card__tabs a:hover,
.imsf-card__tabs a:focus-visible {
	color: #be0225 !important;
}

.imsf-card__tabs a.is-active,
.imsf-card__tabs a.is-active:visited,
.imsf-card__tabs a.is-active:hover,
.imsf-card__tabs a.is-active:focus {
	border-bottom-color: #be0225;
	color: #be0225 !important;
}

.imsf-card__sections > section,
.imsf-card__sections [id^="imsf-sec-"],
#reviews,
#imsf-sec-related {
	scroll-margin-top: calc(var(--imsf-card-header-offset, 0px) + 4.5rem);
}

.imsf-card__sections table {
	width: 100% !important;
	max-width: 100%;
	border: 1px solid #e5e7eb !important;
	border-collapse: collapse !important;
	color: inherit !important;
}

.imsf-card__sections table td,
.imsf-card__sections table th {
	padding: 0.375rem 0.5rem !important;
	border: 1px solid #e5e7eb !important;
	background: transparent !important;
	color: inherit !important;
	font-style: normal !important;
	text-align: left;
}

/* Ogranicz elementy siatki i flexa karty do szerokosci kolumny, bez wymuszania min-content. */
.imsf-card > *,
.imsf-card__main > *,
.imsf-card__sidebar > *,
.imsf-card__sidebar > form.cart > *,
.imsf-card__sidebar > .imsf-b2b-tiers > * {
	min-width: 0;
	max-width: 100%;
}

.imsf-card__sidebar .imsf-pf,
.imsf-card__sidebar .imsf-pf__field,
.imsf-card__sidebar .imsf-b2b-tiers__table {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.imsf-card__sidebar .imsf-b2b-tiers__table {
	width: 100%;
	table-layout: fixed;
}

.imsf-card__sidebar .imsf-b2b-tiers__table th,
.imsf-card__sidebar .imsf-b2b-tiers__table td {
	padding: 0.375rem 0.375rem;
}

.imsf-card__sidebar .imsf-b2b-tiers__table .imsf-b2b-tiers__col-qty {
	width: 20%;
}

.imsf-card__sidebar .imsf-b2b-tiers__table .imsf-b2b-tiers__col-price,
.imsf-card__sidebar .imsf-b2b-tiers__table .imsf-b2b-tiers__col-savings {
	width: 40%;
}

.imsf-card__sidebar .imsf-b2b-tiers__table th {
	white-space: normal;
	word-break: normal;
	overflow-wrap: anywhere;
}

.imsf-card__sections table td:first-child,
.imsf-card__sections table th:first-child {
	width: 35% !important;
	max-width: 14rem !important;
	font-weight: 600 !important;
}

.imsf-card__sections table th {
	background: transparent !important;
}

.imsf-related-more {
	margin-top: 1rem;
}

.related ul.products li.product.is-collapsed {
	display: none !important;
}

@media (max-width: 40rem) {
	.imsf-card__sections table,
	.imsf-card__sections table tbody,
	.imsf-card__sections table tr,
	.imsf-card__sections table td,
	.imsf-card__sections table th {
		display: block;
		width: auto !important;
	}

	.imsf-card__sections table tr {
		padding: 0.375rem 0;
		border-bottom: 1px solid #e5e7eb;
	}

	.imsf-card__sections table td,
	.imsf-card__sections table th {
		max-width: none;
		padding: 0.125rem 0.5rem !important;
		border: 0 !important;
	}

	.imsf-card__sections table td:first-child,
	.imsf-card__sections table th:first-child {
		margin-bottom: 0.125rem;
		max-width: none !important;
		color: #6b7280 !important;
	}

	.imsf-card__tabs ul {
		flex-wrap: nowrap;
		gap: 0 1rem;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}

	.imsf-card__tabs li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.imsf-card.has-tabs .imsf-card__tabs {
		order: 3;
	}

	.imsf-card.has-tabs .imsf-card__sidebar {
		order: 4;
	}

	.imsf-card.has-tabs .imsf-card__sections {
		order: 5;
	}
}

/* Aktywny prog w tabeli B2B: wtyczka daje bialy tekst na tle z zmiennej motywu (tu szare) - nieczytelne */
.imsf-card__sidebar .imsf-b2b-tiers__row--active,
.imsf-card__sidebar .imsf-b2b-tiers__row--active td {
	background: #fdecef;
	color: #be0225;
	font-weight: 600;
}

/* Desktop: przycisk Phloxa nachodzi na blok sumy, dlatego znika z karty produktu (JS Phloxa ustawia display inline, stad !important). */
@media (min-width: 783px) {
	body.single-product .aux-goto-top-btn {
		display: none !important;
	}
}

/* Mobile: kwadratowy przycisk "do gory" po prawej, ok. 100 px od dolu, nad paskiem zakupu. */
@media (max-width: 782px) {
	body.single-product .aux-goto-top-btn {
		right: 1.5rem !important;
		bottom: 6.25rem !important;
		z-index: 9100;
	}

	body.single-product .aux-goto-top-btn .aux-arrow-nav {
		border-radius: 0 !important;
	}

	/* Wypelnienie przy hoverze: kwadrat rosnacy od srodka zamiast kola, ktore nie wypelnialo rogow. */
	body.single-product .aux-goto-top-btn .aux-arrow-nav .aux-overlay {
		width: 100%;
	}

	body.single-product .aux-goto-top-btn .aux-arrow-nav .aux-overlay::after {
		border-radius: 0;
	}
}

body.single-product .aux-primary { padding-top: 1rem; }

body.single-product div.product .imsf-card__sidebar > p.price {
	font-size: var(--imsf-fs-price);
}

/* Cena za sztuke dubluje tabele progow - ukryta tylko tam, gdzie tabela istnieje. */
body.single-product div.product .imsf-card__sidebar:has(.imsf-b2b-tiers) > p.price {
	display: none;
}

/* Wartosci w tabeli progow: 13 px (naglowki kolumn bez zmian). */
body.single-product .imsf-card__sidebar .imsf-b2b-tiers__table td,
body.single-product .imsf-card__sidebar .imsf-b2b-tiers__table td * {
	font-size: 13px;
}

/* Przewidywana data dostawy w sidebarze: 11 px. */
body.single-product .imsf-card__sidebar .imsf-delivery,
body.single-product .imsf-card__sidebar .imsf-delivery * {
	font-size: 11px;
}

/* Naglowek "Preis" nad tabela progow zbedny. */
body.single-product .imsf-card__sidebar .imsf-b2b-tiers__title {
	display: none;
}

/* Sidebar przykleja sie tylko, gdy okno jest dosc wysokie, zeby pomiescic go z przyciskiem koszyka
   (sidebar ma ok. 950 px); w nizszym oknie przewija sie razem ze strona. */
@media (max-height: 1049px) {
	body.single-product .imsf-card .imsf-card__sidebar {
		position: static;
	}
}

/* Przyklejony sidebar: odstep od gory = naglowek + pasek zakladek (45 px) + 30 px luzu. */
body.single-product .imsf-card .imsf-card__sidebar {
	top: calc(var(--imsf-card-header-offset, 0px) + 45px + 30px);
}

/* Miniaturki galerii: 12% szerokosci (15% na mobile), jeden rzad; nadmiar przewijany (slider ze strzalkami). */
body.single-product .woocommerce div.product .imsf-card__gallery div.images .flex-control-thumbs li,
body.single-product .woocommerce div.product div.images .flex-control-thumbs li,
body.single-product .imsf-card__gallery .woocommerce-product-gallery .flex-control-thumbs li {
	width: 12% !important;
	flex: 0 0 12%;
	float: none !important;
}

/* Okruszki na karcie produktu (site-scale.css tam sie nie laduje): maks. 12 px. */
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
	font-size: 0.75rem;
}

@media (max-width: 782px) {
	body.single-product .imsf-card__gallery .woocommerce-product-gallery .flex-control-thumbs li {
		width: 15% !important;
		flex-basis: 15%;
	}
}

body.single-product .imsf-card__gallery .flex-control-thumbs {
	display: flex !important;
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x proximity;
}

body.single-product .imsf-card__gallery .flex-control-thumbs::-webkit-scrollbar {
	display: none;
}

body.single-product .imsf-card__gallery .flex-control-thumbs li {
	scroll-snap-align: start;
}

.imsf-thumbs {
	position: relative;
}

/* Skok z dolnego paska na mobile: sekcja ilosci ladujemy z zapasem pod naglowkiem strony. */
@media (max-width: 782px) {
	.imsf-card__sidebar p.stock,
	.imsf-card__sidebar form.cart .quantity {
		scroll-margin-top: 5rem;
	}
}

/* Dolny pasek mobile: te same kolory co przyciski w sidebarze, mniejszy font. */
body.single-product .imsf-sticky-bar .button {
	font-size: 0.8125rem;
	line-height: 1.2;
	min-height: 2.5rem;
	padding: 0.5rem 0.75rem;
	text-transform: none;
}

body.single-product .imsf-sticky-bar .imsf-sticky-bar__cart {
	background: #be0225 !important;
	border: 2px solid #be0225 !important;
	color: #fff !important;
}

body.single-product .imsf-sticky-bar .imsf-sticky-bar__cart:hover {
	background: #8f0119 !important;
	border-color: #8f0119 !important;
}

body.single-product .imsf-sticky-bar .imsf-sticky-bar__anfrage {
	background: transparent !important;
	border: 2px solid #be0225 !important;
	color: #be0225 !important;
}

body.single-product .imsf-sticky-bar .imsf-sticky-bar__anfrage:hover {
	background: #fbe9ec !important;
}

/* Mobile: "Ähnliche Produkte" jako slider, 1 produkt na ekran, przesuwanie palcem. */
@media (max-width: 782px) {
	body.single-product .related.products ul.products {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 0.75rem;
		margin: 0 !important;
		padding: 0 0 0.5rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	body.single-product .related.products ul.products::-webkit-scrollbar {
		display: none;
	}

	body.single-product .related.products ul.products li.product,
	body.single-product .related.products ul.products li.product.is-collapsed {
		display: block !important;
		flex: 0 0 100%;
		width: 100% !important;
		max-width: 100%;
		margin: 0 !important;
		float: none !important;
		scroll-snap-align: start;
		box-sizing: border-box;
	}

	body.single-product .related.products .imsf-related-more {
		display: none !important;
	}
}

.imsf-rel-slider__btn {
	display: none;
}

@media (max-width: 782px) {
	body.single-product .related.products .imsf-rel-slider {
		position: relative;
	}

	body.single-product .related.products .imsf-rel-slider__btn {
		position: absolute;
		top: 7.75rem;
		z-index: 5;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: rgba(255, 255, 255, 0.92);
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
		color: #1f2937;
		font-size: 1.5rem;
		line-height: 1;
		cursor: pointer;
	}

	body.single-product .related.products .imsf-rel-slider__btn--prev {
		left: 0.25rem;
	}

	body.single-product .related.products .imsf-rel-slider__btn--next {
		right: 0.25rem;
	}

	body.single-product .related.products .imsf-rel-slider__btn[disabled] {
		opacity: 0.35;
		cursor: default;
	}

	body.single-product .related.products .imsf-loop-excerpt,
	body.single-product .related.products .imsf-loop-excerpt * {
		font-size: 0.75rem;
		line-height: 1.4;
	}
}

/* Etykiety przyciskow wysrodkowane w pionie i poziomie (Anfrage nie siedzi wyzej niz koszyk). */
body.single-product .imsf-sticky-bar .button,
.imsf-card__sidebar form.cart .single_add_to_cart_button,
.imsf-card__sidebar .imsf-b2b-anfrage,
.elementor-shortcode .imsf-anfrage-trigger {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-align: center;
	line-height: 1.2;
}

/* Okno zapytania: ciasniejsze odstepy label-input, font -2 px, wyslanie po prawej na czerwono. */
.imsf-anfrage div.wpforms-container-full .wpforms-form .wpforms-field-label {
	margin-bottom: 0.375rem !important;
	font-size: 0.875rem !important;
}

.imsf-anfrage div.wpforms-container-full .wpforms-form .wpforms-field {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

.imsf-anfrage div.wpforms-container-full .wpforms-form input[type="text"],
.imsf-anfrage div.wpforms-container-full .wpforms-form input[type="email"],
.imsf-anfrage div.wpforms-container-full .wpforms-form input[type="tel"],
.imsf-anfrage div.wpforms-container-full .wpforms-form textarea {
	font-size: 0.875rem !important;
}

.imsf-anfrage div.wpforms-container-full .wpforms-form .wpforms-submit-container {
	text-align: right;
}

.imsf-anfrage div.wpforms-container-full .wpforms-form button.wpforms-submit {
	font-size: 0.8125rem !important;
	background: #be0225 !important;
	border-color: #be0225 !important;
	color: #fff !important;
}

.imsf-anfrage div.wpforms-container-full .wpforms-form button.wpforms-submit:hover {
	background: #8f0119 !important;
	border-color: #8f0119 !important;
}

.imsf-anfrage .imsf-anfrage__product {
	font-size: 0.875rem;
}

@media (max-width: 600px) {
	#imsf-b2b-anfrage .imsf-anfrage__panel {
		box-sizing: border-box;
		width: calc(100% - 1rem);
		max-height: calc(100dvh - 1rem);
		padding: 1rem;
	}

	#imsf-b2b-anfrage h2 {
		font-size: 1.0625rem;
		line-height: 1.25;
		margin-bottom: 0.5rem;
	}

	#imsf-b2b-anfrage .imsf-anfrage__product {
		box-sizing: border-box;
		max-width: 100%;
		font-size: 0.8125rem;
		line-height: 1.35;
		margin-top: -0.375rem;
		margin-bottom: 0.5rem;
		padding-right: 3.25rem;
	}

	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form .wpforms-field-label {
		font-size: 0.8125rem !important;
		line-height: 1.3;
		margin-bottom: 0.25rem !important;
	}

	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form .wpforms-field {
		padding-top: 0.25rem !important;
		padding-bottom: 0.25rem !important;
	}

	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form input[type="text"],
	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form input[type="email"],
	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form input[type="tel"] {
		box-sizing: border-box;
		height: 2.375rem !important;
		padding: 0.5rem 0.625rem !important;
		font-size: 0.8125rem !important;
	}

	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form textarea {
		box-sizing: border-box;
		height: 5.75rem;
		min-height: 5.75rem;
		padding: 0.5rem 0.625rem !important;
		font-size: 0.8125rem !important;
		line-height: 1.35;
		resize: vertical;
	}

	#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form button.wpforms-submit {
		min-height: 2.5rem;
		padding: 0.5rem 1rem !important;
	}
}

/* Mobile: naglowek zawsze przyklejony (na karcie produktu site-scale.css sie nie laduje). */
@media (max-width: 782px) {
	.ekit-template-content-markup:has(> .elementor-6222) {
		position: sticky;
		top: 0;
		z-index: 9500;
	}

	body {
		overflow-x: clip !important;
		overflow-y: visible !important;
	}
}

/* Mobile: plywajacy koszyk (Woo Fly Cart) po prawej, w polowie wysokosci ekranu. */
@media (max-width: 782px) {
	body.single-product .woofc-count,
	body.single-product .woofc-count.woofc-count-bottom-right,
	body.single-product .woofc-count.woofc-count-bottom-right:hover {
		left: auto !important;
		right: 1.5rem !important;
		top: 50% !important;
		bottom: auto !important;
		width: 3.5rem;
		height: 3.5rem;
		line-height: 3.5rem;
		transform: translateY(-50%);
	}

	body.single-product .woofc-count i {
		line-height: 3.5rem;
	}
}

.imsf-card__sidebar .imsf-pf__choices .imsf-pf__choice:last-child {
	margin-bottom: 0 !important;
}

.imsf-card__sidebar .imsf-pf__choices .imsf-pf__choice {
	font-size: 0.8375rem;
}

/* Mobile: boczny margines 16px jak na innych podstronach (regula w nav-mobile.css), naglowek
   dalej bez kumulowanych wciec Elementora w opisie. */
@media (max-width: 782px) {
	.elementor-6222 .elementor-element-6880a63 > .elementor-container {
		padding-left: 0;
		padding-right: 0;
	}

	body.single-product .imsf-card__sections .elementor-section .elementor-widget-wrap.elementor-element-populated {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Mobile: wszystkie teksty opisu na jednej linii (10px) - zerujemy wciecia kontenerow Elementora na kazdym poziomie zagniezdzenia. */
@media (max-width: 782px) {
	body.single-product .imsf-card__sections .elementor-container,
	body.single-product .imsf-card__sections .elementor-widget-wrap.elementor-element-populated,
	body.single-product .imsf-card__sections .elementor-widget-wrap,
	body.single-product .imsf-card__sections .elementor-widget-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Formularz zapytania: zgoda RODO (checkbox DSGVO-Einverstaendnis) - mniejszy font 10px na
   kazdej szerokosci (etykieta pola + tekst zgody przy checkboxie). */
#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form .wpforms-field-gdpr-checkbox .wpforms-field-label,
#imsf-b2b-anfrage div.wpforms-container-full .wpforms-form .wpforms-field-gdpr-checkbox label {
	font-size: 10px !important;
	line-height: 1.35 !important;
}

/* Bloki tresci E9: uklad sekcji i tabela korzystaja z regul karty powyzej. */
.imsf-card__sections .imsf-content-list {
	margin: 0 0 1rem;
	padding-left: 1.5rem;
	list-style: disc outside;
}

.imsf-card__sections .imsf-content-list li + li {
	margin-top: 0.375rem;
}

.imsf-card__sections .imsf-content-list--lead strong {
	font-weight: 700;
}

.imsf-card__sections .imsf-content-text p {
	margin: 0 0 0.75rem;
}

.imsf-card__sections .imsf-content-text p:last-child,
.imsf-card__sections .imsf-content-list:last-child {
	margin-bottom: 0;
}

.imsf-card__sections .imsf-spec-table {
	margin: 0;
	width: 100%;
}

/* Tabela "Technische Daten" z atrybutow (.imsf-spec-table): nazwa i wartosc obok siebie, zwijanie dopiero gdy naprawde brak miejsca.
 * Wczesniej zwijaly ja: WooCommerce smallscreen (<=768px) i ogolna regula tabel w sekcjach karty (<=40rem). */
@media (max-width: 768px) {
	.imsf-card__sections table.imsf-spec-table {
		display: table !important;
		width: 100% !important;
	}

	.imsf-card__sections table.imsf-spec-table tbody {
		display: table-row-group !important;
		width: auto !important;
	}

	.imsf-card__sections table.imsf-spec-table tr {
		display: table-row !important;
	}

	.imsf-card__sections table.imsf-spec-table th,
	.imsf-card__sections table.imsf-spec-table td {
		display: table-cell !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0.5rem !important;
		border: 0 !important;
		border-bottom: 1px dotted rgba(0, 0, 0, 0.1) !important;
		vertical-align: top;
	}

	.imsf-card__sections table.imsf-spec-table th {
		width: 38% !important;
		color: inherit !important;
	}
}

@media (max-width: 340px) {
	.imsf-card__sections table.imsf-spec-table,
	.imsf-card__sections table.imsf-spec-table tbody,
	.imsf-card__sections table.imsf-spec-table tr,
	.imsf-card__sections table.imsf-spec-table th,
	.imsf-card__sections table.imsf-spec-table td {
		display: block !important;
		width: auto !important;
	}

	.imsf-card__sections table.imsf-spec-table th {
		padding-bottom: 0 !important;
		border-bottom: 0 !important;
	}
}

/* Przyciski karty: tekst do lewej, ikona po prawej (koszyk przy "In den Warenkorb", koperta przy "Anfrage senden").
 * Ikona to maska SVG w kolorze tekstu, wiec zmienia kolor razem z przyciskiem (hover, wersja obrysowana). */
.imsf-card__sidebar form.cart .single_add_to_cart_button,
.imsf-card__sidebar .imsf-b2b-anfrage {
	justify-content: space-between !important;
	gap: 0.75rem;
	height: 3rem; /* 48 px, oba przyciski tak samo */
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
	text-align: left !important;
}

/* Obrys 2 px przycisku zapytania wyrownuje tekst z przyciskiem koszyka. */
.imsf-card__sidebar .imsf-b2b-anfrage {
	padding-left: calc(1.25rem - 2px) !important;
	padding-right: calc(1.25rem - 2px) !important;
}

.imsf-card__sidebar form.cart .single_add_to_cart_button::after,
.imsf-card__sidebar .imsf-b2b-anfrage::after {
	content: "";
	flex: 0 0 1.4em;
	width: 1.4em;
	height: 1.4em;
	background-color: currentColor;
	-webkit-mask: var(--imsf-btn-icon) center / contain no-repeat;
	mask: var(--imsf-btn-icon) center / contain no-repeat;
}

.imsf-card__sidebar form.cart .single_add_to_cart_button {
	--imsf-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.7 12.4a1 1 0 0 0 1 .8h9.7a1 1 0 0 0 1-.8L21 7H6'/%3E%3C/svg%3E");
}

.imsf-card__sidebar .imsf-b2b-anfrage {
	--imsf-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6.5L21 7'/%3E%3C/svg%3E");
}

/* Pole ilosci: ok. 20% szerzej niz domyslne 3,63 em z WooCommerce (5 cyfr, np. 20000, musi sie miescic). */
.imsf-card__sidebar .imsf-qty__controls input.qty {
	width: 3.8rem;
	min-width: 3.8rem;
}
