* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Open Sans', sans-serif;
    background: radial-gradient(circle at center, #1b1218 0%, #090a0f 100%);
    color: #F6F6F6;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
}

.comic-wrapper {
    width: 100%;
    max-width: 1440px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* --- VISTA ESCRITORIO --- */
.desktop-comic {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.comic-frame {
    background-color: #ffffff;
    padding: 6px;
    border-radius: 8px;
    box-shadow: 0px 16px 48px rgba(0, 0, 0, 0.85);
    max-width: 100%;
}

.comic-full-img {
    display: block;
    width: 100%;
    max-height: calc(100vh - 56px);
    height: auto;
    object-fit: contain;
    border-radius: 4px;
}

/* Por defecto en escritorio ocultamos la versión recortada para móvil */
.mobile-story {
    display: none;
}

/* --- VISTA MÓVIL / CELULARES (VERTICAL) --- */
@media (max-width: 768px) and (orientation: portrait) {
    body {
        align-items: flex-start;
    }

    .comic-wrapper {
        padding: 12px 10px 28px;
    }

    .desktop-comic {
        display: none;
    }

    .mobile-story {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
        max-width: 480px;
    }

    .mobile-header {
        display: flex;
        justify-content: center;
        padding: 4px 0 2px;
    }

    .logo-svg {
        width: 72%;
        max-width: 280px;
        height: auto;
        border-radius: 8px;
        filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.7));
    }

    .story-panel {
        width: 100%;
        background-color: #ffffff;
        padding: 4px;
        border-radius: 6px;
        box-shadow: 0px 8px 24px -10px rgba(0, 0, 0, 0.85);
        overflow: hidden;
    }

    .panel-highlight {
        border: 2px solid #c92a2a;
    }

    .panel-svg {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 3px;
    }

    .full-poster-toggle {
        margin-top: 6px;
        background-color: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 6px;
        padding: 10px 14px;
        text-align: center;
        font-family: 'Raleway', sans-serif;
        font-size: 13px;
        font-weight: 700;
        color: #f0e6d2;
        cursor: pointer;
    }

    .full-poster-toggle summary {
        list-style: none;
        outline: none;
    }

    .full-poster-toggle summary::-webkit-details-marker {
        display: none;
    }

    .mobile-full-poster {
        margin-top: 10px;
    }

    .mobile-full-poster img {
        width: 100%;
        height: auto;
        border-radius: 4px;
        border: 2px solid #ffffff;
    }
}
