/*
Theme Name: greentrips
Author: epicbrand
Author URI: https://epicbrand.pl/
Theme URI: 
Tags: full-site-editing, editor-style, block-styles, block-patterns
Text Domain: greentrips
Requires at least: 6.3
Requires PHP: 7.4
Tested up to: 6.3
Version: 1.0.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Styles intended only for the front.*/
html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}


a {
	text-decoration: none !important;
}


.wp-block-buttons .button-point .wp-block-button__link {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wp-block-buttons .button-point .wp-block-button__link img {
  flex-shrink: 0;
}


.svg-and-text {
  display: flex;
  align-items: center;
  gap: 12px;
  width: fit-content;  
}

.svg-and-text svg {
  flex-shrink: 0;
}




/* Header przezroczysty i nachodzący na zawartość */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: transparent;
  transition: background-color 0.3s ease;
}


/* Dla zalogowanych użytkowników - przesuń header pod pasek admin */
.logged-in .site-header {
  top: 32px; /* Wysokość paska admin WordPress */
}

/* Header sticky z kolorem primary podczas scrollowania */
.site-header.scrolled {
  background: var(--wp--preset--color--contrast);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Zmiana paddingu w stanie scrolled */
.site-header.scrolled > .wp-block-group {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  transition: padding 0.3s ease;
}

/* Logo BIAŁE - widoczne domyślnie, ukryte po scrollu */
.site-header .logo-white {
  display: block !important;
}

.site-header.scrolled .logo-white {
  display: none !important;
}

/* Logo KOLOROWE - UKRYTE domyślnie, widoczne po scrollu */
.site-header .logo-color {
  display: none !important;
}

.site-header.scrolled .logo-color {
  display: block !important;
}


/* Kolor linków w headerze */
.site-header a {
  transition: color 0.3s ease;
}

.site-header a:hover {
  color: var(--wp--preset--color--secondary) !important;
}

/* Kolor linków w stanie scrolled */
.site-header.scrolled a {
  color: #393E3F !important;
}

.site-header.scrolled a:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* Płynna zmiana koloru */
.wp-block-navigation__responsive-container-open svg {
  fill: currentColor;
  transition: fill 0.3s ease-out;
}

.scrolled .wp-block-navigation__responsive-container-open svg {
  fill: var(--wp--preset--color--base) !important;
}



.slider-170 {
	border-radius: 16px;
}

.flexslider {
	border-radius: 16px;
}








/* NAJPROSTSZE - tylko fade-in */
.section-animate,
.energy-element,
.counter-animate,
.icon-animate,
.text-reveal {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

.section-animate.animate-in,
.energy-element.animate-in,
.counter-animate.animate-in,
.icon-animate.animate-in,
.text-reveal.animate-in {
  opacity: 1;
}







/* ========================================
   HOVER 1: Prosty slide z background
   ======================================== */
.hover1 .wp-block-button__link {
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);  
}

.hover1:hover .wp-block-button__link {
  background: white !important;
  color: var(--wp--preset--color--secondary) !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover1 .wp-block-button__link span,
.hover1 .wp-block-button__link img,
.hover1 .wp-block-button__link * {
  transition: all 0.4s ease;
  color: inherit;
}




/* ========================================
   HOVER 2: Prosty slide z background
   ======================================== */
.hover2 .wp-block-button__link {
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);    
}

.hover2:hover .wp-block-button__link {
  background: var(--wp--preset--color--secondary) !important;
  color: var(--wp--preset--color--contrast) !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover2 .wp-block-button__link span,
.hover2 .wp-block-button__link img,
.hover2 .wp-block-button__link * {
  transition: all 0.4s ease;
  color: inherit;
}



/* ========================================
   HOVER 3: Prosty slide z background + biała ikona
   ======================================== */
.hover3 .wp-block-button__link {
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover3:hover .wp-block-button__link {
  background: var(--wp--preset--color--primary) !important;
  color: white !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover3:hover .wp-block-button__link img {
  filter: brightness(0) invert(1); /* Robi ikonę białą */
  transition: filter 0.4s ease;
}

.hover3 .wp-block-button__link span,
.hover3 .wp-block-button__link img,
.hover3 .wp-block-button__link * {
  transition: all 0.4s ease;
  color: inherit;
}



/* Zmiana rozmiaru ikony hamburger menu (otwierającej) */
.wp-block-navigation__responsive-container-open svg {
  width: 32px !important; /* Zmień na żądany rozmiar */
  height: 32px !important;
}

/* Zmiana rozmiaru ikony zamykającej (X) */
.wp-block-navigation__responsive-container-close svg {
  width: 32px !important; /* Zmień na żądany rozmiar */
  height: 32px !important;
}

/* Padding for responsive container content */
.wp-block-navigation__responsive-container-content {
	padding-left: 32px;
	padding-top: 0 !important;
}






@media (max-width: 1024px) {
    .wp-block-navigation__responsive-container-open {
	display: flex !important;
}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}	
}




/* Styl przycisku TYLKO w górnej nawigacji .top-navi */
.top-navi .featured-button-nav {
	border: 2px solid var(--wp--preset--color--contrast);
    border-radius: 999px;
    padding: 8px 16px !important;
	color: var(--wp--preset--color--secondary);
	background-color: var(--wp--preset--color--contrast) !important;
	/* Dodaj płynne przejścia jak inne hovery */
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.top-navi .featured-button-nav:hover {
	border: 2px solid var(--wp--preset--color--contrast);
    border-radius: 999px;
    padding: 8px 16px !important;
	color: var(--wp--preset--color--contrast);
	background-color: transparent !important;
	/* Hover też ma transition dla płynności */
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Wyłącz hover dla linku wewnątrz */
.top-navi .featured-button-nav a:hover,
.top-navi .featured-button-nav a:focus {	
	color: inherit !important;	
	
}

/* Styl przycisku w stanie scrolled - odwrócone kolory */
.site-header.scrolled .top-navi .featured-button-nav {
	border: 2px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	background-color: var(--wp--preset--color--primary) !important;
}

.site-header.scrolled .top-navi .featured-button-nav a,
.site-header.scrolled .top-navi .featured-button-nav .wp-block-navigation-item__label {
	color: var(--wp--preset--color--contrast) !important;
}

.site-header.scrolled .top-navi .featured-button-nav:hover {
	border: 2px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	background-color: transparent !important;
}

.site-header.scrolled .top-navi .featured-button-nav:hover a,
.site-header.scrolled .top-navi .featured-button-nav:hover .wp-block-navigation-item__label {
	color: var(--wp--preset--color--primary) !important;
}

/* Style hover dla nawigacji .bottom-navi */
.bottom-navi a {
	transition: color 0.3s ease;
}

.bottom-navi a:hover {
	color: var(--wp--preset--color--primary) !important;
}

/* Wyłącz style .featured-button-nav TYLKO w otwartym menu nakładki (overlay) */
.wp-block-navigation__responsive-container.is-menu-open .featured-button-nav,
.wp-block-navigation__responsive-container.is-menu-open .top-navi .featured-button-nav,
.wp-block-navigation__responsive-container.is-menu-open .site-header.scrolled .top-navi .featured-button-nav {
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	background-color: transparent !important;
	color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open .featured-button-nav a,
.wp-block-navigation__responsive-container.is-menu-open .featured-button-nav .wp-block-navigation-item__label,
.wp-block-navigation__responsive-container.is-menu-open .top-navi .featured-button-nav a,
.wp-block-navigation__responsive-container.is-menu-open .top-navi .featured-button-nav .wp-block-navigation-item__label,
.wp-block-navigation__responsive-container.is-menu-open .site-header.scrolled .top-navi .featured-button-nav a,
.wp-block-navigation__responsive-container.is-menu-open .site-header.scrolled .top-navi .featured-button-nav .wp-block-navigation-item__label {
	color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open .featured-button-nav:hover,
.wp-block-navigation__responsive-container.is-menu-open .top-navi .featured-button-nav:hover,
.wp-block-navigation__responsive-container.is-menu-open .site-header.scrolled .top-navi .featured-button-nav:hover {
	border: none !important;
	background-color: transparent !important;
	color: var(--wp--preset--color--primary) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .featured-button-nav:hover a,
.wp-block-navigation__responsive-container.is-menu-open .featured-button-nav:hover .wp-block-navigation-item__label,
.wp-block-navigation__responsive-container.is-menu-open .top-navi .featured-button-nav:hover a,
.wp-block-navigation__responsive-container.is-menu-open .top-navi .featured-button-nav:hover .wp-block-navigation-item__label,
.wp-block-navigation__responsive-container.is-menu-open .site-header.scrolled .top-navi .featured-button-nav:hover a,
.wp-block-navigation__responsive-container.is-menu-open .site-header.scrolled .top-navi .featured-button-nav:hover .wp-block-navigation-item__label {
	color: var(--wp--preset--color--primary) !important;
}

/* Styl dla pozycji Koszyk z ikoną zamiast tekstu */
.custom-koszyk .wp-block-navigation-item__label {
	display: none !important;
}

.custom-koszyk a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0 !important;
	text-indent: -9999px;
	overflow: hidden;
	position: relative;
}

/* Ikona SVG używająca mask-image dla zmiany koloru przez currentColor */
/* URL ikony jest ustawiany dynamicznie przez PHP w functions.php */
.custom-koszyk a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* Użyj mask-image dla możliwości zmiany koloru przez currentColor */
	/* mask-image jest ustawiane dynamicznie przez inline style */
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: currentColor;
	/* Ikona zachowuje się kolorystycznie jak inne pozycje w nawigacji */
	transition: background-color 0.3s ease;
}

/* Ikona w stanie scrolled - zachowuje się jak inne linki */
.site-header.scrolled .custom-koszyk a::before {
	background-color: currentColor;
}

/* Logo w menu nakładki - po lewej, nad nawigacją */
.overlay-logo {
	display: block;
	width: 180px;
	height: 60px;
	margin: 0 0 20px 0;
	padding: 0;
}

.overlay-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}


.rbfw_rent_show_result_list_grid_icon_holder {
	display: none !important;
}

/* Ukryj sekcję udostępniania w social media na stronie oferty */
.rbfw-post-sharing {
	display: none !important;
}



/* ========================================
   STYLE WOOCOMMERCE - Koszyk & Checkout
   ======================================== */

/* Komunikaty WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 16px 20px !important;
	border-radius: 8px !important;
	margin-bottom: 24px !important;
	border-left: 4px solid !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
}

.woocommerce-message {
	background: #e8f5e9 !important;
	border-color: var(--wp--preset--color--primary) !important;
	color: #2e7d32 !important;
}

.woocommerce-info {
	background: #e3f2fd !important;
	border-color: #2196f3 !important;
	color: #1565c0 !important;
}

.woocommerce-error {
	background: #ffebee !important;
	border-color: #f44336 !important;
	color: #c62828 !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: inherit !important;
	text-decoration: underline !important;
	font-weight: 600 !important;
}

/* Przyciski WooCommerce */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 12px 32px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	text-transform: none !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
	background: var(--wp--preset--color--secondary) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* Tabela koszyka */
.woocommerce table.shop_table {
	border: 1px solid #e0e0e0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	margin-bottom: 24px !important;
}

/* Usuń ograniczenie szerokości 70% z WooCommerce - ustaw na 100% */
.woocommerce-page table.shop_table {
	width: 100% !important;
}

.woocommerce table.shop_table th {
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--secondary) !important;
	padding: 16px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
	letter-spacing: 0.5px !important;
}

.woocommerce table.shop_table td {
	padding: 20px 16px !important;
	border-bottom: 1px solid #f0f0f0 !important;
	vertical-align: middle !important;
}

.woocommerce table.shop_table tr:last-child td {
	border-bottom: none !important;
}

/* Pola formularzy */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select {
	border: 2px solid #e0e0e0 !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 16px !important;
	transition: border-color 0.3s ease !important;
	width: 100% !important;
}

.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	border-color: var(--wp--preset--color--primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1) !important;
}

/* Podsumowanie zamówienia */
.woocommerce .cart-collaterals {
	background: #f9f9f9 !important;
	border-radius: 12px !important;
	padding: 24px !important;
	margin-top: 24px !important;
}

.woocommerce .cart_totals h2 {
	font-size: 20px !important;
	font-weight: 700 !important;
	margin-bottom: 16px !important;
	color: var(--wp--preset--color--secondary) !important;
}

/* Ilość produktu */
.woocommerce .quantity input[type="number"] {
	border-radius: 6px !important;
	text-align: center !important;
	max-width: 80px !important;
}

/* Link "Usuń" */
.woocommerce a.remove {
	color: #f44336 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: color 0.3s ease !important;
}

.woocommerce a.remove:hover {
	color: #d32f2f !important;
}

/* Checkout - nagłówki sekcji */
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3,
.woocommerce .woocommerce-additional-fields h3 {
	font-size: 20px !important;
	font-weight: 700 !important;
	margin-bottom: 20px !important;
	color: var(--wp--preset--color--secondary) !important;
	border-bottom: 2px solid var(--wp--preset--color--primary) !important;
	padding-bottom: 12px !important;
}

/* Responsywność */
@media (max-width: 768px) {
	.woocommerce table.shop_table {
		font-size: 14px !important;
	}
	
	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td {
		padding: 12px 8px !important;
	}
}

/* Nakładka ściemniająca background image dla mobile */
@media (max-width: 1024px) {
	.mobile-dark-overlay {
		position: relative;
	}
	
	.mobile-dark-overlay::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.2);
		z-index: 1;
		pointer-events: none;
	}
	
	.mobile-dark-overlay > * {
		position: relative;
		z-index: 2;
	}
}

/* Kolumny układają się pionowo na tablecie - tylko dla .col-1-tablet */
@media (max-width: 1024px) {
	.col-1-tablet {
		flex-direction: column !important;
	}
	
	.col-1-tablet .wp-block-column {
		flex-basis: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Pełna szerokość na mobile */
@media (max-width: 768px) {
	.width-100-mobile > * {
		max-width: 100% !important;
	}
	
	/* Custom padding na mobile */
	.custom-padding-mobile-1 {
		padding: 12px !important;
	}
}



.custom-empty-cart .wc-block-grid__product-title {
	font-size: 24px !important;
	color: #000 !important; /* lub inny Twój domyślny kolor tekstu */
}

/* Zapobiegaj zmianie koloru przy hover na link */
.custom-empty-cart .wc-block-grid__product-link:hover .wc-block-grid__product-title {
	color: #000 !important; /* ten sam kolor co wyżej */
}

/* Zmień kolor tylko przy bezpośrednim hover na tytuł */
.custom-empty-cart .wc-block-grid__product-link:hover .wc-block-grid__product-title:hover,
.custom-empty-cart .wc-block-grid__product-title:hover {	
	color: var(--wp--preset--color--secondary) !important;
}

/* Nadpisz biały hover dla linków */
:root :where(a:where(:not(.wp-element-button)):hover) {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none;
}

/* Style dla custom-product-box - styluje pojedyncze produkty w szablonie */
.custom-product-box {
	background-color: white;
	border-radius: 32px;
	padding: 24px;
	transition: border 0.3s ease;
	border: 2px solid transparent;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.custom-product-box:hover {
	border: 2px solid black;
}

/* Padding na mobile dla boxów produktów */
@media (max-width: 768px) {
	.custom-product-box {
		padding: 32px;
	}
}

/* Galeria produktów - zwiększ max-width */
.woocommerce .wp-block-woocommerce-product-image-gallery {
	max-width: 800px !important;
}

/* Ukryj element jeśli jego dziecko jest puste */
.hidden-if-empty > *:empty {
	display: none !important;
}

.hidden-if-empty:has(> *:empty) {
	display: none !important;
}

.hidden-item {
	display: none !important;
}

/* Podkreślenie dla linku "Dobierz rower" w cenniku */
.erp-info-link {
	text-decoration: underline !important;
}

.erp-info-link:hover,
.erp-info-link:active,
.erp-info-link:focus {
	text-decoration: underline !important;
}

/* Prosty format variation w checkout - jedno pod drugim */
.woocommerce-checkout .variation-simple {
	font-size: 12px !important;
	line-height: 1.8 !important;
	margin: 8px 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout .variation-simple .variation-item {
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout .variation-simple .variation-item:last-child {
	margin-bottom: 0 !important;
}

.woocommerce-checkout .variation-simple strong {
	font-weight: 600 !important;
}

/* Nowy układ tabeli checkout - kwota pod produktem */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
	display: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-name {
	padding: 20px 0 10px 0 !important;
	border-bottom: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-price-row {
	border-top: none !important;
	border-bottom: 1px solid #e0e0e0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-price-row:last-child {
	border-bottom: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-price-label {
	padding: 0 0 20px 0 !important;
	font-weight: 600 !important;
	width: auto !important;
	border-top: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-price-row .product-total {
	padding: 0 0 20px 0 !important;
	text-align: right !important;
	font-weight: 600 !important;
	border-top: none !important;
}

/* Wspólna sekcja variation pod wszystkimi produktami */
.woocommerce-checkout .woocommerce-checkout-review-order-table .shared-variation-row {
	border-top: 1px solid #e0e0e0 !important;
	border-bottom: 1px solid #e0e0e0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .shared-variation-data {
	padding: 15px 0 !important;
}

/* Podsumowanie w tfoot - usunięcie paddingów */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	padding-left: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	padding-right: 0 !important;
	text-align: right !important;
}

/* Informacja o VAT w osobnym wierszu */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-vat-info th {
	padding: 0 !important;
	border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-vat-info td {
	padding: 5px 0 0 0 !important;
	text-align: right !important;
	border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-vat-info .includes_tax {
	font-size: 13px !important;
	color: #666 !important;
	font-weight: normal !important;
}

/* Usuń border-bottom z wiersza "Łącznie" */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	border-bottom: none !important;
}

/* Usuń obrys z podsumowania konfiguratora */
.erp-summary-content {
	border: none !important;
}

/* Ukryj dividery w podsumowaniu konfiguratora */
.erp-summary-divider {
	display: none !important;
}

/* Układ dwukolumnowy dla checkout */
.woocommerce-checkout .checkout-wrapper {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.woocommerce-checkout .checkout-left-column {
	flex: 1;
	min-width: 0;
}

.woocommerce-checkout .checkout-right-column {
	flex: 0 0 30%;
	min-width: 0;
}

.woocommerce-checkout #customer_details {
	display: block;
	width: 100%;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
	margin-bottom: 30px;
}

.woocommerce-checkout #customer_details .col-2:last-child {
	margin-bottom: 0;
}

/* Sekcja płatności jako osobna sekcja z białym tłem */
.woocommerce-checkout .checkout-right-column .checkout-payment-section {
	background: var(--wp--preset--color--contrast, #fff);
	border-radius: 16px;
	padding: 20px;
}

/* Responsywność dla checkout */
@media (max-width: 1024px) {
	.woocommerce-checkout .checkout-wrapper {
		flex-direction: column;
		gap: 30px;
	}
	
	.woocommerce-checkout .checkout-right-column {
		flex: 1;
		width: 100%;
	}
	
}

/* Białe tło dla sekcji checkout - analogicznie do konfiguratora */
.woocommerce-checkout .checkout-right-column {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.woocommerce-checkout .checkout-right-column #order_review {
	background: var(--wp--preset--color--contrast, #fff);
	border-radius: 16px;
	padding: 20px;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: var(--wp--preset--color--contrast, #fff);
	border-radius: 16px;
	padding: 20px;
	margin-bottom: 30px;
}

/* Sekcja płatności wewnątrz checkout-payment-section */
.woocommerce-checkout .checkout-right-column #payment {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

/* Usuń kolor tła z sekcji płatności */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: transparent !important;
}

/* Czcionka 12px dla sekcji regulaminu i warunków */
.woocommerce-terms-and-conditions-wrapper {
	font-size: 12px !important;
}

.woocommerce-terms-and-conditions-wrapper p,
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
	font-size: 12px !important;
}

/* Czcionka 16px dla metod płatności */
.wc_payment_methods,
.wc_payment_methods li,
.wc_payment_methods label,
.wc_payment_methods .payment_box,
.wc_payment_methods .payment_box p {
	font-size: 16px !important;
}

/* Usuń border-top, margin-top i padding-top z sekcji szczegółowego cennika */
.erp-pricing-detailed-view {
	border-top: none !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Usuń border-bottom z nagłówka cennika */
.erp-pricing-header {
	border-bottom: none !important;
}

/* Usuń border i padding z sekcji cennika */
.erp-pricing-table.erp-pricing-compact,
.erp-pricing-table.erp-pricing-compact.erp-monthly-pricing {
	border: none !important;
	padding: 0 !important;
}

/* Ukryj zakładki produktu */
.tabs.wc-tabs {
	display: none !important;
}


/* Max-width dla strony kasy */
.woocommerce-checkout.wp-block-group.alignwide,
.woocommerce-checkout .wp-block-group.alignwide {
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Format 1:1 dla głównego zdjęcia w galerii - zawsze kwadratowe z przycinaniem */
.woocommerce-product-gallery .flex-viewport {
	position: relative;
	margin-bottom: 20px;
}

/* Odstęp między głównym zdjęciem a galerią miniatur */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
	margin-top: 20px;
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 16px !important;
	list-style: none !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img {
	border-radius: 16px !important;
	width: 100% !important;
	height: auto !important;
	display: block !important;
}

/* Stylowanie nagłówków sezonów - czcionka body i border-radius */
.erp-month-title.erp-collapsible {
	font-weight: normal !important;
	font-size: inherit !important;
	border-radius: 16px !important;
	border-width: 1px !important;
}

/* Stylowanie modyfikatorów sezonów */
.erp-month-modifier {
	font-weight: normal !important;
	font-size: inherit !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
}

/* Kolor nagłówków tabeli cennika */
.erp-pricing-table-content th,
.erp-season-content .erp-pricing-table-content th {
	color: #626463 !important;
	font-weight: 400 !important;
}

/* Rozmiar czcionki w komórkach tabeli */
.erp-pricing-table-content tbody td,
.erp-season-content .erp-pricing-table-content tbody td {
	font-size: 18px !important;
}

/* Grubość poziomych separatorów w tabeli - 1px zamiast 2px */
.erp-pricing-table-content tbody tr,
.erp-season-content .erp-pricing-table-content tbody tr {
	border-bottom-width: 1px !important;
}

/* Usuń margin-bottom z nagłówka cennika */
.erp-pricing-header {
	margin-bottom: 0 !important;
}

/* Stylowanie badge'a zniżki - tak samo jak modyfikator sezonu */
.discount-badge {
	font-weight: normal !important;
	font-size: inherit !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
}

.woocommerce-product-gallery__image {
	aspect-ratio: 1 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
}

.woocommerce-product-gallery__image a {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.woocommerce-product-gallery__image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

/* Nakładka czarna dla subpage-header */
.subpage-header {
	position: relative;
}

.subpage-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.1); /* 10% opacity dla desktop */
	z-index: 1;
	pointer-events: none;
}

.subpage-header > * {
	position: relative;
	z-index: 2;
}

/* 20% opacity dla mobile (max 768px) */
@media screen and (max-width: 768px) {
	.subpage-header::before {
		background-color: rgba(0, 0, 0, 0.2);
	}
}
