/*
 * fajerwerkisklep (eTrade) — lista produktów, karta produktu, pakiety, szybkie zamówienie.
 * Wspólne style marki, nagłówka, stopki i kafelka: fs.css; HTML silnika: fs-engine.css.
 */

/* ========== karta produktu (products/show.phtml: single-product-3 + galeria single-product-5) ========== */

/* ---------- galeria ---------- */
/* scale-down: jak contain, ale małe źródło zostaje w naturalnej wielkości zamiast rozmywać się w dużym kwadracie */
.fs-gallery .single-product-thumbnail .thumbnail img {
	aspect-ratio: 1 / 1;
	object-fit: scale-down;
	height: auto;
	padding: 3%;
	background-color: var(--fs-img-bg);
}
.fs-gallery .single-product-thumbnail .thumbnail a {
	display: block;
	cursor: zoom-in;
}
.fs-gallery .single-product-thumbnail:not(.slick-initialized) .thumbnail ~ .thumbnail {
	display: none;
}
.fs-gallery .single-product-thumbnail-wrap .label-block.fs-labels {
	top: 20px;
	left: 20px;
	right: auto;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}
.fs-gallery .single-product-thumbnail-wrap .label-block .product-badget {
	box-shadow: 0 8px 16px 0 rgba(232, 50, 30, .25);
}
.fs-gallery .label-block .product-badget.fs-badge-new {
	background-color: var(--color-dark);
}
.fs-gallery .label-block .product-badget.fs-badge-time {
	background-color: var(--fs-primary-dark);
	font-weight: 500;
}
.fs-gallery .product-quick-view {
	position: absolute;
	z-index: 3;
}
.fs-gallery .product-quick-view a {
	color: var(--color-heading);
	font-size: 18px;
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .08);
}
.fs-gallery .product-quick-view a:hover {
	color: var(--color-white);
}
.fs-gallery .fs-gallery-thumbs .small-thumb-img img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background-color: var(--fs-img-bg);
}
/* poniżej 992 px galeria nad kolumną zakupu — bez rozciągania zdjęcia na całą szerokość tabletu */
@media only screen and (max-width: 991px) {
	.fs-gallery {
		max-width: 560px;
		margin: 0 auto;
	}
	.fs-gallery .fs-gallery-thumbs {
		margin-top: 20px;
	}
}

/* ---------- kolumna zakupu ---------- */
.single-product-content .inner .product-title {
	font-size: 32px;
	line-height: 1.25;
}
@media only screen and (max-width: 767px) {
	.single-product-content .inner .product-title {
		font-size: 26px;
	}
}
.single-product-content .inner .price-amount.price-offer-amount {
	flex-wrap: wrap;
	row-gap: 10px;
}
/* .amount inline — przekreślenie starej ceny (.old-price) nie przechodzi na elementy inline-block */
.single-product-content .inner .price-amount.price-offer-amount span.amount {
	display: inline;
	margin: 0;
}
.single-product-content .price-amount ins,
.single-product-content .price-amount del {
	background: none;
	color: inherit;
}
.single-product-content .price-amount ins {
	text-decoration: none;
}
.single-product-content .inner .price-offer-amount .current-price {
	font-weight: 700;
	color: var(--color-heading);
}
.single-product-content .inner .price-amount.price-offer-amount .offer-badge {
	background-color: var(--color-primary);
	height: 40px;
	line-height: 30px;
	padding: 5px 18px;
	font-weight: 700;
}
/* procent rabatu pokazuje plakietka; .prompric_el (wypełnia kl-custom.js) zostaje jako hook */
.single-product-content .prompric_el {
	display: none !important;
}
/* linia pod ceną jak .product-rating w single-product-3 */
.single-product-content .inner .product-meta {
	list-style: none;
	padding: 20px 0 0;
	border-top: 2px solid #F6F7FB;
	margin-bottom: 30px;
}
.single-product-content .inner .product-meta li {
	align-items: flex-start;
	color: var(--color-heading);
	font-weight: 400;
	margin-bottom: 8px;
}
.single-product-content .inner .product-meta li i {
	color: var(--color-primary);
	line-height: 24px;
	width: 30px;
	flex-shrink: 0;
}
.single-product-content .inner .product-meta li.fs-unavailable i {
	color: var(--color-body);
}
.single-product-content .inner .product-meta li.fs-discount-code {
	margin-top: 14px;
	padding: 12px 16px;
	border-radius: 6px;
	background: var(--fs-primary-soft);
}
.single-product-content .inner .product-meta li.fs-discount-code small {
	display: block;
	color: var(--color-body);
	font-size: 13px;
	line-height: 1.5;
	margin-top: 2px;
}
.single-product-content .inner .product-meta li.fs-popularity:has(.popularity.d-none),
.single-product-content .inner .product-meta li.fs-popularity:has(.popularity:empty) {
	display: none;
}
.single-product-content .fs-sale-paused {
	padding: 14px 18px;
	border-radius: 6px;
	background: var(--color-lighter);
	color: var(--color-heading);
	margin-bottom: 20px;
}
.single-product-content .fs-sale-paused i {
	color: var(--color-primary);
	margin-right: 6px;
}
.single-product-content form.cart {
	margin: 0;
}

