.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-lg);border-left:4px solid var(--purple-500);transform:translateX(120%);animation:toastIn .4s forwards;font-size:.875rem;max-width:360px}.toast.success{border-left-color:#22c55e}.toast.info{border-left-color:var(--purple-500)}.toast.warning{border-left-color:var(--gold-500)}.toast i{font-size:1.1rem;flex-shrink:0}.toast.success i{color:#22c55e}.toast.info i{color:var(--purple-500)}.toast.warning i{color:var(--gold-500)}#loading-overlay.hidden{opacity:0;pointer-events:none}.location-badge.detecting i{animation:spin 1s linear infinite}.sticky-bar.scrolled{box-shadow:0 4px 24px rgba(168,85,247,.08)}.salon-card{background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition);cursor:pointer;opacity:0;transform:translateY(20px);animation:fadeUp .5s forwards}.salon-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.card-img{position:relative;width:100%;height:200px;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.salon-card:hover .card-img img{transform:scale(1.05)}.card-img .price-badge{position:absolute;top:14px;right:14px;padding:6px 14px;border-radius:50px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);font-size:.8rem;font-weight:600;color:var(--purple-700)}.card-img .fav-btn{position:absolute;top:14px;left:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:.9rem;color:var(--slate-400)}.card-img .fav-btn:hover,.card-img .fav-btn.active{color:var(--pink-500);transform:scale(1.15)}.card-body{padding:20px}.card-body h3{font-size:1.15rem;font-weight:600;margin-bottom:6px;color:var(--slate-800)}.card-rating{display:flex;align-items:center;gap:6px;margin-bottom:8px}.card-rating .stars{display:flex;gap:1px;color:var(--gold-400);font-size:.8rem}.card-rating .stars .empty{color:var(--slate-300)}.card-rating span{font-size:.8rem;color:var(--slate-500);font-weight:500}.card-location{display:flex;align-items:flex-start;gap:6px;font-size:.83rem;color:var(--slate-500);margin-bottom:12px}.card-location i{color:var(--purple-400);margin-top:3px;font-size:.75rem;flex-shrink:0}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.card-tags span{padding:4px 10px;border-radius:50px;font-size:.7rem;font-weight:500;background:var(--purple-100);color:var(--purple-700);border:1px solid var(--purple-200);transition:var(--transition)}.card-tags span:hover{background:var(--purple-200)}.card-actions{display:flex;gap:10px}.btn{padding:10px 18px;border-radius:var(--radius-xs);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--purple-500),var(--pink-500));color:white;box-shadow:0 4px 14px rgba(168,85,247,.3)}.btn-primary:hover{box-shadow:0 6px 20px rgba(168,85,247,.45);transform:translateY(-1px)}.btn-outline{background:0 0;color:var(--purple-600);border:1.5px solid var(--purple-300)}.btn-outline:hover{background:var(--purple-50);border-color:var(--purple-400)}.no-results{grid-column:1/-1;text-align:center;padding:80px 24px}.no-results i{font-size:3rem;color:var(--purple-200);margin-bottom:16px}.no-results h3{font-size:1.3rem;margin-bottom:8px;color:var(--slate-600)}.no-results p{color:var(--slate-400);font-size:.9rem}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-hero{position:relative;height:260px;overflow:hidden}.modal-hero img{width:100%;height:100%;object-fit:cover}.modal-hero .modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--slate-600);transition:var(--transition)}.modal-hero .modal-close:hover{background:#fff;transform:rotate(90deg)}.modal-hero .modal-close:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}.modal-content{padding:28px}.modal-content h2{font-size:1.6rem;font-weight:700;margin-bottom:4px}.modal-rating{display:flex;align-items:center;gap:8px;margin-bottom:14px}.modal-rating .stars{display:flex;gap:2px;color:var(--gold-400);font-size:.9rem}.modal-rating .stars .empty{color:var(--slate-300)}.modal-rating span{font-size:.85rem;color:var(--slate-500)}.modal-addr{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:var(--slate-500);margin-bottom:20px}.modal-addr i{color:var(--purple-400);margin-top:4px}.modal-desc{font-size:.9rem;color:var(--slate-600);line-height:1.7;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--purple-100)}.modal-section-title{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:600;color:var(--slate-800);margin-bottom:14px;display:flex;align-items:center;gap:8px}.modal-section-title i{color:var(--purple-400);font-size:.9rem}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px}@media (max-width:500px){.services-grid{grid-template-columns:1fr}}.service-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--purple-50);border-radius:var(--radius-xs);border:1px solid var(--purple-100)}.service-item .s-name{font-size:.83rem;color:var(--slate-700);font-weight:500}.service-item .s-price{font-size:.83rem;color:var(--purple-600);font-weight:600}.reviews-list{margin-bottom:28px}.review{padding:16px;background:var(--slate-50);border-radius:var(--radius-sm);margin-bottom:10px}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.review-header strong{font-size:.85rem;color:var(--slate-700)}.review-header .r-stars{color:var(--gold-400);font-size:.75rem}.review p{font-size:.83rem;color:var(--slate-500);line-height:1.6}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--purple-100)}.modal-actions .btn{flex:1;justify-content:center;min-width:140px}.scroll-top.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.modal-hero{height:200px}.modal-content{padding:20px}}