/* MyTianDe Free Shipping Popup v2.0.0 — Checkout Trigger Edition */
.mytiande-free-shipping-lightbox,
.mytiande-free-shipping-lightbox * {
    box-sizing: border-box;
}

.mytiande-free-shipping-lightbox {
    position: relative;
    width: min(92vw, 790px);
    margin: 28px auto;
    padding: 0;
    overflow: hidden;
    border: 2px solid #2d6fe5;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(15, 49, 117, .22);
    color: #113a88;
}

.mytiande-free-shipping-shell {
    display: grid;
    grid-template-columns: 205px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    min-height: 360px;
    padding: 26px 28px 22px 20px;
}

/* Close button: hard reset against Flatsome/theme button styles. */
.mytiande-free-shipping-lightbox .mytiande-free-shipping-close {
    all: unset;
    box-sizing: border-box;
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    min-width: 46px;
    max-width: 46px;
    height: 46px;
    min-height: 46px;
    max-height: 46px;
    aspect-ratio: 1 / 1;
    border: 2px solid #2d6fe5;
    border-radius: 50%;
    background: #fff;
    color: #1d55d6;
    font-family: Arial, sans-serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(31, 83, 203, .12);
    transition: transform .15s ease, box-shadow .15s ease;
}

.mytiande-free-shipping-lightbox .mytiande-free-shipping-close span {
    display: block;
    width: 100%;
    line-height: 39px;
    text-align: center;
    transform: translateY(-1px);
}

.mytiande-free-shipping-lightbox .mytiande-free-shipping-close:hover,
.mytiande-free-shipping-lightbox .mytiande-free-shipping-close:focus {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(31, 83, 203, .18);
    outline: none;
}

/* Decorative left block now uses a dedicated image asset instead of CSS-generated leaves/gift. */
.mytiande-free-shipping-visual {
    position: relative;
    width: 205px;
    height: 250px;
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mytiande-free-shipping-visual-image {
    display: block;
    width: 100%;
    max-width: 205px;
    height: auto;
    max-height: 250px;
    object-fit: contain;
}

.mytiande-free-shipping-content {
    min-width: 0;
    padding-top: 3px;
}

.mytiande-free-shipping-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    margin: 0 54px 14px 0;
    color: #1d57de;
}

.mytiande-free-shipping-brand .brand-line {
    display: block;
    height: 1px;
    flex: 1 1 auto;
    max-width: 95px;
    background: linear-gradient(90deg, rgba(29,87,222,0), rgba(29,87,222,.7), rgba(29,87,222,0));
}

.mytiande-free-shipping-brand .brand-name {
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.05em;
    white-space: nowrap;
}