/* ilość — wygląd .pro-qty z eTrade, przyciski .quantity_button obsługuje kl-custom.js */
.fs-qty {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-right: 10px;
}
.fs-qty .quantity_button {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	cursor: pointer;
	font-size: 12px;
	color: #000;
	background: #F6F7FB;
	border: 2px solid transparent;
	border-radius: 50%;
	transition: .3s;
	user-select: none;
}
.fs-qty .quantity_button:hover {
	border-color: var(--color-primary);
}
.fs-qty input.quantity {
	width: 48px;
	height: 32px;
	line-height: 30px;
	padding: 0;
	margin: 0 6px;
	border: none;
	background-color: transparent;
	text-align: center;
	font-size: 20px;
	font-weight: 500;
	color: #27272e;
}
.fs-qty input.quantity:focus {
	box-shadow: none;
	outline: 2px solid var(--fs-primary-soft);
	border-radius: 4px;
}
/* bez pola ilości (niedostępny) przycisk wyrównany do lewej krawędzi tekstu — jak action-style-two w single-product-5 */
.single-product-content .product-action-wrapper .product-action:first-child {
	margin-left: -10px;
}
.single-product-content .product-action-wrapper .product-action li.add-to-cart .axil-btn {
	padding-left: 24px;
	padding-right: 24px;
	white-space: nowrap;
}
.single-product-content .product-action-wrapper .product-action li.add-to-cart .axil-btn i {
	margin-right: 6px;
}
@media only screen and (max-width: 479px) {
	.single-product-content .product-action-wrapper {
		align-items: stretch;
	}
	.single-product-content .product-action-wrapper .fs-qty {
		justify-content: center;
		margin: 0 0 20px;
	}
	.single-product-content .product-action-wrapper .product-action {
		flex-wrap: nowrap;
		margin: 0 -5px;
	}
	.single-product-content .product-action-wrapper .product-action:first-child {
		margin-left: -5px;
	}
	.single-product-content .product-action-wrapper .product-action li {
		margin: 0 5px;
	}
	.single-product-content .product-action-wrapper .product-action li.add-to-cart .axil-btn {
		padding-left: 12px;
		padding-right: 12px;
		white-space: normal;
	}
	/* z „Weź gratis”: „Dodaj do koszyka” w osobnym rzędzie, gratis i lista zakupów pod spodem */
	.single-product-content .product-action-wrapper .product-action:has(.fs-gratis) {
		flex-wrap: wrap;
		row-gap: 10px;
	}
	.single-product-content .product-action-wrapper .product-action:has(.fs-gratis) li.add-to-cart:first-child {
		flex: 1 1 100%;
	}
}

