/*Copyright © Vaimo Group. All rights reserved.*/
/*See LICENSE_VAIMO.txt for license details.*/

body.fortune-wheel-visible {
    overflow-y: hidden !important;
}

.fortune-overlay.loaded {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    background-color: gray;
    opacity: 0.6;
    z-index: 999;
}
.fortune-wheel-container {
    position: fixed;
    top: 124px;
    transform: translateX(-50%);
    left: 50%;
    background: #F7F7EF;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 3px 14px 2px #00000012, 0 8px 10px 1px #00000014, 0 5px 5px -3px #00000020;
    pointer-events: all;
    z-index: 1000;
    display: none;
}
.fortune-wheel-container.loaded {
    display: flex;
}

/* Close Button */
.fortune-wheel-container .fortune_close-button {
    position: absolute;
    right: 8px;
    top: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    z-index: 1;
    background: none;
    border: none;
    background-image: url('../images/close-icon.png');
    background-repeat: no-repeat;
    background-size: contain;
}

/* Views */
.fortune-wheel-container .fortune_view {
    max-height: 100vh;
}

/* Spin View */
.fortune-wheel-container .fortune_spin-view {
    width: 328px;
    display: none;
    overflow-y: auto;
}
.fortune-wheel-container .fortune_spin-view::-webkit-scrollbar {
    display: none;
}
.fortune-wheel-container[data-view="spin"] .fortune_spin-view {
    display: block;
}
.fortune-wheel-container .fortune_spin-view-wrapper {
    position: relative;
    height: 464px;
    padding-top: 12px;
    box-sizing: border-box;
    overflow: hidden;
}

/* Spin View: Background Circle*/
.fortune-wheel-container .fortune_background-circle {
    position: absolute;
    width: 378px;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #EDEDE3;
    left: -24px;
    top: -169px;
}

