#mdo-banner,
#mdo-reopen {
    box-sizing: border-box;
}

.mdo-hidden {
    display: none !important;
}

#mdo-banner {
    position: fixed;
    inset: auto 16px 16px 16px;
    z-index: 999999;
    font-family: var(--mdo-font, inherit);
}

.mdo-box {
    max-width: 980px;
    margin: 0 auto;
    background: var(--mdo-bg, #181818);
    color: var(--mdo-text, #fff);
    border-radius: var(--mdo-radius, 16px);
    box-shadow: 0 12px 36px rgba(0, 0, 0, .35);
    padding: 22px;
}

.mdo-content h2 {
    margin: 0 0 8px;
    font-size: 20px;
    color: var(--mdo-text, #fff);
}

.mdo-content p {
    margin: 0 0 10px;
    line-height: 1.45;
}

.mdo-links {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.mdo-links a {
    color: #fff;
    text-decoration: underline;
}

.mdo-details {
    margin-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .18);
    padding-top: 12px;
}

.mdo-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.mdo-row small {
    display: block;
    opacity: .8;
    margin-top: 4px;
}

.mdo-row input {
    width: 22px;
    height: 22px;
}

.mdo-disabled {
    opacity: .7;
}

.mdo-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.mdo-actions button,
.mdo-reopen,
.mdo-shortcode-reopen,
.mdo-media-placeholder button {
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    cursor: pointer;
    font-weight: 700;
}

#mdo-accept,
#mdo-save,
.mdo-media-placeholder button {
    background: var(--mdo-accent, #fff);
    color: #181818;
}

#mdo-reject,
#mdo-customize {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .7);
}

.mdo-reopen {
    position: fixed;
    left: 14px;
    bottom: 14px;
    z-index: 999998;
    background: #181818;
    color: #fff;
    font-size: 13px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

.mdo-cookie-details {
    margin-top: 12px;
}

.mdo-cookie-details summary {
    cursor: pointer;
    font-weight: 700;
}

.mdo-cookie-table-wrap {
    overflow-x: auto;
    margin-top: 10px;
}

.mdo-cookie-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.mdo-cookie-table th,
.mdo-cookie-table td {
    border: 1px solid rgba(255, 255, 255, .18);
    padding: 8px;
    text-align: left;
    vertical-align: top;
}

.mdo-media-placeholder {
    background: #181818;
    color: #fff;
    padding: 24px;
    border-radius: 12px;
    text-align: center;
    margin: 12px 0;
}

.mdo-media-placeholder p {
    margin: 0 0 12px;
}

.mdo-shortcode-reopen {
    background: #181818;
    color: #fff;
}

@media (max-width: 640px) {
    .mdo-actions {
        flex-direction: column;
    }

    .mdo-actions button {
        width: 100%;
    }

    #mdo-banner {
        inset: auto 10px 10px 10px;
    }
}


#mdo-banner button,
#mdo-banner input,
#mdo-banner table,
#mdo-reopen,
.mdo-shortcode-reopen,
.mdo-media-placeholder {
    font-family: inherit;
}

#mdo-banner.mdo-position-center {
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: min(980px, calc(100vw - 32px));
}
.mdo-legal-note {
    font-size: 12px;
    opacity: .7;
    margin: 12px 0 0;
}
@media (max-width: 640px) {
    #mdo-banner.mdo-position-center {
        inset: auto 10px 10px 10px;
        transform: none;
        width: auto;
    }
}

.mdo-cookie-group {
    margin-top: 14px;
}
.mdo-cookie-group h3 {
    margin: 12px 0 8px;
    font-size: 15px;
    color: var(--mdo-text, #fff);
}


/* R2Y 4.0.6: canonical UX fix for long cookie details */
#mdo-banner {
    max-height: calc(100vh - 24px);
}

.mdo-box {
    max-height: calc(100vh - 32px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.mdo-content {
    flex: 0 0 auto;
}

.mdo-details {
    flex: 1 1 auto;
    max-height: 55vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 6px;
}

.mdo-cookie-details {
    max-height: 42vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 4px;
}

.mdo-cookie-table-wrap {
    overflow-x: auto;
    max-width: 100%;
}

.mdo-cookie-table {
    min-width: 720px;
}

.mdo-actions {
    flex: 0 0 auto;
    position: sticky;
    bottom: 0;
    background: var(--mdo-bg, #181818);
    padding-top: 12px;
    z-index: 2;
}

.mdo-legal-note {
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    #mdo-banner {
        max-height: calc(100vh - 20px);
    }

    .mdo-box {
        max-height: calc(100vh - 20px);
    }

    .mdo-details {
        max-height: 48vh;
    }

    .mdo-cookie-details {
        max-height: 36vh;
    }

    .mdo-cookie-table {
        min-width: 640px;
    }
}

/* marker: r2y-privacy-suite-ux-fix-4-0-6 */

#mdo-banner .mdo-button-primary,
#mdo-banner button.mdo-button-primary,
#mdo-banner .mdo-actions button:first-child {
    background: var(--mdo-accent, #f4b400);
    color: var(--mdo-button-text, #111111);
}
#mdo-banner {
    font-family: inherit;
}
#mdo-banner[data-font-mode="system"] {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}


/* Custom checkbox colors */
#mdo-banner input[type="checkbox"] {
    accent-color: var(--mdo-checkbox-active, #f4b400);
    border-color: var(--mdo-checkbox, #f4b400);
    outline-color: var(--mdo-checkbox-active, #f4b400);
}

#mdo-banner input[type="checkbox"]:checked {
    accent-color: var(--mdo-checkbox-active, #f4b400);
}

#mdo-banner input[type="checkbox"]:focus,
#mdo-banner input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--mdo-checkbox-active, #f4b400);
    outline-offset: 2px;
}

/* Mobile Safari / iOS consistency */
@media (max-width: 768px) {
    #mdo-banner input[type="checkbox"] {
        accent-color: var(--mdo-checkbox-active, #f4b400);
    }
}


html.mdo-builder-context #mdo-banner,
html.mdo-builder-context .mdo-media-placeholder,
body.et-fb #mdo-banner,
body.et-bfb #mdo-banner,
body.elementor-editor-active #mdo-banner,
body.fl-builder-edit #mdo-banner,
body.et-fb .mdo-media-placeholder,
body.et-bfb .mdo-media-placeholder,
body.elementor-editor-active .mdo-media-placeholder,
body.fl-builder-edit .mdo-media-placeholder {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* Divi 4 / classic visual builder safety */
body.et_pb_pagebuilder_layout #mdo-banner,
body.et_pb_use_builder #mdo-banner,
body.et_divi_theme #mdo-banner,
body.et-db #mdo-banner,
body.et_pb_pagebuilder_layout .mdo-media-placeholder,
body.et_pb_use_builder .mdo-media-placeholder,
body.et_divi_theme .mdo-media-placeholder,
body.et-db .mdo-media-placeholder {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


.mdo-media-placeholder[data-mdo-placeholder="external-media"] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 12px;
    background: rgba(0,0,0,.72);
    color: #fff;
    text-align: center;
}

.mdo-media-placeholder[data-mdo-placeholder="external-media"] p {
    margin: 0;
    max-width: 620px;
}

.mdo-media-placeholder[data-mdo-placeholder="external-media"] button {
    cursor: pointer;
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    background: var(--mdo-accent, #f4b400);
    color: var(--mdo-button-text, #111111);
    font-weight: 700;
}


.mdo-media-click-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0,0,0,.62);
}
.mdo-media-click-box {
    position: relative;
    max-width: 520px;
    width: min(520px, 100%);
    padding: 24px;
    border-radius: 16px;
    background: var(--mdo-bg, #111);
    color: var(--mdo-text, #fff);
    box-shadow: 0 18px 60px rgba(0,0,0,.28);
    text-align: center;
}
.mdo-media-click-box button:not(.mdo-media-click-close) {
    cursor: pointer;
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    background: var(--mdo-accent, #f4b400);
    color: var(--mdo-button-text, #111);
    font-weight: 700;
}
.mdo-media-click-close {
    position: absolute;
    top: 8px;
    right: 10px;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}


html.mdo-builder-context #mdo-banner,
html.mdo-builder-context .mdo-media-placeholder,
body.bricks-is-builder #mdo-banner,
body.ct-builder #mdo-banner,
body.oxygen-builder-body #mdo-banner,
body.breakdance-editor #mdo-banner,
body.brz-ed #mdo-banner,
body.cornerstone-editor #mdo-banner,
body.bricks-is-builder .mdo-media-placeholder,
body.ct-builder .mdo-media-placeholder,
body.oxygen-builder-body .mdo-media-placeholder,
body.breakdance-editor .mdo-media-placeholder,
body.brz-ed .mdo-media-placeholder,
body.cornerstone-editor .mdo-media-placeholder {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* External media click blocker visibility fix */
.mdo-media-click-overlay {
    z-index: 2147483647 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
.mdo-media-click-box {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}
.mdo-media-click-box p {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 0 16px !important;
    color: inherit !important;
}


/* 4.3.43: always-visible blocked media placeholder */
.mdo-media-placeholder[data-mdo-placeholder="external-media"] {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    isolation: isolate;
}
.mdo-media-placeholder[data-mdo-placeholder="external-media"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: rgba(0,0,0,.72);
}
.mdo-media-placeholder[data-mdo-placeholder="external-media"] p,
.mdo-media-placeholder[data-mdo-placeholder="external-media"] button {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
html.mdo-media-overlay-open .mdo-media-click-overlay,
.mdo-media-click-overlay:hover,
.mdo-media-click-overlay {
    opacity: 1 !important;
    visibility: visible !important;
}
html.mdo-media-overlay-open .mdo-media-click-box,
.mdo-media-click-overlay:hover .mdo-media-click-box,
.mdo-media-click-box {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}


/* 4.3.46: make external-media overlay action reliably clickable */
.mdo-media-click-overlay,
.mdo-media-click-overlay * {
    box-sizing: border-box;
}
.mdo-media-click-overlay {
    pointer-events: auto !important;
}
.mdo-media-click-box {
    pointer-events: auto !important;
}
.mdo-media-click-box button {
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    user-select: none;
}


/* 4.3.49 Mobile external-media blocker fix */
@media (max-width: 768px) {
    .mdo-media-placeholder[data-mdo-placeholder="external-media"] {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 220px !important;
        max-height: min(70vh, 520px) !important;
        overflow: auto !important;
        padding: 20px 14px !important;
        gap: 14px !important;
        align-items: center !important;
        justify-content: center !important;
        -webkit-overflow-scrolling: touch;
    }

    .mdo-media-placeholder[data-mdo-placeholder="external-media"] p {
        max-width: 100% !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        margin: 0 !important;
    }

    .mdo-media-placeholder[data-mdo-placeholder="external-media"] button {
        position: sticky !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 320px !important;
        min-height: 48px !important;
        padding: 13px 16px !important;
        font-size: 15px !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent;
    }

    .mdo-media-click-overlay {
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 12px !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .mdo-media-click-box {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100vh - 24px) !important;
        overflow: auto !important;
        padding: 24px 16px 18px !important;
        border-radius: 18px 18px 14px 14px !important;
    }

    .mdo-media-click-box p {
        font-size: 15px !important;
        line-height: 1.45 !important;
        margin-bottom: 14px !important;
    }

    .mdo-media-click-box button:not(.mdo-media-click-close) {
        width: 100% !important;
        min-height: 50px !important;
        padding: 14px 16px !important;
        font-size: 15px !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent;
    }

    .mdo-media-click-close {
        min-width: 44px !important;
        min-height: 44px !important;
        top: 4px !important;
        right: 6px !important;
        z-index: 3 !important;
    }
}


/* 4.3.50: make external-media accept button reliably clickable */
.mdo-media-click-overlay {
    z-index: 2147483647 !important;
    pointer-events: auto !important;
    touch-action: auto !important;
}
.mdo-media-click-box {
    position: relative !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}
.mdo-media-click-box [data-mdo-control="external-media-accept"],
.mdo-media-click-box button:not(.mdo-media-click-close) {
    position: relative !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
}
.mdo-media-click-box [data-mdo-control="external-media-close"] {
    position: absolute !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
}


/* 4.3.51 mobile iframe blocker reliability + safe area */
@media (max-width: 768px) {
    .mdo-media-click-overlay {
        position: fixed !important;
        inset: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 14px 14px calc(24px + env(safe-area-inset-bottom, 0px)) 14px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        min-height: 100dvh !important;
        box-sizing: border-box !important;
        -webkit-overflow-scrolling: touch;
    }

    .mdo-media-click-box {
        width: 100% !important;
        max-width: 420px !important;
        max-height: calc(100dvh - 44px - env(safe-area-inset-bottom, 0px)) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        margin: auto !important;
        padding: 24px 16px calc(22px + env(safe-area-inset-bottom, 0px)) 16px !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    .mdo-media-click-box button:not(.mdo-media-click-close),
    .mdo-media-placeholder[data-mdo-placeholder="external-media"] button {
        width: 100% !important;
        max-width: 340px !important;
        min-height: 52px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        touch-action: manipulation !important;
        pointer-events: auto !important;
        position: relative !important;
        z-index: 2147483647 !important;
    }

    .mdo-media-placeholder[data-mdo-placeholder="external-media"] {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 230px !important;
        max-height: calc(100dvh - 32px - env(safe-area-inset-bottom, 0px)) !important;
        overflow-y: auto !important;
        padding: 22px 14px calc(24px + env(safe-area-inset-bottom, 0px)) 14px !important;
        box-sizing: border-box !important;
    }
}


/* 4.3.54 hard mobile fix: external media dialog is viewport-fixed, not popup-flow based */
@media (max-width: 768px) {
    html.mdo-media-overlay-open,
    html.mdo-media-overlay-open body {
        overflow: hidden !important;
    }

    .mdo-media-click-overlay {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        padding: 16px !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        margin: 0 !important;
        display: block !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        z-index: 2147483647 !important;
        background: rgba(0,0,0,.72) !important;
        transform: none !important;
    }

    .mdo-media-click-box {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        bottom: auto !important;
        right: auto !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 32px) !important;
        max-width: 420px !important;
        height: auto !important;
        max-height: calc(100dvh - 44px - env(safe-area-inset-bottom, 0px)) !important;
        margin: 0 !important;
        padding: 26px 16px calc(24px + env(safe-area-inset-bottom, 0px)) 16px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
        z-index: 2147483647 !important;
        -webkit-overflow-scrolling: touch;
    }

    .mdo-media-click-box p {
        margin: 0 0 16px 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
        display: block !important;
    }

    .mdo-media-click-box button:not(.mdo-media-click-close) {
        width: 100% !important;
        max-width: none !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 14px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
        position: relative !important;
        z-index: 2147483647 !important;
    }

    .mdo-media-click-close {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        top: 4px !important;
        right: 6px !important;
        z-index: 2147483647 !important;
    }

    .mdo-media-placeholder[data-mdo-placeholder="external-media"] {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 240px !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 24px 14px !important;
        margin: 12px 0 !important;
        box-sizing: border-box !important;
    }

    .mdo-media-placeholder[data-mdo-placeholder="external-media"] button {
        width: 100% !important;
        max-width: 340px !important;
        min-height: 52px !important;
        flex-shrink: 0 !important;
    }
}


/* 4.3.55 iPhone hard fix: use bottom sheet, never clipped by mobile viewport */
@media (max-width: 768px) {
    .mdo-media-click-overlay {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        background: rgba(0,0,0,.72) !important;
        box-sizing: border-box !important;
        z-index: 2147483647 !important;
        transform: none !important;
    }

    .mdo-media-click-box {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100dvh - 18px) !important;
        margin: 0 10px calc(10px + env(safe-area-inset-bottom, 0px)) 10px !important;
        padding: 30px 16px calc(28px + env(safe-area-inset-bottom, 0px)) 16px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
        border: 2px solid rgba(255,255,255,.9) !important;
        background-clip: padding-box !important;
    }

    .mdo-media-click-box button:not(.mdo-media-click-close) {
        width: 100% !important;
        min-height: 54px !important;
        margin-bottom: 0 !important;
    }

    .mdo-media-click-close {
        top: 5px !important;
        right: 8px !important;
    }
}


/* 4.3.59 final authority: stable mobile external-media bottom sheet */
@media (max-width: 768px) {
    html.mdo-media-overlay-open,
    html.mdo-media-overlay-open body {
        overflow: hidden !important;
        height: 100% !important;
    }

    .mdo-media-click-overlay {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: rgba(0,0,0,.72) !important;
        z-index: 2147483647 !important;
        box-sizing: border-box !important;
    }

    .mdo-media-click-box {
        position: relative !important;
        width: calc(100vw - 20px) !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 20px - env(safe-area-inset-bottom, 0px)) !important;
        margin: 0 10px calc(10px + env(safe-area-inset-bottom, 0px)) 10px !important;
        padding: 30px 16px calc(28px + env(safe-area-inset-bottom, 0px)) 16px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        border-radius: 20px !important;
        border: 2px solid rgba(255,255,255,.92) !important;
        background-clip: padding-box !important;
        box-sizing: border-box !important;
        transform: none !important;
        z-index: 2147483647 !important;
        -webkit-overflow-scrolling: touch;
    }

    .mdo-media-click-box button:not(.mdo-media-click-close) {
        width: 100% !important;
        min-height: 54px !important;
        padding: 14px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
    }
}


/* 4.3.60 WPBakery / Visual Composer builder safety */
body.vc_editor #mdo-banner,
body.wpb-js-composer #mdo-banner,
body.compose-mode #mdo-banner,
body.view-mode #mdo-banner,
body.vcv-ui #mdo-banner,
body.vcv-editor #mdo-banner,
body.vc_editor .mdo-media-placeholder,
body.wpb-js-composer .mdo-media-placeholder,
body.compose-mode .mdo-media-placeholder,
body.view-mode .mdo-media-placeholder,
body.vcv-ui .mdo-media-placeholder,
body.vcv-editor .mdo-media-placeholder {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* 4.3.69 stability authority */
#mdo-banner,
#mdo-banner *,
.mdo-media-click-overlay,
.mdo-media-click-overlay *,
.mdo-media-placeholder,
.mdo-media-placeholder * {
    box-sizing: border-box;
}

#mdo-banner a,
.mdo-media-click-overlay button,
.mdo-media-placeholder button {
    pointer-events: auto;
}

@media (max-width: 768px) {
    .mdo-media-click-overlay {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        z-index: 2147483647 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
        background: rgba(0,0,0,.72) !important;
    }

    .mdo-media-click-box {
        width: calc(100vw - 20px) !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 20px - env(safe-area-inset-bottom, 0px)) !important;
        margin: 0 10px calc(10px + env(safe-area-inset-bottom, 0px)) 10px !important;
        padding: 30px 16px calc(28px + env(safe-area-inset-bottom, 0px)) 16px !important;
        overflow-y: auto !important;
        border-radius: 20px !important;
        border: 2px solid rgba(255,255,255,.92) !important;
        background-clip: padding-box !important;
        transform: none !important;
        -webkit-overflow-scrolling: touch;
    }
}


/* 4.3.73: legal/privacy links must always remain clickable */
#mdo-banner a,
.mdo-legal-links a,
.mdo-footer-links a {
    pointer-events: auto !important;
    position: relative;
    z-index: 2;
}


/* 4.3.75 privacy settings opener attribute guard */
[data-mdo-reopen="1"] {
    cursor: pointer !important;
    pointer-events: auto !important;
    position: relative;
    z-index: 2147483640;
}




/* 4.3.78: preserve original reopen design; only ensure clickability */
#mdo-reopen,
.mdo-reopen,
[data-mdo-reopen="1"] {
    pointer-events: auto !important;
    cursor: pointer !important;
}

button.mdo-reopen {
    font: inherit;
}


/* If the plugin places the opener outside the banner, keep it subtle and theme-friendly */
body > #mdo-reopen.mdo-reopen {
    position: fixed;
    left: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    z-index: 999998;
}





/* 4.3.82 layout-safe consent isolation */
#mdo-banner.mdo-hidden,
#mdo-details.mdo-hidden,
#mdo-save.mdo-hidden,
#mdo-customize.mdo-hidden {
    display: none !important;
}

#mdo-banner:not(.mdo-hidden) {
    position: fixed !important;
    left: 50% !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    z-index: 2147483000 !important;
    width: min(960px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
    isolation: isolate !important;
}

#mdo-banner,
#mdo-banner *,
#mdo-reopen,
.mdo-media-click-overlay,
.mdo-media-click-overlay *,
.mdo-media-placeholder,
.mdo-media-placeholder * {
    box-sizing: border-box !important;
}

#mdo-reopen.mdo-reopen,
a#mdo-reopen.mdo-reopen {
    position: fixed !important;
    left: 16px !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 2147482500 !important;
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--mdo-link-color, currentColor) !important;
    text-decoration: underline !important;
    font: inherit !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    #mdo-banner:not(.mdo-hidden) {
        left: 12px !important;
        right: 12px !important;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        transform: none !important;
        width: auto !important;
        max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px)) !important;
    }
}


/* 4.3.84 consent opener regression fix */
#mdo-banner.mdo-hidden {
    display: none !important;
}

#mdo-banner:not(.mdo-hidden) {
    position: fixed !important;
    left: 50% !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    z-index: 2147483000 !important;
    width: min(960px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: auto !important;
    margin: 0 !important;
    pointer-events: auto !important;
}

#mdo-details.mdo-hidden,
#mdo-save.mdo-hidden,
#mdo-customize.mdo-hidden {
    display: none !important;
}

#mdo-reopen[data-mdo-reopen="1"] {
    pointer-events: auto !important;
    cursor: pointer !important;
}





