.form-reschedule,
.form-period {
    position: fixed;
    display: none;
    opacity: 0;
    top: 0;
    left: 0;
    z-index: 99999;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    transition: opacity 1s ease;
    -webkit-transition: opacity 1s ease;
    -moz-transition: opacity 1s ease;
}

.form-reschedule.active,
.form-period.active {
    display: flex;
}

.form-reschedule-overlay,
.form-period-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 20%);
    backdrop-filter: blur(2px);
}

.form-reschedule-modal,
.form-period-modal {
    position: relative;
    background: #fff;
    padding: 30px;
    max-width: 90%;
    width: 550px;
}

.form-reschedule-body,
.form-period-body {
    display: flex;
    flex-direction: column;
    grid-gap: 15px;
}

span.form-reschedule-close,
span.form-period-close {
    position: absolute;
    top: -15px;
    right: -15px;
    font-size: 25px;
    background: #fff;
    border-radius: 100%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgb(0 0 0 / 20%);
    border: 1px solid rgb(0 0 0 / 10%);
    cursor: pointer;
}

.woocommerce-MyAccount-content .shop_table.subscription_details tr td:last-child a {
    margin-right: 0 !important;
}

.form-product-options-wrapper {
    width: 100%;
}

.form-product-options {
    display: grid;
    grid: auto-flow dense / 1fr 1fr;
    grid-gap: 15px;
    margin: 15px 0 10px;
}

.nm-shop-loop-options .form-product-options {
    margin-bottom: 20px;
}

span.form-product-selector {
    display: block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border: 1px solid #ccc;
    border-radius: 100%;
    margin-right: 10px;
}

span.form-product-option-details {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.form-product-options-wrapper:not([data-type="subscriptions"]) .form-product-option-onetime span.form-product-selector,
.form-product-options-wrapper[data-type="subscriptions"] .form-product-option-subscription span.form-product-selector {
    background: #e6d046;
    border-color: #e6d046;
}

.form-product-options-wrapper:not([data-type="subscriptions"]) ~ .wcsatt-options-wrapper {
    display: none !important;
}

.form-product-options-wrapper:not([data-type="subscriptions"]) .form-product-option-onetime span.form-product-selector:before,
.form-product-options-wrapper[data-type="subscriptions"] .form-product-option-subscription span.form-product-selector:before {
    content: "\e116";
    font-family: 'nm-font';
    color: #fff;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.form-subscription-dropdown-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.wcsatt-options-product {
    gap: 5px;
}

.subscription-option {
    width: auto !important;
    flex: 1;
}

.one-time-option,
.subscription-option .price,
.subscription-option input {
    clip: rect(0 0 0 0); 
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap; 
    width: 1px;
    display: none;
}

.subscription-option input + span,
.form-subscription-dropdown-options span {
    display: block !important;
    flex: 1;
    border: 2px solid #eee;
    padding: 10px 15px;
    margin: 0;
    cursor: pointer;
    line-height: 2;
    font-family: "silkamedium", Helvetica, sans-heading;
    font-size: 13px;
    text-align: center;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.nm-shop-loop-options .subscription-option input + span,
.nm-shop-loop-options .form-subscription-dropdown-options span {
    line-height: 1.5;
}

.form-subscription-dropdown {
    margin: 10px 0 0;
}

.subscription-option input + span:hover,
.form-subscription-dropdown-options span:hover {
    border-color: #ccc;
}

.form-subscription-dropdown-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 5px;
}

.form-subscription-dropdown {
    margin: 10px 0 0;
}

.subscription-option input:checked + span,
.form-subscription-dropdown-options span.active {
    border-color: #e6d046;
}

div#stickybar .form-product-options {
    display: flex;
}

div#stickybar .wcsatt-options-wrapper,
div#stickybar .form-subscription-dropdown {
    display: none !important;
}

.form-subscription-dropdown {
    grid-column-start: 1;
    grid-column-end: 3;
}

.form-subscription-dropdown-options > span {
    flex: 1;
}

.subscription-option input + span:before,
.form-subscription-dropdown-options span:before {
    content: "";
    border-top: 30px solid #e6d046;
    border-left: 30px solid transparent;
    position: absolute;
    right: 0;
    left: unset;
    top: 0;
    opacity: 0;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    pointer-events: none;
}

.subscription-option input + span:after,
.form-subscription-dropdown-options span:after {
    content: "\e116";
    font-family: "nm-font";
    font-size: 13px;
    line-height: 10px;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    text-align: center;
    position: absolute;
    right: 3px;
    top: 3px;
    opacity: 0;
    z-index: 2;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    pointer-events: none;
}

.subscription-option input:checked + span:before,
.subscription-option input:checked + span:after,
.form-subscription-dropdown-options span.active:before,
.form-subscription-dropdown-options span.active:after {
    opacity: 1;
}

table.subscription_details a.button {
    margin: 0 0 4px;
}

@media screen and (max-width: 1200px) {

    .thumbnails-vertical .woocommerce-product-gallery .flex-control-thumbs, .woocommerce-product-gallery .flex-control-thumbs {
        display: flex;
        z-index: 2;
        align-items: center;
        justify-content: center;
        width: 100%;
        top: calc(100% - 30px) !important;
        transform: translateY(0) !important;
        height: 20px;
        grid-gap: 10px;
    }
    
    .thumbnails-vertical .woocommerce-product-gallery .flex-control-thumbs li img {
        visibility: hidden;
        width: 0;
        height: 0;
    }
    
    .thumbnails-vertical .woocommerce-product-gallery .flex-control-thumbs li {
        background: rgb(0 0 0 / 10%);
        width: 10px;
        height: 10px;
        border-radius: 100%;
        margin: 0;
        border: 1px solid rgb(0 0 0 / 0%);
    }
    
    .thumbnails-vertical .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {
        background: #fff;
        border: 1px solid rgb(0 0 0 / 10%);
    }
    
}
