/* Poprawki Eleveen (sprawny sklep, 2026). Ładowane po stylach Webflow. */

/* Omnibus: informacja o najniższej cenie tylko pod ceną głównego produktu,
   bez powtórzeń przy innych wersjach i produktach w sekcjach na stronie produktu. */
.layout245_item_content-price--wrapper .wc-price-history {
	display: none !important;
}

/* Wyszukiwarka w nawigacji */
.ca-nav-search { position: relative; display: flex; align-items: center; }
.ca-nav-search__toggle { background: none; border: 0; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; }
.ca-nav-search__toggle > span { line-height: 0; }
.ca-nav-search__toggle > .navbar-black { display: none; }
.scrolled .ca-nav-search__toggle > .navbar-black { display: block !important; }
.scrolled .ca-nav-search__toggle > .navbar-white { display: none !important; }
.ca-nav-search__toggle:focus-visible { outline: 2px solid #2a7680; outline-offset: 2px; border-radius: 50%; }
.ca-nav-search__form[hidden] { display: none; }
/* Jedno zaokrąglone pole: lupa w środku, strzałka jako przycisk wysyłania. */
.ca-nav-search__form { position: absolute; top: calc(100% + 12px); right: -8px; z-index: 1000; display: flex; align-items: center; width: min(400px, calc(100vw - 32px)); height: 52px; padding: 0 6px 0 16px; background: #fff; border: 1px solid #e3e8e9; border-radius: 999px; box-shadow: 0 12px 32px rgba(27, 39, 41, .18); }
.ca-nav-search__form:focus-within { border-color: #2a7680; }
.ca-nav-search__icon { flex: none; color: #6b7a7c; }
.ca-nav-search__form input[type="search"] { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0 10px; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent; font: inherit; font-size: 16px; color: #1b2729; -webkit-appearance: none; appearance: none; }
.ca-nav-search__form input[type="search"]::placeholder { color: #8a9799; }
.ca-nav-search__form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.ca-nav-search__form button[type="submit"] { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #2a7680; color: #fff; cursor: pointer; transition: background-color .2s; }
.ca-nav-search__form button[type="submit"]:hover { background: #1f5d66; }
.ca-nav-search__form button[type="submit"]:focus-visible { outline: 2px solid #2a7680; outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
@media (max-width: 991px) {
	.ca-nav-search__form { position: static; width: 100%; box-shadow: none; padding: 8px 0; }
	.ca-nav-search { flex-wrap: wrap; }
}

/* Wyszukiwarka w menu mobilnym */
.ca-nav-search-mobile { display: none; }
@media (max-width: 991px) {
	.ca-nav-search-mobile { display: flex; gap: 6px; width: 100%; padding: 12px 0; }
	.ca-nav-search-mobile input[type="search"] { flex: 1; min-width: 0; min-height: 44px; padding: 0 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; color: #1b2729; background: #fff; }
	.ca-nav-search-mobile button[type="submit"] { min-height: 44px; padding: 0 16px; border: 0; border-radius: 6px; background: #1e6d76; color: #fff; font-size: 16px; }
}

/* Strona główna, „Zobacz nasze podróże”: nazwy krajów w jednej linii. Na telefonie przewijanie palcem. */
.section42_absolute, .section42_absolute .layout42_content-left { pointer-events: none; }
.swiper-slide.country-slider p { white-space: nowrap; text-align: center; line-height: 1.3; }
@media (max-width: 767px) {
	.swiper-slide.country-slider p { font-size: 14px; }
}


/* Test responsywny 16.10 */
/* Galeria produktu: strzałki miniatur w obrębie ekranu (wystawały o 6 px na 375 px). */
@media (max-width: 767px) {
	.slider-nav .slick-prev { left: 0; z-index: 2; }
	.slider-nav .slick-next { right: 0; z-index: 2; }
	.slider-nav { padding: 0 22px; }
}
/* Paginacja bloga: zawija się zamiast wychodzić poza ekran. */
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; max-width: 100%; }
/* Stopka: czytelne linki na telefonie (były 10,8 px) i większy obszar kliknięcia. */
@media (max-width: 767px) {
	.footer5_link { font-size: 14px; padding: 6px 0; display: inline-block; }
}
/* Strona produktu na telefonie: tytuł zajmował 5 linii ekranu. */
@media (max-width: 767px) {
	.single-product .product_title { font-size: 1.75rem; line-height: 1.2; }
}
/* Przyciski zakupu: biały tekst na jasnym turkusie miał kontrast 2,3:1 (wymóg 4,5:1) i wyglądał na nieaktywny.
   Ten sam odcień, ciemniejszy: #2a7680 = 5,2:1. */
.single_add_to_cart_button, .single_add_to_cart_button.button.alt,
.woocommerce a.checkout-button, .woocommerce #place_order, .woocommerce button#place_order {
	background-color: #2a7680 !important;
	color: #ffffff !important;
}
.single_add_to_cart_button:hover, .woocommerce a.checkout-button:hover, .woocommerce #place_order:hover {
	background-color: #1f5d66 !important;
}

/* Koszyk na telefonie: każdy produkt jako zwarta karta (miniatura, nazwa, cena, kwota, usuń)
   zamiast tabeli z etykietą przy każdym polu. Pole ilości ukryte dla e-booków (sprzedawane pojedynczo). */
@media (max-width: 768px) {
	.woocommerce-cart-form__contents thead { display: none; }
	.woocommerce-cart-form__contents tr.cart_item {
		display: grid !important;
		grid-template-columns: 64px 1fr 36px;
		column-gap: 12px;
		row-gap: 2px;
		align-items: start;
		padding: 14px 12px;
		border-bottom: 1px solid #e5e5e5;
		background: #fff !important;
	}
	.woocommerce-cart-form__contents tr.cart_item td {
		display: block !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
		background: none !important;
	}
	.woocommerce-cart-form__contents tr.cart_item td::before { display: none !important; }
	.woocommerce-cart-form__contents td.product-thumbnail { display: block !important; grid-column: 1; grid-row: 1 / span 4; }
	.woocommerce-cart-form__contents td.product-thumbnail img { width: 64px !important; height: auto; border-radius: 6px; }
	.woocommerce-cart-form__contents td.product-name { grid-column: 2; grid-row: 1; font-weight: 600; line-height: 1.35; }
	.woocommerce-cart-form__contents td.product-name a { text-decoration: none; }
	.woocommerce-cart-form__contents td.product-price { grid-column: 2; grid-row: 2; font-size: 14px; color: #555; }
	.woocommerce-cart-form__contents td.product-quantity { grid-column: 2; grid-row: 3; }
	.woocommerce-cart-form__contents td.product-quantity:has(input[type="hidden"]) { display: none !important; }
	.woocommerce-cart-form__contents td.product-subtotal { grid-column: 2; grid-row: 4; font-weight: 600; }
	.woocommerce-cart-form__contents td.product-remove { grid-column: 3; grid-row: 1; text-align: right !important; }
	.woocommerce-cart-form__contents td.product-remove a.remove {
		display: inline-flex; align-items: center; justify-content: center;
		width: 36px; height: 36px; font-size: 22px; line-height: 1;
	}
	.woocommerce-cart-form__contents td.product-price del { opacity: .6; }
	.woocommerce-cart-form__contents td.product-price ins { text-decoration: none; }
}

/* Napis „Social Media Coupleaway” w menu: wcześniej H1 na każdej stronie (zaburzał SEO), teraz akapit o tym samym wyglądzie. */
.ca-nav-social-title { font-family: "Montserrat Variablefont Wght", sans-serif; font-size: 40px; line-height: 48px; font-weight: 700; margin: 0; color: #020202; }
.ca-nav-social-title strong { font-family: "Dancingscript Variablefont Wght", sans-serif; font-weight: 700; }

/* Widoczny fokus przy obsłudze klawiaturą (Webflow wyłączał outline). */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[role="button"]:focus-visible, .w-dropdown-toggle:focus-visible, .w-dropdown-link:focus-visible, .w-nav-button:focus-visible {
	outline: 2px solid #1e6d76 !important;
	outline-offset: 2px;
}

/* Mniej ruchu dla osób z ustawieniem „ogranicz animacje”. */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto !important; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Koszyk (desktop i wspólne): odstępy, rozmiary, bez podkreśleń */
.woocommerce-cart .extra-padding-top-elv { padding-top: 96px; }
.woocommerce-cart .padding-section-medium { padding-top: 24px; }
.woocommerce-cart-form__contents td.product-name a,
.woocommerce-cart-form__contents td.product-price ins,
.woocommerce-cart-form__contents td.product-price a,
.cart_totals a.shipping-calculator-button { text-decoration: none; }
.woocommerce-cart-form__contents td.product-name a:hover { text-decoration: underline; }
.woocommerce-cart-form__contents td.product-price del { opacity: .55; margin-right: 6px; }
.woocommerce-cart-form__contents td.product-price ins { font-weight: 600; }
.woocommerce-cart-form__contents td.product-name a { font-weight: 600; }
@media (min-width: 769px) {
	.woocommerce-cart-form__contents td.product-thumbnail img { width: 64px !important; height: auto; border-radius: 6px; }
	.woocommerce-cart-form__contents td { vertical-align: middle; padding-top: 16px !important; padding-bottom: 16px !important; }
	.woocommerce-cart-form__contents td.product-subtotal { font-weight: 600; }
}
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 200px !important; min-height: 44px; padding: 0 12px; }
.woocommerce-cart table.cart td.actions .button { min-height: 44px; }
.cart_totals h2 { font-size: 1.5rem; line-height: 1.3; margin-bottom: 12px; }
.cart_totals table th { width: 40%; }
.cart_totals table td { text-align: right; }
.cart_totals .woocommerce-shipping-destination, .cart_totals .woocommerce-shipping-calculator { text-align: right; }
.wc-proceed-to-checkout .checkout-button { font-size: 1.125rem !important; padding: 16px 24px !important; border-radius: 8px; }
.ca-page-title { font-size: 2rem; line-height: 1.2; margin: 0 0 24px; }
@media (max-width: 767px) { .ca-page-title { font-size: 1.625rem; margin-bottom: 16px; } }

/* Strona produktu */
@media (min-width: 768px) {
	.single-product .product_title { font-size: clamp(1.75rem, 2.4vw, 2.5rem); line-height: 1.2; margin-bottom: 16px !important; }
}
/* Cena promocyjna: kontrast jak przyciski zakupu (jasny turkus miał 2,3:1). */
.single-product .summary .price ins, .single-product .summary .price ins .amount { color: #2a7680 !important; text-decoration: none; }
/* Opis krótki: treść wklejona z Worda/edytora ma inline Georgia i 12pt. Ujednolicone z resztą strony. */
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description * { font-family: inherit !important; }
.woocommerce-product-details__short-description span[style*="font-size"] { font-size: inherit !important; }
.woocommerce-product-details__short-description p { margin: 0 0 .6em; line-height: 1.55; }
.woocommerce-product-details__short-description a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.single-product .summary .wc-price-history { margin-bottom: 20px; }
.single-product .summary form.cart { margin-top: 24px; }
/* Miniatury galerii jednakowe */
.slider-nav img { aspect-ratio: 1; object-fit: cover; width: 100%; height: auto; }
.woocommerce-product-details__short-description { font-size: 16px; }

/* Pasek na telefonie i tablecie: logo po lewej, ikony, hamburger po prawej. */
.ca-mobile-logo { display: none; }
@media (max-width: 991px) {
	.ca-mobile-logo { display: flex; align-items: center; order: -1; margin-right: auto; }
	.ca-mobile-logo img { width: 48px; height: auto; }
	.navbar7_container > .icon-holder { order: 1; }
	.navbar7_container > .navbar7_menu-button { order: 2; margin-left: 8px; }
}

/* Przycisk „do góry”: mniejszy i mniej nachalny (zasłaniał treść i stopkę). */
#back-to-top { width: 40px !important; height: 40px !important; padding: 0 !important; line-height: 40px !important; text-align: center; font-size: 18px !important; right: 12px !important; bottom: 12px !important; opacity: .85; border-radius: 50% !important; }
#back-to-top:hover, #back-to-top:focus-visible { opacity: 1; }

/* Landing przewodnika: spójna skala nagłówków sekcji (H1 64 px w połowie szerokości łamał się na 3 linie). */
.section_header1 h1 { font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.15; }
.page-template-page-guide h2 { font-size: clamp(1.875rem, 3.2vw, 2.75rem); line-height: 1.15; }
.page-template-page-guide .section_header1 h1.margin-bottom { margin-bottom: 20px; }

/* Karty produktów (wersje przewodnika, sklep): nazwa nad ceną zamiast obok, czytelna waga. */
.layout245_item .price-wrapper .div-block { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.layout245_item .price-wrapper .div-block > * { width: 100%; }
.layout245_item .price-wrapper h3.text-size-medium { font-size: 1rem; line-height: 1.35; font-weight: 600; margin: 0; }
.layout245_item .layout245_item_content-price--wrapper p { margin: 0; }
.layout245_item .layout245_item_content-price--wrapper del { opacity: .55; margin-right: 6px; font-weight: 400; }
.layout245_item .layout245_item_content-price--wrapper ins { text-decoration: none; color: #2a7680; }
/* Treści z edytora: bez justowania (dziury między słowami, gorsza czytelność), min. 16 px w opisach landingu. */
[style*="text-align: justify"], [style*="text-align:justify"] { text-align: left !important; }
.page-template-page-guide .section_header1 p, .page-template-page-guide .section_header1 li { font-size: 1rem; line-height: 1.6; text-align: left; }
/* Opinie (zrzuty wiadomości): wyrównanie do góry zamiast do środka (na telefonie robiła się pusta dziura nad opinią). */
.swiper-wrapper.swiper-gallery { align-items: flex-start !important; }
/* Tablet: zdjęcia w sekcjach tekst + zdjęcie nie zajmują całego ekranu. */
@media (min-width: 768px) and (max-width: 991px) {
	.section_header1 .header1_image-wrapper { height: auto !important; max-height: 460px; overflow: hidden; width: 100% !important; justify-self: stretch; }
	.section_header1 img { max-height: 460px; width: 100%; height: 100%; object-fit: cover; }
}
/* Cena na stronie produktu: aktualna cena większa i wyraźna, stara przekreślona mniejsza
   (było odwrotnie: 28 px szara przekreślona, 18 px aktualna). Przy rabacie ins jest poza .price. */
.single-product .summary .price del, .single-product .summary .price del bdi { font-size: 1.125rem !important; }
.single-product .summary > ins, .single-product .summary > ins .amount, .single-product .summary > ins bdi,
.single-product .summary .price > .amount bdi, .single-product .summary .price ins bdi {
	font-size: 1.75rem !important; font-weight: 700; color: #2a7680; text-decoration: none;
}
.single-product .summary > ins { display: block; margin-top: 4px; }
/* Odstępy w kolumnie produktu: zamiast stałego gap 32 px (plus puste akapity) kontrolowane marginesy. */
.single-product .summary { row-gap: 0 !important; }
.single-product .summary > p:empty { display: none; }
.single-product .summary .product_title { margin-bottom: 20px !important; }
.single-product .summary > ins { margin-top: 2px; }
.single-product .summary .wc-price-history { margin-top: 6px; margin-bottom: 24px; }
.single-product .summary .woocommerce-product-details__short-description { margin-bottom: 8px; }
.single-product .summary > .wc-price-history { margin: 6px 0 24px 0 !important; }
@media (min-width: 768px) and (max-width: 991px) {
	.single-product .slider-for img { max-height: 520px; width: auto; margin: 0 auto; }
}

/* Wpis na blogu: wygodniejsze czytanie długich tekstów (wiersze ~95 znaków przy 16/24 px). */
.content31_content .text-rich-text p, .content31_content .text-rich-text li { font-size: 1.0625rem; line-height: 1.75; }
.content31_content .text-rich-text h2 { margin-top: 1.6em; margin-bottom: .5em; line-height: 1.25; }
.content31_content .text-rich-text h3 { margin-top: 1.4em; margin-bottom: .4em; line-height: 1.3; }
.content31_content .text-rich-text h2 a, .content31_content .text-rich-text h3 a { text-decoration: none; }
/* O nas, oś czasu na tablecie: nagłówki do lewej jak treść (były do prawej przy tekście do lewej). */
@media (max-width: 991px) {
	.timeline13_item.item-left, .timeline13_item.item-left * { text-align: left !important; }
}

/* Spójny kolor przycisków głównych: jasny turkus z białym tekstem miał kontrast 2,3:1.
   Ten sam odcień marki, ciemniej (#2a7680, 5,2:1), jak przyciski zakupu. */
.button.w-button:not([class*="is-"]), .button-3, #back-to-top { background-color: #2a7680 !important; color: #fff !important; }
.button.w-button:not([class*="is-"]):hover, .button-3:hover, #back-to-top:hover { background-color: #1f5d66 !important; }

/* Współpraca, „Zaufali nam”: logotypy w jednym tonie (różne kolory i tła rozbijały rząd), kolor po najechaniu. */
.logo1_logo { filter: grayscale(1); opacity: .7; transition: filter .2s ease, opacity .2s ease; }
.logo1_logo:hover { filter: none; opacity: 1; }

/* Wyrównanie: statystyki (liczby w jednej linii niezależnie od długości opisu). */
.layout299_list { align-items: start !important; }
.layout299_item { align-items: center; justify-content: flex-start; }

/* Wyrównanie kart produktów: równa wysokość kart, nazwa i cena od lewej, przyciski w jednej linii na dole. */
.swiper-wrapper:has(> .layout245_item) { align-items: stretch !important; }
.layout245_item { display: flex !important; flex-direction: column; height: auto !important; }
.layout245_item .layout245_item_content-wrapper { flex: 1 1 auto; display: flex !important; flex-direction: column; }
.layout245_item .layout245_item_content-wrapper > .margin-top:last-child { margin-top: auto !important; padding-top: 12px; }
.layout245_item .price-wrapper h3.text-size-medium { font-weight: 600 !important; }
.layout245_item .layout245_item_content-price--wrapper,
.layout245_item .layout245_item_content-price--wrapper p { text-align: left !important; justify-content: flex-start !important; }
.layout245_item .layout245_item_content-price--wrapper del,
.layout245_item .layout245_item_content-price--wrapper ins { display: inline-block; white-space: nowrap; }

/* Moje konto: nawigacja jako zakładki zamiast gołej listy, odstęp od nagłówka strony. */
.woocommerce-account .extra-padding-top-elv { padding-top: 96px; }
.woocommerce-account .padding-section-medium { padding-top: 24px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid #d9d9d9; border-radius: 999px; text-decoration: none; color: #1b2729; font-size: 15px; }
.woocommerce-MyAccount-navigation li a:hover { border-color: #2a7680; color: #2a7680; }
.woocommerce-MyAccount-navigation li.is-active a { background: #2a7680; border-color: #2a7680; color: #fff; }
.woocommerce-MyAccount-content { max-width: 760px; line-height: 1.6; }
.woocommerce-account .woocommerce { margin-bottom: 48px; }
/* Karty kategorii („Nasz sklep”): tekst nie wchodzi pod ikonę strzałki. */
.layout245_item_content-wrapper:has(> .layout245_item_content-icon--wrapper) { padding-bottom: 64px !important; position: relative; }
.layout245_item_content-wrapper > .layout245_item_content-icon--wrapper { top: auto !important; bottom: 24px !important; right: 24px !important; left: auto !important; transform: none !important; }
/* Moje konto: zakładki na całą szerokość nad treścią (Woo dzieli 30/70 i zakładki łamały się w wąskiej kolumnie). */
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; }

/* Produkt z wariantami (zdjęcia): jeden tekst Omnibus (przy cenie wybranego rozmiaru), czytelny wybór rozmiaru. */
.product-type-variable .summary > .wc-price-history { display: none !important; }
.product-type-variable .summary > .price { margin-bottom: 16px; }
.single-product table.variations { margin: 8px 0 16px; border: 0; }
.single-product table.variations tr { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.single-product table.variations th, .single-product table.variations td { padding: 0 !important; border: 0 !important; background: none !important; }
.single-product table.variations th.label { font-weight: 600; min-width: 72px; }
.single-product table.variations td.value { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.single-product table.variations select { min-width: 200px; min-height: 48px; padding: 0 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; }
.single-product .reset_variations { font-size: 14px; color: #555; }
.single-product .woocommerce-variation-price .price { margin: 8px 0 0; }
.single-product .woocommerce-variation-price .wc-price-history { margin: 4px 0 16px; }
.single-product form.cart .quantity input.qty { width: 88px !important; min-height: 48px; text-align: center; border-radius: 6px; }
.single-product form.cart .woocommerce-variation-add-to-cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.single-product form.cart .woocommerce-variation-add-to-cart .quantity { margin: 0; }
/* Siatki 3-kolumnowe (layout238): niepełny rząd wyśrodkowany (np. 2 zdjęcia „w ramkach”), karty równej wysokości,
   listy w wyśrodkowanych kartach z punktorami przy tekście. */
.layout238_list { grid-template-columns: repeat(auto-fit, minmax(260px, 352px)) !important; justify-content: center; align-items: stretch !important; }
.layout238_item ul { display: inline-block; text-align: left; padding-left: 1.2em; margin-left: 0; }
.layout238_list { width: 100%; }

/* Menu: „Sklep” (inny typ rozwijanego menu z eksportu Webflow) zmienia kolor jak pozostałe pozycje
   (na białym pasku był biały, np. na stronach ofert). */
.scrolled .navbar2_menu-dropdown .text-block, .scrolled .navbar2_menu-dropdown .dropdown-chevron { color: #020202 !important; }
/* Archiwa bloga: linki filtrów kategorii czytelne (jasnoszare na szarym tle, kontrast ok. 2:1). */
.blog-posts-categories a { color: #4a4a4a !important; }
.blog-posts-categories a:hover { color: #2a7680 !important; }

/* Koszyk mobilny, poprawka: style WooCommerce (smallscreen, text-align right !important) miały wyższą specyficzność.
   Przy e-bookach (ilość zawsze 1) cena i kwota to ta sama liczba, zostaje jedna (z ceną przed rabatem). */
@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive.woocommerce-cart-form__contents tr.cart_item td,
	.woocommerce-page table.shop_table_responsive.woocommerce-cart-form__contents tr.cart_item td { text-align: left !important; }
	.woocommerce table.shop_table_responsive.woocommerce-cart-form__contents tr.cart_item td::before { display: none !important; content: none !important; }
	.woocommerce table.shop_table_responsive.woocommerce-cart-form__contents tr.cart_item td.product-remove { text-align: right !important; }
	.woocommerce-cart-form__contents tr.cart_item:has(td.product-quantity input[type="hidden"]) td.product-subtotal { display: none !important; }
	.woocommerce-cart-form__contents tr.cart_item:has(td.product-quantity input[type="hidden"]) td.product-price { font-size: 16px; color: #1b2729; font-weight: 600; }
	.woocommerce-cart-form__contents td.product-quantity .quantity input.qty { width: 72px; min-height: 40px; text-align: center; }
}

/* Kasa: pola i etykiety od lewej, tekst w listach rozwijanych nie wchodzi pod strzałkę. */
.woocommerce-checkout .woocommerce-billing-fields label, .woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .form-row label { text-align: left !important; display: block; }
.woocommerce-checkout .form-row select, .woocommerce-checkout .form-row .select2-selection,
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea { text-align: left !important; }
.woocommerce-checkout .form-row select { padding-right: 40px !important; min-height: 44px; }
.woocommerce-checkout .select2-container .select2-selection--single { min-height: 44px; display: flex; align-items: center; }
.woocommerce-checkout .select2-container .select2-selection__rendered { padding-left: 12px !important; padding-right: 40px !important; text-align: left !important; }
/* Kasa: pola tej samej wysokości co lista krajów, „Wysłać na inny adres?” w rozmiarze etykiety (było jak nagłówek). */
.woocommerce-checkout .form-row input.input-text { min-height: 44px; padding: 0 12px; border-radius: 6px; font-size: 16px; }
.woocommerce-checkout .form-row textarea { min-height: 88px; padding: 10px 12px; border-radius: 6px; font-size: 16px; }
.woocommerce-checkout .form-row select { border-radius: 6px; font-size: 16px; }
#ship-to-different-address { font-size: 1rem !important; font-weight: 600; margin: 16px 0 8px; }
#ship-to-different-address label { display: flex !important; align-items: center; gap: 10px; cursor: pointer; }
#ship-to-different-address input[type="checkbox"] { width: 20px; height: 20px; margin: 0; }
/* Stopka na telefonie: miejsce na przycisk „do góry”, żeby nie zasłaniał praw autorskich. */
@media (max-width: 767px) { .footer5_component { padding-bottom: 64px; } }
/* Paczki presetów: siatka „grid-4-columns” miała 3 kolumny (4. preset sam w rzędzie). */
@media (min-width: 992px) { .grid-4-columns { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 768px) and (max-width: 991px) { .grid-4-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* Wyniki wyszukiwania: cena przy produktach zamiast pustej ikony lokalizacji; czytelny brak wyników z wyszukiwarką. */
.ca-search-price { margin-top: 6px; font-weight: 600; }
.ca-search-price del { opacity: .55; margin-right: 6px; font-weight: 400; }
.ca-search-price ins { text-decoration: none; color: #2a7680; }
.ca-search-empty { grid-column: 1 / -1; max-width: 640px; }
.ca-search-empty__title { font-size: 1.375rem; font-weight: 600; margin-bottom: 8px; }
.ca-search-empty form { display: flex; gap: 8px; margin-top: 20px; }
.ca-search-empty input[type="search"] { flex: 1; min-height: 44px; padding: 0 12px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; }
.ca-search-empty input[type="submit"], .ca-search-empty button[type="submit"] { min-height: 44px; padding: 0 18px; border: 0; border-radius: 6px; background: #2a7680; color: #fff; font-size: 16px; }
.ca-search-empty form label { flex: 1; display: flex; }
.ca-search-empty form > div, .ca-search-empty form > label { display: flex; flex: 1; gap: 8px; }
.ca-search-empty input[type="search"] { width: 100%; }
/* Karty produktów: nazwa zawsze od lewej, jak cena (na niektórych stronach i na telefonie była wyśrodkowana). */
.layout245_item .price-wrapper h3.text-size-medium { text-align: left !important; }

/* Strony tekstowe (regulamin, polityka): długie nagłówki z treści nie wychodzą poza ekran na telefonie */
.page-template-simple-text .w-richtext h1 { font-size: clamp(1.625rem, 6.5vw, 2.5rem); line-height: 1.2; overflow-wrap: anywhere; hyphens: auto; }
.page-template-simple-text .w-richtext h2 { font-size: clamp(1.25rem, 5vw, 1.75rem); overflow-wrap: anywhere; }
@media (max-width: 767px) {
	.page-template-simple-text .w-richtext p, .page-template-simple-text .w-richtext li { text-align: left; }
}

/* „Zobacz nasze podróże” na desktopie: nagłówek wyśrodkowany w pionie względem kółek,
   kółka zaczynają się zaraz za nagłówkiem (wcześniej pusta przerwa i nagłówek przy górnej krawędzi). */
@media (min-width: 992px) {
	.section_header36:has(.swiper.country-slider) .section42_absolute { inset: 0; transform: none; display: flex; align-items: center; pointer-events: none; }
	.section_header36:has(.swiper.country-slider) .section42_absolute .padding-global { width: 100%; }
	.section_header36:has(.swiper.country-slider) .layout42_component { grid-template-columns: 260px 1fr; }
	.section_header36:has(.swiper.country-slider) .header36_component { grid-template-columns: calc(max(5%, (100% - 1600px) / 2) + 260px) 1fr; column-gap: 32px; }
	.section_header36:has(.swiper.country-slider) .header36_content { margin: 0; }
}

/* Strona produktu: galeria i opis w siatce (wcześniej galeria absolutna + wysokość ze skryptu,
   przy ok. 1000-1200 px opis wchodził na zdjęcie, komunikaty nachodziły na galerię). */
@media (min-width: 769px) {
	body .elv-product-wrapper { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(32px, 4vw, 72px); align-items: start; }
	body .elv-product-wrapper > .elv-gallery { position: static; width: auto; max-width: none !important; height: auto; grid-column: 1; grid-row: 1; }
	body .elv-product-wrapper > .woocommerce { grid-column: 2; grid-row: 1; height: auto !important; min-width: 0; }
	body .elv-product-wrapper .summary.entry-summary { float: none !important; width: auto !important; margin: 0 !important; }
}
.single-product .woocommerce { height: auto !important; }
/* Galeria: mniejsza przerwa pod dużym zdjęciem, miniatury kwadratowe, równe, od lewej. */
.slider-for .slick-list { margin-bottom: 12px !important; }
.slider-nav { margin: 0 -4px; }
.slider-nav .slick-track { margin-left: 0 !important; }
.slider-nav .slick-slide { padding: 0 4px; }
.slider-nav .slick-list .slick-slide a { aspect-ratio: 1 / 1; max-height: none !important; height: auto !important; overflow: hidden; border-radius: 4px; }
.slider-nav .slick-list .slick-slide a img { object-fit: cover !important; width: 100%; height: 100%; }
.slider-nav .slick-current a { outline: 2px solid #2a7680; outline-offset: -2px; }

/* Komunikaty WooCommerce (koszyk, błędy, info): jedna karta z delikatnym tłem, bez punktora i bez paska z boku. */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-error, .woocommerce .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-info {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px;
	list-style: none; margin: 0 0 24px !important; padding: 14px 16px 14px 18px !important;
	background: #f2f8f9; border: 1px solid #d5e6e8 !important; border-radius: 8px;
	color: #1b2729; font-size: 15px; line-height: 1.5; outline: none;
}
.woocommerce .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-error { background: #fdf3f2; border-color: #f0d0cc !important; }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-error::before, .woocommerce .woocommerce-info::before { display: none !important; }
.woocommerce .woocommerce-message::after, .woocommerce .woocommerce-error::after, .woocommerce .woocommerce-info::after { display: none !important; }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; width: 100%; }
.woocommerce-message .button.wc-forward, .woocommerce-error .button.wc-forward, .woocommerce-info .button.wc-forward,
.woocommerce-message .button, .woocommerce-info .button {
	order: 2; float: none !important; margin: 0 !important; padding: 10px 16px !important; min-height: 0; line-height: 1.2;
	background: #2a7680 !important; color: #fff !important; border-radius: 6px; font-size: 14px; text-decoration: none; white-space: nowrap;
}

/* Produkt z wariantami: etykieta nad polem, pole i przyciski tej samej wysokości. */
.single-product table.variations, .single-product table.variations tbody, .single-product table.variations tr { display: block; }
.single-product table.variations tr { margin-bottom: 16px; }
.single-product table.variations th.label { display: block; text-align: left; margin-bottom: 8px; min-width: 0; }
.single-product table.variations th.label label { font-weight: 600; font-size: 15px; }
.single-product table.variations td.value { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; }
.single-product table.variations select { width: 100%; max-width: 320px; height: 48px; min-height: 48px; padding: 0 40px 0 14px; border: 1px solid #c8d0d1; border-radius: 6px; font-size: 16px; background-color: #fff; outline: none; box-shadow: none; }
.single-product table.variations select:focus { border-color: #2a7680; box-shadow: 0 0 0 3px rgba(42, 118, 128, .18); }
.single-product form.cart .woocommerce-variation-add-to-cart, .single-product form.cart:not(.variations_form) { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.single-product form.cart .quantity input.qty { height: 48px; min-height: 48px; border: 1px solid #c8d0d1; }
.single-product form.cart .single_add_to_cart_button { height: 48px; min-height: 48px; margin: 0 !important; display: inline-flex; align-items: center; justify-content: center; padding: 0 28px !important; }
.woocommerce-message:focus, .woocommerce-error:focus, .woocommerce-info:focus,
.woocommerce-message:focus-visible, .woocommerce-error:focus-visible, .woocommerce-info:focus-visible { outline: none !important; box-shadow: none !important; }
.single-product table.variations { margin: 0 0 20px !important; }
.single-product table.variations tr { margin-bottom: 0; }
.single-product table.variations select { flex: 0 1 320px; }
.single-product .reset_variations { margin: 0 !important; }
.single-product form.cart { margin-top: 28px !important; padding: 0 !important; }
.single-product table.variations th.label, .single-product table.variations td.value { width: 100%; }
.single-product table.variations select { margin: 0 !important; }
.single-product form.cart .quantity input.qty { margin: 0 !important; }

/* Strona produktu: komunikaty jako powiadomienie w lewym dolnym rogu (prawy zajmuje przycisk „do góry”). */
.single-product .woocommerce-notices-wrapper:not(:empty) { position: fixed; left: 24px; bottom: 24px; z-index: 1001; width: min(400px, calc(100vw - 48px)); display: flex; flex-direction: column; gap: 8px; }
.single-product .woocommerce-notices-wrapper > * {
	position: relative; display: flex !important; flex-direction: column; flex-wrap: nowrap !important; height: auto !important; max-height: none !important; align-items: flex-start !important; gap: 12px !important; border: 0 !important;
	margin: 0 !important; padding: 16px 48px 16px 18px !important; background: #fff !important;
	border-radius: 10px; box-shadow: 0 12px 32px rgba(27, 39, 41, .2); font-size: 15px;
	animation: ca-toast-in .25s ease-out;
}
.single-product .woocommerce-notices-wrapper > * li { flex-direction: column; align-items: flex-start; gap: 12px; }
.single-product .woocommerce-notices-wrapper .button { order: 2; }
.single-product .woocommerce-notices-wrapper .ca-toast-close { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: transparent; color: #4a5759; font-size: 20px; line-height: 1; cursor: pointer; }
.single-product .woocommerce-notices-wrapper .ca-toast-close:hover { background: #eef3f4; }
.single-product .woocommerce-notices-wrapper .ca-toast-close:focus-visible { outline: 2px solid #2a7680; outline-offset: 1px; }
.single-product .woocommerce-notices-wrapper > .ca-toast-hide { opacity: 0; transform: translateY(8px); transition: opacity .2s, transform .2s; }
@keyframes ca-toast-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .single-product .woocommerce-notices-wrapper > * { animation: none; } }
@media (max-width: 767px) {
	.single-product .woocommerce-notices-wrapper:not(:empty) { left: 12px; right: 64px; bottom: 12px; width: auto; }
}
.woocommerce .woocommerce-message, .woocommerce .woocommerce-error, .woocommerce .woocommerce-info { flex-direction: row !important; justify-content: flex-start !important; min-height: 0 !important; height: auto !important; text-align: left; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto !important; }
.single-product .woocommerce-notices-wrapper > * { flex-direction: column !important; }
.single-product .woocommerce-notices-wrapper .button { margin-left: 0 !important; }
/* Stary styl motywu przesuwał komunikat o 40 px w górę (nachodził na nagłówek) i dawał mu stałe 80 px. */
.woocommerce-message { top: auto !important; gap: 12px 16px !important; border-bottom: 1px solid #d5e6e8 !important; }
.single-product .woocommerce-notices-wrapper > .woocommerce-message { position: relative !important; border-bottom: 0 !important; }
/* E-booki (sprzedawane pojedynczo): ukryte pole ilości nie robi odstępu przed przyciskiem. */
.single-product form.cart .quantity:has(input[type="hidden"]) { display: none; }
/* Tablet: podpis w stopce nie chowa się pod przyciskiem „do góry”. */
@media (min-width: 768px) and (max-width: 991px) {
	.footer5_bottom-wrapper { padding-right: 56px; }
}
.faq4_question:focus-visible, .faq6_question:focus-visible { outline: 2px solid #2a7680; outline-offset: 4px; border-radius: 4px; }

/* Kasa: „Powracający klient?” i „Masz kupon?” obok siebie w jednej linii (prośba klienta 21.09);
   po kliknięciu formularz rozwija się na całą szerokość pod spodem. Na telefonie niższe belki. */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin: 0 0 12px !important; padding: 12px 16px !important; font-size: 14px; gap: 4px 8px !important; flex-wrap: wrap; }
@media (min-width: 768px) {
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) { display: flex; flex-wrap: wrap; column-gap: 16px; }
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > * { flex: 1 1 100%; min-width: 0; }
	.woocommerce-checkout .woocommerce > .woocommerce-form-login-toggle,
	.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle { flex: 1 1 calc(50% - 8px); }
	.woocommerce-checkout .woocommerce > .woocommerce-form-login-toggle .woocommerce-info,
	.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle .woocommerce-info { height: calc(100% - 12px); }
}
@media (min-width: 768px) {
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > .woocommerce-form-login-toggle { order: 1; }
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > .woocommerce-form-coupon-toggle { order: 2; }
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > form.woocommerce-form-login,
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > form.checkout_coupon { order: 3; }
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > form.checkout,
	.woocommerce-checkout .woocommerce:has(> .woocommerce-form-login-toggle) > .woocommerce-notices-wrapper ~ .woocommerce-notices-wrapper { order: 4; }
}
.woocommerce-checkout form.checkout { margin-top: 16px; }
/* Formularz kuponu w kasie: pole i przycisk obok siebie, ta sama wysokość. */
.woocommerce form.checkout_coupon { padding: 16px !important; margin: 0 0 12px !important; border-radius: 8px; }
.woocommerce form.checkout_coupon p:not(.form-row) { margin: 0 0 10px; font-size: 14px; }
.woocommerce form.checkout_coupon .form-row-first { width: min(320px, calc(100% - 140px)) !important; float: left; margin: 0 12px 0 0 !important; padding: 0 !important; }
.woocommerce form.checkout_coupon .form-row-last { width: auto !important; float: left; margin: 0 !important; padding: 0 !important; }
.woocommerce form.checkout_coupon input.input-text { height: 44px; margin: 0; }
.woocommerce form.checkout_coupon button.button { height: 44px; margin: 0; padding: 0 18px; background: #2a7680 !important; color: #fff !important; border-radius: 6px; }
@media (max-width: 520px) {
	.woocommerce form.checkout_coupon .form-row-first { width: 100% !important; float: none; margin: 0 0 8px !important; }
	.woocommerce form.checkout_coupon .form-row-last { width: 100% !important; float: none; }
	.woocommerce form.checkout_coupon button.button { width: 100%; }
}
