/* The guest landing page keeps useful content visible during live validation.
   Frame readiness, timeout and image selection continue to use shared loaders. */
.page-landing-guest .showcase-preview[data-guest-preview] {
    background-image: none;
}

.page-landing-guest .showcase-preview[data-guest-preview] > .showcase-preview-image {
    opacity: 0;
    visibility: hidden;
}

.page-landing-guest .showcase-preview[data-guest-preview].has-guest-preview-image:not(.is-preview-ready) > .showcase-preview-image {
    opacity: 1;
    visibility: visible;
}

.page-landing-guest [data-guest-preview] > .guest-preview-placeholder {
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 1rem 1.25rem 3.25rem;
    color: var(--text);
    text-align: center;
    pointer-events: none;
}

.page-landing-guest [data-guest-preview] .guest-preview-name {
    max-width: 100%;
    font-size: clamp(1rem, 2vw, 1.4rem);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.page-landing-guest [data-guest-preview] .guest-preview-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-width: 34rem;
    margin: 0;
    overflow: hidden;
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: .875rem;
    line-height: 1.45;
}

.page-landing-guest [data-guest-preview] .guest-preview-placeholder .btn {
    flex-shrink: 0;
    pointer-events: auto;
}

.page-landing-guest [data-guest-preview]:is(.has-guest-preview-image, .is-preview-ready) > .guest-preview-placeholder:not(:focus-within) {
    display: none;
}

.page-landing-guest [data-guest-preview] > .guest-preview-placeholder:focus-within {
    background: var(--card-soft);
}

.page-landing-guest [data-guest-preview]:not(.has-guest-preview-image) > .preview-gallery-controls:not(:has([data-preview-step])) {
    display: none;
}

.page-landing-guest [data-guest-preview] > .showcase-preview-loading {
    inset: auto auto .75rem .75rem;
    width: auto;
    height: auto;
    max-width: calc(100% - 1.5rem);
    padding: .45rem .65rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--card);
    font-size: .75rem;
    pointer-events: none;
}

@media (max-width: 575.98px) {
    .page-landing-guest .home-featured-preview .showcase-preview[data-guest-preview] {
        min-height: 210px;
    }

    .page-landing-guest [data-guest-preview] > .guest-preview-placeholder {
        gap: .4rem;
        padding: .75rem 1rem 3.25rem;
    }

    .page-landing-guest [data-guest-preview] .guest-preview-name {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
}