/* 4.3.87 restored original black multilingual reopen button */
#mdo-reopen.mdo-reopen,
button#mdo-reopen.mdo-reopen,
a#mdo-reopen.mdo-reopen {
    position: fixed !important;
    left: 16px !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 2147482500 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    min-height: 38px !important;
    max-width: calc(100vw - 32px) !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    background: #111 !important;
    color: #fff !important;
    text-decoration: none !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: 0 5px 18px rgba(0,0,0,.22) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

#mdo-reopen.mdo-reopen:hover,
button#mdo-reopen.mdo-reopen:hover,
a#mdo-reopen.mdo-reopen:hover,
#mdo-reopen.mdo-reopen:focus,
button#mdo-reopen.mdo-reopen:focus,
a#mdo-reopen.mdo-reopen:focus {
    background: #000 !important;
    color: #fff !important;
    outline: 2px solid rgba(0,0,0,.25) !important;
    outline-offset: 2px !important;
}


/* 4.3.88 stable consent panel without click-blocking backdrop */
#mdo-consent-backdrop {
    display: none !important;
    pointer-events: none !important;
}

html.mdo-consent-open {
    overflow: auto !important;
}

#mdo-banner:not(.mdo-hidden) {
    z-index: 2147483001 !important;
    pointer-events: auto !important;
    transition: none !important;
    animation: none !important;
}

