/**
 * WooCommerce Product Custom CSS
 *
 * @since 3.1.0
 */


/* Layout */

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    clear: both;
    float: none;
    width: 100%;
}

.single-product h2 {
    font-family: var(--font-primary);
}

.single-product .woocommerce-product-details__short-description .cta {
    margin-top: 1.5em;
}

.single-product .woocommerce-tabs>.review-box {
    font-size: 1em;
}

.single-product .review-text {
    max-width: none;
}

.woocommerce-product-gallery {
    position: relative;
}

.woocommerce-product-gallery .promotion-banner {
    position: absolute;
    right: 0.5em;
    top: 0.5em;
    width: min(50%, 320px);
}

.product-configuration {
    margin-top: 2em;
}

.product-configuration>h2 {
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: 0.5em;
}

.starting-dates td {
    vertical-align: top;
    width: 50%
}

.sidebar-content .product-name {
    display: block;
    font-weight: 700;
    margin-top: 1em;
    margin-bottom: 1em;
}

.sidebar-content .price {
    display: block;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}

.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 6px;
}

.related.products {
    margin-top: 2em;
}

.product .cta {
    display: flex;
    gap: 1em;
}

.woocommerce div.product form.cart .button {
    float: none;
}

.woocommerce div.product form.cart .button:not(:last-child) {
    margin-right: 1em;
}

.single-product .tabs {
    display: none;
}

.woocommerce-variation-description>.cta {
    display: none;
}

.woocommerce-variation-price {
    margin-bottom: 1.5em;
}

.cart-description .icon-box svg {
    font-size: 1.5em;
}

.cart-description .icon-box:last-child {
    margin-bottom: 0;
}

.cart-description .widget {
    background-color: var(--color-light-background);
    padding: 0 1em 1.5em;
}

.cart-description .widget-title {
    background-color: var(--color-accent);
    color: #fff;
    font-weight: 700;
    margin-bottom: 1em;
    margin-left: -1em;
    padding: 0.25em 1em;
    width: calc(100% + 2em);
}

#review_form_wrapper {
    display: none;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.single_add_to_cart_button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.single_add_to_cart_button.alt:disabled {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='m216.464 36.465-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L387.887 239H12c-6.627 0-12 5.373-12 12v10c0 6.627 5.373 12 12 12h375.887L209.393 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L233.434 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");
	background-color: var(--color-links);
    color: #fff;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.single_add_to_cart_button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.single_add_to_cart_button.alt:hover:disabled {
	background-color: var(--color-links-hover);
    color: #fff;
}

@media (max-width: 767px) {
    .single-product .woocommerce-product-details__short-description .cta {
        display: none;
    }
    .product>.woocommerce-product-gallery {
        margin-left: calc(var(--site-padding) * -1);
        position: relative;
        width: calc(100% + 2 * var(--site-padding));
    }
    .product>.woocommerce-product-gallery::after {
        content: " ";
        display: block;
        background-color: #fff;
        border-top-left-radius: 2.5em;
        border-top-right-radius: 2.5em;
        position: absolute;
        bottom: 0;
        left: 0;
        height: 2.5em;
        width: 100%;
    }
    .woocommerce div.product .product_title {
        background-image: none;
        text-align: center;
    }
    .summary .woocommerce-product-gallery {
        display: none;
    }
    .summary .cta {
        justify-content: center;
    }
    .summary .cta .button:not(:last-child) {
        margin-right: 0;
    }
    .product-sidebar {
        margin-bottom: 3em;
    }
}

