 body {
            font-family: 'Lato', sans-serif;
            background-color: #f8fafc;
        }
        h1, h2, h3, .brand-font {
            font-family: 'Playfair Display', serif;
        }
        .hero-bg {
            background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
            background-size: cover;
            background-position: center;
        }
        .fade-in {
            animation: fadeIn 0.6s ease-out; /* Smoother timing */
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-40px); } /* Starts 40px above (Top) */
            to { opacity: 1; transform: translateY(0); }        /* Lands at position (Bottom) */
        }
        .category-btn.active {
            background-color: #fbbf24; /* Amber-400 */
            color: #000;
            font-weight: bold;
            border-color: #fbbf24;
        }
        /* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }
        ::-webkit-scrollbar-thumb {
            background: #fbbf24;
            border-radius: 4px;
        }
        /* Modal Styles */
        .modal-open {
            overflow: hidden;
        }
        /* Navbar Animation */
        @keyframes slideDown {
            from { transform: translateY(-100%); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .navbar-animate {
            animation: slideDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        
        /* Nav Link Hover Effect - Rounded Pill Border */
        .nav-link {
            padding: 8px 16px;
            border-radius: 9999px; /* Circle/Pill shape */
            border: 1px solid transparent;
            transition: all 0.3s ease-in-out;
        }
        .nav-link:hover {
            border-color: #fbbf24;
            background-color: rgba(251, 191, 36, 0.1); /* Light amber background */
            color: #fbbf24;
            transform: translateY(-1px);
        }

        /* Mobile Menu Staggered Animation */
        .mobile-stagger {
            opacity: 0;
            transform: translateX(-20px);
            animation: slideInStagger 0.4s ease-out forwards;
        }
        @keyframes slideInStagger {
            to { opacity: 1; transform: translateX(0); }
        }
        /* Delays for "line by line" effect */
        .delay-100 { animation-delay: 100ms; }
        .delay-200 { animation-delay: 200ms; }
        .delay-300 { animation-delay: 300ms; }
        .delay-400 { animation-delay: 400ms; }
        .delay-500 { animation-delay: 500ms; }
        
        /* Hide scrollbar for chrome/safari/opera */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        /* Hide scrollbar for IE, Edge and Firefox */
        .no-scrollbar {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }

        /* --- ADD TO CART ANIMATION STYLES (Converted from SCSS) --- */
        .add-to-cart {
            --background-default: #111827; /* gray-900 */
            --background-hover: #fbbf24;   /* amber-400 */
            --background-scale: 1;
            --text-color: #fff;
            --text-o: 1;
            --text-x: 12px;
            --cart: #fff;
            --cart-x: -48px;
            --cart-y: 0px;
            --cart-rotate: 0deg;
            --cart-scale: 0.75;
            --cart-clip: 0px;
            --cart-clip-x: 0px;
            --cart-tick-offset: 10px;
            --cart-tick-color: #10B981; /* green-500 */
            --shirt-y: -16px;
            --shirt-scale: 0;
            --shirt-color: #fff;
            --shirt-logo: #111827;
            --shirt-second-y: 24px;
            --shirt-second-color: #111827;
            --shirt-second-logo: #fff;
            --webkit-tap-highlight-color: transparent;
            --webkit-appearance: none;
            outline: none;
            background: none;
            border: none;
            padding: 12px 0;
            width: 100%; /* Adapted to fill container */
            margin: 0;
            cursor: pointer;
            position: relative;
            font-family: inherit;
            border-radius: 8px;
            overflow: hidden; 
        }

        .add-to-cart:before {
            content: '';
            display: block;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            border-radius: 8px;
            transition: background 0.25s;
            background: var(--background, var(--background-default));
            transform: scaleX(var(--background-scale)) translateZ(0);
        }

        .add-to-cart:not(.active):hover {
            --background: var(--background-hover);
            --text-color: #111827; /* Dark text on hover */
            --cart: #111827;
        }

        .add-to-cart span {
            display: block;
            text-align: center;
            position: relative;
            z-index: 1;
            font-size: 14px;
            font-weight: 700;
            line-height: 24px;
            color: var(--text-color);
            opacity: var(--text-o);
            transform: translateX(var(--text-x)) translateZ(0);
            transition: color 0.25s;
        }

        .add-to-cart svg {
            display: block;
            width: var(--svg-width, 24px);
            height: var(--svg-height, 24px);
            position: var(--svg-position, relative);
            left: var(--svg-left, 0);
            top: var(--svg-top, 0);
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .add-to-cart svg path {
            fill: var(--svg-fill, none);
            stroke: var(--svg-stroke, none);
            stroke-width: var(--svg-stroke-width, 2);
        }

        .add-to-cart .shirt,
        .add-to-cart .cart {
            pointer-events: none;
            position: absolute;
            left: 50%;
        }

        .add-to-cart .shirt {
            margin: -12px 0 0 -12px;
            top: 0;
            transform-origin: 50% 100%;
            transform: translateY(var(--shirt-y)) scale(var(--shirt-scale));
        }

        .add-to-cart .shirt svg {
            --svg-fill: var(--shirt-color);
        }

        .add-to-cart .shirt svg g {
            --svg-fill: var(--svg-g-fill, var(--shirt-logo));
        }

        .add-to-cart .shirt svg.second {
            --svg-fill: var(--shirt-second-color);
            --svg-g-fill: var(--shirt-second-logo);
            --svg-position: absolute;
            clip-path: polygon(0 var(--shirt-second-y), 24px var(--shirt-second-y), 24px 24px, 0 24px);
        }

        .add-to-cart .cart {
            --svg-width: 36px;
            --svg-height: 26px;
            --svg-stroke: var(--cart);
            top: 10px;
            margin-left: -18px;
            transform: translate(var(--cart-x), var(--cart-y)) rotate(var(--cart-rotate)) scale(var(--cart-scale)) translateZ(0);
        }

        .add-to-cart .cart:before {
            content: '';
            display: block;
            width: 22px;
            height: 12px;
            position: absolute;
            left: 7px;
            top: 7px;
            background: var(--cart);
            clip-path: polygon(0 0, 22px 0, calc(22px - var(--cart-clip-x)) var(--cart-clip), var(--cart-clip-x) var(--cart-clip));
        }

        .add-to-cart .cart path.wheel {
            --svg-stroke-width: 1.5;
        }

        .add-to-cart .cart path.tick {
            --svg-stroke: var(--cart-tick-color);
            stroke-dasharray: 10px;
            stroke-dashoffset: var(--cart-tick-offset);
        }
        /* --- END ANIMATION STYLES --- */