/* カスタムカラーの定義などはTailwind Configで設定するため、ここは純粋な補完用 */

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans JP', 'Helvetica Neue', Arial, sans-serif;
    color: #333333;
    background-color: #fcfcfc;
    overflow-x: hidden;
}

/* スマホ版ボトムナビ用の余白 */
body.has-bottom-nav {
    padding-bottom: 80px;
}

/* スクロールバーのカスタマイズ */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1; 
}
::-webkit-scrollbar-thumb {
    background: #c1c1c1; 
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8; 
}

/* 商品画像のホバー演出（使用シーンへの切り替え） */
.product-image-container {
    position: relative;
    overflow: hidden;
}
.product-image-container img {
    transition: opacity 0.4s ease-in-out, transform 0.6s ease;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-image-container .img-hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
.product-image-container:hover .img-main {
    opacity: 0;
}
.product-image-container:hover .img-hover {
    opacity: 1;
    transform: scale(1.05);
}

/* ガラスモーフィズムのユーティリティ補完 */
.glass {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

/* Swiper カスタマイズ */
.swiper-button-next,
.swiper-button-prev {
    color: #555 !important;
    transform: scale(0.6);
}
.swiper-pagination-bullet-active {
    background: #555 !important;
}

/* ユーティリティ */
.aspect-4-5 {
    aspect-ratio: 4 / 5;
}
.aspect-16-9 {
    aspect-ratio: 16 / 9;
}
