/*
 * Globalna skala typografii sklepu.
 * Karta produktu jest celowo pomijana; jej skala pozostaje w assets/css/card.css.
 */

/* Elementor headings: wyzsza specyficznosc od reguł widgetow, bez !important. */
body:not(.single-product) .elementor .elementor-widget-heading .elementor-heading-title:is(h1) {
	font-size: clamp(2rem, calc(1rem + 5vw), 5.25rem);
}

body:not(.single-product) .elementor .elementor-widget-heading .elementor-heading-title:is(h2) {
	font-size: clamp(1.5rem, calc(1.125rem + 1.5vw), 2.25rem);
}

body:not(.single-product) .elementor .elementor-widget-heading .elementor-heading-title:is(h3) {
	font-size: clamp(1.25rem, calc(1rem + 0.83vw), 1.75rem);
}

body:not(.single-product) .elementor .elementor-widget-heading .elementor-heading-title:is(h4) {
	font-size: clamp(1.125rem, calc(0.875rem + 0.7vw), 1.5625rem);
}

body:not(.single-product) .elementor .elementor-widget-heading .elementor-heading-title:is(h5) {
	font-size: clamp(1.0625rem, calc(0.875rem + 0.625vw), 1.4375rem);
}

body:not(.single-product) .elementor .elementor-widget-heading .elementor-heading-title:is(h6) {
	font-size: clamp(1rem, calc(0.75rem + 0.5vw), 1.25rem);
}

/* Zwykly tekst i stopka. Skala mobilna ma podloge 12 px. */
body:not(.single-product) .elementor .elementor-widget-text-editor .elementor-widget-container p {
	font-size: clamp(0.75rem, calc(0.6875rem + 0.45vw), 0.875rem);
}

body:not(.single-product) .elementor .elementor-widget-image-box .elementor-image-box-title {
	font-size: clamp(1.125rem, calc(1rem + 0.625vw), 1.4375rem);
}

body:not(.single-product) .elementor .elementor-widget-image-box .elementor-image-box-description,
body:not(.single-product) .elementor .elementor-icon-list .elementor-icon-list-text {
	font-size: 0.75rem;
}

body:not(.single-product) .elementor .elementor-widget-text-editor .elementor-widget-container p a:not(.elementor-button):not([class*='icon']),
body:not(.single-product) .elementor .elementor-widget-image-box .elementor-image-box-content a:not([class*='icon']) {
	font-size: 0.75rem;
}

body:not(.single-product) .elementor .elementor-button .elementor-button-text {
	font-size: 0.8125rem;
}

body:not(.single-product) .ekit-menu-nav-link,
body:not(.single-product) .elementskit-menu-offcanvas-elements .elementskit-navbar-nav > li > a,
body:not(.single-product) .elementskit-menu-offcanvas-elements .elementskit-submenu-panel > li > a {
	font-size: 0.875rem;
}

body:not(.single-product) .aux-text,
body:not(.single-product) .elementor-location-footer .elementor-widget-text-editor p,
body:not(.single-product) .aux-site-footer .aux-text {
	font-size: 0.875rem;
}

/* Smart Slider: tylko zmierzone klasy, bez ujednolicania wszystkich n2-font-*.
 * Rozmiary są skalowane przez sam slider na mniejszych ekranach.
 */
body:not(.single-product) .n2-ss-slider [class*='n2-font-eef96c07'] {
	font-size: 40px !important;
}

body:not(.single-product) .n2-ss-slider [class*='n2-font-a4c1f0e0'] {
	font-size: 17px !important;
}

body:not(.single-product) .n2-ss-slider [class*='n2-font-12dc4408'] {
	font-size: 16px !important;
}

body:not(.single-product) .n2-ss-slider [class*='n2-font-974567c3'] {
	font-size: 18px !important;
}

body:not(.single-product) .n2-ss-slider [class*='n2-font-ea20af39'],
body:not(.single-product) .n2-ss-slider [class*='n2-font-4d5ca79c'] {
	font-size: 13px !important;
}

body:not(.single-product) .n2-ss-slider .n2-ss-slide--focus {
	font-size: 14px !important;
}

body:not(.single-product) .n2-ss-slider .n2-ss-slide--focus div:not([class]) {
	font-size: 13px !important;
}

/* Stopka: mniejsze wartości tylko dla wskazanych elementów stopki. */
body:not(.single-product) .elementor-location-footer h4,
body:not(.single-product) .aux-site-footer h4 {
	font-size: 15px;
}

body:not(.single-product) .elementor-location-footer h2.aux-modern-heading-primary,
body:not(.single-product) .aux-site-footer h2.aux-modern-heading-primary {
	font-size: 15px;
}

body:not(.single-product) .elementor-location-footer .aux-icon-list-text,
body:not(.single-product) .aux-site-footer .aux-icon-list-text,
body:not(.single-product) .elementor-location-footer :is(small, .small),
body:not(.single-product) .aux-site-footer :is(small, .small) {
	font-size: 14px;
}

/* Lista produktow oraz ceny poza karta. */
body:not(.single-product) .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.9375rem;
}

body:not(.single-product).immersafe-list ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.875rem;
}

body:not(.single-product) .woocommerce ul.products li.product .price,
body:not(.single-product) .woocommerce ul.products li.product .imsf-b2b-loop-price,
body:not(.single-product) .imsf-b2b-loop-price {
	font-size: 1rem;
}

body:not(.single-product).immersafe-list ul.products li.product .price {
	font-size: 0.875rem;
}

body:not(.single-product).immersafe-list .imsf-loop-excerpt {
	font-size: 0.75rem;
}

