/* Explain: Editorial travel layout, map textures, collage, and gallery */
.map-texture {
    background-image:
        radial-gradient(circle at 22% 18%, rgba(197, 168, 128, 0.25) 0 2px, transparent 2px),
        linear-gradient(120deg, transparent 0 42%, rgba(255, 255, 255, 0.10) 42% 43%, transparent 43% 100%),
        linear-gradient(30deg, transparent 0 48%, rgba(197, 168, 128, 0.15) 48% 49%, transparent 49% 100%);
    background-size: 46px 46px, 180px 180px, 220px 220px;
}

.hero-collage::after {
    content: '';
    position: absolute;
    left: -8vw;
    bottom: -10rem;
    z-index: -1;
    width: 34rem;
    height: 34rem;
    border-radius: 999px;
    background: rgba(197, 168, 128, 0.30);
    filter: blur(70px);
}

.hero-postcards {
    animation: floatIn 900ms ease both;
}

.postcard {
    position: absolute;
    overflow: hidden;
    border: 10px solid rgba(255, 255, 255, 0.92);
    border-radius: 2rem;
    background: white;
    box-shadow: 0 30px 80px rgba(2, 48, 71, 0.28);
}

.postcard-main {
    inset: 1rem 7% auto auto;
    width: min(78%, 430px);
    height: 72%;
    transform: rotate(3deg);
}

.postcard-small {
    height: 31%;
    width: min(48%, 245px);
}

.postcard-small-one {
    left: 2%;
    top: 12%;
    transform: rotate(-8deg);
}

.postcard-small-two {
    bottom: 3%;
    right: 0;
    transform: rotate(8deg);
}

.passport-note {
    position: absolute;
    left: 4%;
    bottom: 10%;
    width: min(68%, 270px);
    transform: rotate(-3deg);
}

.gallery-mosaic {
    display: grid;
    grid-auto-flow: dense;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.gallery-tile {
    min-height: 230px;
    overflow: hidden;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.1);
}

.gallery-tile:nth-child(1),
.gallery-tile:nth-child(6) {
    grid-column: span 3;
    min-height: 360px;
}

.gallery-tile:nth-child(2),
.gallery-tile:nth-child(3),
.gallery-tile:nth-child(4),
.gallery-tile:nth-child(5) {
    grid-column: span 3;
}

@keyframes floatIn {
    from {
        opacity: 0;
        transform: translateY(24px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (min-width: 1024px) {
    .gallery-tile:nth-child(1) {
        grid-column: span 3;
        grid-row: span 2;
    }

    .gallery-tile:nth-child(2),
    .gallery-tile:nth-child(3) {
        grid-column: span 3;
    }

    .gallery-tile:nth-child(4),
    .gallery-tile:nth-child(5),
    .gallery-tile:nth-child(6) {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .ticket-link-inner {
        min-width: 100%;
    }

    .postcard-main {
        width: 76%;
        height: 62%;
    }

    .postcard-small-one {
        top: 5%;
    }

    .passport-note {
        width: 74%;
    }

    .gallery-mosaic {
        grid-template-columns: 1fr;
    }

    .gallery-tile,
    .gallery-tile:nth-child(1),
    .gallery-tile:nth-child(2),
    .gallery-tile:nth-child(3),
    .gallery-tile:nth-child(4),
    .gallery-tile:nth-child(5),
    .gallery-tile:nth-child(6) {
        grid-column: auto;
        min-height: 260px;
    }
}
