@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/* Base Styles */
body {
    font-family: 'Zen Maru Gothic', sans-serif;
    letter-spacing: 0.05em;
    line-height: 1.8;
    color: #033663;
    -webkit-font-smoothing: antialiased;
}

/* Ensure no rounded corners on images as requested */
img {
    border-radius: 0 !important;
}

/* Custom Utilities for spacing if needed, though Tailwind controls most */
.section-spacer {
    margin-bottom: 80px;
}

@media (min-width: 768px) {
    .section-spacer {
        margin-bottom: 120px;
    }
}

/* Swiper Fade Transition Fix */
.swiper-slide {
    background-color: #fff;
    /* Prevent transparent stacking */
}

/* Mobile Menu Transitions */
#mobile-menu {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    background-color: #fde7e9;
}

#mobile-menu.open {
    transform: translateX(0);
}

/* Hamburger Animation */
#menu-btn span {
    transform-origin: center;
}

#menu-btn.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

#menu-btn.active span:nth-child(2) {
    opacity: 0;
}

#menu-btn.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* Lightbox Customization (Luminous) */
.lum-lightbox {
    z-index: 10000;
    /* Ensure on top of header */
}

/* Disable selection for copy protection feel */
body {
    user-select: none;
    -webkit-user-select: none;
}

/* Back to Top Button */
#back-to-top.visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

#back-to-top {
    transform: translateY(20px);
}