.mytiande-free-shipping-main-title {
    margin: 0;
    color: #123987;
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.mytiande-free-shipping-main-title .mytiande-free-shipping-amount,
.mytiande-free-shipping-main-title .mytiande-free-shipping-amount .woocommerce-Price-amount,
.mytiande-free-shipping-main-title .mytiande-free-shipping-amount .woocommerce-Price-currencySymbol {
    color: #1e63ef;
}

.mytiande-free-shipping-main-title .mytiande-free-shipping-amount { white-space: nowrap; }

.mytiande-free-shipping-progress-area {
    position: relative;
    margin: 24px auto 18px;
    padding-top: 11px;
}

.mytiande-free-shipping-progress {
    height: 34px;
    overflow: hidden;
    border-radius: 999px;
    background: #d8e5fb;
    box-shadow: inset 0 2px 6px rgba(25, 63, 160, .08);
}

.mytiande-free-shipping-progress-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(110deg, #173fc1 0%, #2164f0 55%, #327cff 100%);
}

.mytiande-free-shipping-progress-badge {
    position: absolute;
    top: 28px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: linear-gradient(160deg, #2c73ff 0%, #1245c6 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(20, 64, 160, .20);
    transform: translate(-50%, -50%);
}

.mytiande-free-shipping-progress-badge svg {
    width: 36px;
    height: 36px;
}

.mytiande-free-shipping-footer {
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #d4e2ff;
    text-align: center;
}

.mytiande-free-shipping-footer-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #1549c4;
    font-size: 14px;
    line-height: 1.35;
}

.mytiande-free-shipping-footer-text .footer-truck {
    display: inline-flex;
    width: 31px;
    height: 25px;
    flex: 0 0 auto;
}
.mytiande-free-shipping-footer-text .footer-truck svg { width: 26px; height: 26px; }
.mytiande-free-shipping-footer-text .footer-heart { font-size: 23px; line-height: 1; }

.mytiande-free-shipping-lightbox .mytiande-free-shipping-continue {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
    margin: 14px auto 0 !important;
    padding: 10px 22px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #1e63ef 0%, #1245c6 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(20, 69, 198, .16);
}

.mytiande-free-shipping-lightbox .mytiande-free-shipping-continue:hover,
.mytiande-free-shipping-lightbox .mytiande-free-shipping-continue:focus {
    background: linear-gradient(135deg, #1a59d9 0%, #0f3ead 100%) !important;
    color: #fff !important;
}

.mytiande-free-shipping-fallback-overlay {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(2, 17, 52, .68);
}
.mytiande-free-shipping-fallback-inner { width: 100%; }
body.mytiande-free-shipping-modal-open { overflow: hidden; }
.mytiande-free-shipping-fallback-overlay .mytiande-free-shipping-lightbox { margin: 0 auto; }

.mfp-wrap.mytiande-free-shipping-mfp .mfp-content { width: 100%; max-width: 830px; }
.mfp-wrap.mytiande-free-shipping-mfp .mfp-close { display: none !important; }

@media (max-width: 760px) {
    /*
     * Mobile: Magnific Popup се фиксира към реалния viewport и card-ът
     * се центрира вертикално и хоризонтално. Така позицията не зависи
     * от височината/scroll позицията на страницата и не пада на дъното.
     */
    .mfp-wrap.mytiande-free-shipping-mfp {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    @supports not (height: 100dvh) {
        .mfp-wrap.mytiande-free-shipping-mfp {
            height: 100vh !important;
            min-height: 100vh !important;
        }
    }

    .mfp-wrap.mytiande-free-shipping-mfp .mfp-container {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 100% !important;
        height: auto !important;
        padding: calc(12px + env(safe-area-inset-top, 0px)) 0 calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    .mfp-wrap.mytiande-free-shipping-mfp .mfp-container::before {
        display: none !important;
        content: none !important;
    }

    .mfp-wrap.mytiande-free-shipping-mfp .mfp-content {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: auto 0 !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        box-sizing: border-box !important;
        vertical-align: middle !important;
        text-align: left !important;
    }

    .mytiande-free-shipping-lightbox {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 520px !important;
        max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        margin: 0 auto !important;
        transform: none !important;
        border-radius: 20px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    @supports not (height: 100dvh) {
        .mytiande-free-shipping-lightbox {
            max-height: calc(100vh - 24px);
        }
    }

    .mytiande-free-shipping-shell {
        grid-template-columns: 1fr;
        gap: 0;
        min-height: 0;
        padding: 22px 20px 20px;
    }

    .mytiande-free-shipping-lightbox .mytiande-free-shipping-close {
        top: 11px;
        right: 11px;
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        height: 40px;
        min-height: 40px;
        max-height: 40px;
        font-size: 30px;
    }
    .mytiande-free-shipping-lightbox .mytiande-free-shipping-close span { line-height: 34px; }

    .mytiande-free-shipping-visual {
        width: 150px;
        height: 148px;
        margin: -3px auto 2px;
        transform: scale(.72);
        transform-origin: center top;
    }

    .mytiande-free-shipping-content { margin-top: -30px; }

    .mytiande-free-shipping-brand {
        margin: 0 45px 10px;
        gap: 9px;
    }
    .mytiande-free-shipping-brand .brand-name { font-size: 30px; }
    .mytiande-free-shipping-brand .brand-line { max-width: 70px; }

    .mytiande-free-shipping-main-title {
        font-size: clamp(28px, 8vw, 36px);
        line-height: 1.03;
    }

    .mytiande-free-shipping-progress-area { margin: 20px 6px 15px; }
    .mytiande-free-shipping-progress { height: 28px; }
    .mytiande-free-shipping-progress-badge {
        top: 24px;
        width: 58px;
        height: 58px;
        border-width: 3px;
    }
    .mytiande-free-shipping-progress-badge svg { width: 29px; height: 29px; }

    .mytiande-free-shipping-footer-text {
        font-size: 13px;
        gap: 6px;
    }

    /* Fallback modal without Magnific Popup: same centered behavior. */
    .mytiande-free-shipping-fallback-overlay {
        align-items: center;
        justify-content: center;
        padding: calc(12px + env(safe-area-inset-top, 0px)) 14px calc(12px + env(safe-area-inset-bottom, 0px));
        box-sizing: border-box;
        overflow-y: auto;
    }

    .mytiande-free-shipping-fallback-inner {
        width: 100%;
        max-width: 520px;
        margin: auto;
    }

    .mytiande-free-shipping-fallback-overlay .mytiande-free-shipping-lightbox {
        margin: 0 auto !important;
    }
}

@media (max-width: 430px) {
    .mfp-wrap.mytiande-free-shipping-mfp .mfp-content {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .mytiande-free-shipping-lightbox {
        width: 100% !important;
        max-width: 406px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .mytiande-free-shipping-shell { padding: 18px 14px 16px; }
    .mytiande-free-shipping-visual { transform: scale(.61); height: 128px; margin-top: -7px; }
    .mytiande-free-shipping-content { margin-top: -42px; }
    .mytiande-free-shipping-brand { margin: 0 36px 8px; }
    .mytiande-free-shipping-brand .brand-name { font-size: 26px; }
    .mytiande-free-shipping-main-title { font-size: 27px; }
    .mytiande-free-shipping-footer-text span:nth-child(2) { max-width: 240px; }
    .mytiande-free-shipping-lightbox .mytiande-free-shipping-continue {
        width: 100%;
        padding: 10px 14px !important;
        font-size: 12px !important;
    }
}

/* Checkout button is advisory-checked only for the short AJAX request. */
.mytiande-free-shipping-checking {
    opacity: .78;
    cursor: wait !important;
}
