/* SportCV v691: shared square profile-photo viewer styling for owner and public profiles. */
.media-viewer.is-public-profile-photo-square{
  --scv-profile-photo-square-size:min(760px, calc(100vw - 28px), calc(100vh - 32px));
  width:var(--scv-profile-photo-square-size) !important;
  max-width:var(--scv-profile-photo-square-size) !important;
  max-height:none !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.media-viewer.is-public-profile-photo-square .media-viewer-head{
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  pointer-events:none !important;
  z-index:40 !important;
}
.media-viewer.is-public-profile-photo-square .media-viewer-title{
  display:none !important;
}
.media-viewer.is-public-profile-photo-square .media-viewer-close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  width:44px !important;
  height:44px !important;
  transform:none !important;
  z-index:60 !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,255,255,.48) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  color:#24344D !important;
  font-size:27px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:0 14px 34px rgba(7,24,51,.18) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  pointer-events:auto !important;
}
.media-viewer.is-public-profile-photo-square .media-viewer-close:hover{
  background:#FFFFFF !important;
  color:#071833 !important;
}
.media-viewer.is-public-profile-photo-square .media-viewer-stage{
  width:var(--scv-profile-photo-square-size) !important;
  height:var(--scv-profile-photo-square-size) !important;
  max-height:none !important;
  padding:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.scv-public-profile-photo-card{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:#EAF1FA !important;
  box-shadow:0 30px 90px rgba(7,24,51,.28) !important;
  border:1px solid rgba(255,255,255,.32) !important;
}
.scv-public-profile-photo-card img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.scv-public-profile-photo-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg, rgba(7,24,51,.30) 0%, rgba(7,24,51,.08) 28%, rgba(7,24,51,0) 52%, rgba(7,24,51,.28) 100%) !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.scv-public-profile-photo-title{
  position:absolute !important;
  top:30px !important;
  left:72px !important;
  right:72px !important;
  z-index:5 !important;
  margin:0 !important;
  color:#FFFFFF !important;
  text-align:center !important;
  font-size:clamp(24px, 4.2vw, 42px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  text-shadow:0 4px 18px rgba(0,0,0,.36) !important;
}
@media(max-width:700px){
  .media-viewer.is-public-profile-photo-square{
    --scv-profile-photo-square-size:min(calc(100vw - 18px), calc(100vh - 18px));
  }
  .scv-public-profile-photo-card{
    border-radius:22px !important;
  }
  .media-viewer.is-public-profile-photo-square .media-viewer-close{
    top:10px !important;
    right:10px !important;
    width:40px !important;
    height:40px !important;
    font-size:25px !important;
  }
  .scv-public-profile-photo-title{
    top:22px !important;
    left:56px !important;
    right:56px !important;
    font-size:clamp(20px, 7vw, 30px) !important;
  }
}

/* SportCV v807: intentional neutral empty state when no profile photo exists. */
.portrait:not(.has-photo){
  background-color:#edf4fc !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='32' r='19' fill='%2394a8c2'/%3E%3Cpath d='M15 91c3-24 16-38 35-38s32 14 35 38' fill='%2394a8c2'/%3E%3C/svg%3E") !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:66% auto !important;
  box-shadow:inset 0 0 0 1px #d6e2f0, 0 8px 20px rgba(16,24,40,.08) !important;
}

.portrait:not(.has-photo)::before,
.portrait:not(.has-photo)::after{
  content:none !important;
  display:none !important;
}
