/* ========================================
   VIB STICKY DOWNLOAD - QR App Widget
   Component: js-css-sticky-download
   ======================================== */

body#content.modal-open {
    overflow: hidden;
}

/* ----------------------------------------
   Sticky Aside - Main Container
   ---------------------------------------- */
.sticky-download.fixed-ticky-download {
    position: relative;
}

.sticky-aside {
    width: 182px;
    padding: 20px 10px;
    margin-top: 100px;
    position: absolute;
    top: 770px;
    z-index: 6;
    border: 1px solid var(--Max, #C1F11D);
    left: calc((100vw - 1100px) / 2 + 1120px);
    border-radius: 15px;
    background: var(--Mono-Mono-7, #FFF);
    box-shadow: 0 40px 60px 0 rgba(0, 0, 0, 0.05), 0 15.407px 15.48px 0 rgba(0, 0, 0, 0.02), 0 3.259px 6.519px 0 rgba(0, 0, 0, 0.01);
    /* Smooth hide/show transition */
    opacity: 1;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.sticky-aside.sticky-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
}

.sticky-aside > * {
    font-weight: var(--font-body-regular-weight, 400);
    font-size: var(--font-body-bold-size, 14px);
    line-height: var(--font-body-semibold-height, 22px);
    text-align: center;
}

.sticky-aside.fixed {
    position: fixed;
    top: 98px;
}

.sticky-aside.fixed.fixed-bottom {
    position: absolute;
    top: auto;
    bottom: 40px;
}

/* ----------------------------------------
   Sticky Aside - Typography
   ---------------------------------------- */
.sticky-aside h3 {
    color: var(--Mono-Mono-2, #5E5C62);
    font-family: 'Inter', sans-serif;
    font-size: 10.292px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin-bottom: 20px;
    margin-top: 5px;
}

.sticky-download div.col.col_desk .desc {
    color: var(--Mono-Mono-2, #5E5C62);
    text-align: center;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 26px;
    margin-top: 20px
}

/* ----------------------------------------
   Sticky Aside - App Icon
   ---------------------------------------- */
#icon-max-app {
    width: 100px;
    height: auto;
    margin: 0 auto;
    display: block;
}

/* ----------------------------------------
   Sticky Aside - QR Code
   ---------------------------------------- */
.sticky-aside .qa-info,
.sticky-aside .col_btn {
    display: none;
    overflow: hidden;
}

.sticky-aside .col_btn {
    min-width: 170px;
    padding-left: 0;
}

.sticky-aside .col_btn .btn_only_mobile,
.sticky-aside .col_btn .btn_only_tablet {
    visibility: hidden;
}

.sticky-aside .qa-info .scan-qa {
    width: 80px;
    height: 80px;
    margin: 5px auto 0px;
    position: relative;
    overflow: visible;
}

.sticky-aside .qa-info .scan-qa img {
    max-width: 80px;
    height: auto;
}

.sticky-aside .qa-info .scan-qa::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 1px solid #E4E4E4;
    pointer-events: none;
    border-radius: 10px;
}

.sticky-aside .qa-info .scan-qa .scan-animation {
    width: 100%;
    height: 10px;
    position: absolute;
    animation-name: scanQr2;
    animation-duration: 4s;
    animation-iteration-count: infinite;
    border-radius: 10px;
}

.sticky-aside .qa-info .scan-qa img.qr-center-icon {
    height: 18.75px;
    width: 18.75px;
}

/* ----------------------------------------
   Sticky Aside - Popup / Modal
   ---------------------------------------- */
.sticky-aside #popup-dowload .modal-dialog {
    width: 100vw;
}

.sticky-aside #popup-dowload .modal-dialog .modal-content {
    width: 100%;
}

.sticky-aside #popup-dowload .modal-dialog .modal-content .popup-exit {
    right: 5px;
}

