/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Import Bold Montserrat Font from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&display=swap');

/*
Add your custom styles here
*/
/* header tel css */
body.woocommerce-cart .shop_table th.product-quantity,
body.woocommerce-cart .shop_table td.product-quantity {
    display: none;
}
body.woocommerce-checkout div#customer_details > .col-2{
	display: none;
}

/* Hide Order Review section on checkout page - it's redundant */
body.woocommerce-checkout .e-checkout__order_review,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
	display: none !important;
}

/* Hide coupon section on checkout page */
body.woocommerce-checkout .e-coupon-box,
body.woocommerce-checkout .e-woocommerce-coupon-nudge,
body.woocommerce-checkout .e-show-coupon-form,
body.woocommerce-checkout .e-coupon-anchor {
	display: none !important;
}
.page-id-4630 .mainmenudesktop {
	display: none;
}

/* Calendar: remove outer frame (calendar-container), keep month label + frame with days per month */
.calendar-container {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
}

/* Calendar month selector - above the table */
.calendar-month-selector-wrap {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	flex-wrap: wrap;
	gap: 10px;
}
.calendar-month-label {
	margin-right: 8px;
	color: #fff;
	font-weight: bold;
}
.calendar-month-select {
	padding: 10px 16px;
	font-size: 16px;
	border-radius: 8px;
	background: rgba(51,51,51,0.9);
	color: #fff;
	border: 1px solid #555;
	min-width: 180px;
	cursor: pointer;
}

/* Calendar: month name above, frame only around the days table (not around month name) */
.calendar {
	border: none !important;
	padding: 0 !important;
}
.calendar h3 {
	margin-bottom: 10px !important;
}
.calendar table {
	border: 1px solid #555 !important;
	padding: 15px !important;
}

/* Mobile calendar - columns by width: 2 / 3 / 4, day number prominent */
@media only screen and (max-width: 768px) {
	.calendar-container {
		overflow: visible !important;
		max-width: 100% !important;
		padding: 12px !important;
		box-sizing: border-box !important;
		min-height: 0 !important;
	}
	.calendar .elementor-widget-container,
	.calendar .elementor-element {
		overflow: visible !important;
		max-width: 100% !important;
	}
	.calendar-table-wrap,
	.calendar-container .calendar table {
		display: none !important;
	}
	.calendar {
		overflow: visible !important;
	}
	.calendar-mobile-list {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 8px 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}
}
@media only screen and (max-width: 768px) {
	.calendar-mobile-list .calendar-day-card {
		display: flex;
		flex-direction: column;
		border: 1px solid #555;
		border-radius: 6px;
		overflow: hidden;
		text-decoration: none;
		color: inherit;
		min-width: 0;
	}
	.calendar-mobile-list .calendar-day-card img {
		width: 100%;
		height: 70px;
		object-fit: cover;
		display: block;
	}
	/* Day number + day name - overlay like original calendar */
	.calendar-mobile-list .calendar-day-card .date-label {
		position: absolute;
		bottom: 28px;
		left: 6px;
		padding: 4px 10px;
		background: rgba(0,0,0,0.85);
		color: #fff;
		font-weight: bold;
		font-size: 1.4em;
		line-height: 1;
		border-radius: 6px;
		min-width: 2em;
		text-align: center;
	}
	.calendar-mobile-list .calendar-day-card .day-name {
		position: absolute;
		bottom: 6px;
		left: 6px;
		right: 6px;
		padding: 3px 6px;
		background: rgba(0,0,0,0.85);
		color: #fff;
		font-size: 0.7em;
		text-align: center;
		border-radius: 4px;
	}
	.calendar-mobile-list .calendar-day-card {
		position: relative;
	}
	.calendar-mobile-list .calendar-day-card .closed-label {
		display: block;
		padding: 4px 10px;
		background: rgba(255, 0, 0, 0.8);
		color: #fff;
		font-size: 11px;
		font-weight: bold;
		text-transform: uppercase;
		margin-top: auto;
	}
	.calendar-mobile-list .calendar-day-card.disabled {
		opacity: 0.6;
		pointer-events: none;
		cursor: default;
	}
	.calendar-mobile-list .calendar-day-card:not(:has(img)) {
		min-height: 65px;
	}
	.calendar-mobile-list .calendar-day-card {
		-webkit-tap-highlight-color: transparent;
	}
}
@media only screen and (min-width: 769px) {
	.calendar-mobile-list {
		display: none !important;
	}
}

.telss {
	color: #e6e6e6;
	font-size: 17px !important;
	font-family: 'Oswald', sans-serif;
	font-weight: 900;
	position: relative;
	top: -7px;
}
/* navbar sticky */
.sticky-nav {
	position: fixed;
	top: 0;
	width: 100%;
	background: white; /* Adjust as needed */
	z-index: 1000;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
/* Heading underline custom */
.headingline h2:before {
	content: "";
	border-bottom: 4px solid #333;
	position: absolute;
	left: 0;
	bottom: -10px;
	height: 4px;
	width: 45px;
}
.Sec02 .headingline h2:before,
.heads h2:before{
	border-bottom: 4px solid #fff !important;

}
.heads h2:before {
	border-color: #fff !important;
}
.menuimg img {
	opacity: 0.5;
	transition: .5s;
}
.menuimg:hover img {
	opacity: 1;
	transition: .5s;
}
.custom-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.custom-gallery a {
	display: block;
	border: 1px solid #fff;
}
.custom-gallery img {
	width: 100%;
	height: auto;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.custom-gallery img:hover {
	transform: scale(1);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.custom-gallery a img {
	object-fit: cover;
	width: 100% !important;
	height: 300px !important;
	object-position: top;
	background: #fff !important;
}

.kubryk-onas-extra {
	width: 100%;
	max-width: 100%;
	margin-top: 28px;
}

.kubryk-onas-venue-text {
	margin: 0 0 28px;
	color: #333333;
	font-family: "Roboto Slab", serif;
	font-size: 17px;
	font-weight: 500;
	line-height: 24px;
}

.kubryk-onas-gallery-section {
	margin-bottom: 28px;
}

.kubryk-onas-gallery-section:last-child {
	margin-bottom: 0;
}

.kubryk-onas-gallery-title {
	margin: 0 0 12px;
	color: #333333;
	font-family: "Oswald", sans-serif;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.kubryk-onas-gallery-shell {
	width: 100%;
}

.kubryk-onas-gallery-viewport {
	display: flex;
	align-items: flex-start;
}

.kubryk-onas-gallery-scroll {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	gap: 20px;
	overflow-x: auto;
	padding-bottom: 20px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-color: #32393c rgba(50, 57, 60, 0.18);
	scrollbar-width: auto;
}

.kubryk-onas-gallery-scroll::-webkit-scrollbar {
	height: 20px;
}

.kubryk-onas-gallery-scroll::-webkit-scrollbar-track {
	background: rgba(50, 57, 60, 0.12);
	border-radius: 999px;
}

.kubryk-onas-gallery-scroll::-webkit-scrollbar-thumb {
	background: #32393c;
	border-radius: 999px;
}

.kubryk-onas-gallery-hint {
	flex: 0 0 0;
	width: 0;
	height: clamp(220px, 26vw, 300px);
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	border: none;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	cursor: default;
	transition: opacity 0.2s ease, flex-basis 0.2s ease, width 0.2s ease, margin 0.2s ease;
}

.kubryk-onas-gallery-hint.is-visible {
	flex: 0 0 30px;
	width: 30px;
	opacity: 1;
	pointer-events: auto;
	cursor: pointer;
}

.kubryk-onas-gallery-hint.is-visible:hover {
	opacity: 0.8;
}

.kubryk-onas-gallery-hint--prev {
	margin-right: 0;
	background: #32393c;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
}

.kubryk-onas-gallery-hint--prev.is-visible {
	margin-right: 8px;
}

.kubryk-onas-gallery-hint--next {
	margin-left: 0;
	background: #32393c;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
}

.kubryk-onas-gallery-hint--next.is-visible {
	margin-left: 8px;
}

.kubryk-onas-gallery-item {
	flex: 0 0 auto;
	width: clamp(300px, 38vw, 420px);
	border: 2px solid #fff;
	scroll-snap-align: start;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.kubryk-onas-gallery-item img {
	display: block;
	width: 100%;
	height: clamp(220px, 26vw, 300px);
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.kubryk-onas-gallery-item:hover img {
	transform: scale(1.02);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
}

.kubryk-onas-gallery-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 12px 0;
	padding: 0;
	list-style: none;
}

.kubryk-onas-gallery-preview li {
	position: relative;
	width: 96px;
	height: 96px;
}

.kubryk-onas-gallery-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

.kubryk-onas-gallery-preview .kubryk-onas-remove-image {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #b32d2e;
	color: #fff;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
}

.single-galeria h1.entry-title {
	display: none;
}
#lightbox {
	background: #000000e0;
}
a.lb-close {
	display: none !important;
}
/* .single-galeria .headerss::after {
content: "";
background: #000000d6;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 999999999999;
} */
/* .single-galeria::after {
content: "";
background: #000000d6;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 9;
} */

.headerss{
	position: relative;
}
.imageconta {
	position: absolute;
	top: 0px;
	overflow-y: scroll;
	height: 100vh;
	z-index: 999999999999;
}
.single-galeria {
	overflow: hidden !important;
}
.elementor-popup-modal .dialog-widget-content i.eicon-close::before {
	content: "";
	background: url(/wp-content/uploads/2025/02/Close.png);
	top: 10px;
	right: 20px;
	position: absolute;
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-size: contain;
}
/* .dialog-lightbox-widget {
opacity: 0;
} */
.dialog-type-lightbox,
.fancybox-container{
	z-index: 9999999999 !important;
}
.galeriaposts h3.elementor-post__title {
	font-size: 30px !important;
	line-height: 33px;
	font-family: "Oswald", Sans-serif;
	background-color: #209b00;
	margin-bottom:10px;
}
.dialog-lightbox-message .swiper-zoom-container img {
	border: 4px solid #fff !important;
	border-radius: 5px !important;
}
.mainmenudesktop ul li a:hover {
	text-decoration: underline;
}
.underliness h2 a:hover {
	text-decoration: underline;
}
/* PLugin */
.reservation-detail-container {
	padding: 100px 0px !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	justify-content: center;
	align-items: center;
}
.reservation-detail-container .reservation-buttons a.btn {
	border: 1px solid #fff;
	padding: 15px 40px !important;
	color: #fff !important;
}
.reservation-detail-container h2,
.page-id-4630 h1.entry-title,
.page-template-floor-plan-booking .containers h2,
.page-template-garden-booking .containers h2{
	color: #fff;
}
.reservation-detail-container h2 {
	font-family: 'Montserrat', 'Arial Black', 'Impact', 'Helvetica Neue', Arial, sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	line-height: 1.3 !important;
}
.reservation-buttons {
	margin-top: 50px;
}
.containers {
	max-width: 1240px !important;
	margin: auto !important;
}
.woocommerce-cart .wp-block-woocommerce-product-new {
	display: none;
}
.page-id-4630,
.page-template-reservation-detail,
.page-template-floor-plan-booking,
.page-template-garden-booking,
.page-template-book-tickets{
	background: #000;
}
.page-template-book-tickets .fullwidth {
	background: #fff;
}
.product-list {
	display: flex;
	justify-content:space-between;
}
.product-list .product-item img {
	height: 400px !important;
	width: 100% !important;
	object-fit: cover;
	object-position: top;
}
.product-selection .product-list a.product-link img {
	margin-bottom: -200px;
}
.product-list .product-item {
	width: 100%;
}
.product-list .product-item h3, .product-list .product-item p {
	color: #fff;
}
.product-list a.select-product-btn {
	border: 1px solid #fff;
	padding: 10px 60px !important;
	color: #fff !important;
	position: relative;
	top: 20px;
}
.product-description {
	color: #fff;
	margin-bottom: 15px;
}
.product-description ul li:before {
	content: "�??";
	position: absolute;
	width: 20px;
	height: 20px;
	left: -30px;
	color: #fff;
	top: 0;
}
.product-description ul li {
	position: relative !important;
}
.product-description ul {
	position: relative !important;
	list-style: none;
}
.popup-content span.close {
	cursor: pointer;
	font-size: 24px;
	position: absolute;
	right: 20px;
	top: 20px;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	color: #fff;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	transition: all 0.3s ease;
	border: 1px solid rgba(255, 255, 255, 0.2);
	z-index: 10;
}
.popup-content span.close:hover {
	background: rgba(255, 255, 255, 0.25);
	transform: rotate(90deg);
}
.popup-content .spot-event-images {
	display: flex !important;
	gap: 15px !important;
	margin: 20px 0 !important;
	flex-direction: column !important;
}
.popup-content img#spot-image {
	width: 100% !important;
	height: auto !important;
	max-height: 400px !important;
	object-fit: contain !important;
	border-radius: 15px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
	cursor: zoom-in !important;
	transition: transform 0.3s ease !important;
}
.popup-content img#spot-image:hover {
	transform: scale(1.02) !important;
}
.popup-content img.gallery-image,
.popup-content img#event-image {
	width: 100% !important;
	height: auto !important;
	max-height: 400px !important;
	object-fit: contain !important;
	border-radius: 15px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
	display: block !important;
	cursor: zoom-in !important;
	transition: transform 0.3s ease !important;
}
.popup-content img.gallery-image:hover,
.popup-content img#event-image:hover {
	transform: scale(1.02) !important;
}
.popup-content .product-description {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 15px !important;
	margin: 15px 0 !important;
	line-height: 1.6 !important;
}
.popup-content #product-description {
	color: #ffffff !important;
	font-size: 15px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	padding: 15px !important;
	border-radius: 10px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	opacity: 1 !important;
}
.popup-content #product-description * {
	color: #ffffff !important;
	opacity: 1 !important;
}
.popup-content #product-description h1,
.popup-content #product-description h2,
.popup-content #product-description h3,
.popup-content #product-description h4,
.popup-content #product-description h5,
.popup-content #product-description h6 {
	color: #fff !important;
	margin: 10px 0 !important;
	opacity: 1 !important;
}
.popup-content #product-description p {
	color: #ffffff !important;
	margin: 8px 0 !important;
	opacity: 1 !important;
}
.popup-content #product-description ul,
.popup-content #product-description ol {
	color: #ffffff !important;
	padding-left: 20px !important;
	opacity: 1 !important;
}
.popup-content #product-description li {
	color: #ffffff !important;
	margin: 5px 0 !important;
	opacity: 1 !important;
}
.product-selection .product-list .product-item-content {
	padding: 0 20px;
}
.product-selection .product-list a.product-link:before {
	content: "";
	background: linear-gradient(to right, rgb(0, 0, 0), rgb(87, 32, 88));
	width: 100%;
	height: 400px;
	position: absolute;
	opacity:0.5;
}
.product-selection .product-list a.product-link {
	position: relative;
}
.product-selection .product-list a.product-link:hover:before {
	background: linear-gradient(to right, rgba(213, 52, 67, 0.75), rgba(94, 15, 215, 0.75));
	opacity:0.75;
}
.product-item-content {
	position: relative;
}
.page-id-4630 .page-header {
	display: none;
}
/* -----------------FloorPlanBookingPageCSS---------------------------- */

#popup h4, 
#popup form .maindiv {
	display: none;
}
/* Override for booking form - show h4 and maindiv */
#popup .popup-content h4 {
	display: block !important;
}
#popup form#booking-form .maindiv {
	display: flex !important;
	gap: 20px;
}
.cart-summary ul li {
	color: #fff;
	border: 1px solid;
	padding: 10px;
}
.cart-summary ul {
	list-style: none;
	padding: 0;
	display: flex;
	gap: 20px;
	margin: 0 10px;
}
.spot.added-to-cart {
	background-color: #FFC107 !important; /* Yellow - my cart */
	color: black !important;
	font-weight: bold;
	cursor: not-allowed;
	pointer-events: auto;
}
/* Ensure yellow cart items override red booked style */
.spot.booked.added-to-cart {
	background-color: #FFC107 !important;
	color: black !important;
	cursor: not-allowed;
}
.floor-plan {
	position: relative;
	text-align: center;
}
.floor-plan {
	position: relative;
	text-align: center;
	height: auto;
}

