@import url('/fonts/nanum-square-round/nanum-square-round.css');

/* XD guide_tour_1920: 658 × 440 photos, 32px columns, 80px rows.
   Keep the same size from 1440px upwards; scale below it, as with other kids templates. */
.section-travel-02 {
    --travel-02-unit: min(1px, calc(100vw / 1440));
    padding: calc(180 * var(--travel-02-unit)) 0 calc(120 * var(--travel-02-unit));
    color: #191919;
    font-family: var(--font-nanum-square-round);
    letter-spacing: -.048em;
}

.section-travel-02 *,
.section-travel-02 *::before,
.section-travel-02 *::after {
    box-sizing: border-box;
}

.section-travel-02[data-travel-count="0"] {
    display: none;
}

.section-travel-02-list {
    display: grid;
    gap: calc(80 * var(--travel-02-unit));
    width: calc(1315 * var(--travel-02-unit));
    max-width: 100%;
    margin: 0 auto;
}

.section-travel-02-item {
    display: grid;
    grid-template-columns: calc(658 * var(--travel-02-unit)) minmax(0, 1fr);
    align-items: start;
    gap: calc(32 * var(--travel-02-unit));
    min-width: 0;
}

.section-travel-02-photo {
    position: relative;
    min-width: 0;
    height: calc(440 * var(--travel-02-unit));
    margin: 0;
    overflow: hidden;
    border-radius: calc(10 * var(--travel-02-unit));
}

.section-travel-02-photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.section-travel-02-content {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: keep-all;
}

/* Bottom-anchored stickers retain pixel offsets as the viewport shrinks.
   Reserve space after long text without changing the normal 440px photo-led row. */
.section-travel-02-item:last-child .section-travel-02-content {
    padding-bottom: 100px;
}

.section-travel-02-content h2 {
    margin: 0 0 24px;
    font-size: clamp(20px, calc(24 * var(--travel-02-unit)), 24px);
    font-weight: 700;
    line-height: 1;
}

.section-travel-02-distance,
.section-travel-02-description {
    width: calc(625 * var(--travel-02-unit));
    max-width: 100%;
    margin: 0;
    font-size: clamp(14px, calc(16 * var(--travel-02-unit)), 16px);
    font-weight: 400;
    line-height: 1.5;
}

.section-travel-02-distance {
    margin-bottom: 14px;
}

@media (max-width: 600px) {
    .section-travel-02 {
        /* A clear band under the final description keeps decorative stickers off the text. */
        padding: 30px 15px 130px;
    }

    /* Reserve the new bottom-pinned artwork band; keep legacy offsets above intact. */
    .section-travel-02:has(> .template-stickers > .template-sticker[data-sticker-mobile-pin-bottom="true"]) {
        padding-bottom: calc(48px + 130 * var(--template-mobile-unit));
    }

    .section-travel-02-list {
        width: 100%;
        gap: 30px;
    }

    .section-travel-02-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .section-travel-02-photo {
        height: auto;
        aspect-ratio: 658 / 440;
        border-radius: 5px;
    }

    .section-travel-02-content h2 {
        margin-bottom: 8px;
        font-size: 16px;
        line-height: 18px;
        letter-spacing: -.77px;
    }

    .section-travel-02-item:last-child .section-travel-02-content {
        padding-bottom: 0;
    }

    .section-travel-02-distance,
    .section-travel-02-description {
        width: 100%;
        font-size: 12px;
        line-height: 18px;
        letter-spacing: -.58px;
    }

    .section-travel-02-distance {
        margin-bottom: 3px;
    }
}
