/* Custom Styles for Charm Current */

/* Reset & Selection */
::selection {
    background: #D38C7A;
    color: white;
}

/* Glassmorphism Utilities */
.glass-card {
    background: rgba(250, 247, 242, 0.7); /* Lighter sand */
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(138, 154, 134, 0.2);
}

/* Perspective for 3D card effect */
.perspective-1000 {
    perspective: 1000px;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #F4EFE6;
}

::-webkit-scrollbar-thumb {
    background: rgba(74, 59, 50, 0.2);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(74, 59, 50, 0.4);
}

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

/* Navbar Scrolled State */
nav.scrolled {
    background: rgba(244, 239, 230, 0.85);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(138, 154, 134, 0.2);
}

/* Subpage Global Backgrounds */
body:not(.home) { 
    position: relative; 
    z-index: 0;
}
body:not(.home)::before { 
    content: ''; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100vw; 
    height: 100vh; 
    background-image: url('assets/bg_subpages.png'); 
    background-size: cover; 
    background-attachment: fixed; 
    background-position: center; 
    opacity: 0.1; 
    z-index: -1; 
    pointer-events: none; 
}

/* Footer Premium Styling */
.site-footer {
    background-color: #F4EFE6;
    background-image: url('assets/4.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    border-top: 1px solid rgba(138, 154, 134, 0.2);
    color: #4A3B32;
}

.site-footer a {
    color: rgba(74, 59, 50, 0.8);
    transition: color 0.3s;
}

.site-footer a:hover {
    color: #D38C7A;
}

/* Utility to hide scrollbar while keeping scroll functionality */
.hide-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.hide-scrollbar::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

/* Responsive Touch Target and Mobile Input Enhancements */
@media (max-width: 767px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="date"],
    select,
    textarea {
        font-size: 16px !important; /* Prevents auto-zoom on iOS Safari */
    }
    
    button, 
    a.inline-block, 
    a.block {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* Mobile Menu Animation */
#mobile-menu {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#mobile-menu.hidden {
    display: none !important;
}

