/*
 * iframe-top.css
 * TOP用iframeスタイル（template0_fair, template2_plan）
 * - Swiperのバレット独自スタイル（横長バー型）
 * - 左右ナビゲーションボタンあり
 */

:root {
    --base-font: 1.3333vw;
}

/* info-wrap */
.info-wrap {
    background-color: #fff;
}

/* Fair specific */
#fairIframe1 .info-wrap .info-wrap-date {
    font-size: 18px;
}

/* Plan specific */
#planIframe1 .info-wrap .info-wrap-price {
    font-size: 18px;
}

/* Swiper pagination - 横長バー型 */
.swiper-pagination {
    position: relative !important;
    display: flex !important;
    padding: 0 calc(18 * var(--base-font, 1) / 10);
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(0);
    z-index: 0;
    left: 0;
    width: 100%;
}

.swiper-pagination .swiper-pagination-bullet {
    position: relative;
    background-color: #d9d9d9;
    border-radius: 0;
    opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #a29447;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

/* PC styles */
@media (min-width: 769px) {
    :root {
        --base-font: 10px;
    }

    .swiper-button-wrap {
        height: calc(40 * var(--base-font, 1) / 10);
        padding: 0 calc(40 * var(--base-font, 1) / 10);
        margin: calc(30 * var(--base-font, 1) / 10) auto 0;
    }

    .swiper-pagination {
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }

    .swiper-button-prev,
    .swiper-button-next {
        display: block;
        z-index: 1;
    }

    .swiper-pagination .swiper-pagination-bullet {
        width: calc(16 * var(--base-font, 1) / 10);
        height: calc(2 * var(--base-font, 1) / 10);
    }
}

/* SP styles */
@media (max-width: 768.98px) {
    .swiper-button-wrap {
        height: calc(60 * var(--base-font, 1) / 10);
        padding: 0 calc(60 * var(--base-font, 1) / 10);
        margin: calc(39 * var(--base-font, 1) / 10) auto 0;
    }

    .swiper-pagination {
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }

    .swiper-pagination .swiper-pagination-bullet {
        width: calc(20 * var(--base-font, 1) / 10);
        height: calc(2 * var(--base-font, 1) / 10);
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: calc(60 * var(--base-font, 1) / 10) !important;
        height: calc(60 * var(--base-font, 1) / 10) !important;
    }
}