/* Koszyk i checkout. Kwoty zostaja nieco wieksze od tekstu opisowego. */
body:not(.single-product).woocommerce-cart .woocommerce table.shop_table th,
body:not(.single-product).woocommerce-cart .woocommerce table.shop_table td:not(.product-remove),
body:not(.single-product).woocommerce-cart .cart_totals .shop_table th,
body:not(.single-product).woocommerce-cart .cart_totals .shop_table td:not(.product-remove),
body:not(.single-product).woocommerce-checkout #order_review table.shop_table th,
body:not(.single-product).woocommerce-checkout #order_review table.shop_table td:not(.product-remove) {
	font-size: 0.875rem;
}

body:not(.single-product).woocommerce-cart .woocommerce-Price-amount,
body:not(.single-product).woocommerce-checkout #order_review .woocommerce-Price-amount {
	font-size: 1rem;
}

body:not(.single-product).woocommerce-cart .cart_totals h2,
body:not(.single-product).woocommerce-checkout .woocommerce-billing-fields h3,
body:not(.single-product).woocommerce-checkout .woocommerce-additional-fields h3,
body:not(.single-product).woocommerce-checkout #order_review_heading {
	font-size: 1.0625rem;
}

body:not(.single-product).woocommerce-cart .coupon :is(input, button),
body:not(.single-product).woocommerce-checkout .form-row :is(label, input, select, textarea),
body:not(.single-product).woocommerce-checkout #place_order {
	font-size: 0.8125rem;
}

/* Mini-koszyk oraz wysuwany Fly Cart. */
body:not(.single-product) :is(.widget_shopping_cart_content, .woofc-area) .woocommerce-mini-cart-item > a:not(.remove),
body:not(.single-product) .woofc-area :is(.woofc-product-title, .woofc-item-title) {
	font-size: 0.875rem;
}

body:not(.single-product) :is(.widget_shopping_cart_content, .woofc-area) :is(.woocommerce-mini-cart__total, .woofc-total, .woofc-subtotal) {
	font-size: 0.875rem;
}

body:not(.single-product) :is(.widget_shopping_cart_content, .woofc-area) .woocommerce-Price-amount,
body:not(.single-product) .woofc-area :is(.woofc-product-price, .woofc-item-price) {
	font-size: 1rem;
}

body:not(.single-product) :is(.widget_shopping_cart_content, .woofc-area) :is(.button, button) {
	font-size: 0.8125rem;
}

/* Elementy o jednej wartosci docelowej. !important, bo Elementor/ElementsKit ustawiaja rozmiary selektorami z ID. */
body:not(.single-product) .ekit-menu-nav-link,
body:not(.single-product) .elementskit-tab-title,
body:not(.single-product) .aux-text,
body:not(.single-product) .col-title,
body:not(.single-product) h6.aux-modern-heading-primary {
	font-size: 0.875rem !important;
}

body:not(.single-product) .woocommerce-loop-product__title {
	font-size: 0.9375rem !important;
}

body:not(.single-product) li.product .woocommerce-Price-amount,
body:not(.single-product) li.product .woocommerce-Price-currencySymbol {
	font-size: 1.125rem !important;
}

body:not(.single-product) .imsf-b2b-loop-price {
	font-size: 0.875rem !important;
}

body:not(.single-product) footer h4,
body:not(.single-product) footer .widgettitle {
	font-size: 0.9375rem !important;
}

body:not(.single-product) footer :is(.aux-icon-list-text, small) {
	font-size: 0.875rem !important;
}

body:not(.single-product) :is(a, .elementor-icon-list-text) {
	min-height: 0;
}

body:not(.single-product) .elementor-widget-container a:not([class*='button']) {
	font-size: max(0.75rem, 1em);
}

body:not(.single-product) .elementor-icon-list-text {
	font-size: max(0.75rem, 1em) !important;
}

/* Nagłówki stron (kategorie, strony treści): 35 -> 29 px, tytuły sekcji Elementora zostają. */
body:not(.single-product) :is(.page-title, .entry-title, .woocommerce-products-header__title, h1.elementor-heading-title) {
	font-size: 1.8125rem;
}

body:not(.single-product) :is(.entry-content, .elementor-widget-container, .term-description) :is(strong, b, p, li, h1, h2, h3) {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

/* Gorny pasek (wszystkie strony): cala kolumna z notka "Preisangabe exkl. MwSt." - kolumna Elementora ca2d4f4 w poscie 6222. */
.elementor-6222 .elementor-element-ca2d4f4 {
	display: none;
}

/* Po ukryciu kolumny z notka VAT koszyk (ostatnia kolumna paska) wraca do prawej krawedzi. */
.elementor-6222 .elementor-container:has(> .elementor-element-ca2d4f4) > .elementor-column:last-child {
	margin-left: auto;
}

/* Okruszki: maks. 12 px (0,75 rem) na wszystkich stronach, takze linki. */
body .woocommerce-breadcrumb,
body .woocommerce-breadcrumb a {
	font-size: 0.75rem;
}

/* Mobile: naglowek (logo, koszyk, menu) zawsze przyklejony do gory ekranu. */
@media (max-width: 782px) {
	.ekit-template-content-markup:has(> .elementor-6222) {
		position: sticky;
		top: 0;
		z-index: 9500;
	}

	/* overflow-x: hidden z motywu robi z body kontener przewijania i psuje sticky; clip tego nie robi. */
	body {
		overflow-x: clip !important;
		overflow-y: visible !important;
	}
}

@media (max-width: 782px) {
	.elementor-6222 .elementor-element-6880a63 > .elementor-container {
		padding-left: 0;
		padding-right: 0;
	}
}
