/* 날짜(가운데) 고정 — 좌/우 버튼이 생겨도 날짜 위치가 안 움직임 */
.hair-rank-gallery__pager,
.face-shape-gallery__pager,
.hair-trend-gallery__pager,
.celeb-hair-gallery__pager {
    width: auto !important;
    max-width: none !important;
    /* layout 좌우 padding(모바일 14px / PC 22~28px) 상쇄 → 흰 박스 full bleed */
    margin-left: -14px !important;
    margin-right: -14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
    grid-template-columns: 1fr auto 1fr !important;
    justify-content: stretch;
}

@media (min-width: 721px) {
    .hair-rank-gallery__layout,
    .face-shape-gallery__layout,
    .hair-trend-gallery__layout,
    .celeb-hair-gallery__layout {
        grid-template-rows: minmax(0, 1fr) auto;
    }

    .hair-rank-gallery__left,
    .face-shape-gallery__left,
    .hair-trend-gallery__left,
    .celeb-hair-gallery__left {
        grid-column: 1;
        grid-row: 1;
    }

    .hair-rank-gallery__right,
    .face-shape-gallery__right,
    .hair-trend-gallery__right,
    .celeb-hair-gallery__right {
        grid-column: 2;
        grid-row: 1;
    }

    .hair-rank-gallery__pager,
    .face-shape-gallery__pager,
    .hair-trend-gallery__pager,
    .celeb-hair-gallery__pager {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-left: -24px !important;
        margin-right: -24px !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

@media (min-width: 1024px) {
    .hair-rank-gallery__pager,
    .face-shape-gallery__pager,
    .hair-trend-gallery__pager,
    .celeb-hair-gallery__pager {
        margin-left: -28px !important;
        margin-right: -28px !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
}

.hair-rank-gallery__pager-slot--balance,
.face-shape-gallery__pager-slot--balance,
.hair-trend-gallery__pager-slot--balance,
.celeb-hair-gallery__pager-slot--balance {
    display: none !important;
}

.hair-rank-gallery__pager-slot:has(> .is-slot-hidden),
.face-shape-gallery__pager-slot:has(> .is-slot-hidden),
.hair-trend-gallery__pager-slot:has(> .is-slot-hidden),
.celeb-hair-gallery__pager-slot:has(> .is-slot-hidden) {
    display: none !important;
}

.hair-rank-gallery__pager-side--left > .hair-rank-gallery__pager-slot:has(> .gallery-address-copy__button),
.face-shape-gallery__pager-side--left > .face-shape-gallery__pager-slot:has(> .gallery-address-copy__button),
.hair-trend-gallery__pager-side--left > .hair-trend-gallery__pager-slot:has(> .gallery-address-copy__button),
.celeb-hair-gallery__pager-side--left > .celeb-hair-gallery__pager-slot:has(> .gallery-address-copy__button) {
    order: -1;
}

.gallery-address-copy__button {
    min-width: max-content;
    padding: 8px 10px;
    font-size: 14px !important;
    white-space: nowrap;
}

.gallery-address-copy__button {
    color: #6d28d9 !important;
    border-color: #ddd6fe !important;
    background: #f5f3ff !important;
}

.gallery-address-copy__button:hover {
    border-color: #c4b5fd !important;
    background: #ede9fe !important;
}

.gallery-address-copy__toast {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 10100;
    transform: translate(-50%, -50%) scale(0.96);
    padding: 10px 18px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.92);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.22);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.gallery-address-copy__toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 720px) {
    .gallery-address-copy__button {
        padding-right: 7px;
        padding-left: 7px;
    }
}
