/*======================================
  *** General Styling ***
======================================*/

/*--- Short Description ---*/

/* Remove margin */
body.single-product .woocommerce-product-details__short-description p {
	margin: 0;
}

/*--- Booking Fields ---*/

/* Adjust font */
body.single-product
	.yith-wcbk-booking-form
	.booking-field.booking-people
	label.yith-wcbk-booking-form__label,
body.single-product
	.yith-wcbk-booking-form
	.yith-wcbk-form-section-dates
	label.yith-wcbk-booking-form__label {
	font: var(--h5);
	text-transform: uppercase;
	margin-top: 0;
}

/*--- Time Slots ---*/

/* Adjust button size */
body.single-product
	.yith-wcbk-booking-form
	.yith-wcbk-booking-time-select-list
	.yith-wcbk-select-list__options {
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

/*--- Tabs ---*/

/* Hide WooCommerce tabs */

body.single-product.woocommerce
	div.product
	div.woocommerce-tabs
	ul.tabs.wc-tabs.is-width-constrained {
	display: none;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper {
	padding-top: 0;
}

/*======================================
  *** Services Styling ***
======================================*/

body.single-product .yith-wcbk-form-section-service {
	display: none;
	margin-bottom: 15px;
}
body.single-product
	.yith-wcbk-form-section__content
	.yith-wcbk-form-section-service:first-child {
	display: flex;
}

.yith-wcbk-toggle-services {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font: var(--small-text-medium);
	color: var(--dark-grey);
	gap: 0.4rem;
	user-select: none;
}

.yith-wcbk-toggle-services svg {
	width: 1em;
	height: 1em;
	transition: transform 0.3s ease;
}

.yith-wcbk-toggle-services.open svg {
	transform: rotate(180deg);
}

.yith-wcbk-form-section-services-wrapper h5.yith-wcbk-form-section__label {
	margin-bottom: 15px;
}

/* Distance to the next service section */
.yith-wcbk-form-section.yith-wcbk-form-section-services {
	margin-bottom: 40px;
}

/* Show price below service name */
.yith-wcbk-form-section-services .service-name-and-price-container {
	display: flex;
	flex-direction: column;
}

/* Remove margin from price and style text */
body.single-product
	.yith-wcbk-booking-form
	.yith-wcbk-form-section-service
	.yith-wcbk-booking-service__pricing--inline {
	margin-left: 0;
	font: var(--small-text-medium);
	color: var(--dark-grey);
}

body.single-product .yith-wcbk-checkbox span.yith-wcbk-checkbox__checkbox {
	min-width: 20px;
}

/* Style checkbox */
body.single-product .yith-wcbk-checkbox span.yith-wcbk-checkbox__checkbox,
body.single-product
	.yith-wcbk-booking-form
	input.yith-wcbk-booking-service-quantity {
	border-radius: var(--border-radius);
	border-color: var(--light-grey);
}

/* Reduce size of quantity inout on mobile */
@media (max-width: 690px) {
	body.single-product
		.yith-wcbk-booking-form
		input.yith-wcbk-booking-service-quantity {
		width: 40px !important;
	}
}

/*======================================
  *** Boat Tags Styling ***
======================================*/

/* Style columns */
body.single-product .boat-tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 40px !important;
}

body.single-product .boat-tag {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--light-grey);
	padding: 5px 10px;
	border-radius: var(--border-radius);
	font-size: var(--text);
	color: var(--black);
	line-height: 1;
}

body.single-product .boat-tag span {
	padding-top: 4px;
}

body.single-product .boat-tag-icon {
	width: 16px;
	height: 16px;
}

/*======================================
  *** Additional Info Styling ***
======================================*/

/* Style text box */
body.single-product .boat-additional-info {
	background: var(--light-grey);
	padding: 10px;
	margin-bottom: 40px !important;
	border-radius: var(--border-radius);
}

/* Remove margin from paragraphs */
body.single-product .boat-additional-info p {
	margin-bottom: 0;
}

/* Reduce padding of lists */
body.single-product .boat-additional-info ul {
	padding-inline-start: 12px;
}

/*======================================
  *** Booking Form Styling ***
======================================*/

/*--- Place Persons and Date Fields Side by Side ---*/

/* Style columns */
body.single-product .yith-wcbk-form-section-dates-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 40px;
}

body.single-product .yith-wcbk-form-section-persons-wrapper {
	flex: 1 1 calc(35% - 10px);
	min-width: 80px;
}

body.single-product
	.yith-wcbk-form-section-dates-wrapper
	.yith-wcbk-form-section-dates {
	flex: 1 1 calc(65% - 10px);
}

/* Hide duration field */
body.single-product .yith-wcbk-form-section-duration {
	display: none;
}

/* Remove padding to display fields on the same level */
body.single-product .yith-wcbk-form-section {
	padding: 0;
}

/*======================================
  *** Accordion Styling ***
======================================*/

/* Distance to the next element */
body.single-product .product-accordion-wrapper {
	margin-bottom: 40px;
	margin-top: 40px;
}

/* Remove margin of heading */
body.single-product h5.accordion-title {
	margin-block-end: 0;
	text-align: start;
}

body.single-product .accordion-item {
	background-color: var(--light-grey);
	border-radius: var(--border-radius);
	margin-bottom: 20px;
}

body.single-product .accordion-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 10px 15px;
	background-color: var(--light-grey);
	cursor: pointer;
}

/* Style content */
body.single-product .accordion-content {
	padding: 10px 15px;
	font-size: var(--small-text);
	display: none;
}

body.single-product .accordion-item.open .accordion-content {
	display: block;
}

/* Style icon */
body.single-product .accordion-icon {
	transition: transform 0.3s ease;
	display: flex;
	align-items: center;
}

body.single-product .accordion-item.open .accordion-icon {
	transform: rotate(180deg);
}

/*======================================
  *** Price Styling ***
======================================*/

/*--- Place Price Next to Add-to-Cart Button ---*/

/* Style columns */
body.single-product .add-to-cart-price-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
}

/* Remove bottom margin of custom add-to-cart section on non-bookable products */
body.single-product #main .add-to-cart-price-wrapper.not-bookable-online {
	margin-bottom: 0;
}

body.single-product .booking-price-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* Style label */
body.single-product .booking-price-label {
	color: var(--dark-grey);
	margin: 0;
}

/* Style new price */
body.single-product .price {
	font-size: var(--h3);
	font-family: "ct_font_futura__medium";
	color: var(--dark-red);
	margin: 0;
}

/* Hide original price */
body.single-product .product-type-booking .price:not(.booking-price) {
	display: none;
}

/*======================================
  *** Related Styling ***
======================================*/

/*--- Add margin bottom to related products ---*/

section.related.products,
section.up-sells.upsells {
	margin-bottom: 100px;
}

@media (max-width: 999.98px) {
	section.related.products,
	section.up-sells.upsells {
		margin-bottom: 50px;
	}
}