/* Spin View: Header Image */
.fortune-wheel-container .fortune_header-wrapper {
    position: relative;
    height: 155px;
    display: flex;
    justify-content: center;
    transform: rotate(-12deg);
    align-items: center;
}
.fortune-wheel-container .fortune_header,.fortune-wheel-container .fortune_header-shadow {
    position: absolute;
    font-weight: 900;
    width: 100%;
    display: block;
    font-size: 55px;
    color: transparent;
    font-style: italic;
    line-height: 1.1;
    text-align: center;
    transform: scaleX(0.9);
    letter-spacing: -0.7px;
}
.fortune-wheel-container .fortune_header {
    background: -webkit-linear-gradient(#9DCE6B, #44894D);
    background-clip: text;
}
.fortune-wheel-container .fortune_header-shadow {
    text-shadow: 1px 1px #053E0E, 2px 2px #053E0E, 3px 3px #053E0E, 4px 4px #053E0E;
}

/* Spin View: Spin Button */
.fortune-wheel-container .fortune_spin-button-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 12px;
}
.fortune-wheel-container .fortune_spin-button {
    height: 40px;
    padding-inline: 13px;
    border-radius: 5px;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: #FFFFFF;
    background-image: linear-gradient(16deg, #B5272F 50%, #CC312F 50%)!important;
    box-shadow: none;
    z-index: 1;
    border: none;
}
.fortune-wheel-container .fortune_spin-button:hover {
    box-shadow: 0px 3px 14px 2px #0000001F, 0px 8px 10px 1px #00000024, 0px 5px 5px -3px #00000033;
}
.fortune-wheel-container .fortune_spin-button:active {
    background-image: linear-gradient(16deg, #9A2523 50%, #B72D2B 50%)!important;
    box-shadow: none;
}
.fortune-wheel-container .fortune_spin-button:hover[data-disabled="1"],.fortune-wheel-container .fortune_spin-button[data-disabled="1"] {
    pointer-events: none;
}

/* Spin View: Wheel */
.fortune-wheel-container .fortune_wheel-container {
    position: absolute;
    display: flex;
    justify-content: center;
    width: 100%;
    bottom: -84px;
    pointer-events: none;
}
.fortune-wheel-container .fortune_wheel-container-inner {
    width: 296px;
    aspect-ratio: 1;
    position: relative;
}

/* Spin View: Wheel Arrow */
.fortune-wheel-container .fortune_arrow-wrapper {
    height: 84px;
    width: 84px;
    position: absolute;
    z-index: 1;
    left: 198px;
    top: -33px;
    background-image: url('../images/arrow.png');
}

/* Spin View: Wheel Center */
.fortune-wheel-container .fortune_center-wrapper {
    position: absolute;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fortune-wheel-container .fortune_center {
    width: 48px;
    height: 48px;
    background: #FFFFFF;
    z-index: 2;
    border-radius: 50%;
    box-shadow: 0 0 8px 0 #00000025;
}

/* Spin View: Wheel Slices */
.fortune-wheel-container .fortune_wheel-slices-wrapper {
    aspect-ratio: 1;
    width: 100%;
    position: absolute;
    border-radius: 50%;
    box-shadow: 0 0 0 8px #EDEDE3;
    overflow: hidden;
}


.fortune-wheel-container .fortune_wheel-slices {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    position: absolute;
    overflow: hidden;
    box-shadow: 0 0 8px 0 #9D9A81FA;
    animation-duration: 6.5s;
    animation-iteration-count: 1;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    display: flex;
    flex-wrap: wrap;
    transform: rotate(-15deg);
    transition: all 3s ease-in-out;
}
.fortune-wheel-container .fortune_wheel-part {
    position: absolute;
    width: 50%;
    height: 100%;
    overflow: hidden;
}
.fortune-wheel-container .fortune_wheel-part-right {
    right: 0;
}

/* Spin View: Wheel Slices Label */
.fortune-wheel-container .fortune_label {
    width: 50%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    z-index: 1;
    color: #000000;
    padding-inline: 40px 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}
.fortune-wheel-container .fortune_wheel-part-right .fortune_label {
    justify-content: flex-end;
}
.fortune-wheel-container .fortune_label-emoji {
    margin-right: 2px;
}

/* Spin View: Wheel Slices Position */
.fortune-wheel-container .fortune_slice {
    width: 50%;
    height: 50%;
    position: relative;
}
.fortune-wheel-container .fortune_slice:nth-of-type(3n+1) {
    background: #78BE20;
}
.fortune-wheel-container .fortune_slice:nth-of-type(3n+2) {
    background: #41864C;
}
.fortune-wheel-container .fortune_slice:nth-of-type(3n+3) {
    background: #A1D16C;
}

/* Success View */
.fortune-wheel-container .fortune_success-view {
    position: relative;
    padding: 24px;
    width: 328px;
    display: none;
    box-sizing: border-box;
    overflow-y: auto;
    max-height: 100vh;
}
.fortune-wheel-container .fortune_success-view::-webkit-scrollbar {
    display: none;
}
.fortune-wheel-container[data-view="success"] .fortune_success-view {
    display: block;
}

/* Success View: Content */
.fortune-wheel-container .fortune-content-wrapper {
    margin-bottom: 24px;
}

/* Success View: Title */
.fortune-wheel-container .fortune_success-title {
    color: black;
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    margin-bottom: 4px;
}

/* Success View: Result */
.fortune-wheel-container .fortune_success-result {
    color: #3C8700;
    font-weight: 700;
    font-size: 48px;
    line-height: 56px;
    margin-bottom: 12px;
    text-align: center;
}

/* Success View: Coupon */
.fortune-wheel-container .fortune-coupon-wrapper {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #3C8700;
    border-radius: 4px;
    margin-bottom: 4px;
}
.fortune-wheel-container .fortune_success-coupon-text {
    color: black;
    font-weight: 400;
    font-size: 16px;
    margin-right: 3px;
}
.fortune-wheel-container .fortune_success-coupon {
    color: #3C8700;
    font-weight: 600;
    font-size: 16px;
}
.fortune-wheel-container .fortune_success-coupon-input {
    display: none;
}

/* Success View: Subtitle */
.fortune-wheel-container .fortune_success-subtitle {
    display: flex;
    flex-direction: column;
    color: #939393;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    margin-bottom: 12px;
}

/* Success View: Copy Button */
.fortune-wheel-container .fortune_success-button {
    width: 100%;
    height: 48px;
    color: #FFFFFF;
    padding-inline: 17px;
    font-weight: 600;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: linear-gradient(10deg, #62B51C 50%, #89C201 50%);
    border-radius: 4px;
    box-shadow: none;
}
.fortune-wheel-container .fortune_success-button:hover {
    box-shadow: 0px 3px 14px 2px #0000001F, 0px 8px 10px 1px #00000024, 0px 5px 5px -3px #00000033;
}
.fortune-wheel-container .fortune_success-button:active {
    box-shadow: none;
    background-image: linear-gradient(10deg, #3C8700 50%, #47A100 50%);
}
.fortune-wheel-container .fortune_success-button-before {
    display: none;
}
.fortune-wheel-container .fortune_success-button-after {
    display: none;
}
.fortune-wheel-container .fortune_success-button[data-state="before"] .fortune_success-button-before {
    display: inline;
}
.fortune-wheel-container .fortune_success-button[data-state="after"] .fortune_success-button-after {
    display: inline;
}

/* Success View: Form: Label */
.fortune-wheel-container .fortune_email-form-label {
    color: #939393;
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    text-align: left;
    margin-bottom: 4px;
}

/* Success View: Form: Input Wrapper */
.fortune-wheel-container .fortune_email-form-input-wrapper {
    display: flex;
    gap: 12px;
}

/* Success View: Form: Input Field */
.fortune-wheel-container .fortune_email-form-input-field-wrapper {
    width: 100%;
    position: relative;
}
.fortune-wheel-container .fortune_email-form-input-field {
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    border: solid 1px #C9C9C9;
    padding-inline: 12px 12px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
    color: #000000;
    line-height: 16px;
    padding-block: 20px 4px;
}
.fortune-wheel-container .fortune_email-form-input-field-wrapper[data-state="normal"] .fortune_email-form-input-field {
    padding-block: 0;
}
.fortune-wheel-container .fortune_email-form-input-field-wrapper[data-state="error"] .fortune_email-form-input-field {
    border-color: #DA291C;
    padding-inline: 12px 12px;
}

/* Success View: Form: Input Field: Validation */
.fortune-wheel-container .fortune_email-form-input-validation {
    position: absolute;
}
.fortune-wheel-container .fortune_email-form-input-validation-error,.fortune-wheel-container .fortune_email-form-input-validation-success {
    display: none;
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
}
.fortune-wheel-container .fortune_email-form-input-validation-error {
    color: #DA291C;
}
.fortune-wheel-container .fortune_email-form-input-validation-success {
    color: #005F61;
}
.fortune-wheel-container .fortune_email-form-input-field-wrapper[data-state="error"] .fortune_email-form-input-validation-error,.fortune-wheel-container .fortune_email-form-input-field-wrapper[data-state="success"] .fortune_email-form-input-validation-success {
    display: inline;
}

/* Success View: Form: Input Field: Placeholder */
.fortune-wheel-container .fortune_email-form-input-field::placeholder {
    color: #939393;
}
.fortune-wheel-container .fortune_email-form-input-field-placeholder {
    display: inline;
    position: absolute;
    z-index: 1;
    left: 12px;
    top: 6px;
    pointer-events: none;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    color: #214544;
}
.fortune-wheel-container .fortune_email-form-input-field-wrapper[data-state="normal"] .fortune_email-form-input-field-placeholder {
    display: none;
}

/* Success View: Form: Submit Button */
.fortune-wheel-container .fortune_email-form-button {
    min-width: 88px;
    height: 48px;
    border: solid 1px #78BE20;
    padding-inline: 17px;
    background-color: #FFFFFF;
    border-radius: 4px;
    color: #78BE20;
    font-weight: 600;
    font-size: 16px;
    box-shadow: none;
}
.fortune-wheel-container .fortune_email-form-button:hover {
    box-shadow: 0px 3px 14px 2px #0000001F, 0px 8px 10px 1px #00000024, 0px 5px 5px -3px #00000033;
}
.fortune-wheel-container .fortune_email-form-button:active {
    box-shadow: none;
    background-image: linear-gradient(10deg, #3C8700 50%, #47A100 50%);
}
.fortune-wheel-container .fortune_email-form-button[data-disabled="1"] {
    border-color: #F0F0F0;
    color: #939393;
    pointer-events: none;
    box-shadow: none;
}

/* Spin Animations */

@keyframes anim-spin-1 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(1090deg);
    }
}

@keyframes anim-spin-2 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(1005deg);
    }
}

@keyframes anim-spin-3 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(940deg);
    }
}

@keyframes anim-spin-4 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(885deg);
    }
}

@keyframes anim-spin-5 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(855deg);
    }
}

@keyframes anim-spin-6 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(780deg);
    }
}

.catalog-product-view .fortune-wheel-container .quantity-wrapper .modal-header {
    padding-top: 60px;
}
