/**
 * Component: Publuu Embed
 * 
 * Styles for the Text component.
 *
 * @package SCDA-2025
 */

/* Basic component styling */
.publuu-embed {
    iframe {
        @media screen and (max-width: 991px) {
            height: 58.527vw !important;
        }
        @media screen and (max-width: 681px) {
            height: 600px !important;
        }
        @media screen and (max-width: 576px) {
            height: 470px !important;
        }
    }
}

/* Lightbox overlay */
.publuu-lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    z-index: 2147483647;
    display: none;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(2px);
}

.publuu-lightbox-overlay.active {
    display: flex;
}

/* Lightbox container */
.publuu-lightbox-container {
    position: relative;
    width: 90vw;
    height: 90vh;
    max-width: 1300px;
    background: white;
    border-radius: var(--border-radius);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    overflow: visible;
    animation: lightboxFadeIn 0.3s ease-out;
}

@keyframes lightboxFadeIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes lightboxFadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.9);
    }
}

.publuu-lightbox-container.closing {
    animation: lightboxFadeOut 0.3s ease-out;
}

/* Lightbox iframe */
.publuu-lightbox-iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 8px;
    overflow: hidden;
}

/* Close button */
.publuu-lightbox-close {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 40px;
    height: 40px;
    background: var(--color-scda-grass);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 2147483648;
    transition: all 0.2s ease;
}

.publuu-lightbox-close:hover {
    background: var(--color-scda-moss);
    transform: scale(1.1);
}

.publuu-lightbox-close:before {
    content: "✕";
}

/* Prevent body scroll when lightbox is open */
body.lightbox-open {
    overflow: hidden;
}