.cp-notfound{text-align: center;padding: 5rem 1.5rem;max-width: 480px;margin: 0 auto;color: var(--gray)}.cp-notfound svg{width: 52px;height: 52px;stroke: var(--gray-lighter);margin-bottom: 1rem;display: block;margin-left: auto;margin-right: auto}.cp-notfound h2{font-size: 1.4rem;font-weight: 700;color: var(--black);margin-bottom: 0.5rem}.cp-notfound p{font-size: var(--fs-small);margin-bottom: 1.5rem}.cp-hero{position: relative;display: flex;align-items: center;justify-content: center;padding: 2.5rem 1.25rem;background: var(--dark-blue);background-size: cover;background-position: center;background-repeat: no-repeat;min-height: 380px;border-bottom-left-radius: 2rem;border-bottom-right-radius: 2rem;overflow: hidden}.cp-hero-overlay{position: absolute;inset: 0;z-index: 1;background: rgba(17,24,39,0.35)}.cp-hero-overlay::before{content: '';position: absolute;inset: 0;background-image: linear-gradient(90deg,rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(rgba(255,255,255,0.04) 1px,transparent 1px);background-size: 48px 48px}.cp-card{position: relative;z-index: 2;background: var(--white);border-radius: var(--radius-xl);padding: 2rem 2rem 1.75rem;width: 100%;max-width: 620px;box-shadow: 0 20px 60px rgba(0,0,0,0.3);text-align: center}.cp-avatar{width: 96px;height: 96px;border-radius: 50%;object-fit: cover;display: block;margin: 0 auto 1.125rem;flex-shrink: 0}.cp-avatar-img{box-shadow: var(--shadow-md)}.cp-avatar-initials{background: var(--role-coach);color: var(--white);font-size: 1.75rem;font-weight: 700;display: flex;align-items: center;justify-content: center}.cp-name{font-size: 1.5rem;font-weight: 700;color: var(--black);margin: 0 0 0.25rem;line-height: 1.2}.cp-title{font-size: 0.8rem;font-weight: 500;color: var(--gray);margin: 0 0 0.375rem;text-transform: uppercase;letter-spacing: 0.07em}.cp-location{display: inline-flex;align-items: center;gap: 3px;font-size: var(--fs-small);color: var(--gray);margin-bottom: 0.875rem}.cp-location svg{width: 13px;height: 13px;flex-shrink: 0}.cp-rating-row{display: flex;align-items: center;justify-content: center;gap: 0.375rem;padding: 0.875rem 0;border-top: 1px solid var(--border);margin-top: 0.5rem}.cp-stars span{font-size: 1rem;color: var(--gray-lightest)}.cp-stars span.filled{color: #fbbf24}.cp-rating-label{font-size: var(--fs-small);color: var(--gray);font-weight: 500}.cp-stats{display: grid;grid-template-columns: repeat(4,1fr);gap: 0.5rem;margin-top: 0.875rem;padding-top: 0.875rem;border-top: 1px solid var(--border);width: 100%}.cp-stat{display: flex;flex-direction: column;align-items: center;gap: 2px;padding: 0.625rem 0.5rem;background: var(--off-white);border-radius: var(--radius-md);border: 1px solid var(--border)}.cp-stat-value{font-size: 1.25rem;font-weight: 700;color: var(--black);line-height: 1}.cp-stat-label{font-size: 0.7rem;color: var(--gray);font-weight: 500;text-align: center;line-height: 1.3}.cp-state-badge{display: inline-flex;align-items: center;justify-content: center;padding: 0.6rem 1.5rem;background: var(--orange);border: 1px solid var(--orange);border-radius: var(--radius-md);font-size: 0.875rem;font-weight: 600;color: var(--white);text-decoration: none;cursor: pointer;transition: background 0.2s,border-color 0.2s}a.cp-state-badge:hover{background: var(--dark-blue);border-color: var(--dark-blue);color: var(--white)}.btn-primary{background: var(--role-coach)}.btn-primary:hover{background: var(--dark-blue)}.cp-card .btn-primary,.cp-card .cp-state-badge{margin-top: 1rem;padding: 0.7rem 2rem}.cp-body{max-width: 760px;margin: 0 auto;padding: 2rem 1.25rem 4rem;display: flex;flex-direction: column}.cp-section{padding: 2rem 0;border-top: 1px solid var(--border)}.cp-section h2{font-size: 1rem;font-weight: 700;color: var(--black);margin: 0 0 0.875rem}.cp-badge{font-size: 0.7rem;font-weight: 500;color: var(--gray);background: var(--off-white);border: 1px solid var(--border);border-radius: var(--radius-full);padding: 2px 8px;vertical-align: middle;margin-left: 0.375rem}.cp-bio{font-size: var(--fs-small);color: var(--gray-dark);line-height: 1.7;margin: 0}.cp-rates{display: flex;flex-direction: column;gap: 0.375rem}.cp-rate-item{display: flex;justify-content: space-between;align-items: center;padding: 0.6rem 0.875rem;background: var(--off-white);border-radius: var(--radius-md);border: 1px solid var(--border);font-size: var(--fs-small);color: var(--gray-dark)}.cp-rate-item strong{font-size: 0.95rem;font-weight: 700;color: var(--black)}.cp-rate-item strong small{font-size: 0.75rem;font-weight: 400;color: var(--gray-light)}.cp-section-head{display: flex;align-items: baseline;gap: 1rem;flex-wrap: wrap;margin-bottom: 0.875rem}.cp-section-head h2{margin-bottom: 0}.cp-reviews-avg-top{display: flex;align-items: center;gap: 0.35rem;padding-bottom: 0.625rem}.cp-reviews-avg-num{font-size: 1rem;font-weight: 700;color: var(--black)}.cp-reviews-stars-sm span{font-size: 0.85rem;color: var(--gray-lightest)}.cp-reviews-stars-sm span.filled{color: #fbbf24}.cp-reviews-count{font-size: var(--fs-small);color: var(--gray)}.cp-reviews-nav{display: flex;align-items: center;justify-content: center;gap: 0.875rem;margin: 1rem 0;padding: 0.875rem 0;border-top: 1px solid var(--border)}.cp-nav-btn{width: 30px;height: 30px;border: 1px solid var(--border);background: var(--white);border-radius: var(--radius-md);cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background var(--transition-fast),border-color var(--transition-fast);padding: 0}.cp-nav-btn svg{width: 15px;height: 15px;stroke: var(--gray-dark)}.cp-nav-btn:hover:not(:disabled){background: var(--dark-blue);border-color: var(--dark-blue)}.cp-nav-btn:hover:not(:disabled) svg{stroke: var(--white)}.cp-nav-btn:disabled{opacity: 0.35;cursor: default}.cp-reviews-nav-label{font-size: var(--fs-small);color: var(--gray);font-weight: 500;min-width: 70px;text-align: center}.cp-rating-summary{display: flex;align-items: center;gap: 3rem;padding: 1.75rem 0 0;border-top: 1px solid var(--border)}.cp-rating-big{display: flex;flex-direction: column;align-items: center;gap: 0.3rem;flex-shrink: 0}.cp-rating-number{font-size: 3.5rem;font-weight: 800;color: var(--black);line-height: 1}.cp-rating-stars-lg span{font-size: 1.1rem;color: var(--gray-lightest)}.cp-rating-stars-lg span.filled{color: #fbbf24}.cp-rating-total{font-size: var(--fs-small);color: var(--gray);margin-top: 0.1rem}.cp-rating-bars{flex: 1;display: flex;flex-direction: column;gap: 0.45rem}.cp-rating-bar-row{display: flex;align-items: center;gap: 0.75rem;font-size: 0.82rem;color: var(--gray)}.cp-rating-bar-row>span:first-child{min-width: 22px;text-align: right;white-space: nowrap}.cp-bar{flex: 1;height: 8px;background: var(--border);border-radius: var(--radius-full);overflow: hidden}.cp-bar-fill{height: 100%;background: #fbbf24;border-radius: var(--radius-full)}.cp-bar-count{min-width: 24px;text-align: right;font-weight: 600;color: var(--gray-dark)}.cp-reviews-grid{display: grid;grid-template-columns: 1fr;gap: 0.75rem;margin-bottom: 0}.cp-review-card{background: var(--off-white);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 1.125rem;display: flex;flex-direction: column;gap: 0.625rem}.cp-review-stars span{font-size: 0.85rem;color: var(--gray-lightest)}.cp-review-stars span.filled{color: #fbbf24}.cp-review-text{font-size: 0.875rem;color: var(--gray-dark);line-height: 1.6;font-style: italic;margin: 0;flex: 1;display: -webkit-box;-webkit-line-clamp: 4;line-clamp: 4;-webkit-box-orient: vertical;overflow: hidden}.cp-review-author{display: flex;align-items: center;gap: 0.5rem;padding-top: 0.625rem;border-top: 1px solid var(--border);margin-top: auto}.cp-review-avatar{width: 30px;height: 30px;border-radius: 50%;background: var(--orange);color: var(--white);font-weight: 700;font-size: 0.75rem;display: flex;align-items: center;justify-content: center;flex-shrink: 0}.cp-review-name{font-size: var(--fs-small);font-weight: 600;color: var(--black);margin: 0}.cp-review-date{font-size: var(--fs-tiny);color: var(--gray);margin: 0}.cp-reviews-more{text-align: center;font-size: var(--fs-small);color: var(--gray);margin: 0.5rem 0 0}.cp-cta{padding: 2rem 0;border-top: 1px solid var(--border);text-align: center;display: flex;flex-direction: column;align-items: center;gap: 1rem}.cp-cta h2{font-size: 1.2rem;font-weight: 700;color: var(--black);margin: 0}.cp-cta p:not(.cp-state-msg){font-size: var(--fs-small);color: var(--gray);margin: 0;max-width: 380px;line-height: 1.6}.cp-cta .btn-primary{margin-top: 0;padding: 0.7rem 2.5rem}.cp-cancel-link{padding: 0.45rem 1rem;font-size: var(--fs-small);font-weight: 600;font-family: inherit;border: 1.5px solid var(--border);border-radius: var(--radius-md);background: var(--white);color: var(--gray-dark);cursor: pointer;transition: border-color var(--transition-fast),color var(--transition-fast)}.cp-cancel-link:hover{border-color: #dc2626;color: #dc2626}.cp-cta-login{margin-top: 0.5rem;font-size: var(--fs-tiny);color: var(--gray);text-decoration: underline;text-underline-offset: 2px;transition: color var(--transition-fast)}.cp-cta-login:hover{color: var(--black)}@media (min-width: 640px){.cp-hero{min-height: 420px;padding: 3rem 2rem}.cp-card{padding: 2.5rem 2.5rem 2.25rem}.cp-avatar{width: 110px;height: 110px;font-size: 2rem}.cp-name{font-size: 1.75rem}.cp-section{padding: 2.25rem 0}}@media (min-width: 1200px){.cp-hero{max-width: 1280px;margin-left: auto;margin-right: auto}}@media (max-width: 480px){.cp-hero{padding: 2rem 1rem;min-height: 320px}.cp-body{padding: 1.25rem 1rem 3rem}.cp-stats{grid-template-columns: repeat(2,1fr)}.cp-rating-summary{flex-direction: column;gap: 1.25rem;align-items: flex-start}}#joinModal .modal-body{display: flex;flex-direction: column;gap: var(--space-lg)}.cp-check-group{display: flex;flex-wrap: wrap;gap: 0.5rem;margin-top: 0.25rem}.cp-check-label{display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.4rem 0.875rem;border: 1.5px solid var(--border);border-radius: var(--radius-full);font-size: var(--fs-small);font-weight: 500;cursor: pointer;transition: all var(--transition-fast);user-select: none;color: var(--gray-dark)}.cp-check-label input[type="checkbox"],.cp-check-label input[type="radio"]{display: none}.cp-check-label:has(input:checked),.cp-check-label.checked{border-color: var(--orange);background: var(--orange);color: white;font-weight: 600}.cp-state-msg{font-size: var(--fs-tiny);color: var(--gray-light);margin-top: 0.75rem;letter-spacing: 0.01em}@keyframes cp-slide-up{from{opacity: 0;transform: translateY(28px)}to{opacity: 1;transform: translateY(0)}}@keyframes cp-pop-in{from{opacity: 0;transform: scale(0.78)}to{opacity: 1;transform: scale(1)}}.cp-card{animation: cp-slide-up 0.65s cubic-bezier(0.22,1,0.36,1) 0.05s both}.cp-avatar{animation: cp-pop-in 0.55s cubic-bezier(0.34,1.56,0.64,1) 0.2s both}.cp-name{animation: cp-slide-up 0.5s ease-out 0.38s both}.cp-title,.cp-location{animation: cp-slide-up 0.5s ease-out 0.46s both}.cp-rating-row{animation: cp-slide-up 0.5s ease-out 0.54s both}.cp-stats{animation: cp-slide-up 0.5s ease-out 0.62s both}.cp-section h2{position: relative;padding-bottom: 0.625rem}.cp-section h2::after{content: '';position: absolute;bottom: 0;left: 0;height: 3px;width: 0;background: var(--orange);border-radius: 2px;transition: width 0.55s cubic-bezier(0.22,1,0.36,1) 0.15s}.cp-section.is-visible h2::after{width: 40px}@keyframes cpFade{from{opacity: 0;transform: translateY(6px)}to{opacity: 1;transform: translateY(0)}}