/* ============================================================================
   member-profile-v2.css - public member/model profile v2
   Loaded only by member_profile_view_v2.tpl, after v2.css.
   Visual source: design-reference/sfh-model-page.html.
   ============================================================================ */

.v2-profile-page{min-height:70vh;background:var(--v2-ground)}

.v2-profile-cover{
  height:260px;border-bottom:1px solid var(--v2-line);
  background:
    radial-gradient(ellipse 720px 420px at 76% 18%,rgba(178,23,90,.26),transparent 64%),
    radial-gradient(ellipse 520px 320px at 12% 88%,rgba(217,164,65,.13),transparent 60%),
    linear-gradient(140deg,#3a1526 0%,#241019 60%,#1a0b12 100%);
}

.v2-profile-identity{border-bottom:1px solid var(--v2-line)}
.v2-profile-identity-row{display:flex;align-items:flex-end;gap:24px;min-height:132px;padding-bottom:24px}
.v2-profile-avatar{
  width:128px;height:128px;flex:0 0 128px;margin-top:-64px;border:4px solid var(--v2-ground);
  border-radius:50%;overflow:hidden;background:var(--v2-raised);color:var(--v2-muted);
}
.v2-profile-avatar img{width:100%;height:100%;object-fit:cover}
.v2-profile-avatar .no-thumb{position:static;inset:auto;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;padding:12px;transform:none;text-align:center;font-size:13px}
.v2-profile-nameplate{min-width:0;padding-top:16px}
.v2-profile-nameplate h1{font-family:var(--v2-display);font-size:clamp(30px,3.4vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.01em;margin:0}
.v2-profile-handle{font-size:15px;color:var(--v2-muted);margin:4px 0 0}
.v2-profile-stats{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;font-size:14px;color:var(--v2-muted)}
.v2-profile-stats strong{color:var(--v2-ink);font-weight:700}

.v2-profile-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--v2-line);scrollbar-width:thin}
.v2-profile-tabs a{min-height:48px;display:inline-flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:2px solid transparent;color:var(--v2-muted);font-size:16px;font-weight:600;white-space:nowrap}
.v2-profile-tabs a:hover{color:var(--v2-ink)}
.v2-profile-tabs a.active{color:var(--v2-ink);border-bottom-color:var(--v2-magenta)}
.v2-profile-tabs a span{font-size:13px;font-weight:500;color:var(--v2-muted)}

.v2-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;padding-top:32px;padding-bottom:64px;align-items:start}
.v2-profile-main{min-width:0}
.v2-profile-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:88px}

.v2-profile-section{min-width:0}
.v2-profile-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.v2-profile-section-head h2{font-family:var(--v2-display);font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.2;margin:0}
.v2-profile-section-head .v2-profile-count{font-family:var(--v2-body);font-size:14px;font-weight:600;color:var(--v2-muted)}
.v2-profile-section .empty-content{padding:28px;background:var(--v2-surface);border:1px solid var(--v2-line);border-radius:var(--v2-r-md);color:var(--v2-muted)}
.v2-profile-videos .v2-grid .main-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.v2-profile-list-shell{min-width:0}
.v2-profile-list-shell > .main-grid,
.v2-profile-list-shell > .model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v2-profile-list-shell .th.item{background:var(--v2-surface);border:1px solid var(--v2-line);border-radius:var(--v2-r-md);overflow:hidden}

.v2-profile-action-card,
.v2-profile-club-card,
.v2-profile-social-card,
.v2-profile-about-card{background:var(--v2-surface);border:1px solid var(--v2-line);border-radius:var(--v2-r-md);padding:24px}
.v2-profile-club-card{border-color:var(--v2-gold-dim);border-radius:var(--v2-r-lg)}
.v2-profile-card-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gold);margin:0 0 8px}
.v2-profile-action-card h2,
.v2-profile-club-card h2,
.v2-profile-social-card h2,
.v2-profile-about-card h2{font-family:var(--v2-display);font-size:23px;font-weight:500;line-height:1.25;margin:0 0 16px}
.v2-profile-card-copy{font-size:16px;color:var(--v2-muted);margin:0 0 18px}
.v2-profile-action-card .svg-icon{width:17px;height:17px;fill:currentColor}
.v2-profile-follow-action{margin-top:10px}
.v2-profile-follow-form{display:flex;gap:8px;margin:0}
.v2-profile-follow-form .v2-btn{flex:1;min-width:0;padding-left:12px;padding-right:12px}
.v2-profile-follow-button{border-color:var(--v2-magenta-line);color:var(--v2-ink)}
.v2-profile-follow-button:hover{border-color:var(--v2-magenta-hi);color:#fff}
.v2-profile-follow-state{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--v2-line);border-radius:var(--v2-r-sm);color:var(--v2-muted);font-size:14px;font-weight:600}

