/* Name / photo visibility for free profiles & guests */
.sg-vis-blur-text{
  filter:blur(5px);
  user-select:none;
  pointer-events:none;
  display:inline-block;
}
.sg-vis-badge{
  font-size:.65rem;
  margin-left:.25rem;
  opacity:.85;
  vertical-align:middle;
}
.sg-vis-photo-wrap{
  position:relative;
  overflow:hidden;
  width:100%;
  height:100%;
  min-height:inherit;
  background:linear-gradient(160deg,var(--maroon,#7B1A35),var(--rose,#B5294E));
  display:flex;
  align-items:center;
  justify-content:center;
}
.sg-vis-photo-wrap img.sg-vis-blur-img,
.sg-vis-photo-wrap img.sg-vis-photo-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sg-vis-photo-wrap.sg-vis-locked img.sg-vis-blur-img{
  filter:blur(18px);
  transform:scale(1.08);
}
.sg-vis-initials{
  font-family:'Playfair Display',serif;
  font-size:2rem;
  font-weight:900;
  color:rgba(255,255,255,.9);
}
.sg-vis-lock-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.25rem;
  background:rgba(26,10,16,.35);
  color:#fff;
  text-align:center;
  padding:.5rem;
  pointer-events:none;
}
.sg-vis-lock-icon{font-size:1.25rem}
.sg-vis-lock-txt{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.95}
.sg-vis-own-banner{
  background:linear-gradient(135deg,#FFF8E7,#FCF0F3);
  border:1px solid rgba(192,146,40,.35);
  border-radius:10px;
  padding:1rem 1.15rem;
  margin-bottom:1rem;
  font-size:.85rem;
  line-height:1.5;
  color:var(--ink-soft,#3A1A25);
}
.sg-vis-own-banner strong{
  display:block;
  font-family:'Playfair Display',serif;
  color:var(--maroon,#7B1A35);
  font-size:1rem;
  margin-bottom:.35rem;
}
.sg-vis-own-banner p{margin:0 0 .75rem;color:var(--muted,#8B6070);font-size:.8rem}
.sg-vis-own-cta{
  display:inline-block;
  font-weight:700;
  font-size:.82rem;
  color:var(--maroon,#7B1A35);
  text-decoration:none;
}
.sg-vis-own-cta:hover{text-decoration:underline}
.sg-guest-banner{
  background:linear-gradient(135deg,#F0F7FF,#FCF0F5);
  border:1px solid rgba(123,26,53,.2);
  border-radius:10px;
  padding:1rem 1.15rem;
  margin-bottom:1rem;
  font-size:.85rem;
  line-height:1.5;
  color:var(--ink-soft,#3A1A25);
}
.sg-guest-banner strong{
  display:block;
  font-family:'Playfair Display',serif;
  color:var(--maroon,#7B1A35);
  font-size:1rem;
  margin-bottom:.35rem;
}
.sg-guest-banner p{margin:0;color:var(--muted,#8B6070);font-size:.8rem}
.sg-guest-banner a{color:var(--maroon,#7B1A35);font-weight:700;text-decoration:none}
.sg-guest-banner a:hover{text-decoration:underline}
.guest-lock-inline{
  font-size:.78rem;
  color:var(--muted,#8B6070);
  font-style:italic;
  cursor:pointer;
}
.main-content > .sg-guest-banner{
  display:block;
  margin:0 0 1rem;
}
.pcav .sg-vis-photo-wrap{border-radius:50%;min-height:64px;width:64px;height:64px}
.pcav .sg-vis-initials{font-size:1.2rem}
.photo-area .photo-avatar .sg-vis-lock-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:0;
}
.match-photo .sg-vis-photo-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  border-radius:0;
}
.match-photo .sg-vis-initials{font-size:2.5rem}
.welcome-card .wc-photo .sg-vis-photo-wrap{
  position:relative;
  height:168px;
  max-height:168px;
  min-height:0;
  width:100%;
  border-radius:0;
}
.profile-hero-media.sg-vis-locked .profile-hero-img{
  filter:blur(18px)!important;
  transform:scale(1.06);
}
.profile-hero-name.sg-vis-blur-text{
  filter:blur(6px);
  user-select:none;
}

/* Profile page: banner lives inside main-content, not grid root */
.profile-app-layout > .sg-vis-own-banner{display:none}
.main-content > .sg-vis-own-banner{
  display:block;
  margin:0 0 1rem;
}

.home-gender-tabs{
  display:flex;
  gap:.5rem;
  justify-content:center;
  margin:0 0 1.25rem;
  flex-wrap:wrap;
}
.hgt{
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  font-weight:600;
  padding:.45rem 1.25rem;
  border-radius:24px;
  border:1.5px solid rgba(181,41,78,.25);
  background:#fff;
  color:var(--maroon,#7B1A35);
  cursor:pointer;
  transition:all .2s;
}
.hgt:hover,.hgt.active{
  background:var(--maroon,#7B1A35);
  color:#fff;
  border-color:var(--maroon,#7B1A35);
}
.ii-av .sg-vis-photo-wrap{min-height:48px;border-radius:50%;width:48px;height:48px}
.ii-av .sg-vis-initials{font-size:1rem}
