/**
 * Create/edit Card Preview frame — definite height so absolute fill works on mobile.
 * FILE_PATH: assets/css/card_create/card_preview_frame.css
 * SCOPE_ID: card_preview_frame_css
 *
 * Bug: min-height alone + height:auto leaves % heights indefinite; <img> collapses
 * to intrinsic height → white gap under background with text overlay straddling the cut.
 */

.card-preview-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    /* Definite height: percentage children (bg/text) resolve correctly */
    height: var(--bc-create-preview-h, 560px);
    min-height: 0 !important;
    max-height: 80vh;
    box-sizing: border-box;
}

.card-preview-container .preview-background-container,
.card-preview-container .preview-text-container,
.card-preview-container .preview-overlay-effect {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
}

.card-preview-container .preview-background {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.card-preview-container .preview-text-container {
    display: flex !important;
    z-index: 2;
    box-sizing: border-box;
}

.card-preview-container .preview-text-content {
    max-width: 88%;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .card-preview-container {
        /* Definite height (capped by vh) so absolute bg/text fill the frame */
        height: min(
            var(--bc-create-preview-h-mobile, 420px),
            var(--bc-create-preview-max-vh-mobile, 65vh)
        ) !important;
        min-height: 0 !important;
        max-height: var(--bc-create-preview-max-vh-mobile, 65vh);
        aspect-ratio: auto;
        margin-top: 12px;
    }

    .card-preview-container .preview-text-content {
        max-width: 92%;
        padding: 12px 14px !important;
    }

    .card-preview-container .preview-name {
        font-size: 1.15rem !important;
        margin-bottom: 0.35rem;
        line-height: 1.25;
    }

    .card-preview-container .preview-date {
        font-size: 0.8rem !important;
        margin-bottom: 0.5rem;
    }

    .card-preview-container .preview-message {
        font-size: 0.9rem !important;
        line-height: 1.45;
    }

    .card-preview-container .preview-text-container {
        padding: 12px !important;
    }
}

/* Wizard step-4 preview: same definite-frame idea */
.create-wizard-preview {
    position: relative;
    overflow: hidden;
    min-height: 0;
    height: min(
        var(--bc-create-preview-h-mobile, 420px),
        var(--bc-create-preview-max-vh-mobile, 65vh)
    );
    max-height: var(--bc-create-preview-max-vh-mobile, 65vh);
}

.create-wizard-preview-bg {
    position: absolute;
    inset: 0;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat;
}

.create-wizard-preview-body {
    position: relative;
    z-index: 1;
    min-height: 100%;
    height: 100%;
    box-sizing: border-box;
}

@media (min-width: 769px) {
    .create-wizard-preview {
        height: min(var(--bc-create-preview-h, 560px), 70vh);
    }
}
