.cherry-consent-message {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 16px;
    padding: 20px;
    border-radius: 12px;
    background: #f5f5f5;
    color: #333333;
    line-height: 1.6;
}

.cherry-consent-message-text {
    margin: 0 0 10px;
}

.cherry-consent-button,
.cherry-consent-message .cc-open-preferences {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 16px;
    border-radius: 8px;
    background: #3a3a3a;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    font-weight: 500;
}

.cherry-consent-button:hover,
.cherry-consent-message .cc-open-preferences:hover {
    opacity: 0.92;
}

iframe[data-cc-consent][data-cc-src]:not([src]),
iframe[data-cc-consent][data-cc-src][src=""],
iframe[data-cc-consent][data-cc-src][src="about:blank"] {
    display: none !important;
}

img[data-cc-src-encoded]:not([src]) {
    display: none !important;
}

.elementor-wrapper.cherry-consent-elementor-wrapper.cherry-consent-is-blocked {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
    overflow: hidden !important;
}

.elementor-wrapper.cherry-consent-elementor-wrapper.cherry-consent-is-blocked::before,
.elementor-wrapper.cherry-consent-elementor-wrapper.cherry-consent-is-blocked::after {
    display: none !important;
    content: none !important;
}

.elementor-wrapper.cherry-consent-elementor-wrapper.cherry-consent-is-blocked iframe {
    display: none !important;
}

.cherry-consent-vc-container.cherry-consent-is-blocked .youtube.cherry-consent-vc-embed {
    display: none !important;
}

.cherry-consent-vc-container.cherry-consent-is-blocked .cherry-consent-vc-message {
    display: flex;
}

/* Keep consent message visible while blocked — but NOT when consent is given */
.cherry-consent-is-blocked .cherry-consent-message {
    display: block !important;
}

/* FIX: Do NOT override display:none when the wrapper no longer has is-blocked.
   The old rule below caused the message to stay visible after consent was accepted
   because JS set display:none but this CSS !important rule fought it back.
   Removed: .cherry-consent-is-blocked .cherry-consent-message[style*="display: none"] { display: block !important; }
   That rule made it impossible for JS to hide the message. */

/* Empty Elementor video fallback — only show when actually blocked */
.elementor-wrapper.cherry-consent-elementor-wrapper.cherry-consent-is-blocked > .elementor-video:empty {
    display: none !important;
}

/* FIX: Removed unconditional display:flex !important on .cherry-consent-empty-elementor-message
   because it forced the message visible regardless of consent state.
   Now it only shows when inside a blocked wrapper. */
.cherry-consent-is-blocked .cherry-consent-empty-elementor-message {
    display: flex !important;
}
