/* Frontend styles for Svartavieciu Rezervacija */


.svart-berth-selection {
	margin: 2rem 0;
}

.svart-size-groups {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 10px;
	margin: 1rem 0;
}

.svart-size-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 4px;
	gap: 4px;
}

.svart-size-option label {
	font-size: 16px;
	font-weight: normal;
	color: #005a87;
	cursor: pointer;
	margin: 0 !important;
	padding: 10px;
	gap: 2px;
	line-height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #003b5a;
	border-radius: 4px;
	background: #f9f9f9;
	box-shadow: 0px 0px 1px 0px grey !important;
	position: relative;
}

.svart-size-option small {
	font-family: monospace;
	font-size: 10px;
	line-height: 16px;
	position: relative;
}

.svart-size-option.loading small::after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	border: 2px solid #f3f3f3;
	border-top: 2px solid #005a87;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	position: absolute;
	right: -12px;
	top: 0;
}

.svart-size-option label input {
	margin-right: 4px;
}

.svart-size-option label input:focus,
.svart-size-option label input:active {
	outline-style: none;
}

.svart-size-option span.woocommerce-Price-amount.amount {
	font-weight: bold;
}

.svart-size-option span.woocommerce-Price-currencySymbol {
	font-weight: normal;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}


.svart-booking-fields {
	margin: 0;
	padding: 4px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #f9f9f9;
}



.svart-booking-fields label {
	display: block;
	margin-bottom: 4px;
	font-weight: 100;
	font-size: 12px;
}

.svart-booking-fields input[type="date"] {
	width: 100%;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.svart-filter {
	margin: 1rem 0;
	padding: 20px;
	border: 1px solid #003b5a;
	border-radius: 4px;
	background: #f9f9f9;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.svart-filter p:empty {
	display: none;
}

.svart-field {
	margin: 0;
}

.svart-field br {
	display: none;
}

.svart-field label {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	line-height: 12px;
	color: #003b5a;
}

.svart-field input {
	height: 29px !important;
	box-sizing: border-box;
	width: 100% !important;
	padding: 0 8px !important;
	line-height: 29px !important;
	border: 1px solid #003b5a !important;
	border-radius: 4px;
	color: #111111 !important;
	font-family: sans-serif !important;
	box-shadow: 0px 0px 1px 0px grey !important;
}

form#svart-filter-form {
	display: block;
	width: 100%;
}

.svart-ship-size {
	display: flex;
	flex-wrap: wrap;
	width: 150px;
	gap: 4px;
	align-content: normal;
	margin: 0;
	padding: 0;
	align-items: flex-end;
}

.svart-ship-size h3 {
	width: calc(100% - 4px);
	padding: 0 !important;
	border-bottom: 1px solid;
	font-weight: bold;
}

.svart-ship-size .svart-field {
	width: 71px;
}

.svart-booking-dates {
	display: flex;
	flex-wrap: wrap;
	width: calc(264px + 150px);
	gap: 4px;
	align-content: normal;
	margin: 0;
	padding: 0;
	align-items: flex-end;
}

.svart-booking-dates>p {
	display: none;
}

.svart-booking-dates h3 {
	width: 260px;
	padding: 0 !important;
	border-bottom: 1px solid;
	font-weight: bold;
	display: none;
}

.svart-booking-dates .svart-field {
	width: 128px;
}

.svart-booking-dates-actions {
	display: flex;
	align-self: end;
	height: 29px;
	margin-left: 4px;
}

.svart-booking-dates-actions button {
	display: flex;
	background-color: #005a87;
	border: 1px solid #003b5a;
	box-sizing: border-box;
	color: white;
	border-radius: 4px;
	padding: 0;
	justify-content: center;
	align-items: center;
	height: 29px;
	width: 150px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 12px;
	box-shadow: 0px 0px 1px 0px grey;
}

.svart-booking-dates-actions button:hover {
	background: #003b5a;
}

.ship-size-message {
	display: none;
	padding: 10px;
	border: 1px solid #003b5a;
	border-radius: 4px;
	background: #ffffff;
	box-shadow: 0px 0px 1px 0px grey;
	width: calc(100% - 4px);
}

.ship-size-message p {
	font-size: 10px;
	line-height: 12px;
	margin: 0;
	color: black;
}

.ship-size-message.show {
	display: block;
}

.ship-size-message.too-big {
	background: #ffdddd;
	border-color: #ff5c5c;
}

.ship-size-message.recommended-wharfs {
	background: #ddffdd;
	border-color: #5cff5c;
}

.ship-size-message.no-wharfs {
	background: #ffffcc;
	border-color: #ffeb3b;
}