/* pakiety i karton — tabela product-features z single-product-6 */
.single-product-content .inner .fs-offers {
	margin: 40px 0 0;
}
.single-product-content .inner .fs-offers + .fs-offers {
	margin-top: 30px;
}
.fs-offers .fs-offers-title {
	font-size: 18px;
	margin-bottom: 10px;
}
.fs-offers .fs-offers-title i {
	color: var(--color-primary);
	margin-right: 6px;
}
.fs-offers table {
	width: 100%;
	margin: 0;
}
.single-product-content .inner .fs-offers tr td {
	padding: 14px 12px;
	vertical-align: middle;
}
.fs-offers .fs-offer-thumb {
	width: 76px;
}
.fs-offers .fs-offer-thumb img,
.fs-offers .fs-offer-icon {
	width: 64px;
	height: 64px;
	border-radius: 6px;
	object-fit: cover;
	background: var(--color-lighter);
}
.fs-offers .fs-offer-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	color: var(--color-primary);
}
.single-product-content .inner .fs-offers .title {
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 4px;
}
.fs-offers .title a {
	color: inherit;
}
.fs-offers .title a:hover {
	color: var(--color-primary);
}
.single-product-content .inner .fs-offers .price-amount {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	font-size: 16px;
	margin: 0;
}
.fs-offers .price-amount ins .amount {
	font-weight: 700;
	color: var(--color-heading);
}
.fs-offers .price-amount del .amount {
	font-size: 14px;
	color: var(--color-body);
}
.fs-offers .prompric_el {
	display: none;
}
.fs-offers .fs-offer-note {
	display: block;
	font-size: 13px;
	line-height: 1.5;
	color: var(--color-body);
	margin-top: 2px;
}
.fs-offers .fs-offer-action {
	width: 1%;
	white-space: nowrap;
}
.fs-offers .fs-offer-action form {
	margin: 0;
}
.single-product-content .inner .fs-offers .mini-btn {
	width: auto;
	border: 0;
	border-radius: 20px;
	padding: 8px 18px;
	font-size: 14px;
	font-weight: 700;
	color: var(--color-white);
	background-color: var(--color-primary);
	transition: .3s;
}
.single-product-content .inner .fs-offers .mini-btn:hover {
	background-color: var(--fs-primary-dark);
}
.fs-offers .fs-offer-warning {
	display: inline-block;
	white-space: normal;
	font-size: 14px;
	line-height: 1.5;
	color: var(--fs-primary-dark);
	text-align: left;
	min-width: 200px;
	max-width: 240px;
}
@media only screen and (max-width: 575px) {
	.fs-offers table,
	.fs-offers tbody {
		display: block;
	}
	.fs-offers tr {
		display: grid;
		grid-template-columns: 64px 1fr;
		column-gap: 14px;
		row-gap: 10px;
		padding: 14px 0;
		border-bottom: 1px solid var(--color-light);
	}
	.fs-offers tr:first-child {
		border-top: 1px solid var(--color-light);
	}
	.single-product-content .inner .fs-offers tr td,
	.single-product-content .inner .fs-offers tr:first-child td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		text-align: left;
	}
	.single-product-content .inner .fs-offers tr td.fs-offer-action {
		grid-column: 1 / -1;
		white-space: normal;
	}
	.single-product-content .inner .fs-offers .mini-btn {
		width: 100%;
	}
	.fs-offers .fs-offer-warning {
		min-width: 0;
		max-width: none;
	}
}
.single-product-content .inner .fs-product-details {
	list-style: none;
	padding: 20px 0 0;
	margin: 30px 0 0;
	border-top: 2px solid #F6F7FB;
}
.single-product-content .inner .fs-product-details li {
	margin: 0 0 6px;
	font-size: 15px;
	line-height: 24px;
	color: var(--color-body);
}
.single-product-content .inner .fs-product-details li span {
	display: inline-block;
	min-width: 110px;
	font-weight: 500;
	color: var(--color-heading);
}
.single-product-content .inner .fs-product-details li a {
	color: var(--color-body);
}
.single-product-content .inner .fs-product-details li a:hover {
	color: var(--color-primary);
}