@media (min-width: 768px) {
    .product>.woocommerce-product-gallery {
        display: none;
    }
    .woocommerce div.product .product_title {
        margin-top: 0.75em;
        padding-right: 1.5em;
    }
    .single-product .entry-summary {
        display: grid;
        grid-template-columns: 2fr 1fr;
        column-gap: 0;
    }
    .single-product .woocommerce-product-details__short-description {
        background-color: var(--color-light-background);
        display: flex;
        flex-direction: column;
        padding: 2em;
    }
    .summary .woocommerce-product-gallery {
        background-color: var(--color-light-background);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath fill='%23fff' d='M0 0h10v10H0z'/%3E%3C/svg%3E");
        background-position: right top;
        background-repeat: no-repeat;
        background-size: 50% 100%;
        padding: 2em 0 2em 1em;
    }
    .woocommerce-product-gallery .promotion-banner {
        top: 2.5em;
    }
    .single-product .content-wrapper,
    .product-configuration {
        display: grid;
        grid-template-columns: 2fr 1fr;
        column-gap: 2em;
    }
    .single-product .product-sidebar {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
    .single-product .product-sidebar .sidebar-content {
        position: sticky;
        top: 100px;
    }
    .single-product .woocommerce-tabs {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .single-product .call-to-action .text {
        float: none;
    }
    .product-configuration>h2 {
        grid-column: 1 / 3;
    }
    .product-configuration .cart-description {
        grid-column: 2 / 3;
    }
    .product-configuration .add-to-cart {
        grid-column: 1 / 2;
        grid-row: 2 / 3
    }
}

@media (min-width: 1200px) {
    .single-product .entry-summary {
        grid-template-columns: 1fr 1fr;
    }
    .single-product .woocommerce-product-details__short-description {
        background-color: var(--color-light-background);
        padding: 2em;
    }
    .summary .woocommerce-product-gallery {
        padding: 2em 20%;
    }
    .woocommerce-product-gallery .promotion-banner {
        right: calc(20% + 0.5em);
        width: 180px;
    }
    .single-product .content-wrapper,
    .product-configuration {
        grid-template-columns: 1fr 1fr;
        column-gap: 0;
    }
    .single-product .entry-content {
        padding-left: 2em;
    }
    .single-product .product-sidebar,
    .product-configuration .cart-description {
        padding-left: 20%;
        padding-right: 20%;
    }
    .product-configuration>h2 {
        margin-right: 10%;
    }
}


/* Reviews */

.content-wrapper>#reviews {
    display: none;
}

#reviews {
    margin-bottom: 3em;
    margin-top: 3em;
}

.woocommerce #reviews #comments ol.commentlist {
    padding-left: 0;
}

