/* Smooth Scrolling & Hide default scrollbar */
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: #fff; }
::-webkit-scrollbar-thumb { background: #111; }

/* Hide scrollbar for horizontal swipe areas */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Chic underline effect (Dark text) */
.chic-link { position: relative; display: inline-block; }
.chic-link::after {
    content: ''; position: absolute; width: 100%; transform: scaleX(0); height: 1px;
    bottom: -4px; left: 0; background-color: currentColor;
    transform-origin: bottom right; transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.chic-link:hover::after { transform: scaleX(1); transform-origin: bottom left; }

/* Chic underline effect (Light text for sidebar) */
.chic-link-white { position: relative; display: inline-block; }
.chic-link-white::after {
    content: ''; position: absolute; width: 100%; transform: scaleX(0); height: 1px;
    bottom: -4px; left: 0; background-color: #ffffff;
    transform-origin: bottom right; transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}
.chic-link-white:hover::after { transform: scaleX(1); transform-origin: bottom left; }

/* Product Image Hover Reveal */
.product-img-wrapper { overflow: hidden; position: relative; }
.product-img-wrapper img { transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1); }
.product-card:hover .product-img-wrapper img { transform: scale(1.05); }

.add-to-bag-btn {
    position: absolute; bottom: -60px; left: 0; width: 100%;
    background: rgba(255, 255, 255, 0.98); color: #000; text-align: center;
    padding: 1rem 0; text-transform: uppercase; font-size: 0.65rem;
    letter-spacing: 0.2em; transition: bottom 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.product-card:hover .add-to-bag-btn { bottom: 0; }

/* Scroll Reveal Animation Classes */
.reveal-up { opacity: 0; transform: translateY(40px); transition: all 1.2s cubic-bezier(0.19, 1, 0.22, 1); }
.reveal-up.active { opacity: 1; transform: translateY(0); }

.reveal-left { opacity: 0; transform: translateX(-40px); transition: all 1.2s cubic-bezier(0.19, 1, 0.22, 1); }
.reveal-left.active { opacity: 1; transform: translateX(0); }

.reveal-right { opacity: 0; transform: translateX(40px); transition: all 1.2s cubic-bezier(0.19, 1, 0.22, 1); }
.reveal-right.active { opacity: 1; transform: translateX(0); }

.reveal-fade { opacity: 0; transition: opacity 1.5s ease-out; }
.reveal-fade.active { opacity: 1; }

/* Animated Hamburger Menu (Old Premium Style) */
.hamburger-btn { width: 24px; height: 12px; position: relative; cursor: pointer; z-index: 100; }
.hamburger-line { 
    position: absolute; left: 0; width: 100%; height: 1px; background-color: #000; 
    transition: all 0.4s cubic-bezier(0.86, 0, 0.07, 1); 
}
.line-top { top: 0; }
.line-bottom { bottom: 0; }

/* Mobile Sidebar Menu Logic */
.sidebar-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(8px);
    opacity: 0; pointer-events: none; transition: opacity 0.6s ease; z-index: 90;
}
.sidebar-overlay.active { opacity: 1; pointer-events: auto; }

/* Slide from left drawer with dark theme */
.sidebar-menu {
    position: fixed; top: 0; left: 0; height: 100vh; width: 85%; max-width: 400px;
    background-color: #111111; z-index: 100; transform: translateX(-100%);
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1); display: flex; flex-direction: column;
    overflow-y: auto;
    box-shadow: 20px 0 50px rgba(0,0,0,0.5);
}
.sidebar-menu.active { transform: translateX(0); }

.sidebar-link {
    opacity: 0; transform: translateX(-20px); transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.sidebar-menu.active .sidebar-link { opacity: 1; transform: translateX(0); }

/* Staggered sidebar links */
.sidebar-menu.active .sidebar-link:nth-child(1) { transition-delay: 0.1s; }
.sidebar-menu.active .sidebar-link:nth-child(2) { transition-delay: 0.2s; }
.sidebar-menu.active .sidebar-link:nth-child(3) { transition-delay: 0.3s; }
.sidebar-menu.active .sidebar-link:nth-child(4) { transition-delay: 0.4s; }
.sidebar-menu.active .sidebar-link:nth-child(5) { transition-delay: 0.5s; }

.sidebar-bottom { opacity: 0; transition: opacity 0.8s ease; }
.sidebar-menu.active .sidebar-bottom { opacity: 1; transition-delay: 0.7s; }

/* Custom parallax */
.bg-parallax { background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; }