/* ---------- zakładki ---------- */
.woocommerce-tabs ul.tabs {
	flex-wrap: wrap;
	row-gap: 16px;
}
/* cele dotyku ≥ 40–44 px na telefonie i tablecie: zakładki, „Polecam!”, ilość */
@media only screen and (max-width: 991px) {
	.woocommerce-tabs ul.tabs li a {
		display: inline-block;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.fs-recommend .rating .push {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.fs-qty .quantity_button {
		width: 44px;
		height: 44px;
	}
	.fs-qty input.quantity {
		height: 44px;
	}
}
@media only screen and (max-width: 575px) {
	.woocommerce-tabs ul.tabs {
		flex-direction: row;
		justify-content: center;
		margin: 0 0 40px;
		padding-bottom: 16px;
		column-gap: 20px;
		row-gap: 12px;
	}
	.woocommerce-tabs ul.tabs li {
		margin: 0;
	}
	.woocommerce-tabs ul.tabs li a {
		font-size: 18px;
	}
}
/* aktywna zakładka: --color-primary na #F9F3F0 ma 4,28:1 — ciemniejszy odcień marki */
.woocommerce-tabs ul.tabs li a.active,
.woocommerce-tabs ul.tabs li a:hover {
	color: var(--fs-primary-dark);
}
.woocommerce-tabs ul.tabs li a::after {
	background-color: var(--fs-primary-dark);
}
.woocommerce-tabs .tab-content > .tab-pane {
	padding-bottom: 40px;
}
.fs-product-text {
	color: var(--color-body);
	font-size: var(--font-size-b1);
	line-height: 1.7;
	overflow-wrap: anywhere;
}
.fs-product-text p,
.fs-product-text ul,
.fs-product-text ol {
	margin-bottom: 16px;
}
.fs-product-text ul,
.fs-product-text ol {
	padding-left: 22px;
}
.fs-product-text h1,
.fs-product-text h2,
.fs-product-text h3 {
	font-size: 24px;
	margin: 24px 0 12px;
}
.fs-product-text h4,
.fs-product-text h5,
.fs-product-text h6 {
	font-size: 18px;
	margin: 20px 0 10px;
}
.fs-product-text > :first-child {
	margin-top: 0;
}
.fs-product-text img {
	max-width: 100%;
	height: auto;
}
.fs-recommend {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 30px;
	padding: 20px 24px;
	border-radius: 6px;
	background: var(--color-white);
}
.fs-recommend .icon {
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--fs-primary-soft);
	color: var(--color-primary);
	font-size: 20px;
}
.fs-recommend .rating {
	color: var(--color-heading);
}
.fs-recommend .rating .push {
	display: inline-block;
	margin-left: 10px;
	padding: 6px 18px;
	border-radius: 20px;
	background: var(--color-primary);
	color: var(--color-white);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
	transition: .3s;
}
.fs-recommend .rating .push:hover {
	background: var(--fs-primary-dark);
}
.woocommerce-tabs .product-additional-info table tbody tr th {
	text-transform: none;
	width: 35%;
}
/* link na jasnym wierszu tabeli (#F6F7FB): --color-primary 4,39:1 */
.woocommerce-tabs .product-additional-info table a {
	color: var(--fs-primary-dark);
	font-weight: 500;
}
@media only screen and (max-width: 575px) {
	.woocommerce-tabs .product-additional-info table tbody tr th,
	.woocommerce-tabs .product-additional-info table tbody tr td {
		min-width: 0;
		padding: 12px;
	}
	.woocommerce-tabs .product-additional-info {
		padding: 10px;
	}
}
.fs-product-movie {
	max-width: 960px;
}
.fs-product-movie .fluid-width-video-wrapper {
	position: relative;
	padding-top: 56.25%;
	border-radius: 6px;
	overflow: hidden;
	background: var(--color-dark);
}
.fs-product-movie .fluid-width-video-wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.fs-product-text .title {
	margin: 24px 0 10px;
}
.fs-product-text .fs-safety-warning {
	padding: 14px 18px;
	border-radius: 6px;
	background: var(--fs-primary-soft);
	color: var(--fs-primary-dark);
	font-weight: 500;
}
.fs-product-text .fs-safety-warning i {
	margin-right: 6px;
}

/* ========== karta pakietu (packages/show.phtml — układ karty produktu) ========== */
.fs-gallery .label-block .product-badget.fs-badge-extra {
	background-color: var(--color-secondary);
	color: var(--fs-on-secondary);
	box-shadow: none;
}
.single-product-content .inner .price-amount.price-offer-amount .fs-price-note {
	font-family: var(--font-primary);
	font-size: 14px;
	font-weight: 400;
	color: var(--color-body);
}

/* ========== karta pakietu (packages/_card.phtml) — układ kart zestawów tf, kolory i kształty eTrade ========== */
.fs-product-grid.fs-pack-grid > li {
	margin-bottom: 30px;
}
.fs-pack {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--color-border-light);
	border-radius: 6px;
	background: var(--color-white);
	container: fs-pack / inline-size;
}
.fs-pack-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px 0;
}
.fs-pack-heading {
	min-width: 0;
}
.fs-pack .fs-pack-title {
	margin: 0 0 4px;
	font-size: var(--h5);
	line-height: 1.35;
	overflow-wrap: anywhere;
}
.fs-pack-title a {
	color: inherit;
}
.fs-pack-title a:hover {
	color: var(--fs-primary-dark);
}
/* cel dotyku ≥ 40 px — nazwa to jedyny link karty do strony pakietu */
@media only screen and (max-width: 991px) {
	.fs-pack-title a {
		display: inline-block;
		padding: 8px 0;
		margin: -8px 0;
	}
}
.fs-pack .fs-pack-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0 14px;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-body);
}
.fs-pack-meta b {
	font-weight: 500;
	color: var(--color-heading);
}
.fs-pack-badge {
	flex-shrink: 0;
	padding: 6px 10px 5px;
	border-radius: 4px;
	background-color: var(--color-primary);
	color: var(--color-white);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 8px 16px 0 rgba(232, 50, 30, .25);
}
.fs-pack-items {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	gap: 18px 14px;
	min-width: 0;
	margin: 0;
	padding: 20px 24px;
	list-style: none;
}
.fs-pack-item {
	position: relative;
	flex: 1 1 118px;
	min-width: 0;
	max-width: 150px;
	margin: 0;
}
.fs-pack--wide .fs-pack-item {
	flex-basis: 170px;
	max-width: 248px;
}
/* od 5 składników miniatury zawijają się — jedna szerokość we wszystkich rzędach, także w niepełnym ostatnim */
@media only screen and (min-width: 576px) {
	.fs-pack-items--many .fs-pack-item {
		max-width: 137px;
	}
	.fs-pack--wide .fs-pack-items--many .fs-pack-item {
		flex: 0 1 170px;
		max-width: none;
	}
}
.fs-pack-media {
	position: relative;
	margin-bottom: 10px;
}
.fs-pack-thumb {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: var(--color-lighter);
}
.fs-pack-thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	transition: transform .3s;
}
.fs-pack-item:hover .fs-pack-thumb img {
	transform: scale(1.06);
}
.fs-pack-item + .fs-pack-item .fs-pack-media::before {
	content: "+";
	position: absolute;
	top: 50%;
	left: -7px;
	z-index: 1;
	width: 24px;
	height: 24px;
	margin: -12px 0 0 -12px;
	border-radius: 50%;
	background: var(--color-white);
	box-shadow: 0 0 0 1px var(--color-border-light);
	color: var(--color-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 23px;
	text-align: center;
}
.fs-pack-qty {
	position: absolute;
	top: 6px;
	right: 6px;
	padding: 4px 7px 3px;
	border-radius: 4px;
	background-color: var(--color-dark);
	color: var(--color-white);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.fs-pack-movie {
	position: absolute;
	top: 6px;
	left: 6px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 4px;
	background: var(--color-white);
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .08);
	color: var(--color-heading);
	font-size: 14px;
	transition: .3s;
}
.fs-pack-movie:hover {
	background: var(--color-primary);
	color: var(--color-white);
}
.fs-pack-info {
	min-width: 0;
}
.fs-pack-name {
	display: -webkit-box;
	overflow: hidden;
	margin-bottom: 4px;
	color: var(--color-heading);
	font-size: 13px;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.fs-pack-name:hover {
	color: var(--fs-primary-dark);
}
.fs-pack--wide .fs-pack-name {
	font-size: 15px;
}
/* eTrade: ins { color: #fff; background: … } */
.fs-pack ins,
.fs-pack del {
	background: none;
	color: inherit;
}
.fs-pack ins {
	text-decoration: none;
}
.fs-pack-unit {
	display: block;
	color: var(--color-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}
.fs-pack-unit .amount {
	white-space: nowrap;
}
.fs-pack-unit small {
	color: var(--color-body);
	font-size: 12px;
	font-weight: 400;
}
.fs-pack-unit del {
	color: var(--color-body);
	font-size: 13px;
	font-weight: 400;
}
/* procent rabatu pokazuje plakietka; .prompric_el (wypełnia kl-custom.js) zostaje jako hook */
.fs-pack .prompric_el {
	display: none;
}
.fs-pack-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	padding: 14px 24px;
	background: var(--color-lighter);
}
.fs-pack-cta form {
	margin: 0;
}
.fs-pack-sum {
	min-width: 0;
}
.fs-pack-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 8px;
	color: var(--color-body);
	font-size: 14px;
	line-height: 1.3;
}
.fs-pack-price ins {
	color: var(--color-heading);
	font-family: var(--font-secondary);
	font-size: 22px;
	font-weight: 700;
}
.fs-pack-price .amount {
	white-space: nowrap;
}
.fs-pack .fs-pack-saving {
	display: block;
	margin-top: 2px;
	color: var(--fs-primary-dark);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}
.fs-pack-cta .axil-btn {
	padding: 12px 22px;
	font-size: 14px;
	white-space: nowrap;
}
/* wąska karta (telefon, dwie kolumny 992–1199 px): cena i przycisk nie mieszczą się w jednym rzędzie */
@container fs-pack (max-width: 520px) {
	.fs-pack-cta form,
	.fs-pack-cta > .axil-btn {
		flex: 1 1 100%;
	}
	.fs-pack-cta .axil-btn {
		width: 100%;
		text-align: center;
	}
}
/* strona pakietu od 1200 px: składniki obok pasa z ceną — bez tego kilka miniatur stoi pośrodku pustej karty na całą szerokość */
@media only screen and (min-width: 1200px) {
	.fs-pack--wide {
		flex-direction: row;
	}
	.fs-pack--wide .fs-pack-items {
		flex: 1 1 0;
		gap: 22px 20px;
		padding: 24px;
	}
	.fs-pack--wide .fs-pack-cta {
		flex: 0 0 300px;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: center;
		gap: 16px;
		padding: 24px;
	}
	.fs-pack--wide .fs-pack-cta .axil-btn {
		width: 100%;
	}
}
/* do 575 px składniki wierszami, jak karty zestawów */
@media only screen and (max-width: 575px) {
	.fs-pack-head {
		padding: 16px 16px 0;
	}
	.fs-pack .fs-pack-title {
		font-size: var(--h6);
	}
	.fs-pack-items {
		flex-direction: column;
		flex-wrap: nowrap;
		align-content: stretch;
		gap: 12px;
		padding: 16px;
	}
	.fs-pack .fs-pack-item {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		column-gap: 12px;
		align-items: center;
		flex: 0 0 auto;
		max-width: none;
	}
	.fs-pack-media {
		margin-bottom: 0;
	}
	.fs-pack-item + .fs-pack-item .fs-pack-media::before {
		top: -4px;
		left: 48px;
		margin-top: -12px;
	}
	.fs-pack-qty {
		top: 4px;
		right: 4px;
	}
	.fs-pack-item:has(.fs-pack-movie) .fs-pack-info {
		padding-right: 50px;
	}
	.fs-pack-movie {
		top: 50%;
		right: 0;
		left: auto;
		margin-top: -20px;
	}
	.fs-pack .fs-pack-name {
		font-size: 14px;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.fs-pack-cta {
		padding: 14px 16px;
	}
	/* film na telefonie: kl-custom.js (< 480 px) wstawia iframe do .kw-prodimage, stała wysokość miniatury wiersza — w wierszu byłby nieczytelny */
	.fs-pack .fs-pack-item:has(iframe) {
		display: block;
	}
	.fs-pack-item:has(iframe) .fs-pack-media {
		margin-bottom: 10px;
	}
	.fs-pack-item:has(iframe) .fs-pack-info {
		padding-right: 0;
	}
	.fs-pack-item:has(iframe) .fs-pack-movie {
		top: 8px;
		right: 8px;
		margin-top: 0;
	}
	.fs-pack-thumb:has(iframe) {
		height: auto !important;
		aspect-ratio: 16 / 9;
	}
	.fs-pack-thumb iframe {
		position: absolute;
		inset: 0;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		border: 0;
	}
}

/* ========== szybkie zamówienie (products/fastorder.phtml, cart.html + DataTables z css/datatables.min.css) ========== */
.fs-fastorder th.hide_me,
.fs-fastorder td.hide_me {
	display: none;
}
.fs-fastorder td.dt-control,
.fs-fastorder td.dt-control2 {
	cursor: pointer;
}
.fs-fastorder .fs-fastorder-note {
	font-size: 14px;
	padding: 12px 16px;
	border-radius: 6px;
	background: var(--color-lighter);
	margin-bottom: 20px;
}
.fs-fastorder .fs-fastorder-note i {
	color: var(--color-primary);
	margin-right: 6px;
}
.fs-fastorder .dt-container {
	font-size: 14px;
}
.fs-fastorder .dt-container .dt-length select,
.fs-fastorder .dt-container .dt-search input {
	width: auto;
	height: 40px;
	padding: 0 12px;
	margin: 0 8px;
	border: 1px solid var(--color-border-light);
	border-radius: 6px;
	background-color: var(--color-white);
	font-size: 14px;
}
.fs-fastorder .dt-container .dt-search input {
	min-width: 220px;
}
.fs-fastorder .dt-container .dt-length label,
.fs-fastorder .dt-container .dt-search label {
	display: inline;
	font-size: 14px;
	color: var(--color-body);
}
.fs-fastorder .dt-container .dt-paging .dt-paging-button {
	width: auto;
	border-radius: 6px !important;
}
.fs-fastorder .dt-container .dt-paging .dt-paging-button.current,
.fs-fastorder .dt-container .dt-paging .dt-paging-button.current:hover {
	background: var(--color-primary) !important;
	border-color: var(--color-primary) !important;
	color: var(--color-white) !important;
}
.fs-fastorder table.fs-fastorder-table {
	width: 100% !important;
	margin-top: 10px;
}
.fs-fastorder .axil-order-summery .table {
	--bs-table-bg: transparent;
}
.fs-fastorder .axil-order-summery .summery-table tbody td {
	min-width: 0;
}
.fs-fastorder .fs-fastorder-basket .summery-table td:nth-child(n+2) {
	white-space: nowrap;
}
.fs-fastorder table.fs-fastorder-table thead th {
	text-transform: none;
	font-size: 14px;
	line-height: 1.4;
	padding: 14px 10px;
	vertical-align: middle;
}
.fs-fastorder table.fs-fastorder-table tbody td {
	min-width: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	padding: 12px 10px;
	vertical-align: middle;
	border-bottom: 1px solid var(--color-lighter);
	color: var(--color-body);
}
.fs-fastorder table.fs-fastorder-table td.dt-control {
	width: 36px;
}
.fs-fastorder table.fs-fastorder-table tbody td:last-child {
	text-align: left;
}
.fs-fastorder table.fs-fastorder-table tbody tr.group td {
	padding: 14px 10px 10px;
	font-family: var(--font-secondary);
	font-size: 16px;
	font-weight: 700;
	color: var(--color-heading);
	background: var(--fs-primary-soft);
}
.fs-fastorder .fs-fastorder-name b {
	color: var(--color-heading);
}
.fs-fastorder .fs-fastorder-producer {
	font-size: 13px;
}
.fs-fastorder table.fs-fastorder-table td.fs-fastorder-price {
	font-weight: 700;
	color: var(--color-heading);
	white-space: nowrap;
}
.fs-fastorder .fs-fastorder-form {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}
.fs-fastorder .fs-fastorder-form input.quantity {
	width: 56px;
	height: 40px;
	padding: 0 8px;
	text-align: center;
	border: 1px solid var(--color-border-light);
	border-radius: 6px;
	font-size: 15px;
}
.fs-fastorder .fs-fastorder-form .axil-btn {
	width: 44px;
	height: 40px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.fs-fastorder .fs-fastorder-movie {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	background: var(--color-lighter);
	color: var(--color-heading);
}
.fs-fastorder .fs-fastorder-movie:hover {
	background: var(--color-primary);
	color: var(--color-white);
}
.fs-fastorder table.fs-fastorder-table td.fs-fastorder-name {
	min-width: 210px;
}
.fs-fastorder .fs-fastorder-details {
	padding: 10px 0;
	margin-left: 0;
	margin-right: 0;
	--bs-gutter-x: 20px;
}
.fs-fastorder .fs-fastorder-details > [class*="col-"] {
	margin-bottom: 10px;
}
.fs-fastorder .fs-fastorder-details .kw-prodimage img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	background: var(--color-lighter);
}
.fs-fastorder .fs-fastorder-details .title {
	font-size: 16px;
	margin: 0 0 8px;
}
.fs-fastorder .fs-fastorder-details .fs-product-text {
	font-size: 14px;
	margin-bottom: 14px;
}
.fs-fastorder .fs-fastorder-details .product-additional-info {
	padding: 0;
	margin: 0;
	background: none;
}
.fs-fastorder .fs-fastorder-details .product-additional-info table tbody tr th,
.fs-fastorder .fs-fastorder-details .product-additional-info table tbody tr td {
	min-width: 0;
	padding: 8px 12px;
	font-size: 14px;
	text-transform: none;
	border: 0;
}
.fs-fastorder .fs-fastorder-summary {
	position: sticky;
	top: 100px;
}
.fs-fastorder .fs-fastorder-basket {
	max-height: 400px;
	overflow-y: auto;
	margin-bottom: 10px;
}
.fs-fastorder .fs-fastorder-basket .summery-table {
	margin: 0;
}
.fs-fastorder .fs-fastorder-basket .summery-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: #f9f3f0;
	font-size: 13px;
	padding: 8px 6px 8px 0;
	border-bottom: 1px solid rgba(101, 105, 115, .2);
}
.fs-fastorder .axil-order-summery .fs-fastorder-basket .summery-table tbody td {
	min-width: 0;
	padding: 8px 6px 8px 0;
	font-size: 13px;
	font-weight: 400;
}
.fs-fastorder .axil-order-summery .summery-table em,
.fs-fastorder .axil-order-summery .fs-fastorder-totals em {
	font-style: normal;
}
/* kwoty jak wiersze summery-table z cart.html */
.fs-fastorder .axil-order-summery .fs-fastorder-totals {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}
.fs-fastorder .axil-order-summery .fs-fastorder-totals li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid rgba(101, 105, 115, .2);
	font-size: var(--font-size-b1);
	font-weight: var(--s-medium);
	color: #292930;
}
.fs-fastorder .axil-order-summery .fs-fastorder-totals li em {
	white-space: nowrap;
}
.fs-fastorder .axil-order-summery .fs-fastorder-totals .order-total {
	font-size: 18px;
	font-weight: 700;
	border-bottom: 0;
}
/* 18 px pogrubione to jeszcze nie „duży tekst” — --color-primary na #F9F3F0 ma 4,28:1 */
.fs-fastorder .axil-order-summery .fs-fastorder-totals .order-total .to_pay {
	color: var(--fs-primary-dark);
}
.fs-fastorder .axil-order-summery .checkout-btn {
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 10px;
}
@media only screen and (max-width: 1199px) {
	.fs-fastorder .fs-fastorder-summary {
		position: static;
		margin-top: 40px;
	}
}