#mdo-banner:not(.mdo-hidden),
#mdo-banner:not(.mdo-hidden) * {
    pointer-events: auto !important;
}

#mdo-banner:not(.mdo-hidden) button,
#mdo-banner:not(.mdo-hidden) a,
#mdo-banner:not(.mdo-hidden) input,
#mdo-banner:not(.mdo-hidden) label {
    position: relative;
    z-index: 2;
    pointer-events: auto !important;
}

#mdo-banner:not(.mdo-hidden) ~ #mdo-reopen,
html.mdo-consent-open #mdo-reopen {
    display: none !important;
}

/* Keep the black multilingual opener, but prevent jumpy movement */
#mdo-reopen.mdo-reopen,
button#mdo-reopen.mdo-reopen,
a#mdo-reopen.mdo-reopen {
    transition: none !important;
    animation: none !important;
}


/* 4.3.89 direct consent button reliability */
#mdo-banner:not(.mdo-hidden) #mdo-accept,
#mdo-banner:not(.mdo-hidden) #mdo-reject,
#mdo-banner:not(.mdo-hidden) #mdo-save {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 2147483002 !important;
}


/* 4.4.0 isolated iframe blocker placeholder */
.mdo-media-placeholder[data-mdo-placeholder="external-media"] {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 220px !important;
    padding: 24px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
    background: rgba(245,245,245,.96) !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    border-radius: 12px !important;
}

