/* ==============================================
   LAFORET Common CSS
   全ページ共通スタイル
   ============================================== */

/* Brand Color Variables */
:root {
    --color-laforet-gold: #A3957D;
}

/* Base Reset */
html { font-size: 16px; }
/* 意図的な上書き: モバイルのみ小さすぎるフォントサイズを14pxに底上げ */
@media (max-width: 767px) {
    .text-\[10px\] { font-size: 14px; }
}
html, body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow-x: hidden;
    background-color: #FFFFFF;
    color: #333333;
    font-family: 'Cormorant Garamond', 'Noto Serif JP', serif;
}
body {
    display: flex;
    flex-direction: column;
}
main {
    flex: 1;
}

/* Scroll Behavior (programmatic scrolling only, not touch) */
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}

/* Glass Card (EXPLORE LAFORET section) */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: background 0.3s ease,
                border-color 0.3s ease,
                box-shadow 0.3s ease;
}
.glass-card:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: #A3957D;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
@media (max-width: 768px) {
    .glass-card {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(255, 255, 255, 0.92);
    }
}

/* Page Hero (shared gradient for subpages) */
.page-hero {
    background: linear-gradient(180deg, #F9F9F9 0%, #FFFFFF 100%);
}

/* Fade-in Animation (subpages: uses .visible) */
.fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out,
                transform 0.8s ease-out;
}
.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Delay utilities */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-600 { transition-delay: 0.6s; }
