/* ── Place Cards Preview Container ───────────────────────────────────── */
.preview-container {
    flex: 1;
    overflow: auto;
    background: var(--bg-color);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
}

/* ── Simulated Page ───────────────────────────────────────────────────── */
.sim-page {
    background: white;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    outline: 1px solid #e5e5e5;
    flex-shrink: 0;
}

.sim-card {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    background-color: transparent;
    z-index: 2;
}

.card-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.card-content img { max-width: 100%; object-fit: contain; }

.sim-card span { line-height: 1.2; word-break: break-word; }

/* ── Cut Lines ────────────────────────────────────────────────────────── */
.cut-line { position: absolute; pointer-events: none; z-index: 1; }
.cut-line.horizontal { left: 0; right: 0; height: 0; }
.cut-line.vertical   { top: 0; bottom: 0; width: 0; }

.cut-line.guide-dashed-light { border-top: 1px dashed #e5e5e5; }
.cut-line.guide-dashed       { border-top: 1px dashed #bbbbbb; }
.cut-line.guide-solid        { border-top: 1px solid #999999; }

.cut-line.vertical.guide-dashed-light { border-top: none; border-left: 1px dashed #e5e5e5; }
.cut-line.vertical.guide-dashed       { border-top: none; border-left: 1px dashed #bbbbbb; }
.cut-line.vertical.guide-solid        { border-top: none; border-left: 1px solid #999999; }

/* ── Print ────────────────────────────────────────────────────────────── */
@media print {
    .print-page {
        position: relative;
        overflow: hidden;
        page-break-after: always;
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
    }

    .print-page:last-child { page-break-after: auto; }

    .print-card {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        position: relative;
    }

    .print-card span { line-height: 1.2; }
}