.sticky-aside #popup-dowload .part-ad {
    width: 100%;
    padding: 0 0 0 30px;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner {
    background: #fff;
    padding: 0;
    height: calc(100vh - 81px);
    margin: 40px auto;
    overflow: hidden;
    text-align: center;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner > .row {
    height: 100%;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .col_pic {
    width: 45%;
    padding-right: 0;
    padding-left: 0;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .col_pic img {
    max-width: 100%;
    max-height: 500px;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner h3,
.sticky-aside #popup-dowload .part-ad .part-ad-inner h3 > *,
.modal-open .sticky-aside #popup-dowload.modal .modal-content .modal-body {
    font-weight: 600 !important;
    font-size: 26px !important;
    line-height: 34px !important;
    margin: 0;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner h3 + p {
    font-weight: var(--font-body-medium-weight, 500);
    font-size: var(--font-body-bold-size, 14px);
    line-height: 22px;
    margin-top: 12px;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .qa-info {
    font-weight: var(--font-body-medium-weight, 500);
    font-size: var(--font-body-bold-size, 14px);
    line-height: 22px;
    background: #F9FAFB;
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.12);
    border-radius: 3px;
    padding: 8px 12px;
    margin-top: 20px;
    display: block;
    width: 232px;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .txt-conts-ad {
    padding-right: 60px;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .qa-info .scan-qa {
    width: 80px;
    margin-bottom: 0;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .qa-info p {
    margin-bottom: 0;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .qa-info .col {
    padding-left: 12px;
    padding-right: 12px;
}

.sticky-aside #popup-dowload .part-ad .part-ad-inner .qa-info .col:not(:first-child) {
    padding-left: 0;
}

/* ----------------------------------------
   Scan QR Animation
   ---------------------------------------- */
@keyframes scanQr2 {
    from {
        background: linear-gradient(0deg, #C1F11D 0%, rgba(193, 241, 29, 0.54) 24.43%, rgba(255, 255, 255, 0) 100%);
        top: 0;
    }
    50% {
        background: linear-gradient(0deg, #C1F11D 0%, rgba(193, 241, 29, 0.54) 24.43%, rgba(255, 255, 255, 0) 100%);
        top: 90%;
    }
    51% {
        background: linear-gradient(180deg, #C1F11D 0%, rgba(193, 241, 29, 0.54) 24.43%, rgba(255, 255, 255, 0) 100%);
        top: 90%;
    }
    100% {
        background: linear-gradient(180deg, #C1F11D 0%, rgba(193, 241, 29, 0.54) 24.43%, rgba(255, 255, 255, 0) 100%);
        top: 0;
    }
}

/* ----------------------------------------
   Desktop-Only Overrides (>1025px)
   ---------------------------------------- */
@media only screen and (min-width: 1025px) {
    .sticky-download .sticky-aside div.col.col_desk h4 {
        display: none;
    }
    .sticky-download div.col.col_desk div.qa-info {
        margin-top: 20px;
    }
}

/* ----------------------------------------
   Tablet / Small Desktop (<= 1025px)
   ---------------------------------------- */
@media only screen and (max-width: 1025px) {
    .sticky-download .sticky-aside div.col.col_desk h3,
    .sticky-download .sticky-aside div.col.col_desk #icon-max-app {
        display: none;
    }
    .sticky-download .sticky-aside div.col.col_desk h4 {
        color: black;
        font-size: 16px;
        font-family: 'Inter', sans-serif;
        font-weight: 600;
        line-height: 26px;
        word-wrap: break-word;
    }
    .sticky-aside {
        border-radius: 0px !important;
        background: #FFF;
        box-shadow: 0 -5px 10px 0 rgba(188, 188, 188, 0.50);
    }
}

/* ----------------------------------------
   Tablet & Mobile (<= 1023px) - Bottom bar
   ---------------------------------------- */
@media only screen and (max-width: 1023px) {
    .sticky-aside {
        display: none;
    }
    .sticky-aside,
    .sticky-aside.fixed.fixed-bottom {
        position: fixed;
        top: auto !important;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        padding: 15px 20px;
        z-index: 1000;
    }
    .sticky-aside > * {
        text-align: left;
    }
    .sticky-aside .txt-conts-ad .row {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .sticky-aside .qa-info {
        display: none;
    }
    .sticky-aside h3 {
        margin-bottom: 0;
    }
    .sticky-aside .btn_popup_store_mobile,
    .sticky-aside a.new-style-link.btn_popup_store_mobile {
        text-align: center;
        color: #000 !important;
        background: var(--bg-gradient-orange-1, linear-gradient(135deg, #C1F11D, #A8D918));
        border-radius: 5px;
        display: inline-block;
        margin: 0 auto;
        padding: 12px 32px;
        text-decoration: none;
        width: auto;
        line-height: 24px;
        font-weight: 600;
    }
}

/* ----------------------------------------
   Narrow Desktop (1025px - 1530px)
   ---------------------------------------- */
@media (min-width: 1025px) and (max-width: 1530px) {
    .sticky-aside {
        left: auto;
        right: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1025px) {
    body .container,
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* Zoom handled by JavaScript for smooth dynamic scaling */
/* See: initDynamicZoomForStickyDownload() in main.js */

/* 
@media (min-width: 1024px) and (max-width: 1090px) {
    .reasons-section > .container,
    .membership-section > .container,
    .spending-section > .container,
    .ecosystem-section > .container,
    .guide-section > .container,
    .faq-section > .container {
        padding-right: calc(227px - (100vw - 1100px) / 2) !important;
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1130px) {
    .reasons-section > .container,
    .membership-section > .container,
    .spending-section > .container,
    .ecosystem-section > .container,
    .guide-section > .container,
    .faq-section > .container {
        padding-left: 20px !important
    }
}

@media (min-width: 1024px) and (max-width: 1530px) {
    .reasons-section > .container,
    .membership-section > .container,
    .spending-section > .container,
    .ecosystem-section > .container,
    .guide-section > .container,
    .faq-section > .container {
        padding-right: calc(227px - (100vw - 1100px) / 2) !important;
    }
} */

/* ----------------------------------------
   Small Mobile (<= 320px)
   ---------------------------------------- */
@media only screen and (max-width: 320px) {
    .sticky-aside .btn_popup_store_mobile,
    .sticky-aside a.new-style-link.btn_popup_store_mobile {
        padding: 8px 12px;
    }
}

/* ----------------------------------------
   Hide before scroll on mobile (<= 1025px)
   ---------------------------------------- */
@media only screen and (max-width: 1025px) {
    body#content:not(.scrolled) .sticky-aside {
        display: none !important;
    }
}
