/* Components - Luxury Details */
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;border:1px solid}
.badge-pro{background:linear-gradient(135deg,#C9A86A,#E8D5B0);color:#1A150A;border-color:#D4AF37;box-shadow:0 2px 12px rgba(201,168,106,0.3)}
.badge-verified{background:#E8EBE6;color:#2E3A2D;border-color:#C8D0C5}
.badge-new{background:var(--black);color:var(--ivory);border-color:var(--black)}

.craftsman-card{position:relative;background:var(--bg-elevated);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:var(--transition);cursor:pointer}
.craftsman-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gray-300)}
.craftsman-card.pro{border-color:var(--champagne-light);box-shadow:0 0 0 1px var(--champagne-light),var(--shadow-md)}
.craftsman-card.pro::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#C9A86A,#E8D5B0,#C9A86A)}
.craftsman-top{padding:20px;display:flex;gap:16px}
.avatar{width:64px;height:64px;border-radius:18px;overflow:hidden;background:var(--gray-100);flex-shrink:0;position:relative;border:1px solid var(--border)}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gray-100),var(--gray-200));font-family:var(--font-display);font-size:24px;color:var(--gray-400)}
.craftsman-meta{flex:1;min-width:0}
.craftsman-name{font-size:17px;font-weight:600;letter-spacing:-0.02em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.craftsman-prof{font-size:13px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:6px}
.craftsman-location{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-top:6px}
.craftsman-badges{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.craftsman-body{padding:0 20px 16px}
.craftsman-desc{font-size:13.5px;line-height:1.5;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}
.craftsman-stats{display:flex;gap:16px;padding:12px 20px;background:var(--gray-50);border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}
.stat{font-weight:500}
.stat strong{color:var(--text);font-weight:600}
.craftsman-actions{display:flex;gap:8px;padding:12px 20px}
.craftsman-actions .btn{flex:1;height:40px}

.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);margin-bottom:24px}
.filter-select{height:40px;padding:0 36px 0 14px;background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-full);font-size:13px;min-width:160px}
.chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border);font-size:13px;cursor:pointer;transition:var(--transition-fast)}
.chip.active{background:var(--black);color:var(--ivory);border-color:var(--black)}

/* Loading */
.loading-screen{position:fixed;inset:0;z-index:100;background:var(--ivory);display:grid;place-items:center;transition:0.8s cubic-bezier(0.16,1,0.3,1)}
.loading-screen.out{opacity:0;pointer-events:none;transform:scale(1.02)}
.loading-logo{font-family:var(--font-display);font-size:48px;letter-spacing:-0.04em;animation:loadingPulse 1.8s infinite}
.loading-bar{width:120px;height:1px;background:var(--gray-200);margin:24px auto 0;overflow:hidden;position:relative}
.loading-bar::after{content:'';position:absolute;left:0;top:0;bottom:0;width:40%;background:var(--champagne);animation:loadingSlide 1.4s infinite cubic-bezier(0.16,1,0.3,1)}
@keyframes loadingSlide{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@keyframes loadingPulse{0%,100%{opacity:1}50%{opacity:0.7}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.step{background:var(--bg-elevated);padding:32px;position:relative}
.step-num{font-family:var(--font-display);font-size:64px;line-height:0.8;letter-spacing:-0.06em;color:var(--gray-200);margin-bottom:24px;transition:var(--transition)}
.step:hover .step-num{color:var(--champagne)}
.step-title{font-size:18px;font-weight:600;margin-bottom:8px}
.step-desc{font-size:14px;color:var(--text-muted);line-height:1.6}

/* Pricing */
.pricing{position:relative;background:var(--black);color:var(--ivory);border-radius:32px;overflow:hidden;padding:1px}
.pricing-inner{background:radial-gradient(120% 120% at 0% 0%,#1E1E20 0%,#0A0A0B 60%);border-radius:31px;padding:40px;position:relative;overflow:hidden}
.pricing-inner::before{content:'';position:absolute;top:-50%;right:-30%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(201,168,106,0.12) 0%,transparent 60%);pointer-events:none}
.pricing-badge{display:inline-flex;padding:6px 12px;border-radius:var(--radius-full);background:rgba(201,168,106,0.12);border:1px solid rgba(201,168,106,0.22);color:var(--champagne);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.pricing-price{font-family:var(--font-display);font-size:56px;line-height:0.9;letter-spacing:-0.04em;margin:20px 0 8px}
.pricing-price span{font-size:18px;font-family:var(--font-sans);color:rgba(253,252,248,0.6);letter-spacing:-0.01em;font-weight:400}
.pricing-list{margin:28px 0;display:grid;gap:12px}
.pricing-li{display:flex;gap:12px;font-size:14px;color:rgba(253,252,248,0.8)}
.pricing-li::before{content:'✓';width:20px;height:20px;display:grid;place-items:center;background:rgba(201,168,106,0.14);border-radius:50%;color:var(--champagne);font-size:11px;flex-shrink:0;margin-top:1px}

/* Glass */
.glass{background:rgba(255,255,255,0.7);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,0.6)}

/* Counter */
.counter{font-family:var(--font-display);font-size:48px;letter-spacing:-0.04em;line-height:1}

/* Toast */
.toast-stack{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;flex-direction:column;gap:12px;pointer-events:none}
.toast{pointer-events:auto;background:var(--black);color:var(--ivory);padding:14px 18px;border-radius:14px;font-size:13px;box-shadow:var(--shadow-lg);display:flex;gap:12px;align-items:center;transform:translateY(12px);opacity:0;animation:toastIn 0.5s cubic-bezier(0.16,1,0.3,1) forwards}
@keyframes toastIn{to{transform:translateY(0);opacity:1}}

/* Language switcher */
.lang-switch{display:flex;background:var(--gray-100);border-radius:var(--radius-full);padding:3px;gap:2px}
.lang-btn{height:28px;padding:0 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;transition:var(--transition-fast);color:var(--text-muted)}
.lang-btn.active{background:var(--white);color:var(--text);box-shadow:var(--shadow-sm)}

/* Empty */
.empty{padding:80px 24px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--gray-50)}
.empty-title{font-family:var(--font-display);font-size:24px;margin-bottom:8px}
.empty-desc{color:var(--text-muted);font-size:14px;max-width:36ch;margin:0 auto}

/* Modal */
.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(10,10,11,0.4);backdrop-filter:blur(12px);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:var(--transition)}
.modal-backdrop.open{opacity:1;pointer-events:auto}
.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);width:min(520px,100%);max-height:90vh;overflow:auto;transform:translateY(12px) scale(0.98);transition:var(--transition)}
.modal-backdrop.open .modal{transform:translateY(0) scale(1)}
