        body { font-family: 'Inter', sans-serif; background-color: #faf9f6; color: #111; overflow-x: hidden; padding-bottom: 80px; }
        @media (min-width: 768px) { body { padding-bottom: 0; } }
        
        :root {
            --brand-primary: #be123c; 
            --brand-navy: #0f172a;    
            --brand-gold: #fbbf24;
        }

        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        /* Wyszukiwarka Live */
        .search-suggestions {
            position: absolute; top: 100%; left: 0; right: 0;
            background: white; border-radius: 12px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.15);
            z-index: 60; margin-top: 8px;
            opacity: 0; visibility: hidden; transform: translateY(-10px);
            transition: all 0.2s; border: 1px solid #e5e5e5;
        }
        .search-group:focus-within .search-suggestions { opacity: 1; visibility: visible; transform: translateY(0); }

        /* Pływający przycisk koszyka (PC) */
        .floating-cart-btn {
            position: fixed; bottom: 40px; right: 40px; z-index: 49;
            background: white; width: 70px; height: 70px;
            border-radius: 50%; display: flex; align-items: center; justify-content: center;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            cursor: pointer; transition: transform 0.2s;
            border: 3px solid var(--brand-primary); color: var(--brand-primary);
        }
        .floating-cart-btn:hover { transform: scale(1.1); }
        @media (max-width: 768px) { .floating-cart-btn { display: none; } }

        /* Animacja wlotu do koszyka */
        .flying-img {
            position: fixed; z-index: 9999; width: 100px; height: 100px;
            object-fit: contain; pointer-events: none; border-radius: 50%;
            transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
        }

        /* Mobile Bottom Nav */
        .mobile-bottom-nav {
            position: fixed; bottom: 0; left: 0; width: 100%;
            background: white; border-top: 1px solid #f0f0f0;
            display: flex; justify-content: space-around; align-items: center;
            padding: 12px 0 25px 0; z-index: 99; box-shadow: 0 -5px 20px rgba(0,0,0,0.03);
        }
        .nav-item { display: flex; flex-direction: column; align-items: center; gap: 4px; color: #94a3b8; font-size: 10px; font-weight: 600; }
        .nav-item.active { color: var(--brand-primary); }
        .nav-item i { font-size: 20px; }

        /* Serduszko */
        .heart-btn.liked i { font-weight: 900; color: #be123c; animation: beat 0.3s; }
        @keyframes beat { 0% {transform: scale(1);} 50% {transform: scale(1.4);} 100% {transform: scale(1);} }

        /* Modals */
        .modal-overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 100;
            opacity: 0; visibility: hidden; transition: 0.3s; backdrop-filter: blur(4px);
            display: flex; align-items: center; justify-content: center;
        }
        .modal-overlay.active { opacity: 1; visibility: visible; }
        
        .modal-content {
            background: white; width: 90%; max-width: 400px; border-radius: 24px;
            transform: scale(0.9); transition: 0.3s; opacity: 0; padding: 0; overflow: hidden;
        }
        .modal-overlay.active .modal-content { transform: scale(1); opacity: 1; }

        /* Progress Bar Striped */
        .progress-bar-striped {
            background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
            background-size: 1rem 1rem;
        }

        /* Usługi (ikony) */
        .service-card {
            background: white; border-radius: 16px; padding: 24px;
            transition: all 0.3s; border: 1px solid #f3f4f6;
        }
        .service-card:hover { background: #fff1f2; border-color: #fecdd3; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }


@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fadeIn {
    animation: fadeIn 0.4s ease-out forwards;
}