/* ---------- sekcje pod kartą ---------- */
/* zestawy (.fs-product-bundles) i widget personalizacji (.fs-widget-area) — w fs-engine.css (także strona główna i koszyk) */
.fs-safety-area .about-thumbnail a {
	display: block;
	cursor: zoom-in;
}
/* proporcje z prawdziwych plików — placeholder GIF 1×1 z jquery.lazy nie zmienia wysokości (bez skoku układu) */
.fs-safety-area .about-thumbnail img {
	aspect-ratio: 1166 / 827;
	width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 16px 32px 0 rgba(0, 0, 0, .08);
}
.fs-safety-area .about-content .subtitle {
	color: var(--color-primary);
	font-weight: 700;
}
.about-style-2.fs-safety-area .about-content .title {
	font-size: 30px;
	margin-bottom: 12px;
}
.fs-safety-area .about-content .fs-safety-subtitle {
	margin: 36px 0 12px;
}
.fs-safety-area .about-content p {
	margin-bottom: 20px;
}
@media only screen and (max-width: 991px) {
	.fs-safety-area .about-thumbnail {
		margin-bottom: 30px;
	}
	.fs-safety-area .about-content.content-right {
		padding-left: 0;
	}
}
.fs-music-banner {
	display: block;
	max-width: 825px;
	margin: 50px auto 0;
}
.fs-music-banner img {
	aspect-ratio: 825 / 130;
	width: 100%;
	height: auto;
	border-radius: 6px;
}
