.profile-page{min-height:100vh;padding-bottom:var(--space-20)}.profile-loading,.profile-error{justify-content:center;align-items:center;gap:var(--space-4);min-height:50vh;color:var(--text-secondary);flex-direction:column;display:flex}.profile-hero{padding:var(--space-20) 0;background:var(--gradient-hero);color:#fff;position:relative;overflow:hidden}.profile-hero-overlay{z-index:1;background:radial-gradient(circle at 80% 20%,#ffd70026 0%,#0000 50%),radial-gradient(circle at 10% 80%,#e91e6333 0%,#0000 60%);position:absolute;inset:0}.profile-hero-container{z-index:2;position:relative}.profile-hero-content{align-items:center;gap:var(--space-8);display:flex}.profile-avatar-img{object-cover:cover;width:140px;height:140px;box-shadow:var(--shadow-xl);border:4px solid #fffc;border-radius:50%}.profile-avatar-placeholder{background:var(--gradient-primary);width:140px;height:140px;font-size:var(--text-5xl);font-weight:var(--weight-bold);box-shadow:var(--shadow-xl);border:4px solid #fffc;border-radius:50%;justify-content:center;align-items:center;display:flex}.profile-hero-info{gap:var(--space-2);flex-direction:column;display:flex}.profile-name-row{align-items:center;gap:var(--space-4);display:flex}.profile-name{font-size:var(--text-4xl);font-weight:var(--weight-extrabold)}.profile-verified-badge{color:#81c784;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-full);background:#4caf5033;border:1px solid #4caf5066}.profile-location{font-size:var(--text-base);opacity:.9}.profile-rating-row{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.profile-stars{color:var(--color-accent-500);font-size:var(--text-lg)}.profile-rating-value{font-weight:var(--weight-bold)}.profile-reviews-count{opacity:.8}.profile-divider{opacity:.5}.profile-exp{font-weight:var(--weight-medium)}.profile-layout{gap:var(--space-8);margin-top:var(--space-10);grid-template-columns:1fr 380px;display:grid}.profile-main-content{gap:var(--space-6);flex-direction:column;display:flex}.profile-tabs{border-bottom:2px solid var(--border-light);gap:var(--space-6);padding-bottom:var(--space-1);display:flex}.profile-tab{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-secondary);padding:var(--space-3) var(--space-1);transition:color var(--transition-fast);position:relative}.profile-tab:after{content:"";background:var(--color-primary-500);border-radius:var(--radius-full);width:0;height:3px;transition:width var(--transition-base);position:absolute;bottom:-3px;left:0}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--color-primary-500)}.profile-tab.active:after{width:100%}.portfolio-categories{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.portfolio-category-tab{padding:var(--space-2) var(--space-5);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);transition:all var(--transition-fast)}.portfolio-category-tab:hover{background:var(--surface-raised)}.portfolio-category-tab.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow-primary);border-color:#0000}.portfolio-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.portfolio-item{aspect-ratio:1;border-radius:var(--radius-xl);cursor:pointer;box-shadow:var(--shadow-sm);background:var(--surface-raised);position:relative;overflow:hidden}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-item-overlay{padding:var(--space-4);opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 0%,#000000b3 100%);align-items:flex-end;display:flex;position:absolute;inset:0}.portfolio-item:hover .portfolio-item-overlay{opacity:1}.portfolio-item-caption{color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium)}.portfolio-empty{padding:var(--space-12);text-align:center;color:var(--text-secondary);font-size:var(--text-sm)}.reviews-summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-6);gap:var(--space-8);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);align-items:center;display:flex}.reviews-avg-rating{align-items:center;gap:var(--space-1);border-right:1px solid var(--border-light);padding-right:var(--space-8);flex-direction:column;display:flex}.reviews-avg-score{font-size:var(--text-5xl);font-weight:var(--weight-extrabold);color:var(--color-primary-500)}.reviews-avg-stars{color:var(--color-accent-500);font-size:var(--text-base)}.reviews-avg-count{font-size:var(--text-xs);color:var(--text-muted)}.reviews-rating-distribution{gap:var(--space-1);flex-direction:column;flex-grow:1;display:flex}.rating-bar-row{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.rating-bar-track{background:var(--border-light);border-radius:var(--radius-full);flex-grow:1;height:8px;overflow:hidden}.rating-bar-fill{background:var(--color-primary-500);border-radius:var(--radius-full);height:100%}.review-card{padding:var(--space-5) 0;border-bottom:1px solid var(--border-light)}.review-card:last-child{border-bottom:none}.review-card-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.review-card-avatar{width:42px;height:42px;color:var(--color-primary-500);font-weight:var(--weight-bold);font-size:var(--text-base);background:#e91e631a;border-radius:50%;justify-content:center;align-items:center;display:flex}.review-card-author{font-size:var(--text-sm);font-weight:var(--weight-bold)}.review-card-date{font-size:var(--text-xs);color:var(--text-muted)}.review-stars-badge{color:var(--color-accent-500);margin-left:auto}.review-card-comment{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);padding-left:54px}.review-pagination{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.about-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-sm);gap:var(--space-8);flex-direction:column;display:flex}.about-block h3{font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-3);color:var(--text-primary);border-left:3px solid var(--color-primary-500);padding-left:var(--space-2)}.about-bio{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.about-services-grid,.about-spec-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.about-service-tag{padding:var(--space-2) var(--space-4);color:var(--color-primary-600);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-medium);align-items:center;gap:var(--space-1);background:#e91e630d;border:1px solid #e91e631a;display:flex}.about-spec-tag{padding:var(--space-2) var(--space-4);color:#c7a008;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-medium);background:#ffd70014;border:1px solid #ffd70033}.profile-booking-sidebar{height:fit-content;position:sticky;top:90px}.profile-booking-card{background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-6);box-shadow:var(--shadow-xl)}.booking-card-header{margin-bottom:var(--space-6);border-bottom:1px solid var(--border-light);padding-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.booking-card-title{font-size:var(--text-lg);font-weight:var(--weight-extrabold)}.booking-price-badge{text-align:right;flex-direction:column;display:flex}.booking-price-badge span{font-size:var(--text-xs);color:var(--text-muted)}.booking-price-badge strong{font-size:var(--text-xl);font-weight:var(--weight-extrabold)}.form-grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.booking-pricing-breakdown{background:var(--surface-raised);border-radius:var(--radius-xl);padding:var(--space-4);margin-top:var(--space-6);margin-bottom:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.price-row{font-size:var(--text-xs);color:var(--text-secondary);justify-content:space-between;display:flex}.price-row.divider{border-top:1px solid var(--border-light);padding-top:var(--space-2);margin-top:var(--space-1);font-size:var(--text-sm)}.price-row.balance{font-size:var(--text-xxs);color:var(--text-muted);border-top:1px dashed var(--border-light);padding-top:var(--space-2);margin-top:var(--space-1)}.booking-submit-btn{box-shadow:var(--shadow-glow-primary)}.booking-error-banner{color:var(--color-error);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);margin-bottom:var(--space-4);background:#ef44440d;border:1px solid #ef444433}.booking-success-state{padding:var(--space-8) var(--space-4)}.success-icon{font-size:var(--text-5xl);margin-bottom:var(--space-4);display:block}.booking-success-state h4{font-size:var(--text-lg);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.booking-success-state p{color:var(--text-secondary);font-size:var(--text-sm)}.lightbox-overlay{z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base) ease-out;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox{flex-direction:column;align-items:center;max-width:90vw;max-height:85vh;display:flex;position:relative}.lightbox img{object-fit:contain;border-radius:var(--radius-xl);max-width:100%;max-height:80vh;box-shadow:0 10px 40px #000c}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:24px;position:absolute;top:-40px;right:0}.lightbox-caption{color:#fff;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium)}@media (max-width:1024px){.profile-layout{grid-template-columns:1fr}.profile-booking-sidebar{margin-top:var(--space-6);position:static}}@media (max-width:768px){.profile-hero-content{text-align:center;flex-direction:column}.profile-name-row,.profile-rating-row{justify-content:center}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.reviews-summary-card{gap:var(--space-4);flex-direction:column}.reviews-avg-rating{border-right:none;border-bottom:1px solid var(--border-light);padding-right:0;padding-bottom:var(--space-4);width:100%}}