.woocommerce #reviews #comments ol.commentlist::after,
.woocommerce #reviews #comments ol.commentlist::before,
.woocommerce #reviews #comments ol.commentlist li .comment-text::after,
.woocommerce #reviews #comments ol.commentlist li .comment-text::before {
    content: unset;
    display: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    border-width: 0;
    border-radius: unset;
    display: flex;
    flex-direction: column;
    margin-left: 0;
    padding: 0
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .icon {
    color: var(--color-accent);
    font-size: 1.75em;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p {
    font-size: 0.95em;
    margin-top: 0.5em
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
    color: var(--color-text-light);
    font-size: 0.9em;
    margin-bottom: 0;
    margin-top: 0;
    order: 2
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta::before {
    content: '—';
}

.woocommerce-verification-required,
.woocommerce-review__dash,
.woocommerce-review__published-date {
    display: none;
}

@media (min-width: 768px) {
    .woocommerce #reviews #comments ol.commentlist {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2em;
        padding-left: 0;
    }
}

.product-sidebar .company-ratings {
    margin-top: 3em;
}

.product-sidebar .company-ratings .rating-value {
    color: #666;
    font-size: 1em;
    width: auto;
}

.product-sidebar .company-ratings .rating-base {
    color: inherit;
    display: inline;
    font-size: 1em;
    padding-left: 0;
    text-transform: uppercase;
    width: auto;
}


/*--------------------------------------------------------------
## WooCommerce Bookings
--------------------------------------------------------------*/

.wc-bookings-booking-form {
    border: 0;
    padding: 0;
    margin: 0 0 1em;
}

.wc-bookings-booking-form label {
    font-weight: 700
}

.wc-bookings-booking-form .wc-bookings-booking-cost {
    background: transparent;
    border-top: 0;
    color: #fff;
    font-size: 0;
    position: relative;
    margin: 0;
    padding: 0;
}

.wc-bookings-booking-form .wc-bookings-booking-cost .booking-error {
    background: var(--color-light-background);
    color: var(---color-text);
    display: block;
    border: 1px solid #ddd;
    font-size: 1em;
    position: relative;
    margin: 1em 0 0;
    padding: 1em;
}

.wc-bookings-date-picker .ui-widget {
    font-family: var(--font-primary);
}

.wc-bookings-date-picker .ui-datepicker-header {
    background-color: var(--color-links);
    background-image: none;
    padding: 0;
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next {
    background-color: #fff;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 0.7rem;
    border-radius: 10em;
    height: 1.4em;
    top: 0.6em;
    width: 1.4em;
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev.ui-state-hover,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next.ui-state-hover {
    background-color: #ffffff90;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 0.7rem;
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev.ui-state-hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23305777' d='m18.7 256 22.6 22.6 160 160 22.7 22.7 45.3-45.3-22.6-22.6L109.3 256l137.3-137.4L269.3 96 224 50.7l-22.6 22.7-160 160L18.7 256z'/%3E%3C/svg%3E");
    left: 8px
}  

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next.ui-state-hover {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23305777' d='m301.3 256-22.6 22.6-160 160L96 461.3 50.7 416l22.6-22.6L210.7 256 73.4 118.6 50.7 96 96 50.7l22.6 22.6 160 160 22.7 22.7z'/%3E%3C/svg%3E");
    right: 8px
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev span,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next span {
    background-image: none;
    margin-top: -6px;
}

.wc-bookings-date-picker .ui-datepicker td.bookable a {
    background-color: var(--color-accent) !important;
}

.wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
    background: var(--color-alt-2) !important;
    color: #fff;
}


/*--------------------------------------------------------------
## WooCommerce Multi-Currency
--------------------------------------------------------------*/

.product-after-price {
    font-size: 0.9em;
    clear: both;
    margin-bottom: 1em;
    padding-top: 2em;
}

.widget-woocommerce-currency-switcher>span {
    display: block;
}

.woocommerce-currency-switcher {
    margin-left: 0;
    padding: 0.25em 0.25em 0.25em 0;
}

.woocommerce-currency-switcher .selector,
.woocommerce-currency-switcher .dropdown-content {
    background-color: #fff;
    border: 1px solid silver;
    border-radius: 2px;
    padding: 0.25em;
}

.woocommerce-currency-switcher .chevron-down::after {
    transform: rotate(180deg) scaleX(1.8) translateY(5px);
}

@media (min-width: 800px) {
    .product-after-price {
        margin-top: -1.2em;
        padding-top: 0;
        width: 210px;
    }
}


/*--------------------------------------------------------------
## WooCommerce Product Add-ons
--------------------------------------------------------------*/

.wc-pao-addon .wc-pao-addon-description {
    font-size: 0.9em;
    font-style: normal;
    margin-bottom: 0.5rem;
}

.wc-pao-addon label.wc-pao-addon-name {
    font-size: 1em;
    margin-bottom: 4px;
}

.wc-pao-addon-heading,
.wc-pao-addon label.wc-pao-addon-name[data-addon-name=Accomodation] {
    color: var(--color-accent);
    font-size: 1.3em;
    font-family: var(--font-primary);
    margin-bottom: 0.5rem;
}

.wc-pao-addons-container {
    margin-bottom: 2em;
}

.wc-pao-addon-container {
    margin-bottom: 1.25em;
}

.woocommerce div.product form.cart table.holiday-prices-table {
    max-width: 30em;
}

.woocommerce div.product form.cart table.holiday-prices-table td {
    padding-left: 6px;
}

.woocommerce div.product form.cart table.holiday-prices-table td:not(:first-child) {
    text-align: center;
}

.wc-pao-addon-container textarea {
    max-width: none;
}

h2.wc-pao-addon-heading {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.wc-pao-addon-container input[type=number] {
    max-width: 6em;
}

.accordion.icon-danger summary {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23305777' d='M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM256 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 1em;
    padding-left: 1.5em;
}