@charset "UTF-8";
/* 提供された旧海外 gold_purchase_result.css の44ルールを元の値のまま移植。
   時計には適用しない。追加ルールは末尾のAjax/注釈調整のみ。 */
#purchase-result-section.purchase-result--legacy {
    & .section-title {
        text-align: center;
        padding: 1cqw 0 2cqw;
    }
    & .section-title .highlight {
        color: var(--color-red);
    }
    & .nav-scroll-wrapper {
        padding-top: 2.5cqw;
        padding-bottom: 0;
        position: relative;
    }
    & .tab-scroll-container {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        transform: rotateX(180deg);
        padding: 1cqw 1cqw 2.5cqw;
    }
    & .tab-scroll-container::-webkit-scrollbar {
        height: 1.5cqw;
    }
    & .tab-scroll-container::-webkit-scrollbar-track {
        background: #e0e0e0;
        border-radius: 100vw;
        margin: 0 2cqw;
    }
    & .tab-scroll-container::-webkit-scrollbar-thumb {
        background: #a8a8a8;
        border-radius: 100vw;
        border: 0.3cqw solid transparent;
        background-clip: content-box;
    }
    & .tab-nav-list {
        display: flex;
        gap: 2cqw;
        width: max-content;
        padding: 0 1cqw;
        transform: rotateX(180deg);
    }
    & .tab-nav-item {
        width: 20cqw;
        height: auto;
        flex-shrink: 0;
        flex-grow: 0;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 5px;
        flex-direction: column;
        overflow: visible;
        position: relative;
        cursor: pointer;
        transition: background 0.3s ease;
    }
    & .tab-nav-item:hover {
        background: #f3f3f3;
    }
    & .tab-nav-item.is-active {
        background-color: var(--color-red) !important;
        color: var(--color-white);
    }
    & .tab-nav-item.is-active::after {
        content: "";
        display: block;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-style: solid;
        border-width: 1.5cqw 1.5cqw 0 1.5cqw;
        border-color: var(--color-red) transparent transparent transparent;
        z-index: 10;
    }
    & .nav-item-img-wrap {
        flex: 0 0 auto;
        aspect-ratio: 1 / 1;
        display: flex;
        width: 100%;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    & .nav-item-img-wrap img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        margin: 0;
        border-bottom: 2px solid var(--color-gray-dark);
        background: var(--color-white);
    }
    & .nav-item-text-wrap {
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
        width: 100%;
        height: auto;
        min-height: auto;
        flex: 1 1 auto;
        overflow-wrap: anywhere;
        min-height: 60px;
    }
    & .nav-text {
        line-height: 1.2;
        padding: 0.4cqw 2.5cqw;
    }
    & .tab-panel {
        display: none;
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    & .tab-panel.is-active {
        display: block;
        opacity: 1;
    }
    & .purchase-list-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 2.5cqw;
    }
    & .purchase-card {
        background: var(--color-white);
        border-radius: 10px;
        padding: 2.5cqw 2.5cqw 2.5cqw;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    & .card-link {
        display: flex;
        flex-direction: column;
        height: 100%;
        text-decoration: none;
        color: inherit;
        gap: 2cqw;
    }
    & .card-image {
        text-align: center;
        height: 40cqw;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }
    & .card-image img {
        width: 40cqw;
        height: auto;
        object-fit: contain;
        padding: 2cqw;
    }
    & .card-content {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }
    & .card-title {
        margin-bottom: auto;
    }
    & .price-info {
        margin-top: 1cqw;
    }
    & .card-detail {
        margin-top: auto;
    }
    & .price-label {
        display: inline-block;
        padding: 4px 8px;
        border-radius: 4px;
        margin-top: 1cqw;
    }
    & .price-date {
        min-height: 4cqh;
    }
    & .price-value {
        margin: 1cqw 0 0 0;
        line-height: 1;
        position: static;
        top: auto;
        transform: none;
    }
    & .js-limit-wrap {
        overflow: hidden;
        transition: height 0.5s ease;
    }
    & .limit-trigger-btn {
        cursor: pointer;
    }
    & .purchase-result-under-area {
        padding: 0 2.5cqw;
    }
    & .purchase-result-under-area .annotation-text {
        padding-left: 0.9em;
        text-indent: -0.9em;
        font-size: 2cqw;
    }
    & .nav-slide-btn {
        position: absolute;
        top: 57%;
        transform: translateY(-50%);
        z-index: 10;
        width: 20%;
        height: 90%;
        border: none;
        cursor: pointer;
        font-size: 24px;
        font-weight: bold;
        color: #333;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    & .nav-slide-btn span {
        display: block;
        transform: scaleX(0.8);
        letter-spacing: -2px;
    }
    & .nav-slide-btn.is-prev {
        left: 0;
        padding-right: 5%;
        background: linear-gradient( to left, rgba(255, 255, 255, 0) 0%, var(--color-beige) 100% );
    }
    & .nav-slide-btn.is-prev img {
        transform: rotate(180deg);
        width: 50%;
    }
    & .nav-slide-btn.is-next {
        right: 0;
        padding-left: 5%;
        background: linear-gradient( to right, rgba(255, 255, 255, 0) 0%, var(--color-beige) 100% );
    }
    & .nav-slide-btn.is-next img {
        width: 50%;
    }
    & .nav-slide-btn.is-hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    & .buy-btn {
        margin-top: 2cqw;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    & .buy-btn img {
        width: 100%;
    }
    & .buy-btn:hover {
        opacity: 0.8;
        transform: scale(1.05);
    }
    /* 旧海外PHPのdivを操作可能なbuttonに置換した差分の調整のみ。 */
    & .tab-nav-item { padding: 0; border: 0; font: inherit; }
    & .tab-nav-item:hover { background: #f3f3f3; }
    & .tab-nav-item.is-active:hover { background: var(--color-red); }
    & .nav-item-img-wrap img { object-fit: contain; }

    /* 旧デザインの色・レイアウトは維持し、Ajax開閉に必要な状態のみ補う。 */
    & .js-purchase-results-wrap {
        position: relative;
        height: auto;
        overflow: visible;
        &.has-overflow:not(.is-opened) {
            overflow: hidden;
            & > .limit-btn-area {
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
            }
        }
        &.is-opened { overflow: visible; }
    }
    & .limit-btn-area {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px 2.5cqw;
        z-index: 2;
        & .limit-trigger-btn { cursor: pointer; }
    }
    & .purchase-result-error { margin: 8px 2.5cqw 0; }
    & .purchase-result-under-area .annotation-text {
        color: #333;
        visibility: visible;
        opacity: 1;
    }
    & [hidden] { display: none !important; }
}
