.btn-primary{background: var(--role-coach)}.btn-primary:hover{background: var(--dark-blue)}.fac-page{min-height: 80vh}.fac-hero{position: relative;z-index: 2;background: var(--dark-blue);background-image: linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px);background-size: 48px 48px;padding: 4rem 1.5rem 3rem;text-align: center;border-bottom-left-radius: 4rem;border-bottom-right-radius: 4rem}.fac-hero-content{max-width: 760px;margin: 0 auto}.fac-hero h1{color: var(--white);font-size: clamp(1.75rem,4vw,2.75rem);font-weight: 700;margin-bottom: 0.75rem}.fac-hero p{color: rgba(255,255,255,0.65);font-size: 1.05rem;margin-bottom: 2rem;line-height: 1.6}.fac-search-wrap{display: flex;flex-direction: row;gap: 0.5rem;align-items: stretch;max-width: 640px;width: 100%;margin: 0 auto}.fac-search-bar{display: flex;flex: 1;min-width: 280px;background: var(--white);border-radius: var(--radius-xl);padding: 0.375rem 0.5rem;box-shadow: 0 8px 32px rgba(0,0,0,0.25);align-items: center}.fac-search-field{display: flex;align-items: center;gap: 0.5rem;flex: 1;min-width: 120px;padding: 0.4rem 0.75rem;border-right: 1px solid var(--border)}.fac-search-field:last-child{border-right: none}.fac-search-field svg{stroke: var(--gray);flex-shrink: 0}.fac-search-field input,.fac-search-field select{border: none;outline: none;background: transparent;font-family: inherit;font-size: 0.95rem;color: var(--black);width: 100%;padding: 0}.fac-search-field input::placeholder{color: var(--gray)}.fac-search-select select{cursor: pointer;appearance: none;color: var(--gray)}.fac-search-select select:has(option:checked:not([value=""])){color: var(--black)}.fac-search-location{display: flex;align-items: center;gap: 0.5rem;flex: 1;min-width: 0;height: 52px;padding: 0 0.45rem 0 1.1rem;background: var(--white);border-radius: var(--radius-xl);box-shadow: 0 8px 32px rgba(0,0,0,0.25)}.fac-search-location .location-picker{flex: 1;min-width: 0;align-self: stretch}.fac-search-location .location-picker .lp-input{height: 100%;padding: 0;margin: 0;line-height: normal;box-sizing: border-box;font-size: 0.95rem;border: none;border-radius: 0;background: transparent;box-shadow: none;width: 100%}.fac-search-location .location-picker .lp-input:focus{border-color: var(--focus-border,#ffa500);outline: none}.fac-search-location .lp-results{z-index: 1000;text-align: left}.fac-search-location .lp-item{flex-direction: row;align-items: baseline;gap: 0.4rem;white-space: nowrap}.fac-search-location .lp-main{overflow: hidden;text-overflow: ellipsis}.fac-search-location .lp-sub{flex-shrink: 0}.fac-search-actions{display: flex;gap: 0.5rem;align-items: center;justify-content: center;flex-wrap: wrap}.fac-search-actions .btn-primary,.fac-search-actions .btn-secondary{height: 48px;padding: 0 1.4rem;display: inline-flex;align-items: center;justify-content: center;font-size: 0.9rem;white-space: nowrap;border-color: transparent}.fac-body{max-width: 1100px;margin: 0 auto;padding: 1.25rem 1.5rem 4rem}.fac-results-header{display: flex;align-items: center;gap: 0.75rem;flex-wrap: wrap;margin-bottom: 1.5rem}.fac-count{font-weight: 600;color: var(--black);font-size: 0.95rem}.fac-filters-active{display: flex;gap: 0.4rem;flex-wrap: wrap}.fac-filter-tag{background: var(--orange-bg);color: var(--orange);border: 1px solid rgba(255,165,0,0.3);border-radius: var(--radius-full);padding: 2px 10px;font-size: 0.8rem;font-weight: 500}.fac-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(300px,1fr));gap: 1.25rem;margin-bottom: 3rem}.fac-card{display: flex;flex-direction: column;gap: 0.875rem;background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 1.25rem;text-decoration: none;color: inherit;position: relative;transition: border-color var(--transition-base)}.fac-card:hover{border-color: var(--gray-light);color: inherit}.fac-stretch::after{content: "";position: absolute;inset: 0;border-radius: inherit}.fac-card-actions>*:not(.fac-stretch){position: relative;z-index: 1}.fac-card-top{display: flex;gap: 0.875rem;align-items: flex-start}.fac-avatar{width: 56px;height: 56px;border-radius: var(--radius-full);flex-shrink: 0;object-fit: cover}.fac-avatar-img{border: 2px solid var(--role-coach)}.fac-avatar-initials{background: var(--role-coach);color: var(--white);display: flex;align-items: center;justify-content: center;font-weight: 700;font-size: 1.1rem}.fac-card-info{flex: 1;min-width: 0}.fac-name-row{display: flex;align-items: baseline;justify-content: space-between;gap: 8px;margin-bottom: 6px}.fac-rating{flex: none;display: inline-flex;align-items: baseline;gap: 3px;font-size: 0.8rem;color: var(--gray-dark);white-space: nowrap}.fac-rating-star{color: var(--primary)}.fac-rating-count{color: var(--gray)}.fac-coach-name{font-size: 1rem;font-weight: 700;color: var(--black);min-width: 0;margin: 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.fac-location{display: flex;align-items: center;gap: 3px;font-size: 0.8rem;color: var(--gray);margin-bottom: 6px;min-width: 0}.fac-location-text{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.fac-location svg{flex-shrink: 0;width: 11px;height: 11px}.fac-bio{font-size: 0.875rem;color: var(--gray);line-height: 1.55;margin: 0;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.fac-card-footer{display: flex;align-items: center;justify-content: center;gap: var(--space-sm);padding-top: 0.75rem;border-top: 1px solid var(--border);margin-top: auto;flex-wrap: wrap}.fac-card-actions{display: flex;gap: var(--space-md);flex-wrap: wrap;align-items: center;justify-content: center;width: 100%}.fac-meta{display: flex;align-items: center;gap: 0.75rem}.fac-card-footer .btn-primary,.fac-card-footer .btn-secondary,.fac-card-footer .fac-state-btn{font-size: var(--fs-small);padding: 0.45rem 0.875rem;font-weight: 600;white-space: nowrap;border-width: 1px}.fac-state-btn{display: inline-flex;align-items: center;justify-content: center;border-radius: var(--radius-md);background: var(--light-bg);color: var(--gray);border: 1px solid var(--border);cursor: default;font-family: inherit}.fac-rate{font-size: 0.875rem;color: var(--gray);margin-bottom: 6px}.fac-rate strong{font-weight: 700;color: var(--black)}.fac-players{font-size: 0.8rem;color: var(--gray);background: var(--off-white);border: 1px solid var(--border);border-radius: var(--radius-full);padding: 2px 8px}.fac-cta{font-size: 0.85rem;font-weight: 600;color: var(--orange);transition: color var(--transition-fast)}.fac-card:hover .fac-cta{color: var(--dark-blue)}.fac-prompt,.fac-empty{text-align: center;padding: var(--space-xl) 2rem;background: var(--white);border-radius: var(--radius-lg);border: 2px solid transparent;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='100%25' height='100%25' fill='none' rx='14' ry='14' stroke='%23e0e0e0' stroke-width='3' stroke-dasharray='6%2C7' stroke-linecap='square'/%3E%3C/svg%3E");background-origin: border-box;background-clip: border-box;background-size: 100% 100%;background-repeat: no-repeat;margin-bottom: 2rem}.fac-prompt-icon,.fac-empty-icon{width: 56px;height: 56px;margin: 0 auto 1rem;color: var(--gray);opacity: 0.4}.fac-prompt-icon svg,.fac-empty-icon svg{width: 100%;height: 100%;stroke: currentColor}.fac-prompt h3,.fac-empty h3{font-size: 1.2rem;color: var(--black);margin-bottom: 0.4rem;font-weight: 600}.fac-prompt p,.fac-empty p{font-size: 0.8rem;color: var(--gray);max-width: 340px;margin: 0 auto;line-height: 1.6}.fac-empty p a{font-size: inherit}.fac-coach-cta{display: flex;align-items: center;gap: 1.5rem;background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-xl);padding: 2rem 2.5rem;flex-wrap: wrap;margin-top: 3rem}.fac-coach-cta-icon{display: none}.fac-coach-cta-text{flex: 1;min-width: 200px}.fac-coach-cta-text h3{color: var(--black);font-size: 1.2rem;font-weight: 700;margin-bottom: 0.25rem}.fac-coach-cta-text p{color: var(--gray);font-size: var(--fs-small);margin: 0;line-height: 1.6}@media (max-width: 640px){.fac-search-wrap{flex-direction: column}.fac-search-bar{flex-direction: column;border-radius: var(--radius-lg);width: 100%;padding: 0.25rem 0.5rem}.fac-search-field{border-right: none;border-bottom: 1px solid var(--border);width: 100%;padding: 0.75rem;min-height: 52px}.fac-search-field:last-child{border-bottom: none}.fac-search-field input,.fac-search-field select{font-size: 1rem;line-height: 1.4}.fac-search-actions{width: 100%}.fac-search-actions .btn-primary,.fac-search-actions .btn-secondary{flex: 1}.fac-grid{grid-template-columns: 1fr}.fac-coach-cta{flex-direction: column;text-align: left;padding: 1.75rem}.fac-coach-cta-icon{margin: 0 auto}.fac-cta-btn{width: 100%;justify-content: center}}.fac-radius-select{height: 48px;padding: 0 1rem;border: none;border-radius: var(--radius-xl);background: var(--white);box-shadow: 0 8px 32px rgba(0,0,0,0.25);font-size: 0.95rem;color: var(--black);cursor: pointer;flex-shrink: 0}.fac-geo-btn{display: inline-flex;align-items: center;justify-content: center;gap: 6px;flex-shrink: 0;height: 48px;padding: 0 1.1rem;border: none;border-radius: var(--radius-xl);background: var(--white);color: var(--dark-blue);box-shadow: 0 8px 32px rgba(0,0,0,0.25);font-size: 0.9rem;font-weight: 600;white-space: nowrap;cursor: pointer}.fac-geo-btn svg{width: 16px;height: 16px;stroke: var(--dark-blue)}.fac-search-btn{flex-shrink: 0;width: 38px;height: 38px;padding: 0;border: none;border-radius: var(--radius-lg);background: var(--orange);color: var(--white);display: inline-flex;align-items: center;justify-content: center;cursor: pointer;transition: filter 0.15s}.fac-search-btn:hover{filter: brightness(0.93)}.fac-search-btn svg{width: 18px;height: 18px;stroke: var(--white);display: block}.fac-search-error{max-width: 640px;margin: 0.65rem auto 0;padding: 0.5rem 0.9rem;background: rgba(255,255,255,0.15);border: 1px solid rgba(255,255,255,0.4);border-radius: var(--radius-md);color: #fff;font-size: 0.85rem;font-weight: 500;text-align: center}.fac-filter-bar{margin-bottom: 1.5rem}.fac-filter-bar .fac-search-actions{justify-content: flex-start}.fac-filter-bar .fac-radius-select,.fac-filter-bar .fac-search-actions .btn-secondary{box-shadow: none;background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-md);color: var(--black);height: 42px}.fac-filter-bar .fac-search-actions .btn-secondary{background: var(--secondary);border-color: var(--secondary);color: var(--white)}.fac-filter-bar .fac-search-actions .btn-secondary:hover{background: #16202e;color: var(--white)}.fac-filter-bar .fac-radius-select{padding: 0 2.25rem 0 0.9rem;-webkit-appearance: none;-moz-appearance: none;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.75rem center;background-size: 13px;cursor: pointer}#facResults{transition: opacity 0.18s ease-out}.fac-results-loading{opacity: 0.45;pointer-events: none}@media (prefers-reduced-motion: reduce){#facResults{transition: none}}.fac-grid.animate-stagger>*{transition-duration: 0.24s}.fac-grid.animate-stagger.is-visible>*:nth-child(2){transition-delay: 0.04s}.fac-grid.animate-stagger.is-visible>*:nth-child(3){transition-delay: 0.08s}.fac-grid.animate-stagger.is-visible>*:nth-child(4){transition-delay: 0.12s}.fac-grid.animate-stagger.is-visible>*:nth-child(5){transition-delay: 0.16s}.fac-grid.animate-stagger.is-visible>*:nth-child(6){transition-delay: 0.20s}.pg-pager{display: flex;align-items: center;justify-content: center;gap: 6px;margin: 2.5rem 0 1rem}.pg-pagenum,.pg-pagearrow{display: inline-flex;align-items: center;justify-content: center;min-width: 34px;height: 34px;padding: 0 8px;border-radius: 999px;font-size: .9rem;font-weight: 600;text-decoration: none;color: var(--gray);background: transparent;border: 1.5px solid transparent;transition: background .15s ease,color .15s ease,border-color .15s ease}a.pg-pagenum:hover,a.pg-pagearrow:hover{color: var(--dark-blue)}.pg-pagegap{color: var(--gray);user-select: none}.pg-pagenum.is-on{background: var(--primary);color: #fff;border-color: var(--primary)}.pg-pagearrow.is-off{color: #cfcfd2}