/* ==========================================================================
   ÁLBUM ABERTO — MOSAICO TIPO PINTEREST, SEM CORTAR AS FOTOS
   ========================================================================== */
.album-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity 0.25s ease; }
.album-modal.active { opacity: 1; pointer-events: auto; }
.album-modal-overlay { position: absolute; inset: 0; background: rgba(5, 5, 7, 0.92); backdrop-filter: blur(12px); }
.album-modal-content { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(1320px, 100%); height: min(88vh, 920px); padding: 28px; background: linear-gradient(145deg, rgba(25, 25, 30, 0.98), rgba(10, 10, 13, 0.99)); border: 1px solid rgba(255, 230, 0, 0.2); border-radius: 20px; box-shadow: 0 28px 80px rgba(0, 0, 0, 0.58); }
.album-modal-close { position: absolute; top: 16px; right: 18px; display: grid; width: 42px; height: 42px; place-items: center; padding: 0; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--border-color); border-radius: 50%; color: var(--text-white); font-size: 1.25rem; cursor: pointer; transition: var(--transition); }
.album-modal-close:hover { background: var(--yellow-primary); border-color: var(--yellow-primary); color: var(--text-dark); }
.album-modal-header { padding: 0 54px 18px 0; }
.album-modal-meta { display: block; margin-bottom: 5px; color: var(--yellow-primary); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
#album-modal-title { margin: 0; color: var(--text-white); font-family: var(--font-heading); font-size: clamp(1.65rem, 3vw, 2.4rem); }
.album-modal-description { margin: 7px 0 0; color: var(--text-muted); }
.album-modal-gallery { min-height: 0; flex: 1; overflow-y: auto; padding: 2px 8px 8px 2px; scrollbar-color: var(--yellow-primary) transparent; }
.album-mosaic { column-count: 3; column-gap: 16px; }
.album-mosaic-item { break-inside: avoid; margin: 0 0 16px; overflow: hidden; border: 1px solid var(--border-color); border-radius: 12px; background: #070709; }
.album-mosaic-item img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; transition: transform 0.35s ease; }
.album-mosaic-item:hover img { transform: scale(1.015); }
@media (max-width: 900px) { .album-mosaic { column-count: 2; } }
@media (max-width: 600px) {
    .album-modal { padding: 10px; }
    .album-modal-content { height: 94vh; padding: 20px 14px; border-radius: 16px; }
    .album-modal-header { padding: 0 48px 16px 4px; }
    .album-modal-description { font-size: 0.9rem; }
    .album-modal-close { top: 12px; right: 12px; width: 38px; height: 38px; }
    .album-modal-gallery { padding-right: 3px; }
    .album-mosaic { column-count: 1; column-gap: 0; }
    .album-mosaic-item { margin-bottom: 12px; }
}
