/* Farine Daikanyama — main.css */

/* ベース */
body {
    background-color: #F7F6F3;
    color: #4A4946;
    overflow-x: hidden;
}

::selection {
    background-color: #8EC5E6;
    color: #4A4946;
}

/* スクロールバー */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #F7F6F3; }
::-webkit-scrollbar-thumb { background: #DCD4C8; border-radius: 10px; }

/* ノイズオーバーレイ */
.noise-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    pointer-events: none;
    z-index: 9999;
    opacity: 0.025;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ガラスナビ */
.glass-nav {
    background: rgba(247, 246, 243, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(220, 212, 200, 0.4);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.glass-nav.nav-hidden { transform: translateY(-100%); }

/* 画像ホバー */
.img-wrap { overflow: hidden; position: relative; }
.img-wrap img {
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}
.product-card:hover .img-wrap img { transform: scale(1.04); }

/* スクロールリビール */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
                transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 100ms; }
.reveal-delay-2 { transition-delay: 200ms; }

/* マーキー */
.marquee-track {
    display: flex;
    width: max-content;
    animation: marquee 30s linear infinite;
}
@keyframes marquee { to { transform: translateX(-33.333%); } }

/* 商品カードの交互オフセット */
@media (min-width: 768px) {
    .staggered-col:nth-child(even) { margin-top: 120px; }
}

/* ページ内リンク用スムーズスクロール余白 */
[id] { scroll-margin-top: 6rem; }

/* 内部ページ共通ヘッダー */
.page-hero {
    padding-top: 8rem;
    padding-bottom: 4rem;
}

/* ニュース記事 */
.entry-content p { margin-bottom: 1.5em; line-height: 1.9; }
.entry-content h2 { font-family: "Cormorant Garamond", serif; font-size: 2rem; margin-top: 2em; margin-bottom: 0.75em; }