.svart-book-dates {
	display: flex;
	align-self: end;
	height: 29px;
}

.svart-book-dates button {
	display: flex;
	background-color: #005a87;
	border: 1px solid #003b5a;
	box-sizing: border-box;
	color: white;
	border-radius: 4px;
	padding: 0;
	justify-content: center;
	align-items: center;
	height: 29px;
	width: 150px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 12px;
	box-shadow: 0px 0px 1px 0px grey;
}

.svart-book-dates button:hover {
	background: #003b5a;
}

.svart-availability {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: flex-start;
	align-items: center;
}

.svart-availability p,
h2 {
	line-height: 20px !important;
	margin: 0 !important;
}

.svart-availability-summary {
	display: none;
}

.svart-availability-summary.show {
	display: block;
}


.svart-global-search {
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #ddd;
	background: #f9f9f9;
}

form#svart-global-form {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 1rem 0;
	padding: 20px;
	border: 1px solid #ddd;
	border-radius: 0;
	background: #f9f9f9;
}

form#svart-global-form .svart-field {
	width: 50%;
}

form#svart-global-form p {
	width: 100%;
}

form#svart-global-form button {
	margin-top: 10px;
	padding: 8px 12px;
	border: 1px solid #007cba;
	background: #007cba;
	color: white;
	cursor: pointer;
	border-radius: 4px;
}

#svart-global-results {
	margin-top: 10px;
	background: white;
}

/* Marina Amenities */
.amenities-section {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: #f7f7f7;
	padding: 10px;
	border: none;
	border-radius: 4px;
	box-sizing: border-box;
	width: 100%;
	margin-top: 0;
}

.amenities-group {
	height: auto;
}

.amenities-group h3 {
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
}

.amenities-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.25rem;
}

.amenities-item {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	padding: 4px 6px;
	color: #003b5a;
	align-content: center;
	justify-content: flex-start;
	flex-direction: row;
	height: 12px;
	line-height: 14px;
	font-size: 10px;
}

.amenities-item br {
	display: none;
}

.amenities-item i {
	width: 20px;
	text-align: center;
}

/* Hide variation selects */
.woocommerce div.product form.cart .variations {
	display: none !important;
}

/* native add to cart */
.single_variation_wrap {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start;
	align-items: flex-start !important;
	gap: 10px !important;
}

.woocommerce-variation-price::before {
	content: "Įkainis:\00A0";
	font-weight: normal;
}

.woocommerce-variation-price {
	position: relative;
	font-weight: bold;
}

.woocommerce-variation-price::after {
	content: "\00A0/\00A0 1d.";
}

.woocommerce-variation-price span.woocommerce-Price-amount.amount {
	font-size: var(--wp--preset--font-size--large) !important;
	color: #003b5a;
}

.woocommerce-variation-price span.woocommerce-Price-currencySymbol {
	font-size: 12px;
	color: #6E6E6E;
}

.wp-block-woocommerce-add-to-cart-form .variations_button,
.wp-block-woocommerce-add-to-cart-form form.cart {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.quantity.wc-block-components-quantity-selector input {
	background: #f9f9f9;
}

.quantity.wc-block-components-quantity-selector button {
	/* display: none; */
	height: 29px !important;
	border: 1px solid #003b5a !important;
	background-color: #e0e0e0 !important;
	box-sizing: border-box !important;
	color: #111111 !important;
	border-radius: 4px !important;
}

.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button[name=add-to-cart] {
	display: inline-block;
	float: none;
	margin-top: 0;
	margin-bottom: 0;
	vertical-align: middle;
	word-break: normal;
	display: flex;
	background-color: #005a87;
	border: 1px solid #003b5a;
	box-sizing: border-box;
	color: white;
	border-radius: 4px;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	text-transform: uppercase;
	box-shadow: 0px 0px 1px 0px grey;
}

.woocommerce .single_variation_wrap .woocommerce-variation {
	margin-bottom: 0 !important;
}

.wc-block-components-quantity-selector:after {
	border: 1px solid #003b5a !important;
	opacity: 1 !important;
}

/* Calendar */
.svart-calendar {
	margin: 1rem 0;
	padding: 10px;
	border: 1px solid #ddd;
	background: #f9f9f9;
}

.svart-calendar-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.svart-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

.svart-calendar-day {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	background: #ffffff;
	border: 1px solid #e0e0e0;
	font-size: 12px;
}

.svart-calendar-day.booked {
	background: #d6d6d6;
	color: #666666;
}

.svart-calendar-day.buffer {
	background: #ffe7bf;
	color: #8a5a00;
}

.svart-calendar-day.off-season {
	background: #f2f2f2;
	color: #999999;
}