.mdo-media-placeholder[data-mdo-placeholder="external-media"] button {
    pointer-events: auto !important;
    cursor: pointer !important;
}


/* 4.4.2 iframe blocker correctness */
iframe[data-mdo-blocked="external-media"],
embed[data-mdo-blocked="external-media"],
object[data-mdo-blocked="external-media"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.mdo-media-placeholder[data-mdo-placeholder="external-media"] {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 5 !important;
}

#mdo-banner .mdo-media-placeholder,
#mdo-banner .mdo-media-click-overlay {
    display: none !important;
}


/* 4.4.3 consolidated external media blocker */
.mdo-media-placeholder[data-mdo-placeholder="external-media"] {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 220px !important;
    width: 100% !important;
    padding: 24px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
    background: rgba(245,245,245,.96) !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    border-radius: 12px !important;
}

.mdo-media-placeholder[data-mdo-placeholder="external-media"] button,
.mdo-media-click-overlay button {
    pointer-events: auto !important;
    cursor: pointer !important;
}

#mdo-banner .mdo-media-placeholder,
#mdo-banner .mdo-media-click-overlay {
    display: none !important;
}


/* 4.4.4 early external media guard */
iframe[data-mdo-early-blocked="1"],
embed[data-mdo-early-blocked="1"],
object[data-mdo-early-blocked="1"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* 4.4.6 first-click media blocker fix */
.mdo-media-placeholder[data-mdo-placeholder="external-media"] {
    pointer-events: auto !important;
    z-index: 10 !important;
}


/* 4.4.7 immediate late-popup iframe blocker */
iframe[data-mdo-immediate-blocked="1"],
embed[data-mdo-immediate-blocked="1"],
object[data-mdo-immediate-blocked="1"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* 4.4.8 strict opt-in first-visit banner */
#mdo-banner:not(.mdo-hidden) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

html.mdo-consent-open #mdo-reopen {
    display: none !important;
}

#mdo-banner:not(.mdo-hidden) #mdo-statistics,
#mdo-banner:not(.mdo-hidden) #mdo-marketing,
#mdo-banner:not(.mdo-hidden) #mdo-external-media {
    pointer-events: auto !important;
}