.spots-container {
	margin-top: 20px;
}
.spot {
	display: inline-block;
	margin: 5px;
	padding: 10px 15px;
	background: #4CAF50;
	color: white;
	border: none;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.2s ease;
}

.spot:hover {
	background: #FF0080 !important; /* Magenta/purple on hover - same as soft-locked */
	color: white !important;
	cursor: pointer;
}

/* Stoliki w koszyku (?�?te) - pokazuj "not-allowed" cursor i NIE zmieniaj koloru */
.spot.added-to-cart:hover {
	background: #FFC107 !important; /* Pozostaje ?�?ty */
	color: black !important; /* Pozostaje czarny tekst */
	cursor: not-allowed !important; /* Czerwone k�?ko z przekre?leniem */
}

.spot.booked {
	background: red;
	cursor: not-allowed;
	/*     opacity: 0.6; */
}

.spot.booked:hover {
	background: red; /* Keep red on hover for booked spots */
	color: white;
}

.spot.added-to-cart:hover {
	background: #FFC107; /* Keep yellow on hover for cart items */
	color: black;
}

.spot.selected {
	background: #FF0080;
	color: white;
}

.spot.locked {
	/* Exactly the same style as .spot.selected so both users see the same color */
	background: #FF0080 !important;
	color: white !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

.spot.locked:hover {
	background: #FF0080 !important;
	color: white !important;
}

.hidden-form {
	display: none;
}
.cart-summary ul li {
	position: relative;
}
.cart-summary ul li button {
	position: absolute;
	padding: 0px;
	border-radius: 30px;
	width: 25px;
	height: 25px;
	font-size: 22px;
	right: -10px;
	top: -12px;
	background: #fff !important;
	margin-left: 0 !important;
	font-family: 'Atlassian Sans' !important;
	line-height: 1px !important;
}
.spots-container .spot:nth-child(1) {
	position: absolute;
	top: 282px;
	left: 360px;
	border-radius: 50px;
}
.spots-container .spot:nth-child(2) {
	position: absolute;
	top: 278px;
	left: 507px;
	border-radius: 50%;
}
.spots-container .spot:nth-child(3) {
	position: absolute;
	top: 430px;
	left: 512px;
	border-radius: 50%;
}
.spots-container .spot:nth-child(4) {
	position: absolute;
	top: 623px;
	left: 341px;
	width: 33px;
	height: 110px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(5) {
	position: absolute;
	top: 506px;
	left: 341px;
	width: 33px;
	height: 110px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(6) {
	position: absolute;
	top: 391px;
	left: 362px;
	width: 33px;
	height: 110px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(7) {
	position: absolute;
	top: 364px;
	left: 36px;
	width: 46px;
	height: 113px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(8) {
	position: absolute;
	top: 364px;
	left: 130px;
	width: 46px;
	height: 113px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(9) {
	position: absolute;
	top: 364px;
	left: 271px;
	width: 46px;
	height: 113px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(10) {
	position: absolute;
	top: 52px;
	left: 200.4px;
	width: 112px;
	height: 43px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(11) {
	position: absolute;
	top: 52px;
	left: 342.4px;
	width: 112px;
	height: 43px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(12) {
	position: absolute;
	top: 52px;
	left: 492.4px;
	width: 112px;
	height: 43px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(13) {
	position: absolute;
	top: 52px;
	left: 627.4px;
	width: 112px;
	height: 43px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(14) {
	position: absolute;
	top: 193px;
	left: 322.6px;
	width: 112px;
	height: 43px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(15) {
	position: absolute;
	top: 193px;
	left: 459.6px;
	width: 112px;
	height: 43px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(16) {
	position: absolute;
	top: 581px;
	left: 593.6px;
	width: 62px;
	height: 44px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(17) {
	position: absolute;
	top: 744px;
	left: 89.6px;
	width: 45px;
	height: 110px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(18) {
	position: absolute;
	top: 744px;
	left: 209.6px;
	width: 45px;
	height: 110px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(19) {
	position: absolute;
	top: 779px;
	left: 329.6px;
	width: 65px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
}
.spots-container .spot:nth-child(20) {
	position: absolute;
	top: 299px;
	left: 61.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(21) {
	position: absolute;
	top: 297px;
	left: 159.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(22) {
	position: absolute;
	top: 281px;
	left: 246.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(23) {
	position: absolute;
	top: 212px;
	left: 99.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(24) {
	position: absolute;
	top: 196px;
	left: 259.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(25) {
	position: absolute;
	top: 191px;
	left: 588.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(26) {
	position: absolute;
	top: 589px;
	left: 135.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(27) {
	position: absolute;
	top: 549px;
	left: 254.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(28) {
	position: absolute;
	top: 629px;
	left: 255.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(29) {
	position: absolute;
	top: 683px;
	left: 203px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(30) {
	position: absolute;
	top: 683px;
	left: 129px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(31) {
	position: absolute;
	top: 686px;
	left: 34px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(32) {
	position: absolute;
	top: 596px;
	left: 32.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(33) {
	position: absolute;
	top: 507px;
	left: 34.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.spots-container .spot:nth-child(34) {
	position: absolute;
	top: 506px;
	left: 135.6px;
	width: 25px;
	height: 25px;
	padding: 0 !important;
	font-size: 12px !important;
	border-radius: 100px;
}
.floor-plan-image {
	width: 100%;
	max-width: 100%;
	display: flex;
	margin-top: 20px;
}
form#booking-form {
	margin-bottom: 20px;
}

#booking-form .maindiv {
	display: flex;
	gap: 20px;
}
#booking-form .maindiv .innerdiv {
	width: 50% !important;
}
#booking-form button {
	width: 100%;
	background-color: #000;
	border-color: #000 !important;
	color: #fff;
}
.pricess{
	opacity:0;
}
p.product-pricess, 
#product-description {
	color: #000 !important;
}
.popup-content {
	display: flex;
	flex-direction: column;
}
.popup-content span.close {
	order: 1;
}
.popup-content h3#spot-name {
	order: 2;
}
.popup-content p.product-pricess {
	order: 3;
}
.popup-content div#product-description {
	order: 4;
}
.popup-content form#booking-form {
	order: 5;
}
.popup-content .spot-event-images {
	order: 6;
}
.popup-content p.pricess {
	order: 7;
}
.popup::before {
	content: '' !important;
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(0, 0, 0, 0.85) !important;
	z-index: -1 !important;
}

.popup { 
	position: fixed !important; 
	top: 0 !important; 
	left: 0 !important; 
	width: 100% !important;
	height: 100% !important;
	background: rgba(0, 0, 0, 0.7) !important; /* Dark overlay that blocks clicks */
	z-index: 10000 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
}

@keyframes popupFadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.popup.hidden {
	display: none !important;
}

/* Lightbox for full-size images */
.image-lightbox {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(0, 0, 0, 0.95) !important;
	z-index: 20000 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 20px !important;
	cursor: zoom-out !important;
}
.image-lightbox.hidden {
	display: none !important;
}
.image-lightbox img#lightbox-image {
	max-width: 90% !important;
	max-height: 90vh !important;
	object-fit: contain !important;
	border-radius: 10px !important;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.9) !important;
	cursor: default !important;
}
.image-lightbox .lightbox-close {
	position: absolute !important;
	top: 30px !important;
	right: 30px !important;
	font-size: 40px !important;
	color: #fff !important;
	cursor: pointer !important;
	background: rgba(255, 255, 255, 0.1) !important;
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.3s ease !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.image-lightbox .lightbox-close:hover {
	background: rgba(255, 255, 255, 0.2) !important;
	transform: rotate(90deg) !important;
}
.popup-content { 
	text-align: center; 
	padding: 30px !important;
	color: #fff !important;
	max-height: 90vh !important;
	overflow-y: auto !important;
	width: 90% !important;
	max-width: 600px !important;
	background: linear-gradient(145deg, #1a1a1a 0%, #2d1f33 100%) !important;
	border-radius: 20px !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
	position: relative !important;
}
.popup-content h3#spot-name {
	font-size: 32px !important;
	font-weight: 700 !important;
	margin: 0 0 20px 0 !important;
	color: #fff !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
}
.popup-content .pricess,
.popup-content .product-pricess {
	font-size: 18px !important;
	color: #ffffff !important;
	margin: 10px 0 !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}
.popup-content .pricess span,
.popup-content .product-pricess span {
	font-weight: 700 !important;
	color: #ffd700 !important;
	font-size: 20px !important;
}
#popup form#booking-form button[type="submit"] {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
	color: #fff !important;
	border: none !important;
	padding: 15px 40px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	border-radius: 50px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4) !important;
	margin-top: 20px !important;
}
#popup form#booking-form button[type="submit"]:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 15px 40px rgba(102, 126, 234, 0.6) !important;
}
#popup form#booking-form select#booking-time {
	background: rgba(255, 255, 255, 0.1) !important;
	color: #fff !important;
	border: 0.5px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 10px !important;
	padding: 10px 15px !important;
	font-size: 16px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
}
#popup form#booking-form select#booking-time:hover {
	background: rgba(255, 255, 255, 0.15) !important;
	border: 0.5px solid rgba(255, 255, 255, 0.25) !important;
}
#popup form#booking-form select#booking-time option {
	background: #2d1f33 !important;
	color: #fff !important;
	padding: 10px !important;
}
#popup form#booking-form .maindiv label {
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 500 !important;
}
.spot.booked { 
/* 	background: #FFC107;  */
	background: red; 
	cursor: not-allowed; 
}
.hidden { display: none; }
.popup-content img {
	width: 300px;
}
body.no-scroll {
	overflow: hidden;
}
.product-selection > h2, 
.product-selection > h5 {
	text-align: center;
	color: #fff;
}
.product-selection .no-offers-msg {
	text-align: center;
	color: rgba(255, 255, 255, 0.8);
	font-size: 18px;
	padding: 40px 20px;
	margin: 0;
}
.postid-4670 .bundleproductcart,
.postid-4670 .productsinglesecond{
	display: none;
}
.postid-4670 .productsinglefirst {
	width: 100%;
}
.innerdiv2 {
	width: 100%;
}
.hidediv{
	display:none;
}
.floor-plan2 {
	position: relative;
	text-align: center;
}
.floor-plan2 {
	position: relative;
	text-align: center;
	height: auto;
}
.twobuttons a {
	padding: 10px 20px;
	background: #444;
	color: white;
	text-decoration: none;
	margin-right: 10px;
	border-radius: 5px;
	transition: 0.3s;
}
.twobuttons a.active {
	background: #ff4500;
}
.twobuttons h2{
	opacity:0 !important;
	height:0 !important;
}
.calendar td.calendar-day span.date-label {
	position: absolute;
	bottom: 0px;
	background: transparent !important;
	width: 100%;
	left: 0;
	z-index: 8;
	color: #fff;
	font-weight:bold;
}

/* Desktop: day number in mobile-style overlay (day name only on mobile - 3 cols) */
@media only screen and (min-width: 769px) {
	.calendar td.calendar-day {
		position: relative;
	}
	.calendar td.calendar-day span.date-label {
		position: absolute !important;
		bottom: 6px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: auto !important;
		padding: 4px 10px !important;
		background: rgba(0,0,0,0.85) !important;
		color: #fff !important;
		font-weight: bold !important;
		font-size: 1.4em !important;
		line-height: 1 !important;
		border-radius: 6px !important;
		min-width: 2em !important;
		text-align: center !important;
		z-index: 8;
	}
}
.special-date:before {
	content: "closed";
	position: absolute;
	font-size: 20px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: red;
}
.special-date {
	pointer-events: none !important;
	position: relative;
}
.floor-plan2 .spots-container .spot:nth-child(1),
.floor-plan2 .spots-container .spot:nth-child(2),
.floor-plan2 .spots-container .spot:nth-child(3),
.floor-plan2 .spots-container .spot:nth-child(4),
.floor-plan2 .spots-container .spot:nth-child(5),
.floor-plan2 .spots-container .spot:nth-child(6),
.floor-plan2 .spots-container .spot:nth-child(7),
.floor-plan2 .spots-container .spot:nth-child(8),
.floor-plan2 .spots-container .spot:nth-child(9),
.floor-plan2 .spots-container .spot:nth-child(10),
.floor-plan2 .spots-container .spot:nth-child(11),
.floor-plan2 .spots-container .spot:nth-child(12),
.floor-plan2 .spots-container .spot:nth-child(13),
.floor-plan2 .spots-container .spot:nth-child(14),
.floor-plan2 .spots-container .spot:nth-child(15),
.floor-plan2 .spots-container .spot:nth-child(16),
.floor-plan2 .spots-container .spot:nth-child(17),
.floor-plan2 .spots-container .spot:nth-child(18),
.floor-plan2 .spots-container .spot:nth-child(19),
.floor-plan2 .spots-container .spot:nth-child(20),
.floor-plan2 .spots-container .spot:nth-child(21),
.floor-plan2 .spots-container .spot:nth-child(22),
.floor-plan2 .spots-container .spot:nth-child(23),
.floor-plan2 .spots-container .spot:nth-child(24),
.floor-plan2 .spots-container .spot:nth-child(25),
.floor-plan2 .spots-container .spot:nth-child(26),
.floor-plan2 .spots-container .spot:nth-child(27),
.floor-plan2 .spots-container .spot:nth-child(28),
.floor-plan2 .spots-container .spot:nth-child(29),
.floor-plan2 .spots-container .spot:nth-child(30),
.floor-plan2 .spots-container .spot:nth-child(31),
.floor-plan2 .spots-container .spot:nth-child(32),
.floor-plan2 .spots-container .spot:nth-child(33),
.floor-plan2 .spots-container .spot:nth-child(34){
	display:none;
}

.floor-plan .spots-container .spot:nth-child(35),
.floor-plan .spots-container .spot:nth-child(36),
.floor-plan .spots-container .spot:nth-child(37),
.floor-plan .spots-container .spot:nth-child(38),
.floor-plan .spots-container .spot:nth-child(39),
.floor-plan .spots-container .spot:nth-child(40),
.floor-plan .spots-container .spot:nth-child(41),
.floor-plan .spots-container .spot:nth-child(42),
.floor-plan .spots-container .spot:nth-child(43),
.floor-plan .spots-container .spot:nth-child(44),
.floor-plan .spots-container .spot:nth-child(45),
.floor-plan .spots-container .spot:nth-child(46),
.floor-plan .spots-container .spot:nth-child(47),
.floor-plan .spots-container .spot:nth-child(48){
	display:none;
}

.floor-plan2 .spots-container .spot:nth-child(35) {
	position: absolute;
	top: 80px;
	left: 513px;
}
.floor-plan2 .spots-container .spot:nth-child(36) {
	position: absolute;
	top: 80px;
	left: 690px;
}
.floor-plan2 .spots-container .spot:nth-child(37) {
	position: absolute;
	top: 80px;
	left: 868px;
}
.floor-plan2 .spots-container .spot:nth-child(38) {
	position: absolute;
	top: 80px;
	left: 1048px;
}
.floor-plan2 .spots-container .spot:nth-child(39) {
	position: absolute;
	top: 189px;
	left: 1036px;
	transform: rotate(7deg);
	width: 70px;
}
.floor-plan2 .spots-container .spot:nth-child(40) {
	position: absolute;
	top: 499px;
	left: 1009px;
	transform: rotate(7deg);
	width: 60px;
	height: 160px;
}
.floor-plan2 .spots-container .spot:nth-child(41) {
	position: absolute;
	top: 622px;
	left: 815px;
	width: 90px;
}
.floor-plan2 .spots-container .spot:nth-child(42) {
	position: absolute;
	top: 760px;
	left: 861px;
	width: 70px;
	height: 31px;
	font-size: 12px;
	line-height: 12px;
}
.floor-plan2 .spots-container .spot:nth-child(43) {
	position: absolute;
	top: 760px;
	left: 981px;
	width: 70px;
	height: 31px;
	font-size: 12px;
	line-height: 12px;
}
.floor-plan2 .spots-container .spot:nth-child(44) {
	position: absolute;
	top: 861px;
	left: 861px;
	width: 70px;
	height: 31px;
	font-size: 12px;
	line-height: 12px;
}
.floor-plan2 .spots-container .spot:nth-child(45) {
	position: absolute;
	top: 861px;
	left: 981px;
	width: 70px;
	height: 31px;
	font-size: 12px;
	line-height: 12px;
}
.floor-plan2 .spots-container .spot:nth-child(46) {
	position: absolute;
	top: 970px;
	left: 884px;
	width: 146px;
	height: 43px;
	font-size: 12px;
	line-height: 12px;
}
.floor-plan2 .spots-container .spot:nth-child(47) {
	position: absolute;
	top: 168px;
	left: 567px;
	width: 29px;
	font-size: 10px;
	line-height: 10px;
	height: 52px;
	padding: 0;
}
.floor-plan2 .spots-container .spot:nth-child(48) {
	position: absolute;
	top: 168px;
	left: 834px;
	width: 29px;
	font-size: 10px;
	line-height: 10px;
	height: 52px;
	padding: 0;
}
/* Modern Cart Styling - v3.0 */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-cart #page,
body.woocommerce-checkout #page,
body.woocommerce-cart #content,
body.woocommerce-checkout #content,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart .site,
body.woocommerce-checkout .site,
body.woocommerce-cart #main-content,
body.woocommerce-checkout #main-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
	min-height: 100vh !important;
}

/* Cart page timer - matches floor-plan-booking timer style */
body.woocommerce-cart .e-cart__column-start .cart-page-timer-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 20px;
	margin-bottom: 0;
	padding: 0 20px 20px 20px;
}

/* Fallback if not inside e-cart__column-start */
body.woocommerce-cart .cart-page-timer-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 0;
}

body.woocommerce-cart .cart-page-timer-wrapper .cart-timer {
	background: rgba(0, 0, 0, 0.4);
	border: 2px solid rgba(255, 215, 0, 0.3);
	border-radius: 25px;
	padding: 10px 20px;
	display: flex;
	align-items: center;
	gap: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
	transition: all 0.3s ease;
}

body.woocommerce-cart .cart-page-timer-wrapper .timer-icon {
	font-size: 20px;
	color: #FFD700;
}

body.woocommerce-cart .cart-page-timer-wrapper .timer-label {
	color: rgba(255, 255, 255, 0.9);
	font-weight: 500;
	font-size: 14px;
}

body.woocommerce-cart .cart-page-timer-wrapper .timer-display {
	color: #FFD700;
	font-weight: 700;
	font-size: 18px;
	font-family: 'Courier New', monospace;
	min-width: 55px;
	text-align: center;
	letter-spacing: 1px;
}

body.woocommerce-cart .cart-page-timer-wrapper .cart-timer.warning {
	border-color: rgba(255, 0, 0, 0.6);
	background: rgba(139, 0, 0, 0.3);
	animation: pulse-timer 1s infinite;
}

body.woocommerce-cart .cart-page-timer-wrapper .cart-timer.warning .timer-display {
	color: #ff4444;
}

body.woocommerce-cart .cart-page-timer-wrapper .cart-timer.warning .timer-icon {
	color: #ff4444;
}

@keyframes pulse-timer {
	0%, 100% { 
		opacity: 1;
		transform: scale(1);
	}
	50% { 
		opacity: 0.8;
		transform: scale(1.02);
	}
}

/* Error popup for cart page - same styles as floor-plan-booking */
body.woocommerce-cart #cart-error-popup.error-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10000;
}

body.woocommerce-cart #cart-error-popup .error-popup-content {
	background: white;
	padding: 30px;
	border-radius: 10px;
	max-width: 400px;
	width: 90%;
	text-align: center;
	position: relative;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}

body.woocommerce-cart #cart-error-popup .error-close {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 28px;
	font-weight: bold;
	color: #999;
	cursor: pointer;
	transition: color 0.2s;
}

body.woocommerce-cart #cart-error-popup .error-close:hover {
	color: #333;
}

body.woocommerce-cart #cart-error-popup .error-title {
	margin: 0 0 15px 0;
	color: #e74c3c;
	font-size: 24px;
}

body.woocommerce-cart #cart-error-popup .error-message {
	margin: 0 0 20px 0;
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	white-space: pre-line;
}

body.woocommerce-cart #cart-error-popup .error-ok-btn {
	background: #e74c3c;
	color: white;
	border: none;
	padding: 12px 40px;
	border-radius: 5px;
	font-size: 16px;
	cursor: pointer;
	transition: background 0.2s;
}

body.woocommerce-cart #cart-error-popup .error-ok-btn:hover {
	background: #c0392b;
}

body.woocommerce-cart * {
	box-sizing: border-box;
}

body.woocommerce-cart .site-content {
	padding: 40px 20px;
	max-width: 1400px;
	margin: 0 auto;
}

body.woocommerce-cart .woocommerce {
	background: transparent !important;
	border-radius: 20px;
	padding: 40px;
}

body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3 {
	color: #FFD700 !important;
	font-weight: 600;
	margin-bottom: 30px;
	text-shadow: 0 2px 10px rgba(255, 215, 0, 0.3);
}

body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
	margin-bottom: 20px;
}

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
	width: 100%;
}

@media (min-width: 769px) {
	body.woocommerce-cart .woocommerce {
		display: flex;
		gap: 40px;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	
	body.woocommerce-cart form.woocommerce-cart-form {
		flex: 1 1 60%;
		min-width: 500px;
	}
	
	body.woocommerce-cart .cart-collaterals {
		flex: 1 1 35%;
		min-width: 300px;
	}
}

/* Cart Table */
body.woocommerce-cart .woocommerce-cart-form {
	background: rgba(0, 0, 0, 0.3) !important;
	border-radius: 15px !important;
	padding: 30px !important;
	margin-bottom: 40px !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
}

body.woocommerce-cart table.shop_table {
	background: transparent !important;
	border: none !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	width: 100% !important;
	border-collapse: separate !important;
}

body.woocommerce-cart table.shop_table thead {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
}

body.woocommerce-cart table.shop_table thead th {
	color: #000 !important;
	font-weight: 600 !important;
	padding: 20px 15px !important;
	border: none !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
	letter-spacing: 1px !important;
	background: transparent !important;
}

body.woocommerce-cart .woocommerce table.shop_table tbody tr {
	background: rgba(255, 255, 255, 0.05) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	transition: all 0.3s ease !important;
	border-top: none !important;
}

body.woocommerce-cart .woocommerce table.shop_table tbody tr:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	transform: translateX(5px) !important;
}

body.woocommerce-cart .woocommerce table.shop_table tbody td {
	padding: 25px 15px !important;
	border: none !important;
	color: #fff !important;
	vertical-align: middle !important;
	background: transparent !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-thumbnail img {
	border-radius: 10px !important;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
	max-width: 100px !important;
	height: auto !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name {
	min-width: 250px;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name a {
	color: #FFD700 !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	text-decoration: none !important;
	transition: color 0.3s ease !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name a:hover {
	color: #FFA500 !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name .wc-item-meta,
body.woocommerce-cart .woocommerce table.shop_table .product-name dl,
body.woocommerce-cart .woocommerce table.shop_table .product-name p {
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: 14px !important;
	margin-top: 8px !important;
	line-height: 1.6 !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name .wc-item-meta dt,
body.woocommerce-cart .woocommerce table.shop_table .product-name .wc-item-meta dd {
	display: inline !important;
	margin: 0 !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name .wc-item-meta dt {
	font-weight: 600 !important;
	color: rgba(255, 215, 0, 0.8) !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name .wc-item-meta dd {
	margin-right: 15px !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-name img {
	max-width: 150px !important;
	height: auto !important;
	border-radius: 8px !important;
	margin-top: 10px !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3) !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-price,
body.woocommerce-cart .woocommerce table.shop_table .product-subtotal {
	color: #FFD700 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-price .woocommerce-Price-amount,
body.woocommerce-cart .woocommerce table.shop_table .product-subtotal .woocommerce-Price-amount {
	color: #FFD700 !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-price .woocommerce-Price-currencySymbol,
body.woocommerce-cart .woocommerce table.shop_table .product-subtotal .woocommerce-Price-currencySymbol {
	color: #FFD700 !important;
}

body.woocommerce-cart .woocommerce table.shop_table .quantity input {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid rgba(255, 215, 0, 0.3) !important;
	color: #fff !important;
	padding: 10px !important;
	border-radius: 8px !important;
	width: 80px !important;
	text-align: center !important;
	font-size: 16px !important;
	transition: all 0.3s ease !important;
}

body.woocommerce-cart .woocommerce table.shop_table .quantity input:focus {
	border-color: #FFD700 !important;
	outline: none !important;
	box-shadow: 0 0 10px rgba(255, 215, 0, 0.3) !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-remove a {
	background: rgba(255, 0, 0, 0.2) !important;
	color: #ff4444 !important;
	width: 35px !important;
	height: 35px !important;
	line-height: 35px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	text-align: center !important;
	transition: all 0.3s ease !important;
	font-size: 20px !important;
}

body.woocommerce-cart .woocommerce table.shop_table .product-remove a:hover {
	background: rgba(255, 0, 0, 0.4) !important;
	transform: rotate(90deg) !important;
}

/* Coupon Section */
body.woocommerce-cart .woocommerce .coupon {
	display: flex !important;
	gap: 15px !important;
	align-items: center !important;
	margin-top: 20px !important;
}

body.woocommerce-cart .woocommerce .coupon label {
	color: #FFD700 !important;
	font-weight: 600 !important;
	margin-right: 10px !important;
}

body.woocommerce-cart .woocommerce .coupon input[type="text"] {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid rgba(255, 215, 0, 0.3) !important;
	color: #fff !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	width: 250px !important;
	font-size: 14px !important;
	transition: all 0.3s ease !important;
	box-sizing: border-box !important;
	height: 46px !important;
}

body.woocommerce-cart .woocommerce .coupon input[type="text"]:focus {
	border-color: #FFD700 !important;
	outline: none !important;
	box-shadow: 0 0 10px rgba(255, 215, 0, 0.3) !important;
}

body.woocommerce-cart .woocommerce .coupon input[type="text"]::placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
}

body.woocommerce-cart .woocommerce .coupon .button {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: 2px solid transparent !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
	box-sizing: border-box !important;
	height: 46px !important;
}

body.woocommerce-cart .woocommerce .coupon .button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(255, 215, 0, 0.5) !important;
}

/* Update Cart Button */
body.woocommerce-cart .woocommerce .actions .button {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: none !important;
	padding: 15px 35px !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
}

body.woocommerce-cart .woocommerce .actions .button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(255, 215, 0, 0.5) !important;
}

body.woocommerce-cart .woocommerce .actions {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-top: 20px !important;
	gap: 15px !important;
}

/* Cart Totals */
body.woocommerce-cart .woocommerce .cart_totals {
	background: rgba(0, 0, 0, 0.3) !important;
	border-radius: 15px !important;
	padding: 30px !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
}

body.woocommerce-cart .woocommerce .cart_totals h2 {
	color: #FFD700 !important;
	margin-bottom: 25px !important;
	font-size: 24px !important;
}

body.woocommerce-cart .woocommerce .cart_totals table {
	background: transparent !important;
	border: none !important;
}

body.woocommerce-cart .woocommerce .cart_totals table tr {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.woocommerce-cart .woocommerce .cart_totals table tr:last-child {
	border-bottom: none !important;
}

body.woocommerce-cart .woocommerce .cart_totals table th,
body.woocommerce-cart .woocommerce .cart_totals table td {
	padding: 15px 0 !important;
	border: none !important;
	color: #fff !important;
	font-size: 16px !important;
}

body.woocommerce-cart .woocommerce .cart_totals table td .woocommerce-Price-amount,
body.woocommerce-cart .woocommerce .cart_totals table td .woocommerce-Price-currencySymbol {
	color: #FFD700 !important;
}

body.woocommerce-cart .woocommerce .cart_totals table .order-total th,
body.woocommerce-cart .woocommerce .cart_totals table .order-total td {
	color: #FFD700 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	padding-top: 20px !important;
}

body.woocommerce-cart .woocommerce .cart_totals table .order-total td .woocommerce-Price-amount,
body.woocommerce-cart .woocommerce .cart_totals table .order-total td .woocommerce-Price-currencySymbol {
	color: #FFD700 !important;
	font-size: 20px !important;
}

body.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout .button {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: none !important;
	padding: 20px 40px !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	width: 100% !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
	margin-top: 20px !important;
}

body.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout .button:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 10px 25px rgba(255, 215, 0, 0.5) !important;
	color: #000 !important;
}

/* Empty Cart Message */
body.woocommerce-cart .woocommerce .woocommerce-info,
body.woocommerce-cart .woocommerce .woocommerce-message {
	background: rgba(255, 215, 0, 0.1);
	color: #FFD700;
	border: 2px solid rgba(255, 215, 0, 0.3);
	padding: 20px 20px 20px 60px;
	border-radius: 10px;
	display: block !important;
	position: relative;
	font-size: 18px;
	line-height: 1.6;
}

body.woocommerce-cart .woocommerce .woocommerce-info::before,
body.woocommerce-cart .woocommerce .woocommerce-message::before {
	color: #FFD700;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
}

body.woocommerce-cart .woocommerce .cart-empty.woocommerce-info {
	text-align: left;
	margin-bottom: 30px;
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	display: block !important;
	float: none !important;
}

body.woocommerce-cart .woocommerce .return-to-shop {
	text-align: center;
	margin-top: 30px;
	width: 100%;
	clear: both;
	display: block !important;
	float: none !important;
}

/* Wymuszenie uk?adu pionowego dla pustego koszyka */
body.woocommerce-cart .woocommerce:has(.cart-empty) {
	display: block !important;
	flex-direction: column !important;
}

body.woocommerce-cart .woocommerce .cart-empty ~ .return-to-shop {
	margin-top: 30px !important;
}

body.woocommerce-cart .woocommerce .return-to-shop .button {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
	color: #000;
	border: none;
	padding: 15px 40px;
	border-radius: 10px;
	font-weight: 600;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3);
	text-decoration: none;
	display: inline-block;
}

body.woocommerce-cart .woocommerce .return-to-shop .button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(255, 215, 0, 0.5);
	color: #000;
}

/* Breadcrumbs - tylko dla breadcrumbs w WooCommerce, nie dla ca?ej strony */
body.woocommerce-cart .woocommerce .woocommerce-breadcrumb {
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 30px;
}

body.woocommerce-cart .woocommerce .woocommerce-breadcrumb a {
	color: #FFD700;
	text-decoration: none;
	transition: color 0.3s ease;
}

body.woocommerce-cart .woocommerce .woocommerce-breadcrumb a:hover {
	color: #FFA500;
}

/* Responsive */
@media only screen and (max-width: 768px) {
	body.woocommerce-cart .woocommerce {
		padding: 20px !important;
		flex-direction: column !important;
	}
	
	body.woocommerce-cart form.woocommerce-cart-form,
	body.woocommerce-cart .cart-collaterals {
		width: 100% !important;
		min-width: auto !important;
	}
	
	body.woocommerce-cart .woocommerce .woocommerce-cart-form,
	body.woocommerce-cart .woocommerce .cart_totals {
		padding: 20px !important;
	}
	
	body.woocommerce-cart .woocommerce table.shop_table thead th {
		font-size: 12px !important;
		padding: 15px 10px !important;
	}
	
	body.woocommerce-cart .woocommerce table.shop_table tbody td {
		padding: 15px 10px !important;
		font-size: 14px !important;
	}
	
	body.woocommerce-cart .woocommerce table.shop_table .product-name {
		min-width: auto !important;
	}
	
	body.woocommerce-cart .woocommerce .coupon {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	
	body.woocommerce-cart .woocommerce .coupon input[type="text"] {
		width: 100% !important;
	}
	
	body.woocommerce-cart .woocommerce .actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}
}

.product_cat-bundle-product {
	width: 1240px !important;
	margin: auto;
	padding-top:80px;
}

.product_cat-bundle-product .woosb-wrap.woosb-bundled,
.product_cat-bundle-product .product_meta,
.product_cat-bundle-product li#tab-title-reviews,
.product_cat-bundle-product section.related.products,
nav.woocommerce-breadcrumb,
.product_cat-bundle-product .woocommerce-tabs.wc-tabs-wrapper{
	display: none;
}
.product_cat-bundle-product button.single_add_to_cart_button.button.alt {
	margin-top: 30px;
}
#product-4670 .woocommerce-tabs.wc-tabs-wrapper,
#product-4670 .woocommerce-product-gallery {
	display: none;
}
#product-4670 .summary.entry-summary {
	width: 100%;
}
.product-selection .product-list .product-item h3 {
	font-size: 20px;
	height: 50px;
}
.product-selection .product-list .product-item p {
	margin-bottom: 20px;
}
#product-4775 .woocommerce-tabs.wc-tabs-wrapper, 
#product-4775 .related.products,
#product-4768 .woocommerce-tabs.wc-tabs-wrapper, 
#product-4768 .related.products{
	display: none;
}
/* Sklep — ten sam standard kolorystyczny co rezerwacje / koszyk / checkout */
body.kubryk-shop,
body.kubryk-shop #page,
body.kubryk-shop #content,
body.kubryk-shop .site-main,
body.kubryk-shop .site,
body.kubryk-shop #main-content {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
	min-height: 100vh !important;
}

body.kubryk-shop .site-content,
body.kubryk-shop .page-content {
	padding: 40px 20px !important;
	max-width: 1400px;
	margin: 0 auto;
}

body.kubryk-shop .elementor-4760,
body.kubryk-shop .elementor-4760 .e-con,
body.kubryk-shop .elementor-4760 .e-con-inner {
	background: transparent !important;
}

body.kubryk-shop .woocommerce {
	background: transparent !important;
}

body.kubryk-shop nav.woocommerce-breadcrumb {
	color: rgba(255, 255, 255, 0.7) !important;
	margin-bottom: 25px !important;
}

body.kubryk-shop nav.woocommerce-breadcrumb a {
	color: #FFD700 !important;
}

/* Sekcja koszyka nad produktami (strona /shop/) — jak przy rezerwacji */
body.kubryk-shop .kubryk-cartbar {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0 0 30px;
}

body.kubryk-shop .kubryk-cartbar .cartbutton {
	justify-content: center;
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: nowrap;
}

body.kubryk-shop .kubryk-cartbar .cartbutton > a {
	position: relative;
	display: flex;
	align-items: center;
}

body.kubryk-shop .kubryk-cartbar .cart-summary {
	order: -1;
	display: flex;
	align-items: center;
}

body.kubryk-shop .kubryk-cartbar .cart-summary ul {
	display: flex !important;
	flex-direction: row;
	gap: 10px;
	flex-wrap: nowrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.kubryk-shop .kubryk-cartbar .custom_cartCount {
	position: absolute;
	color: white;
	background-color: #ff4500;
	padding: 10px;
	border-radius: 100%;
	height: 35px;
	width: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	right: -15px;
	top: -15px;
	font-size: 14px;
	font-weight: 500;
}

body.kubryk-shop .kubryk-cartbar .rezerwuj-link {
	display: inline-flex;
	align-items: center;
	padding: 10px 24px;
	margin: 0 20px;
	background: rgba(255, 215, 0, 0.25);
	border: 1px solid rgba(255, 215, 0, 0.5);
	border-radius: 50px;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.5px;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
	flex-shrink: 0;
}

body.kubryk-shop .kubryk-cartbar .rezerwuj-link:hover {
	background: rgba(255, 215, 0, 0.4);
	border-color: rgba(255, 215, 0, 0.8);
	color: #fff;
}

body.kubryk-shop .kubryk-cartbar .cartbutton.is-empty .rezerwuj-link {
	display: none !important;
}

/* Lista produktow (strona /shop/) */
body.kubryk-shop .shoppro ul.products {
	gap: 25px !important;
}

body.kubryk-shop .shoppro ul.products li.product {
	background: rgba(0, 0, 0, 0.3) !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
	border-radius: 15px !important;
	padding: 20px !important;
	text-align: center !important;
	transition: all 0.3s ease !important;
}

body.kubryk-shop .shoppro ul.products li.product:hover {
	border-color: rgba(255, 215, 0, 0.45) !important;
	transform: translateY(-4px) !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35) !important;
}

body.kubryk-shop .shoppro li.product img,
body.kubryk-shop .shoppro li.product img.kubryk-shop-product-image {
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	image-rendering: auto;
	border-radius: 10px !important;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
}

body.kubryk-shop .shoppro ul.products li.product a.woocommerce-LoopProduct-link {
	cursor: zoom-in !important;
}

body.kubryk-shop .shoppro li.product h2.woocommerce-loop-product__title {
	color: #FFD700 !important;
	font-family: 'Oswald', sans-serif !important;
	font-weight: 600 !important;
	font-size: 22px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin: 15px 0 10px !important;
}

body.kubryk-shop .shoppro li.product span.price,
body.kubryk-shop .shoppro li.product .woocommerce-Price-amount,
body.kubryk-shop .shoppro li.product .woocommerce-Price-currencySymbol {
	color: #fff !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 600 !important;
	font-size: 16px !important;
}

body.kubryk-shop .shoppro li.product .button,
body.kubryk-shop .woocommerce-loop-product__buttons .button,
body.kubryk-shop .woocommerce a.button,
body.kubryk-shop .woocommerce button.button {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: none !important;
	padding: 12px 24px !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
	transition: all 0.3s ease !important;
}

body.kubryk-shop .shoppro li.product .button:hover,
body.kubryk-shop .woocommerce a.button:hover,
body.kubryk-shop .woocommerce button.button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(255, 215, 0, 0.5) !important;
	color: #000 !important;
}

/* Strona pojedynczego produktu (Foods / Drinks) */
body.kubryk-shop.single-product .product {
	margin: 40px auto !important;
	max-width: 1100px;
}

body.kubryk-shop.single-product .product h1.product_title {
	color: #FFD700 !important;
	font-family: 'Oswald', sans-serif !important;
	font-weight: 700 !important;
	font-size: 36px !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	text-shadow: 0 2px 10px rgba(255, 215, 0, 0.3);
	margin-bottom: 25px !important;
}

body.kubryk-shop.single-product .product .price,
body.kubryk-shop.single-product .product span.woocommerce-Price-amount.amount,
body.kubryk-shop.single-product .product .woocommerce-Price-currencySymbol {
	color: #FFD700 !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
	font-size: 22px !important;
}

body.kubryk-shop.single-product .product .woocommerce-product-details__short-description,
body.kubryk-shop.single-product .product .product_meta {
	color: rgba(255, 255, 255, 0.85) !important;
}

body.kubryk-shop.single-product .product .woosb-wrap {
	background: rgba(0, 0, 0, 0.3) !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
	border-radius: 15px !important;
	padding: 25px !important;
}

body.kubryk-shop.single-product .product .woosb-item-product a {
	pointer-events: none;
	color: #fff !important;
	font-family: 'Oswald', sans-serif !important;
	font-size: 18px !important;
}

body.kubryk-shop.single-product .product span.woosb-total-label,
body.kubryk-shop.single-product .product .woosb-count-label,
body.kubryk-shop.single-product .product .woosb-count-value,
body.kubryk-shop.single-product .product .woosb-price {
	font-family: 'Montserrat', sans-serif !important;
	color: #fff !important;
}

body.kubryk-shop.single-product .product .woosb-total .woocommerce-Price-amount {
	color: #FFD700 !important;
	font-weight: 700 !important;
}

body.kubryk-shop.single-product .product .input-text.qty {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid rgba(255, 215, 0, 0.3) !important;
	border-radius: 8px !important;
	color: #fff !important;
}

body.kubryk-shop.single-product .product button.single_add_to_cart_button.button.alt,
body.kubryk-shop.single-product .product button.single_add_to_cart_button.button.alt.woosb-disabled {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 15px 35px !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
}

body.kubryk-shop.single-product .product button.single_add_to_cart_button.button.alt:not(.woosb-disabled):hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(255, 215, 0, 0.5) !important;
}

body.kubryk-shop .product-selection > h2,
body.kubryk-shop .product-selection > h5 {
	color: #FFD700 !important;
	font-family: 'Oswald', sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
}

/* Stare style sklepu — tylko produkty spoza kubryk-shop (np. pakiety rezerwacji) */
body.single-product:not(.kubryk-shop) .product {
	margin: 80px auto;
}
body.single-product:not(.kubryk-shop) .product h1.product_title {
	color: #000 !important;
	font-family: 'Oswald';
}
body.single-product:not(.kubryk-shop) .product span.woocommerce-Price-amount.amount {
	color: #000 !important;
	font-family: 'Montserrat';
}
body.single-product:not(.kubryk-shop) .product .woosb-item-product a {
	pointer-events: none;
	color: #000 !important;
	font-family: 'Oswald' !important;
	font-size: 18px;
}
body.single-product:not(.kubryk-shop) .product span.woosb-total-label,
body.single-product:not(.kubryk-shop) .product .woocommerce-Price-amount,
body.single-product:not(.kubryk-shop) .product .woosb-count-label,
body.single-product:not(.kubryk-shop) .product .woosb-count-value {
	font-family: 'Roboto Slab';
	color: #000;
}
body.single-product:not(.kubryk-shop) .product button.single_add_to_cart_button.button.alt.woosb-disabled,
body.single-product:not(.kubryk-shop) .product button.single_add_to_cart_button.button.alt {
	background: #000 !important;
	color: #fff;
	border-radius: 0;
	padding: 13px 30px;
}
body.single-product:not(.kubryk-shop) .product .input-text.qty {
	border-radius: 0;
}
@media only screen and (max-width: 1200px) {
	.popup-content {
		width: 95% !important;
		max-width: none !important;
		max-height: 95vh !important;
		overflow-y: auto !important;
	}
	.floor-plan-image {
		width: 768px;
	}
	.spots-container .spot:nth-child(1) {
		position: absolute;
		top: 172px;
		left: 220px;
		border-radius: 50px;
		width: 30px;
		height: 30px;
		font-size: 12px;
		padding: 0;
	}
	.spots-container .spot:nth-child(2) {
		position: absolute;
		top: 169px;
		left: 312px;
		border-radius: 50px;
		width: 30px;
		height: 30px;
		font-size: 12px;
		padding: 0;
	}
}
.page-id-4630 .headerss,
.page-template-reservation-detail .headerss,
.page-template-floor-plan-booking .headerss,
.page-template-garden-booking .headerss,
.page-template-book-tickets .headerss,
.postid-4668 .headerss,
.postid-4670 .headerss,
.postid-4689 .headerss,
.postid-4665 .headerss{
	display: none;
}
.cartbutton {
	display: flex;
	justify-content: flex-end;
}
/* .cartbutton a {
padding: 15px 60px;
text-decoration: none;
transition: 0.3s;
background-color: #32393C !important;
color: #ffffff !important;
border: 1px solid #32393C !important;
} */
/* .cartbutton a:hover {
background-color: #02010100 !important;
color: #fff !important;
border-color: #fff !important;
} */

.spot-highlight {
	background-color: yellow !important;
	color: black !important;
}
.cartbutton a img {
	filter: invert(1);
	width: 55px;
	height: auto;
	object-fit: cover;
}
.page-template-reservation-detail .restricted-date.btn:nth-child(2) {
	display: none !important;
}
.reservation-detail-container .reservation-buttons a.btn.ticket-sales-disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}
.restricted-date:after {
	content: "Wst\0119p wolny";
	color: #fff;
	padding-left: 10px;
}
.reservation-buttons.restricted-date-club:after {
	content: "Wst\0119p wolny do 22:00";
}
@media only screen and (max-width: 1200px) {
	.popup-content {
		width: 95% !important;
		max-width: none !important;
		max-height: 95vh !important;
		overflow-y: auto !important;
	}
	.floor-plan-image {
		width: 768px;
	}
	.spots-container .spot:nth-child(1) {
		position: absolute;
		top: 172px;
		left: 220px;
		border-radius: 50px;
		width: 30px;
		height: 30px;
		font-size: 12px;
		padding: 0;
	}
	.spots-container .spot:nth-child(2) {
		position: absolute;
		top: 169px;
		left: 312px;
		border-radius: 50px;
		width: 30px;
		height: 30px;
		font-size: 12px;
		padding: 0;
	}
	.spots-container .spot:nth-child(3) {
		position: absolute;
		top: 261px;
		left: 312px;
		border-radius: 50px;
		width: 35px;
		height: 35px;
		font-size: 12px;
		padding: 0;
	}
	.spots-container .spot:nth-child(4) {
		top: 384px;
		left: 209px;
		width: 20px;
		height: 67px;
	}
	.spots-container .spot:nth-child(5) {
		top: 312px;
		left: 209px;
		width: 20px;
		height: 67px;
	}
	.spots-container .spot:nth-child(6) {
		top: 241px;
		left: 222px;
		width: 20px;
		height: 67px;
	}
	.spots-container .spot:nth-child(7) {
		top: 226px;
		left: 21px;
		width: 28px;
		height: 68px;
	}
	.spots-container .spot:nth-child(8) {
		top: 226px;
		left: 79px;
		width: 28px;
		height: 68px;
	}
	.spots-container .spot:nth-child(9) {
		top: 225px;
		left: 165px;
		width: 28px;
		height: 68px;
	}
	.spots-container .spot:nth-child(10) {
		top: 29px;
		left: 124.4px;
		width: 67px;
		height: 28px;
	}
	.spots-container .spot:nth-child(11) {
		position: absolute;
		top: 29px;
		left: 211.4px;
		width: 67px;
		height: 28px;
		padding: 0 !important;
		font-size: 12px !important;
	}
	.spots-container .spot:nth-child(12) {
		position: absolute;
		top: 29px;
		left: 303.4px;
		width: 67px;
		height: 28px;
		padding: 0 !important;
		font-size: 12px !important;
	}
	.spots-container .spot:nth-child(13) {
		position: absolute;
		top: 29px;
		left: 387.4px;
		width: 67px;
		height: 28px;
		padding: 0 !important;
		font-size: 12px !important;
	}
	.spots-container .spot:nth-child(14) {
		position: absolute;
		top: 117px;
		left: 197.6px;
		width: 67px;
		height: 28px;
		padding: 0 !important;
		font-size: 12px !important;
	}
	.spots-container .spot:nth-child(15) {
		position: absolute;
		top: 117px;
		left: 282.6px;
		width: 67px;
		height: 28px;
		padding: 0 !important;
		font-size: 12px !important;
	}
	.spots-container .spot:nth-child(16) {
		top: 357px;
		left: 363.6px;
		width: 40px;
		height: 28px;
	}
	.spots-container .spot:nth-child(17) {
		top: 459px;
		left: 52.6px;
		width: 29px;
		height: 68px;
	}
	.spots-container .spot:nth-child(18) {
		top: 459px;
		left: 126.6px;
		width: 29px;
		height: 68px;
	}
	.spots-container .spot:nth-child(19) {
		top: 479px;
		left: 199.6px;
		width: 44px;
		height: 18px;
	}	
	.spots-container .spot:nth-child(20) {
		top: 179px;
		left: 30.6px;
	}
	.spots-container .spot:nth-child(21) {
		top: 177px;
		left: 91.6px;
	}
	.spots-container .spot:nth-child(22) {
		top: 169px;
		left: 145.6px;
	}
	.spots-container .spot:nth-child(23) {
		top: 125px;
		left: 54.6px;
	}
	.spots-container .spot:nth-child(24) {
		top: 115px;
		left: 153.6px;
	}
	.spots-container .spot:nth-child(25) {
		top: 111px;
		left: 357.6px;
	}
	.spots-container .spot:nth-child(26) {
		top: 358px;
		left: 77.6px;
	}	
	.spots-container .spot:nth-child(27) {
		top: 334px;
		left: 151.6px;
	}
	.spots-container .spot:nth-child(28) {
		top: 383px;
		left: 151.6px;
	}
	.spots-container .spot:nth-child(29) {
		top: 416px;
		left: 119px;
	}
	.spots-container .spot:nth-child(30) {
		top: 416px;
		left: 74px;
	}
	.spots-container .spot:nth-child(31) {
		top: 418px;
		left: 15px;
	}
	.spots-container .spot:nth-child(32) {
		top: 363px;
		left: 13.6px;
	}
	.spots-container .spot:nth-child(33) {
		top: 307px;
		left: 16.6px;
	}
	.spots-container .spot:nth-child(34) {
		top: 307px;
		left: 77.6px;
	}
	.floor-plan2 .spots-container .spot:nth-child(35) {
		position: absolute;
		top: 50px;
		left: 314px;
		width: 41px;
		height: 24px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(36) {
		position: absolute;
		top: 50px;
		left: 424px;
		width: 41px;
		height: 24px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(37) {
		position: absolute;
		top: 50px;
		left: 534px;
		width: 41px;
		height: 24px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(38) {
		position: absolute;
		top: 50px;
		left: 645px;
		width: 41px;
		height: 24px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(39) {
		position: absolute;
		transform: rotate(7deg);
		top: 118px;
		left: 638px;
		width: 47px;
		height: 24px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(40) {
		transform: rotate(7deg);
		position: absolute;
		top: 306px;
		left: 629px;
		width: 27px;
		height: 98px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(41) {
		position: absolute;
		top: 384px;
		left: 503px;
		width: 55px;
		height: 27px;
		font-size: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(42) {
		position: absolute;
		top: 470px;
		left: 532px;
		width: 40px;
		height: 19px;
		font-size: 9px;
		line-height: 9px;
		border-radius: 0;
		padding: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(43) {
		position: absolute;
		top: 470px;
		left: 609px;
		width: 40px;
		height: 19px;
		font-size: 9px;
		line-height: 9px;
		border-radius: 0;
		padding: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(44) {
		position: absolute;
		top: 532px;
		left: 531px;
		width: 40px;
		height: 19px;
		font-size: 9px;
		line-height: 9px;
		border-radius: 0;
		padding: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(45) {
		position: absolute;
		top: 532px;
		left: 609px;
		width: 40px;
		height: 19px;
		font-size: 9px;
		line-height: 9px;
		border-radius: 0;
		padding: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(46) {
		position: absolute;
		top: 600px;
		left: 545px;
		width: 91px;
		height: 26px;
		font-size: 10px;
		line-height: 10px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(47) {
		position: absolute;
		top: 104px;
		left: 348px;
		width: 19px;
		font-size: 8px;
		line-height: 8px;
		height: 32px;
		padding: 0;
		border-radius: 0;
	}
	.floor-plan2 .spots-container .spot:nth-child(48) {
		position: absolute;
		top: 104px;
		left: 514px;
		width: 19px;
		font-size: 8px;
		line-height: 8px;
		height: 32px;
		padding: 0;
		border-radius: 0;
	}
}
@media only screen and (max-width: 1120px) {
	.imageconta {
		padding: 50px !important;
	}
}
@media only screen and (max-width: 1024px) {
	.elementor-popup-modal .dialog-widget-content i.eicon-close::before {
		right: 0px !important;
	}
	.custom-gallery {
		grid-template-columns: repeat(3, 1fr);
	}
	.product-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.product-selection .product-list .product-item-content {
		margin-bottom: 52px;
	}
	.reservation-detail-container {
		gap: 20px;
	}
	.single-product .product {
		margin: 50px auto;
		padding:0 10px !important;
	}
	.product_cat-bundle-product {
		width: auto !important;
		padding-top: 0px;
	}
	.reservation-detail-container {
		grid-template-columns: 1fr;
		padding: 50px 0 !important;
	}
}

@media only screen and (max-width: 800px) {
	body{
		overflow-x:hidden !important;
	}
	#onas,
	#sport{
		background: none;
	}
	.onascont1,
	.sportcont2{
		width: 100% !important;
	}
	.onascont2,
	.sportcont1{
		display: none;
	}
	.kubryk-onas-extra {
		width: 100%;
	}
	.kubryk-onas-gallery-item {
		width: clamp(280px, 78vw, 360px);
	}
	.kubryk-onas-gallery-item img {
		height: clamp(200px, 52vw, 260px);
	}
	.kubryk-onas-gallery-hint {
		height: clamp(200px, 52vw, 260px);
	}
	.custom-gallery {
		grid-template-columns: repeat(2, 1fr);
	}
	.reservation-detail-container .right-column h2 {
		font-size: 24px !important;
	}

}
@media only screen and (max-width: 767px) {
	.mainmenucont {
		z-index: 9;
		position: relative;
	}
	#elementor-popup-modal-1270 {
		z-index: 8 !important;
	}
	.meinmenupopup .elementor-widget-nav-menu {
		max-width: 100% !important;
		display: flex;
		justify-content: center;
	}
	.menicons .elementor-icon-box-icon {
		align-items: center;
	}
	#elementor-popup-modal-1270 .dialog-widget-content i.eicon-close::before{
		top: -90px !important;
	}
	.meinmenupopup .elementor-widget-nav-menu ul li a {
		padding: 0 !important;
		padding-bottom:10px !important;
		margin-bottom: 25px !important;
	}
	body{
		overflow-x:hidden !important;
	}
	.imageconta {
		flex-wrap: nowrap !important;
	}
	.containers {
		max-width: 100% !important;
		margin: auto !important;
		padding: 0 10px !important;
	}
	.calendar-container {
		padding: 20px 0 !important;
	}
	main#content {
		max-width: 100% !important;
	}
	.calendar tr td:nth-child(3), 
	.calendar tr td:nth-child(4), 
	.calendar tr td:nth-child(5), 
	.calendar tr td:nth-child(6) {
		width: 25%;
		height: 70px !important;
	}
	.calendar tr td:nth-child(1), 
	.calendar tr td:nth-child(2), 
	.calendar tr td:nth-child(7) {
		width: 10px !important;
		padding: 0px !important;
		max-width: 10px !important;
		height: auto !important;
	}
	.reservation-buttons {
		display: flex;
		flex-direction: column;
		gap: 10px;
		text-align: center;
		width: 70%;
		margin-top: 20px;
	}
	/* 	.calendar {
	width: 150% !important;
	max-width: 150% !important;
	min-width:150% !important;
} */
	/* 	.cartbutton{
	flex-direction:column !important;
}	 */
	.cartbutton {
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
	/* 	.cart-summary ul {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr;
} */
	.calendar {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 100% !important;
	}
	.calendar-container {
		overflow: visible !important;
	}
	.floor-plan-image {
		width: 550px;
	}
	.spots-container .spot:nth-child(1) {
		top: 121px;
		left: 157px;
		width: 20px;
		height: 20px;
		font-size: 10px;
	}
	.spots-container .spot:nth-child(2) {
		top: 120px;
		left: 223px;
		width: 20px;
		height: 20px;
		font-size: 10px;
	}
	.spots-container .spot:nth-child(3) {
		top: 188px;
		left: 225px;
		width: 20px;
		height: 20px;
		font-size: 10px;
	}
	.spots-container .spot:nth-child(4) {
		top: 274px;
		left: 149px;
		width: 14px;
		height: 48px;
	}
	.spots-container .spot:nth-child(5) {
		top: 222px;
		left: 149px;
		width: 14px;
		height: 47px;
	}
	.spots-container .spot:nth-child(6) {
		top: 171px;
		left: 158px;
		width: 14px;
		height: 47px;
	}
	.spots-container .spot:nth-child(7) {
		top: 161px;
		left: 14px;
		width: 20px;
		height: 48px;
	}
	.spots-container .spot:nth-child(8) {
		top: 161px;
		left: 55px;
		width: 20px;
		height: 48px;
	}
	.spots-container .spot:nth-child(9) {
		top: 161px;
		left: 117px;
		width: 20px;
		height: 48px;
	}
	.spots-container .spot:nth-child(10) {
		top: 18px;
		left: 87.4px;
		width: 50px;
		height: 21px;
	}
	.spots-container .spot:nth-child(11) {
		top: 18px;
		left: 150.4px;
		width: 50px;
		height: 21px;
	}
	.spots-container .spot:nth-child(12) {
		top: 18px;
		left: 215.4px;
		width: 50px;
		height: 21px;
	}
	.spots-container .spot:nth-child(13) {
		top: 18px;
		left: 275.4px;
		width: 50px;
		height: 21px;
	}
	.spots-container .spot:nth-child(14) {
		top: 82px;
		left: 139.6px;
		width: 50px;
		height: 20px;
	}
	.spots-container .spot:nth-child(15) {
		top: 82px;
		left: 199.6px;
		width: 50px;
		height: 20px;
	}
	.spots-container .spot:nth-child(16) {
		top: 254px;
		left: 259.6px;
		width: 28px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(17) {
		top: 327px;
		left: 36.6px;
		width: 20px;
		height: 49px;
	}
	.spots-container .spot:nth-child(18) {
		top: 327px;
		left: 89.6px;
		width: 20px;
		height: 49px;
	}
	.spots-container .spot:nth-child(19) {
		top: 341px;
		left: 140.6px;
		width: 34px;
		height: 18px;
	}
	.spots-container .spot:nth-child(20) {
		top: 126px;
		left: 19.6px;
		font-size: 9px !important;
		width: 20px;
		height: 20px;
	}
	.spots-container .spot:nth-child(21) {
		top: 125px;
		left: 62.6px;
		font-size: 9px !important;
		width: 20px;
		height: 20px;
	}
	.spots-container .spot:nth-child(22) {
		top: 117px;
		left: 101.6px;
		font-size: 9px !important;
		width: 20px;
		height: 20px;
	}
	.spots-container .spot:nth-child(23) {
		top: 87px;
		left: 36.6px;
		font-size: 9px !important;
		width: 20px;
		height: 20px;
	}
	.spots-container .spot:nth-child(24) {
		top: 80px;
		left: 107.6px;
		font-size: 9px !important;
		width: 20px;
		height: 20px;
	}
	.spots-container .spot:nth-child(25) {
		top: 78px;
		left: 253.6px;
		font-size: 9px !important;
		width: 20px;
		height: 20px;
	}
	.spots-container .spot:nth-child(26) {
		top: 254px;
		left: 53px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(27) {
		top: 236px;
		left: 106px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(28) {
		top: 272px;
		left: 106px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(29) {
		top: 296px;
		left: 83px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(30) {
		top: 296px;
		left: 50px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(31) {
		top: 297px;
		left: 8px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(32) {
		top: 257px;
		left: 7px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(33) {
		top: 218px;
		left: 8px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.spots-container .spot:nth-child(34) {
		top: 217px;
		left: 53px;
		width: 20px;
		height: 20px;
		font-size: 9px !important;
	}
	.floor-plan2 .spots-container .spot:nth-child(35) {
		top: 30px;
		left: 218px;
	}
	.floor-plan2 .spots-container .spot:nth-child(36) {
		top: 30px;
		left: 297px;
	}
	.floor-plan2 .spots-container .spot:nth-child(37) {
		top: 30px;
		left: 376px;
	}
	.floor-plan2 .spots-container .spot:nth-child(38) {
		top: 30px;
		left: 455px;
	}
	.floor-plan2 .spots-container .spot:nth-child(39) {
		top: 79px;
		left: 454px;
		width: 37px;
	}
	.floor-plan2 .spots-container .spot:nth-child(40) {
		top: 214px;
		left: 444px;
		height: 78px;
	}
	.floor-plan2 .spots-container .spot:nth-child(41) {
		top: 270px;
		left: 353px;
	}
	.floor-plan2 .spots-container .spot:nth-child(42) {
		top: 335px;
		left: 380px;
		width: 28px;
		height: 13px;
	}
	.floor-plan2 .spots-container .spot:nth-child(43) {
		top: 335px;
		left: 435px;
		width: 28px;
		height: 13px;
	}
	.floor-plan2 .spots-container .spot:nth-child(44) {
		top: 380px;
		left: 380px;
		width: 28px;
		height: 13px;
	}
	.floor-plan2 .spots-container .spot:nth-child(45) {
		top: 380px;
		left: 435px;
		width: 28px;
		height: 13px;
	}
	.floor-plan2 .spots-container .spot:nth-child(46) {
		top: 424px;
		left: 384px;
		width: 75px;
		height: 26px;
	}
	.floor-plan2 .spots-container .spot:nth-child(47) {
		top: 73px;
		left: 245px;
		width: 19px;
		height: 22px;
	}
	.floor-plan2 .spots-container .spot:nth-child(48) {
		top: 73px;
		left: 364px;
		width: 19px;
		height: 22px;
	}
	.calendar td.calendar-day img.event-image {
		height: 100% !important;
		object-fit: cover;
	}
	.calendar td.calendar-day {
		padding: 0 0px !important;
	}
	/* .cartbutton a img {
	margin-top:20px;
} */
}
@media only screen and (max-width: 650px) {
	.product-list {
		grid-template-columns: 1fr;
	}
	.reservation-detail-container .right-column h2 {
		text-align: center;
	}
	.reservation-buttons {
		width: 100%;
	}
}


@media only screen and (max-width: 570px) {
	.popup-content {
		width: 98% !important;
		max-width: none !important;
		max-height: 98vh !important;
		padding: 20px 15px !important;
	}
	.floorplans {
		display: flex;
		flex-direction: column;
		margin-top: 50px;
		align-items: center;
	}
	.floor-plan-image {
		margin-top: 0px;
	}
	.floor-plan-image {
		width: 320px;
	}
	.spots-container .spot:nth-child(1) {
		top: 67px;
		left: 87px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(2) {
		top: 66px;
		left: 126px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(3) {
		top: 106px;
		left: 127px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(4) {
		top: 156px;
		left: 83px;
		width: 10px;
		height: 29px;
		border-radius: 0;
		font-size: 7px !important;
	}
	.spots-container .spot:nth-child(5) {
		top: 126px;
		left: 83px;
		width: 10px;
		height: 29px;
		border-radius: 0;
		font-size: 7px !important;
	}
	.spots-container .spot:nth-child(6) {
		top: 96px;
		left: 89px;
		width: 10px;
		height: 29px;
		border-radius: 0;
		font-size: 7px !important;
	}
	.spots-container .spot:nth-child(7) {
		top: 91px;
		left: 6px;
		width: 11px;
		height: 29px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(8) {
		top: 91px;
		left: 30px;
		width: 11px;
		height: 29px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(9) {
		top: 91px;
		left: 67px;
		width: 11px;
		height: 29px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(10) {
		top: 8px;
		left: 49.4px;
		width: 29px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(11) {
		top: 8px;
		left: 85.4px;
		width: 29px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(12) {
		top: 8px;
		left: 123.4px;
		width: 29px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(13) {
		top: 8px;
		left: 158.4px;
		width: 29px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(14) {
		top: 45px;
		left: 79.4px;
		width: 29px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(15) {
		top: 45px;
		left: 115.4px;
		width: 29px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(16) {
		top: 145px;
		left: 147.4px;
		width: 19px;
		height: 13px;
		border-radius: 0;
		font-size: 8px !important;
	}
	.spots-container .spot:nth-child(17) {
		top: 189px;
		left: 19px;
		width: 12px;
		height: 29px;
		border-radius: 0;
		font-size: 7px !important;
	}
	.spots-container .spot:nth-child(18) {
		top: 189px;
		left: 50px;
		width: 12px;
		height: 29px;
		border-radius: 0;
		font-size: 7px !important;
	}
	.spots-container .spot:nth-child(19) {
		top: 197px;
		left: 79.6px;
		width: 19px;
		height: 11px;
		font-size: 7px !important;
		border-radius: 0;
	}
	.spots-container .spot:nth-child(20) {
		top: 69px;
		left: 8px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(21) {
		top: 68px;
		left: 33px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(22) {
		top: 64px;
		left: 56px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(23) {
		top: 47px;
		left: 18px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(24) {
		top: 42px;
		left: 59px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(25) {
		top: 41px;
		left: 144px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(26) {
		top: 144px;
		left: 27px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(27) {
		top: 133px;
		left: 58px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(28) {
		top: 152px;
		left: 58px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(29) {
		top: 168px;
		left: 45px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(30) {
		top: 169px;
		left: 26px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(31) {
		top: 169px;
		left: 1px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(32) {
		top: 146px;
		left: 1px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(33) {
		top: 122px;
		left: 1px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.spots-container .spot:nth-child(34) {
		top: 122px;
		left: 27px;
		font-size: 8px !important;
		width: 15px;
		height: 15px;
	}
	.floor-plan2 .spots-container .spot:nth-child(35) {
		top: 14px;
		left: 125px;
		width: 23px;
		height: 17px;
	}
	.floor-plan2 .spots-container .spot:nth-child(36) {
		top: 14px;
		left: 171px;
		width: 23px;
		height: 17px;
	}
	.floor-plan2 .spots-container .spot:nth-child(37) {
		top: 14px;
		left: 217px;
		width: 23px;
		height: 17px;
	}
	.floor-plan2 .spots-container .spot:nth-child(38) {
		top: 14px;
		left: 263px;
		width: 23px;
		height: 17px;
	}
	.floor-plan2 .spots-container .spot:nth-child(39) {
		top: 44px;
		left: 261px;
		width: 24px;
		height: 15px;
	}
	.floor-plan2 .spots-container .spot:nth-child(40) {
		top: 124px;
		left: 253px;
		height: 44px;
		width: 20px;
	}
	.floor-plan2 .spots-container .spot:nth-child(41) {
		top: 155px;
		left: 203px;
		width: 32px;
		height: 17px;
	}
	.floor-plan2 .spots-container .spot:nth-child(42) {
		top: 191px;
		left: 217px;
		width: 21px;
		height: 11px;
		font-size: 8px;
	}
	.floor-plan2 .spots-container .spot:nth-child(43) {
		top: 191px;
		left: 247px;
		width: 21px;
		height: 11px;
		font-size: 8px;
	}
	.floor-plan2 .spots-container .spot:nth-child(44) {
		top: 218px;
		left: 217px;
		width: 21px;
		height: 11px;
		font-size: 8px;
	}
	.floor-plan2 .spots-container .spot:nth-child(45) {
		top: 218px;
		left: 248px;
		width: 21px;
		height: 11px;
		font-size: 8px;
	}
	.floor-plan2 .spots-container .spot:nth-child(46) {
		top: 244px;
		left: 222px;
		width: 42px;
		height: 16px;
	}
	.floor-plan2 .spots-container .spot:nth-child(47) {
		top: 39px;
		left: 138px;
		width: 17px;
		height: 14px;
		font-size: 7px;
	}
	.floor-plan2 .spots-container .spot:nth-child(48) {
		top: 39px;
		left: 207px;
		width: 17px;
		height: 14px;
		font-size: 7px;
	}
}

/* Galeria Page */
div#calendar-year {
	color: white;
	margin-top: 40px;
}
.galPopColSticky > div{
	position: sticky;
	top: 0px;
}
#event-calendar.loading {
	cursor: progress;
	opacity: 0.7;
}
input#event-calendar {
	background-color: black;
	color: white;
	width: 308px !important;
	border-radius: 0px !important;
	border: 1px solid white;
	margin-bottom: 10px;
}
.flatpickr-calendar{
	border-radius: 0px !important;
}
.flatpickr-calendar .flatpickr-day,
.flatpickr-weekday,
.flatpickr-monthDropdown-months{
	color: white !important;
}
.flatpickr-calendar  select,
.flatpickr-calendar{
	background-color: black !important;
}
.flatpickr-calendar svg path{
	fill: white !important;
}
.flatpickr-disabled{
	opacity: 0.3
}
.flatpickr-day .event-links{
	position: relative;
}
.flatpickr-day .event-links {
	position: absolute;
	top: 70%;
	left: 0;
	width: 100%;
	z-index: 10;
	font-size: 10px;
}
.flatpickr-day .event-links a {
	white-space: nowrap;
	overflow: hidden; 
	text-overflow: ellipsis;   
	max-width: 68px;          
	display: inline-block;     
	background-color: #209b00;
	padding: 4px 6px;
	border-radius: 100px;
	margin: 0 auto;
}
.flatpickr-day .event-links a {
	display: block;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

.flatpickr-day {
	width: 80px !important;
	min-width: 80px !important;
	height: 80px !important;
	line-height: 8px !important;
	font-size: 16px !important;
	display: inline-flex !important;
	justify-content: center;
	align-items: center;
	background-color: transparent !important;
	border: 1px solid white !important;
	border-radius: 0px;
}
.dayContainer,
.flatpickr-days{
	min-width: 600px !important;
}
.flatpickr-calendar{
	width: 100% !important;
}

/* Floor Plan */
body.page-template-floor-plan-booking .cartbutton,
body.page-template-garden-booking .cartbutton {
	justify-content: center;
	margin-top: 30px;
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: nowrap;
}
body.page-template-floor-plan-booking .cartbutton > a,
body.page-template-garden-booking .cartbutton > a{
	position: relative;
	display: flex;
	align-items: center;
}
body.page-template-floor-plan-booking .cartbutton .cart-summary,
body.page-template-garden-booking .cartbutton .cart-summary {
	order: -1;
	display: flex;
	align-items: center;
}
body.page-template-floor-plan-booking .cartbutton .cart-summary ul,
body.page-template-garden-booking .cartbutton .cart-summary ul {
    display: flex !important;
    flex-direction: row; /* horizontal layout */
    gap: 10px;
    flex-wrap: nowrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
/* body.page-template-floor-plan-booking .cartbutton .cart-summary{
display: none;
} */
.page-template-floor-plan-booking .containers h2,
.page-template-garden-booking .containers h2,
.page-template-floor-plan-booking .twobuttons,
.page-template-garden-booking .twobuttons{
	text-align: center;
}
body.page-template-floor-plan-booking .cartbutton .custom_cartCount,
body.page-template-garden-booking .cartbutton .custom_cartCount {
	position: absolute;
	color: white;
	background-color: #ff4500;
	padding: 10px;
	border-radius: 100%;
	height: 35px;
	width: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	right: -15px;
	top: -15px;
	font-size: 14px;
	font-weight: 500;
}

/* REZERWUJ link - between cart icon and timer */
body.page-template-floor-plan-booking .cartbutton .rezerwuj-link,
body.page-template-garden-booking .cartbutton .rezerwuj-link {
	display: inline-flex;
	align-items: center;
	padding: 10px 24px;
	margin: 0 20px;
	background: rgba(255, 215, 0, 0.25);
	border: 1px solid rgba(255, 215, 0, 0.5);
	border-radius: 50px;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.5px;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
	flex-shrink: 0;
}
body.page-template-floor-plan-booking .cartbutton .rezerwuj-link:hover,
body.page-template-garden-booking .cartbutton .rezerwuj-link:hover {
	background: rgba(255, 215, 0, 0.4);
	border-color: rgba(255, 215, 0, 0.8);
	color: #fff;
}

/* Mobile: extra space below floor plan map (kept in case switcher position changes) */
@media only screen and (max-width: 768px) {
	.page-template-floor-plan-booking .floorplans,
	.page-template-garden-booking .floorplans,
	.page-template-garden-booking .kubryk-garden-floorplans {
		padding-bottom: 80px;
	}

	body.page-template-floor-plan-booking .cartbutton,
	body.page-template-garden-booking .cartbutton {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 12px;
		column-gap: 12px;
	}

	body.page-template-floor-plan-booking .cartbutton .rezerwuj-link,
	body.page-template-garden-booking .cartbutton .rezerwuj-link {
		margin: 0 10px;
	}

	body.page-template-floor-plan-booking .cartbutton .cart-timer,
	body.page-template-garden-booking .cartbutton .cart-timer {
		flex: 0 0 100%;
		width: auto;
		max-width: 100%;
		margin: 4px 0 0;
		align-self: center;
		order: 10;
	}
}

/* Cart Timer */
.cart-timer {
	display: flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.1);
	padding: 10px 20px;
	border-radius: 50px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	justify-content: center;
	height: fit-content;
	margin: 0 0 0 20px;
	flex-shrink: 0;
}
.cart-timer .timer-icon {
	font-size: 24px;
	animation: pulse 2s ease-in-out infinite;
}
.cart-timer .timer-display {
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	font-family: 'Courier New', monospace;
	letter-spacing: 1px;
}
.cart-timer.warning {
	background: rgba(255, 69, 0, 0.2);
	border-color: rgba(255, 69, 0, 0.5);
	animation: warningPulse 1s ease-in-out infinite;
}
.cart-timer.warning .timer-display {
	color: #ff4500;
}
@keyframes pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.1); }
}
@keyframes warningPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255, 69, 0, 0.7); }
	50% { box-shadow: 0 0 0 10px rgba(255, 69, 0, 0); }
}
/* == */

body .event-image{
	height: 100% !important;
}

@media screen and (max-width: 767px){
	.calendar th, 
	.calendar td {
		width: 100px !important;
	}
}
@media only screen and (max-width: 450px) {
	.custom-gallery {
		grid-template-columns: repeat(1, 1fr);
	}
	.calendar-day {
		height: 70px;
	}

	.calendar table th,
	.calendar table td {
		min-width: 45px;
		max-width: 45px;
	}
}
@media only screen and (max-width: 400px) {
	.sportcont2 .elementor-widget-text-editor {
		width: 100% !important;
	}
}

/* CART OVERRIDE - ELEMENTOR PRO CART WIDGET STYLES */

/* Main Elementor cart columns */
body.woocommerce-cart .e-cart__column-start,
body.woocommerce-cart .e-cart__column-end {
	background: rgba(0, 0, 0, 0.3) !important;
	border-radius: 15px !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
	overflow: hidden !important;
	padding: 0 !important;
	min-height: 200px !important;
}

/* Checkout columns - NO outer border on container, only on individual columns */
body.woocommerce-checkout .e-checkout__container {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

body.woocommerce-checkout .e-checkout__column-start,
body.woocommerce-checkout .e-checkout__column-end {
	background: rgba(0, 0, 0, 0.3) !important;
	border-radius: 15px !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
	overflow: hidden !important;
	padding: 0 !important;
	min-height: 200px !important;
}

body.woocommerce-checkout .e-cart-totals,
body.woocommerce-checkout .cart_totals {
	background: transparent !important;
	border: none !important;
	padding: 20px !important;
}

/* Elementor shop table wrapper - inside e-cart__column-start */
body.woocommerce-cart .e-cart__column-start .e-shop-table {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	visibility: visible !important;
}

body.woocommerce-cart .e-cart__column-start .e-cart-section {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	visibility: visible !important;
}

body.woocommerce-cart .e-cart__column-start .e-cart-section.shop_table {
	background: transparent !important;
	border: none !important;
	display: block !important;
	visibility: visible !important;
	padding: 20px !important;
}

body.woocommerce-cart .e-cart__column-start form.woocommerce-cart-form {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.woocommerce-cart .e-cart__column-start .e-clear {
	display: none !important;
}

/* Shop table - inside e-cart__column-start */
body.woocommerce-cart .e-cart__column-start .shop_table,
body.woocommerce-cart .e-cart__column-start table.shop_table,
body.woocommerce-cart .e-cart__column-start .woocommerce-cart-form__contents {
	background: transparent !important;
	color: #fff !important;
	border: none !important;
	border-collapse: collapse !important;
	width: 100% !important;
	margin: 0 !important;
	table-layout: auto !important;
	box-sizing: border-box !important;
	display: table !important;
	visibility: visible !important;
}

/* Table header - golden gradient with rounded top corners */
body.woocommerce-cart .e-cart__column-start .shop_table thead,
body.woocommerce-cart .e-cart__column-start table.shop_table thead {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	display: table-header-group !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table thead tr {
	display: table-row !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table thead tr th:first-child {
	border-top-left-radius: 13px !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table thead tr th:last-child {
	border-top-right-radius: 13px !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table thead th,
body.woocommerce-cart .e-cart__column-start table.shop_table thead th,
body.woocommerce-cart .e-cart__column-start .shop_table thead th.product-name,
body.woocommerce-cart .e-cart__column-start .shop_table thead th.product-price,
body.woocommerce-cart .e-cart__column-start .shop_table thead th.product-remove,
body.woocommerce-cart .e-cart__column-start .shop_table thead th.product-thumbnail {
	color: #000 !important;
	background: transparent !important;
	font-weight: 600 !important;
	border: none !important;
	padding: 20px 15px !important;
	text-transform: uppercase !important;
	font-size: 20px !important;
	display: table-cell !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	word-wrap: break-word !important;
	vertical-align: middle !important;
	letter-spacing: 0.5px !important;
	font-family: inherit !important;
}

/* Specific styles for visible headers */
body.woocommerce-cart .e-cart__column-start .shop_table thead th.product-name,
body.woocommerce-cart .e-cart__column-start .shop_table thead th.product-price {
	color: #000 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
}

/* Hide Quantity and Subtotal columns - not needed for unique table reservations */
body.woocommerce-cart .e-cart__column-start .shop_table .product-quantity,
body.woocommerce-cart .e-cart__column-start .shop_table th.product-quantity,
body.woocommerce-cart .e-cart__column-start .shop_table .product-subtotal,
body.woocommerce-cart .e-cart__column-start .shop_table th.product-subtotal {
	display: none !important;
}

/* Table body - dark rows */
body.woocommerce-cart .e-cart__column-start .shop_table tbody td,
body.woocommerce-cart .e-cart__column-start table.shop_table tbody td,
body.woocommerce-cart .e-cart__column-start .woocommerce-cart-form__contents td {
	background: transparent !important;
	color: #fff !important;
	border: none !important;
	padding: 20px 10px !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
}

/* Padding for first and last cells in table */
body.woocommerce-cart .e-cart__column-start .shop_table tbody td:first-child,
body.woocommerce-cart .e-cart__column-start .shop_table thead th:first-child {
	padding-left: 20px !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table tbody td:last-child,
body.woocommerce-cart .e-cart__column-start .shop_table thead th:last-child {
	padding-right: 20px !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table tbody tr,
body.woocommerce-cart .e-cart__column-start table.shop_table tbody tr,
body.woocommerce-cart .e-cart__column-start .woocommerce-cart-form__contents tr {
	background: rgba(255, 255, 255, 0.05) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table tbody tr:hover {
	background: rgba(255, 255, 255, 0.08) !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table tbody tr:last-child {
	border-bottom: none !important;
}

/* Product name links - golden */
body.woocommerce-cart .e-cart__column-start .product-name a {
	color: #FFD700 !important;
	font-weight: 500 !important;
	font-size: 16px !important;
}

body.woocommerce-cart .e-cart__column-start .product-name a:hover {
	color: #FFA500 !important;
}

/* Product metadata */
body.woocommerce-cart .e-cart__column-start .product-name .variation,
body.woocommerce-cart .e-cart__column-start .product-name dl,
body.woocommerce-cart .e-cart__column-start .product-name dl.variation {
	color: rgba(255, 255, 255, 0.8) !important;
	font-size: 14px !important;
	margin-top: 8px !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	display: block !important;
}

body.woocommerce-cart .e-cart__column-start .product-name dt,
body.woocommerce-cart .e-cart__column-start .product-name .variation dt {
	color: rgba(255, 215, 0, 0.8) !important;
	font-weight: 600 !important;
	display: inline-block !important;
	margin: 0 !important;
	margin-right: 5px !important;
	float: none !important;
}

body.woocommerce-cart .e-cart__column-start .product-name dd,
body.woocommerce-cart .e-cart__column-start .product-name .variation dd {
	display: inline-block !important;
	margin: 0 !important;
	margin-right: 20px !important;
	margin-left: 0 !important;
	float: none !important;
}

body.woocommerce-cart .e-cart__column-start .product-name dd p,
body.woocommerce-cart .e-cart__column-start .product-name .variation dd p {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Product images */
body.woocommerce-cart .e-cart__column-start .product-thumbnail img {
	border-radius: 10px !important;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
	max-width: 80px !important;
	height: auto !important;
}

body.woocommerce-cart .e-cart__column-start .product-name img {
	display: none !important;
}

/* Hide event image label and value */
body.woocommerce-cart .e-cart__column-start .variation-EventImage {
	display: none !important;
}

/* Remove button */
body.woocommerce-cart .e-cart__column-start .product-remove a {
	background: rgba(255, 0, 0, 0.2) !important;
	color: #ff4444 !important;
	width: 30px !important;
	height: 30px !important;
	line-height: 30px !important;
	border-radius: 50% !important;
	display: inline-block !important;
	text-align: center !important;
	font-size: 18px !important;
	text-decoration: none !important;
}

body.woocommerce-cart .e-cart__column-start .product-remove a:hover {
	background: rgba(255, 0, 0, 0.4) !important;
	transform: rotate(90deg) !important;
	transition: all 0.3s ease !important;
}

/* Prices - golden color - ONLY in table body cells, NOT in headers */
body.woocommerce-cart .e-cart__column-start .shop_table tbody .woocommerce-Price-amount,
body.woocommerce-cart .e-cart__column-start .shop_table tbody .amount,
body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-price,
body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-subtotal {
	color: #FFD700 !important;
	font-weight: 600 !important;
	font-size: 16px !important;
}

/* Coupon section - inside e-cart__column-start */
body.woocommerce-cart .kubryk-shop-pickup-fields {
	background: rgba(255, 255, 255, 0.04);
	border: 2px solid rgba(255, 215, 0, 0.25);
	border-radius: 12px;
	padding: 20px;
	margin: 20px 20px 0;
}

body.woocommerce-cart .kubryk-shop-pickup-title {
	color: #FFD700 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0 0 8px !important;
}

body.woocommerce-cart .kubryk-required-star {
	color: #ff4d4d;
	margin-left: 4px;
	font-weight: 700;
}

body.woocommerce-cart .kubryk-shop-pickup-desc {
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 16px;
	font-size: 14px;
}

body.woocommerce-cart .kubryk-shop-pickup-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

body.woocommerce-cart .kubryk-shop-pickup-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.woocommerce-cart .kubryk-shop-pickup-field > span {
	color: #FFD700;
	font-weight: 600;
	font-size: 14px;
}

body.woocommerce-cart .kubryk-shop-pickup-field input[type="date"],
body.woocommerce-cart .kubryk-shop-pickup-field select {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid rgba(255, 215, 0, 0.3) !important;
	color: #fff !important;
	padding: 12px 16px !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	height: 46px !important;
	font-size: 14px !important;
}

body.woocommerce-cart .kubryk-shop-pickup-field input[type="date"]:focus,
body.woocommerce-cart .kubryk-shop-pickup-field select:focus {
	border-color: #FFD700 !important;
	outline: none !important;
	box-shadow: 0 0 10px rgba(255, 215, 0, 0.3) !important;
}

body.woocommerce-cart .kubryk-shop-pickup-error {
	color: #ff8a8a;
	min-height: 20px;
	margin: 12px 0 0;
	font-size: 14px;
}

@media (max-width: 767px) {
	body.woocommerce-cart .kubryk-shop-pickup-grid {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .kubryk-shop-pickup-fields {
		margin: 20px 0 0;
	}
}

body.woocommerce-cart .e-cart__column-start .coupon {
	background: transparent !important;
	padding: 0 20px 20px 20px !important;
	margin: 0 !important;
	border: none !important;
}

/* Update Cart Button — ukryty, Elementor odswieza koszyk automatycznie */
body.woocommerce-cart .woocommerce .actions .button[name="update_cart"],
body.woocommerce-cart button[name="update_cart"] {
	display: none !important;
}

/* Wiersz z "Aktualizuj koszyk" (kupon jest poza tabela w Elementorze) */
body.woocommerce-cart .e-cart__column-start .shop_table tbody tr:has(td.actions):not(:has(.coupon)),
body.woocommerce-cart table.shop_table tbody tr:has(td.actions):not(:has(.coupon)) {
	display: none !important;
}

body.woocommerce-cart .e-cart__column-start .shop_table tbody .actions td {
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

body.woocommerce-cart .coupon input[type="text"] {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid rgba(255, 215, 0, 0.3) !important;
	color: #fff !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	height: 46px !important;
}

body.woocommerce-cart .coupon .button,
body.woocommerce-cart .e-apply-coupon {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: 2px solid transparent !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
	box-sizing: border-box !important;
	height: 46px !important;
}

body.woocommerce-cart .coupon .button:hover,
body.woocommerce-cart .e-apply-coupon:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(255, 215, 0, 0.5) !important;
	color: #000 !important;
}

body.woocommerce-cart .kubryk-coupon-notice {
	margin-top: 12px;
}

body.woocommerce-cart .kubryk-coupon-notice .woocommerce-message,
body.woocommerce-cart .kubryk-coupon-notice .woocommerce-error,
body.woocommerce-cart .kubryk-coupon-notice .woocommerce-info,
body.woocommerce-cart .coupon-error-notice {
	display: block !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border-radius: 8px !important;
}

body.woocommerce-cart .kubryk-coupon-notice .woocommerce-message,
body.woocommerce-cart .kubryk-coupon-notice .woocommerce-info {
	background: rgba(46, 204, 113, 0.15) !important;
	color: #b8f5c8 !important;
	border: 1px solid rgba(46, 204, 113, 0.4) !important;
}

body.woocommerce-cart .kubryk-coupon-notice .woocommerce-error,
body.woocommerce-cart .coupon-error-notice {
	background: rgba(231, 76, 60, 0.15) !important;
	color: #ffb3aa !important;
	border: 1px solid rgba(231, 76, 60, 0.45) !important;
}

/* Cart totals - Elementor classes */
body.woocommerce-cart .e-cart__column-inner {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}

body.woocommerce-cart .e-cart-totals {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.woocommerce-cart .cart-collaterals {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Center both cart columns as a single unit */
body.woocommerce-cart .e-cart__container {
	max-width: 1400px !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 30px !important;
	width: 100% !important;
}

@media (min-width: 769px) {
	body.woocommerce-cart .e-cart-layout-two-column .e-cart__column-start {
		flex: 1 1 58% !important;
		max-width: 58% !important;
		width: auto !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .e-cart-layout-two-column .e-cart__column-end {
		flex: 0 0 38% !important;
		max-width: 38% !important;
		width: auto !important;
		min-width: 280px !important;
	}
}

/* Right column - NO border to match left side */
body.woocommerce-cart .e-cart__column-end {
	border: none !important; /* Remove border to match left side */
	border-radius: 0 !important;
	background: transparent !important;
	padding: 0 !important;
}

body.woocommerce-cart .e-cart__column-inner {
	border: none !important;
}

body.woocommerce-cart .e-cart-section {
	border: none !important;
}

body.woocommerce-cart .cart_totals {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 20px !important;
	margin: 0 !important;
}

body.woocommerce-cart .cart_totals h2 {
	color: #FFD700 !important;
	margin-bottom: 20px !important;
	margin-top: 0 !important;
	font-size: 20px !important;
}

body.woocommerce-cart .cart_totals table {
	background: transparent !important;
	border: none !important;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
	color: #fff !important;
	padding: 12px 0 !important;
	border: none !important;
	font-size: 16px !important;
}

body.woocommerce-cart .cart_totals table tr {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.woocommerce-cart .cart_totals table tr:last-child {
	border-bottom: none !important;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
	color: #FFD700 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	padding-top: 15px !important;
}

/* Wiersz kuponu: nazwa po lewej, kwota po prawej */
body.woocommerce-cart .cart_totals tr.cart-discount th {
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 15px !important;
	text-align: left !important;
	vertical-align: middle !important;
	padding-right: 12px !important;
	word-break: break-word !important;
}

body.woocommerce-cart .cart_totals tr.cart-discount td {
	color: #FFD700 !important;
	font-weight: 600 !important;
	text-align: right !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .cart_totals tr.cart-discount td::before {
	display: none !important;
	content: none !important;
}

body.woocommerce-cart .cart_totals tr.cart-discount td .woocommerce-Price-amount {
	display: inline-block !important;
	margin-right: 10px !important;
}

body.woocommerce-cart .cart_totals tr.cart-discount .woocommerce-remove-coupon {
	display: inline-block !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.55) !important;
	text-decoration: underline !important;
	white-space: nowrap !important;
}

body.woocommerce-cart .cart_totals tr.cart-discount .woocommerce-remove-coupon:hover {
	color: #FFD700 !important;
}

/* Checkout button */
body.woocommerce-cart .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout .button {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: none !important;
	padding: 15px 30px !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	text-transform: uppercase !important;
	width: 100% !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
	margin-top: 15px !important;
	letter-spacing: 1px !important;
}

body.woocommerce-cart .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .button:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 10px 25px rgba(255, 215, 0, 0.5) !important;
	color: #000 !important;
}

/* Cart — mobile: kolumny pod soba + karty zamiast scisnietej tabeli */
@media only screen and (max-width: 768px) {
	body.woocommerce-cart .site-content {
		padding: 16px 10px !important;
	}

	body.woocommerce-cart .woocommerce {
		padding: 10px 0 !important;
	}

	body.woocommerce-cart .e-cart__container,
	body.woocommerce-cart .e-cart-layout-two-column .e-cart__container {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 20px !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	body.woocommerce-cart .e-cart__column-start,
	body.woocommerce-cart .e-cart__column-end {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table,
	body.woocommerce-cart .e-cart__column-start table.shop_table,
	body.woocommerce-cart .e-cart__column-start .woocommerce-cart-form__contents {
		display: block !important;
		width: 100% !important;
		table-layout: auto !important;
	}

	body.woocommerce-cart .cart_totals table.shop_table,
	body.woocommerce-cart .cart_totals table.shop_table tbody,
	body.woocommerce-cart .cart_totals table.shop_table tr,
	body.woocommerce-cart .cart_totals table.shop_table th,
	body.woocommerce-cart .cart_totals table.shop_table td {
		display: revert !important;
	}

	body.woocommerce-cart .cart_totals table.shop_table td::before {
		display: none !important;
		content: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table thead,
	body.woocommerce-cart .e-cart__column-start table.shop_table thead,
	body.woocommerce-cart table.shop_table thead {
		display: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody,
	body.woocommerce-cart .e-cart__column-start table.shop_table tbody,
	body.woocommerce-cart table.shop_table tbody {
		display: block !important;
		width: 100% !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody tr.cart_item,
	body.woocommerce-cart .e-cart__column-start table.shop_table tbody tr.cart_item,
	body.woocommerce-cart table.shop_table tbody tr.cart_item {
		display: grid !important;
		grid-template-columns: 72px 1fr !important;
		column-gap: 12px !important;
		row-gap: 8px !important;
		align-items: start !important;
		width: 100% !important;
		position: relative !important;
		padding: 44px 16px 16px !important;
		margin-bottom: 12px !important;
		border-radius: 10px !important;
		box-sizing: border-box !important;
		transform: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody tr:hover,
	body.woocommerce-cart table.shop_table tbody tr:hover {
		transform: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td,
	body.woocommerce-cart .e-cart__column-start table.shop_table tbody td,
	body.woocommerce-cart table.shop_table tbody td {
		display: block !important;
		width: 100% !important;
		padding: 8px 0 !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td::before,
	body.woocommerce-cart table.shop_table tbody td::before {
		content: attr(data-title) ": " !important;
		display: block !important;
		float: none !important;
		clear: both !important;
		font-weight: 600 !important;
		color: rgba(255, 215, 0, 0.85) !important;
		font-size: 12px !important;
		text-transform: uppercase !important;
		letter-spacing: 0.5px !important;
		margin-bottom: 6px !important;
		text-align: left !important;
		white-space: normal !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name,
	body.woocommerce-cart table.shop_table tbody td.product-name {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: baseline !important;
		gap: 6px !important;
		grid-column: 2 !important;
		grid-row: 1 !important;
		padding-top: 0 !important;
		text-align: left !important;
		width: auto !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name::before,
	body.woocommerce-cart table.shop_table tbody td.product-name::before {
		display: inline !important;
		float: none !important;
		clear: none !important;
		margin-bottom: 0 !important;
		flex: 0 0 auto !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name > a,
	body.woocommerce-cart table.shop_table tbody td.product-name > a {
		flex: 0 1 auto !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name dl,
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name .variation,
	body.woocommerce-cart table.shop_table tbody td.product-name dl,
	body.woocommerce-cart table.shop_table tbody td.product-name .variation {
		flex: 1 1 100% !important;
		width: 100% !important;
		margin-top: 4px !important;
		display: grid !important;
		grid-template-columns: auto 1fr !important;
		column-gap: 8px !important;
		row-gap: 4px !important;
		align-items: baseline !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name ul.wc-item-meta,
	body.woocommerce-cart table.shop_table tbody td.product-name ul.wc-item-meta {
		flex: 1 1 100% !important;
		width: 100% !important;
		margin-top: 4px !important;
		display: block !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name dt,
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name dd,
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name .variation dt,
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name .variation dd,
	body.woocommerce-cart table.shop_table tbody td.product-name dt,
	body.woocommerce-cart table.shop_table tbody td.product-name dd,
	body.woocommerce-cart table.shop_table tbody td.product-name .variation dt,
	body.woocommerce-cart table.shop_table tbody td.product-name .variation dd {
		display: block !important;
		width: auto !important;
		margin: 0 !important;
		float: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name dt,
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name .variation dt,
	body.woocommerce-cart table.shop_table tbody td.product-name dt,
	body.woocommerce-cart table.shop_table tbody td.product-name .variation dt {
		grid-column: 1 !important;
		margin-right: 0 !important;
		white-space: nowrap !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name dd,
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name .variation dd,
	body.woocommerce-cart table.shop_table tbody td.product-name dd,
	body.woocommerce-cart table.shop_table tbody td.product-name .variation dd {
		grid-column: 2 !important;
		margin-right: 0 !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-name ul.wc-item-meta li,
	body.woocommerce-cart table.shop_table tbody td.product-name ul.wc-item-meta li {
		display: block !important;
		width: 100% !important;
		margin: 0 0 4px 0 !important;
	}

	/* CENA i kwota w jednej linii */
	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-price,
	body.woocommerce-cart table.shop_table tbody td.product-price {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: baseline !important;
		gap: 6px !important;
		text-align: left !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-price::before,
	body.woocommerce-cart table.shop_table tbody td.product-price::before {
		display: inline !important;
		float: none !important;
		clear: none !important;
		margin-bottom: 0 !important;
		flex: 0 0 auto !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-remove,
	body.woocommerce-cart table.shop_table tbody td.product-remove {
		position: absolute !important;
		top: 12px !important;
		right: 12px !important;
		width: auto !important;
		padding: 0 !important;
		text-align: right !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-remove::before,
	body.woocommerce-cart table.shop_table tbody td.product-remove::before {
		display: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-thumbnail,
	body.woocommerce-cart table.shop_table tbody td.product-thumbnail {
		display: block !important;
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
		width: 72px !important;
		padding: 0 !important;
		align-self: start !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-thumbnail::before,
	body.woocommerce-cart table.shop_table tbody td.product-thumbnail::before {
		display: none !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-thumbnail img,
	body.woocommerce-cart table.shop_table tbody td.product-thumbnail img {
		display: block !important;
		width: 72px !important;
		max-width: 72px !important;
		height: auto !important;
		border-radius: 8px !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
	}

	body.woocommerce-cart .e-cart__column-start .shop_table tbody td.product-price,
	body.woocommerce-cart table.shop_table tbody td.product-price {
		grid-column: 1 / -1 !important;
		grid-row: 3 !important;
		padding-top: 4px !important;
		border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
		margin-top: 4px !important;
	}

	body.woocommerce-cart .e-cart__column-start .product-name a {
		font-size: 18px !important;
	}

	body.woocommerce-cart .e-cart__column-start .coupon,
	body.woocommerce-cart .woocommerce .coupon {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 0 16px 16px !important;
	}

	body.woocommerce-cart .coupon .button,
	body.woocommerce-cart .e-apply-coupon {
		width: 100% !important;
		height: auto !important;
		min-height: 46px !important;
		line-height: 1.35 !important;
		padding: 12px 16px !important;
		white-space: normal !important;
	}

	/* Pusty wiersz "Aktualizuj koszyk" — koszyk odswieza sie sam (Elementor) */
	body.woocommerce-cart .e-cart__column-start .shop_table tbody tr:has(td.actions):not(:has(.coupon)),
	body.woocommerce-cart table.shop_table tbody tr:has(td.actions):not(:has(.coupon)) {
		display: none !important;
	}

	/* Przelacznik jezyka nie nachodzi na naglowek koszyka */
	body.woocommerce-cart .trp-language-switcher,
	body.woocommerce-cart .elementor-widget-trp-language-switcher,
	body.woocommerce-cart .gt_switcher {
		position: relative !important;
		z-index: 2 !important;
		margin-bottom: 12px !important;
	}
}

/* ========== CHECKOUT PAGE - Apply ALL cart styles ========== */
/* All form elements */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
	background: rgba(255, 255, 255, 0.1) !important;
	border: 2px solid rgba(255, 215, 0, 0.3) !important;
	color: #fff !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
}

/* Labels */
body.woocommerce-checkout label,
body.woocommerce-checkout .form-row label {
	color: rgba(255, 255, 255, 0.9) !important;
	font-weight: 500 !important;
	margin-bottom: 8px !important;
}

/* Headings - removed, now styled in dedicated section below */

/* Order review table */
body.woocommerce-checkout .shop_table {
	background: transparent !important;
	color: #fff !important;
	border: none !important;
}

body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td {
	color: #fff !important;
	padding: 15px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.woocommerce-checkout .shop_table thead th {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* Prices - golden */
body.woocommerce-checkout .woocommerce-Price-amount,
body.woocommerce-checkout .amount {
	color: #FFD700 !important;
	font-weight: 600 !important;
}

/* Buttons */
body.woocommerce-checkout .button,
body.woocommerce-checkout button[type="submit"],
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .woocommerce-checkout-payment #place_order {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	border: none !important;
	padding: 15px 30px !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	text-transform: uppercase !important;
	width: 100% !important;
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3) !important;
	margin-top: 15px !important;
	letter-spacing: 1px !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
}

body.woocommerce-checkout .button:hover,
body.woocommerce-checkout #place_order:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 10px 25px rgba(255, 215, 0, 0.5) !important;
}

/* Payment methods */
body.woocommerce-checkout .wc_payment_methods {
	background: transparent !important;
	border: none !important;
}

body.woocommerce-checkout .wc_payment_method label {
	color: #fff !important;
	padding: 15px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border: 2px solid rgba(255, 215, 0, 0.2) !important;
	border-radius: 8px !important;
	margin-bottom: 10px !important;
	display: block !important;
}

body.woocommerce-checkout .wc_payment_method input[type="radio"]:checked + label {
	border-color: #FFD700 !important;
	background: rgba(255, 215, 0, 0.1) !important;
}

/* Form rows */
body.woocommerce-checkout .form-row {
	margin-bottom: 20px !important;
}

/* Checkout inner boxes - dark transparent background like cart */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .e-checkout__column-inner {
	background: transparent !important;
	padding: 20px !important;
	border: none !important;
	margin-bottom: 0 !important;
}

/* col2-set and customer_details - transparent */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2 {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Checkout page - dark background to match cart */
body.woocommerce-checkout {
	background: #1a1a1a !important;
}

/* Hide default page-header on cart and checkout - we use custom headers instead */
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header {
	display: none !important;
}

/* Reduce top spacing from Elementor cart widget container */
body.woocommerce-cart .elementor-widget-woocommerce-cart {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.woocommerce-cart .elementor-widget-woocommerce-cart .elementor-widget-container {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.woocommerce-cart .e-con-inner {
	padding-top: 0 !important;
}

/* Reduce spacing on all Elementor containers on cart page */
body.woocommerce-cart .elementor-section,
body.woocommerce-cart .elementor-container,
body.woocommerce-cart .e-con,
body.woocommerce-cart .elementor-element {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Specific: reduce .woocommerce top padding on cart page only */
body.woocommerce-cart .woocommerce {
	padding-top: 10px !important;
}

/* Reduce main content area top spacing */
body.woocommerce-cart .site-content,
body.woocommerce-cart #content,
body.woocommerce-cart .site-main,
body.woocommerce-cart main#content {
	padding-top: 10px !important;
	margin-top: 0 !important;
}

/* Custom cart header styling */
body.woocommerce-cart #kubryk-cart-focus,
body.woocommerce-cart #kubryk-cart-return,
body.woocommerce-cart .return-to-shop .button {
	scroll-margin-top: 210px;
}

body.woocommerce-cart tr.kubryk-cart-row-removing {
	opacity: 0.45;
	pointer-events: none;
}

body.woocommerce-cart .custom-cart-header {
	text-align: center !important;
	padding: 10px 0 0 0 !important;
	margin: 0 0 10px 0 !important;
	background: transparent !important;
	width: 100% !important;
	max-width: 1400px !important;
	display: block !important;
}

body.woocommerce-cart .custom-cart-header h1 {
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 36px !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: center !important;
	display: block !important;
	width: 100% !important;
}

/* Podsumowanie koszyka heading on checkout - golden gradient like cart */
body.woocommerce-checkout .cart_totals h2,
body.woocommerce-checkout .e-cart-totals h2 {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	padding: 20px !important;
	margin: 0 0 20px 0 !important;
	border-radius: 10px !important;
	text-align: center !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

/* Szczeg�?y p?atno?ci - wrapper inside e-checkout__column-start (no additional border/background) */
body.woocommerce-checkout .woocommerce-billing-fields {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Szczeg�?y p?atno?ci heading - golden gradient like cart table header */
body.woocommerce-checkout .woocommerce-billing-fields > h3 {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
	color: #000 !important;
	padding: 20px !important;
	margin: 0 !important;
	border-radius: 0 !important;
	border-top-left-radius: 13px !important;
	border-top-right-radius: 13px !important;
	text-align: center !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	font-size: 20px !important;
	letter-spacing: 0.5px !important;
}

/* Fields wrapper inside billing section */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	padding: 20px !important;
	background: transparent !important;
}

/* RODO nad przyciskiem platnosci */
body.woocommerce-checkout .kubryk-checkout-rodo {
	padding: 0 20px 15px !important;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout .kubryk-checkout-rodo .woocommerce-privacy-policy-text p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

body.woocommerce-checkout .kubryk-checkout-rodo a {
	color: #FFD700 !important;
}

/* Przycisk platnosci na dole sekcji Szczegoly platnosci */
body.woocommerce-checkout .kubryk-checkout-pay-slot {
	padding: 0 20px 20px !important;
	background: transparent !important;
}

body.woocommerce-checkout .kubryk-checkout-pay-slot .place-order {
	margin: 0 !important;
	padding: 0 !important;
}

/* Tylko jeden przycisk - ten w sekcji billing */
body.woocommerce-checkout #payment {
	display: none !important;
}

body.woocommerce-checkout #place_order {
	display: none !important;
}

body.woocommerce-checkout .kubryk-checkout-pay-slot #place_order {
	display: block !important;
}

/* Ukryj boczna kolumne z platnoscia (przycisk jest w billing) */
body.woocommerce-checkout .e-checkout__column-end {
	display: none !important;
}

body.woocommerce-checkout .e-checkout__column-start {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
}

body.woocommerce-checkout .e-checkout__container {
	display: block !important;
	max-width: 800px !important;
	margin: 0 auto !important;
}

/* Custom "Uwagi" textarea field */
body.woocommerce-checkout #billing_notes_field textarea,
body.woocommerce-checkout textarea#billing_notes {
	width: 100% !important;
	min-height: 100px !important;
	resize: vertical !important;
	font-family: inherit !important;
}

/* Global error popup styles - used on reservation-detail and other pages */
.error-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10000;
}

.error-popup .error-popup-content {
	background: white;
	padding: 30px;
	border-radius: 10px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
	max-width: 500px;
	width: 90%;
	position: relative;
	animation: slideDown 0.3s ease;
}

.error-popup .error-close {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 28px;
	color: #333;
	cursor: pointer;
	transition: color 0.3s;
}

.error-popup .error-close:hover {
	color: #ff0000;
}

.error-popup .error-title {
	color: #333;
	margin-bottom: 15px;
	font-size: 24px;
	font-weight: 600;
}

.error-popup .error-message {
	color: #666;
	margin-bottom: 20px;
	line-height: 1.6;
	white-space: pre-line;
}

.error-popup .error-ok-btn {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
	color: #000;
	border: none;
	padding: 12px 30px;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
	font-size: 16px;
	transition: all 0.3s;
	text-transform: uppercase;
	display: block;
	margin: 0 auto;
}

.error-popup .error-ok-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4);
}

@keyframes slideDown {
	from {
		transform: translateY(-50px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Order received / thank you page - simplified Kubryk style */
body.woocommerce-checkout .payment-confirmation-container {
	display: none !important;
}

body.woocommerce-checkout .kubryk-order-received-header {
	text-align: center;
	margin: 40px 0 30px 0;
}
body.woocommerce-checkout .kubryk-order-received-header h1 {
	color: #fff;
	font-weight: 700;
	font-size: 36px;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: 0;
	padding: 0;
}

body.woocommerce-checkout .kubryk-order-received .woocommerce-notice--success {
	background: rgba(255, 215, 0, 0.15);
	border: 2px solid rgba(255, 215, 0, 0.4);
	color: #FFD700;
	padding: 20px 30px;
	border-radius: 10px;
	text-align: center;
	font-weight: 600;
	margin: 0 auto 30px auto;
	max-width: 900px;
	width: 100%;
}

body.woocommerce-checkout .kubryk-order-summary {
	max-width: 900px;
	margin: 0 auto;
}

body.woocommerce-checkout .kubryk-order-section {
	background: rgba(0, 0, 0, 0.3);
	border: 2px solid rgba(255, 215, 0, 0.2);
	border-radius: 15px;
	padding: 25px;
	margin-bottom: 25px;
}

body.woocommerce-checkout .kubryk-section-title {
	background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
	color: #000;
	padding: 15px 20px;
	margin: -25px -25px 20px -25px;
	border-radius: 13px 13px 0 0;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 1px;
}

body.woocommerce-checkout .kubryk-date-value {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	margin: 0;
}

body.woocommerce-checkout .kubryk-table-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}

body.woocommerce-checkout .kubryk-table-item {
	flex: 1 1 200px;
	min-width: 180px;
}

body.woocommerce-checkout .kubryk-table-name {
	color: #FFD700;
	font-size: 16px;
	margin: 0 0 12px 0;
}

body.woocommerce-checkout .kubryk-table-images {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-start;
}

body.woocommerce-checkout .kubryk-table-img-wrap {
	display: inline-block;
	flex: 0 0 auto;
	line-height: 0;
}

body.woocommerce-checkout .kubryk-table-img {
	width: auto !important;
	height: auto !important;
	max-width: 220px !important;
	max-height: 320px !important;
	object-fit: contain !important;
	object-position: center;
	display: block;
	border-radius: 10px;
	border: 2px solid rgba(255, 215, 0, 0.3);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

body.woocommerce-checkout .kubryk-billing-content p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0 0 10px 0;
	line-height: 1.6;
	font-size: 18px;
	font-weight: 600;
}
body.woocommerce-checkout .kubryk-billing-content strong {
	color: #FFD700;
}

/* Wybór lokalu — trzeci kafelek ogrodka */
body.kubryk-has-garden-tile .kubryk-garden-choice-tile {
	width: 100%;
}
.elementor-242 .kubryk-garden-choice-heading {
	text-align: left;
}
.elementor-242 .kubryk-garden-choice-heading .elementor-heading-title,
.elementor-242 .kubryk-garden-choice-heading .elementor-heading-title a {
	font-family: "Oswald", Sans-serif;
	font-size: 24px;
	font-weight: 500;
	font-style: normal;
	line-height: 26px;
	color: #ffffff !important;
	text-decoration: none;
}
.kubryk-garden-booking .kubryk-garden-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	max-width: 1100px;
	margin: 30px auto 0;
	padding: 0 20px 40px;
}
.page-template-garden-booking .kubryk-garden-tile {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 8px;
	background: #111;
	color: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.page-template-garden-booking .kubryk-garden-tile:hover {
	border-color: #ffd700;
	background: #1a1a1a;
}
.page-template-garden-booking .kubryk-garden-tile img {
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	object-fit: cover;
	background: #222;
}
.page-template-garden-booking .kubryk-garden-tile-title {
	font-size: 1.15rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
}
.page-template-garden-booking .kubryk-garden-tile-price {
	font-size: 1.05rem;
	color: #ffd700;
	text-align: center;
}
@media (max-width: 900px) {
	.kubryk-garden-booking .kubryk-garden-tiles {
		grid-template-columns: 1fr;
	}
}

.kubryk-bajek-section-title {
	max-width: 1100px;
	margin: 40px auto 0;
	padding: 0 20px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
}

.kubryk-bajek-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: 1100px;
	margin: 24px auto 0;
	padding: 0 20px 40px;
}

.page-template-garden-booking .kubryk-bajek-tile {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 8px;
	background: #111;
	color: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.page-template-garden-booking .kubryk-bajek-tile:disabled {
	cursor: not-allowed;
}

.page-template-garden-booking .kubryk-bajek-tile:hover:not(:disabled) {
	border-color: #ffd700;
	background: #1a1a1a;
}

.page-template-garden-booking .kubryk-bajek-tile.in-cart {
	border-color: #ffc107;
	box-shadow: 0 0 0 2px #ffc107;
	background: #2a2208;
	cursor: not-allowed;
	opacity: 1;
}

.page-template-garden-booking .kubryk-bajek-tile.in-cart:hover {
	border-color: #ffc107;
	background: #2a2208;
	cursor: not-allowed;
}

.page-template-garden-booking .kubryk-bajek-tile.in-cart img {
	filter: grayscale(35%);
	opacity: 0.85;
}

.page-template-garden-booking .kubryk-bajek-in-cart-label {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	background: rgba(0, 0, 0, 0.35);
	color: #ffc107;
	font-size: clamp(0.95rem, 2.2vw, 1.2rem);
	font-weight: 800;
	letter-spacing: 0.06em;
	text-align: center;
}

.page-template-garden-booking .kubryk-bajek-tile.is-locked {
	border-color: #ff0080;
	opacity: 0.85;
	cursor: not-allowed;
}

.page-template-garden-booking .kubryk-bajek-tile.is-booked,
.page-template-garden-booking .kubryk-bajek-tile:disabled {
	cursor: not-allowed;
	opacity: 1;
}

.page-template-garden-booking .kubryk-bajek-tile-image {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
}

.page-template-garden-booking .kubryk-bajek-tile img {
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	object-fit: cover;
	background: #222;
	transition: filter 0.2s ease, opacity 0.2s ease;
}

.page-template-garden-booking .kubryk-bajek-tile.is-booked img {
	filter: grayscale(100%);
	opacity: 0.55;
}

.page-template-garden-booking .kubryk-bajek-reserved-label {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: clamp(1rem, 2.4vw, 1.35rem);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-align: center;
}

.page-template-garden-booking .kubryk-bajek-tile-title {
	font-size: 1.15rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
}

.page-template-garden-booking .kubryk-bajek-tile-price {
	font-size: 1.05rem;
	color: #ffd700;
	text-align: center;
}

@media (max-width: 900px) {
	.kubryk-bajek-tiles {
		grid-template-columns: 1fr;
	}
}