.v2-profile-club-price{display:flex;align-items:baseline;gap:8px;margin-bottom:18px}
.v2-profile-club-price strong{display:inline-flex;align-items:center;gap:8px;font-family:var(--v2-display);font-size:36px;font-weight:600;line-height:1;color:var(--v2-gold)}
.v2-profile-club-price strong .svg-icon{width:25px;height:27px;fill:currentColor;flex:0 0 auto}
.v2-profile-club-price strong span{font:inherit;color:inherit}
.v2-profile-club-price span{font-size:14px;color:var(--v2-muted)}
.v2-profile-club-options{font-size:16px;color:var(--v2-muted);margin:0 0 18px}
.v2-profile-club-benefits{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:10px}
.v2-profile-club-benefits li{position:relative;padding-left:24px;font-size:16px;color:var(--v2-ink)}
.v2-profile-club-benefits li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--v2-gold);border-bottom:2px solid var(--v2-gold);transform:rotate(-45deg)}

.v2-profile-social-card h2{margin-bottom:12px}
.v2-profile-social-list{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}
.v2-profile-social-list a{
  display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;
  border:1px solid var(--v2-line);border-radius:50%;background:var(--v2-raised);color:var(--v2-ink);
  transition:border-color .15s ease,color .15s ease,transform .15s ease;
}
.v2-profile-social-list a:hover{border-color:var(--v2-magenta-hi);color:#fff;transform:translateY(-2px)}
.v2-profile-social-list .svg-icon{width:20px;height:20px;fill:currentColor}

.v2-profile-about-copy{font-size:16px;line-height:1.7;color:var(--v2-muted);overflow-wrap:anywhere}
.v2-profile-about-copy p{margin:0 0 12px}
.v2-profile-about-copy p:last-child{margin-bottom:0}
.v2-profile-details{margin:20px 0 0}
.v2-profile-details > div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--v2-line);font-size:14px}
.v2-profile-details > div:last-child{border-bottom:0;padding-bottom:0}
.v2-profile-details dt{color:var(--v2-muted)}
.v2-profile-details dd{margin:0;color:var(--v2-ink);font-weight:600;text-align:right}

.v2-profile-mobile-actions{display:none}
.v2-profile-club-card,.v2-profile-about-card{scroll-margin-top:96px}

.v2-profile-page .pagination{margin-top:28px}

@media (max-width:1024px){
  .v2-profile-layout{grid-template-columns:1fr;gap:24px}
  .v2-profile-sidebar{position:static;order:-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .v2-profile-about-card{grid-column:1/-1}
  .v2-profile-videos .v2-grid .main-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:768px){
  .v2-profile-page{padding-bottom:84px}
  .v2-profile-cover{height:180px}
  .v2-profile-identity-row{gap:16px;min-height:110px}
  .v2-profile-avatar{width:96px;height:96px;flex-basis:96px;margin-top:-48px}
  .v2-profile-stats{gap:6px 16px}
  .v2-profile-tabs{padding-left:16px;padding-right:16px}
  .v2-profile-layout{padding-top:24px;padding-bottom:40px}
  .v2-profile-sidebar{display:flex}
  .v2-profile-videos .v2-grid .main-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .v2-profile-list-shell > .main-grid,
  .v2-profile-list-shell > .model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .v2-profile-mobile-actions{
    display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(23,10,16,.96);
    border-top:1px solid var(--v2-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  }
  .v2-profile-mobile-actions .v2-btn{flex:1;padding-left:12px;padding-right:12px}
  .footer{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
}

@media (max-width:480px){
  .v2-profile-identity-row{align-items:flex-start;flex-wrap:wrap}
  .v2-profile-nameplate{width:100%;padding-top:0}
  .v2-profile-nameplate h1{font-size:30px}
}

@media (prefers-reduced-motion:reduce){
  .v2-profile-page *{transition:none!important;animation:none!important}
}
