/**
 * Common LP Styles
 * Shared styles across all 3 LP pages
 */

/* ===== Reset for LP pages ===== */
.lp-blueprint,
.lp-quest,
.lp-guide {
    /* Override theme styles */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Hide theme header/footer elements if needed */
.lp-blueprint .site-header,
.lp-quest .site-header,
.lp-guide .site-header,
.lp-blueprint .site-footer,
.lp-quest .site-footer,
.lp-guide .site-footer {
    /* Uncomment below to hide theme header/footer on LP pages */
    /* display: none; */
}

/* ===== Common Animation Classes ===== */
[data-aos] {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos].is-visible {
    opacity: 1;
}

[data-aos="fade-up"] {
    transform: translateY(30px);
}

[data-aos="fade-up"].is-visible {
    transform: translateY(0);
}

[data-aos="fade-in"] {
    opacity: 0;
}

[data-aos="fade-in"].is-visible {
    opacity: 1;
}

/* ===== Common Utility Classes ===== */
.lp-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.lp-text-center {
    text-align: center;
}

.lp-mt-0 { margin-top: 0; }
.lp-mb-0 { margin-bottom: 0; }
.lp-mt-1 { margin-top: 8px; }
.lp-mt-2 { margin-top: 16px; }
.lp-mt-3 { margin-top: 24px; }
.lp-mt-4 { margin-top: 32px; }
.lp-mb-1 { margin-bottom: 8px; }
.lp-mb-2 { margin-bottom: 16px; }
.lp-mb-3 { margin-bottom: 24px; }
.lp-mb-4 { margin-bottom: 32px; }

/* ===== Smooth Scroll ===== */
html {
    scroll-behavior: smooth;
}

/* ===== Focus States for Accessibility ===== */
.bp-btn:focus,
.quest-btn:focus,
.guide-btn:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ===== Print Styles ===== */
@media print {
    .lp-blueprint,
    .lp-quest,
    .lp-guide {
        background: white !important;
        color: black !important;
    }

    .bp-btn,
    .quest-btn,
    .guide-btn {
        border: 1px solid black !important;
    }
}