/* 4.4.9 first-visit consent visibility safety */
html.mdo-consent-open #mdo-banner:not(.mdo-hidden) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147483000 !important;
}


/* 4.4.10 opt-in banner visible-by-default */
#mdo-banner:not(.mdo-hidden) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147483000 !important;
}

#mdo-banner.mdo-hidden {
    display: none !important;
}

html.mdo-consent-open #mdo-reopen {
    display: none !important;
}


/* 4.4.11 opt-in banner and choices reliability */
#mdo-banner:not(.mdo-hidden) {
    position: fixed !important;
    left: 50% !important;
    bottom: 24px !important;
    transform: translateX(-50%) !important;
    width: min(960px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 2147483000 !important;
}

#mdo-details:not(.mdo-hidden),
#mdo-save:not(.mdo-hidden) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#mdo-customize.mdo-hidden {
    display: none !important;
}

@media (max-width: 768px) {
    #mdo-banner:not(.mdo-hidden) {
        left: 12px !important;
        right: 12px !important;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        transform: none !important;
        width: auto !important;
        max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px)) !important;
    }
}


/* 4.4.13 independent customize button visibility */
#mdo-details:not(.mdo-hidden) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#mdo-save:not(.mdo-hidden) {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#mdo-customize.mdo-hidden {
    display: none !important;
}


/* 4.4.14 centered consent buttons */
#mdo-banner button,
#mdo-save,
#mdo-customize,
[data-mdo-control] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.2 !important;
}
