@charset "UTF-8";
.productData {
    display: grid;
    grid-template-columns: 1fr 288px;
    gap: 16px;
    align-items: start;
    margin-bottom: 16px;
    img {
        width: 60%;
        height: auto;
        object-fit: cover;
        margin: auto;
    }
    @media only screen and (width < 544px) {
        display: block;
    }
    @media only screen and (width < 384px) {
        .productStatus > div dt {
            font-size: 16px;
        }
    }
}

.contact_section dl {
    div {
        dt {
            &.bidAmount div {
                display: flex;
                flex-direction: column;
                align-items: flex-end;
            }
        }
        dd.productNameInput {
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            [type="text"]:read-only {
                background-color: transparent;
                border: none;
                color: inherit;
                padding: 0;
                &:focus {
                    outline: none;
                }
            }
        }
    }
}
input[type="submit"] {
    background: var(--red);
    &:hover {
        background: oklch(from var(--red) calc(l + 0.2) c h);
        color: #fff;
    }
}

/* トースト通知 */
#toast-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    background-color: oklch(from var(--red) l c 140);
    color: #fff;
    padding: 12px 24px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s ease;
    white-space: nowrap;
}

.toast-hidden {
    opacity: 0;
    pointer-events: none;
}

.toast-visible {
    opacity: 1;
}

/*■■■価格固定■■■*/
/* --- 全体のレイアウト設定 --- */

    /* 1. 親要素をGridレイアウトにする */
    .inner.base_width {
      display: grid;
      grid-template-columns: 250px 1fr;
      column-gap: 40px
    }

    /* 2. 中間の邪魔なタグの「枠」を無効化する */
    .productData, 
    .productData > div {
        display: contents; 
        /* これにより、img、h1、productStatusが直接 .inner の子要素として扱われ、stickyの範囲が .inner 全体に広がります */
    }

    /* 3. 各パーツの配置指定 */
    .productData img {
        grid-column: 1;
        width: 100%;
        height: auto;
        border: #ddd 1px solid;
    }

    .productName {
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
    }

    /* 4. 入札フォームの配置 */
    .wpcf7 {
        grid-column: 1 / 3;
        grid-row: 2;
    }

@media screen and (max-width: 768px) {
	.inner.base_width {
        display: block;
    }
     .productData img {
        width: 50%;
    }
}
/* --- 価格エリアのsticky設定（PC・スマホ共通） --- */
.productStatus {
    position: -webkit-sticky;
    position: sticky;
    top: 0; 
    z-index: 100;
    background: #fff;
    padding: 15px;
    margin: 60px 0 0;
    
    /* Grid配置の指定（PC時） */
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}
