/* TeenConnect Profile Theme Wave 2
   Angel Cloud + Cupid Heart
   Exact host-bound artwork: the visible outer rail hugs the profile hero 1:1. */

.tc-wave2-layer{
  position:absolute!important;
  inset:0!important;
  z-index:8!important;
  pointer-events:none!important;
  overflow:visible!important;
  opacity:var(--profile-theme-css-decor-opacity,1)!important;
  border-radius:inherit!important;
}
.tc-wave2-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.tc-wave2-svg *{vector-effect:non-scaling-stroke}
.tc-wave2-svg-mobile{display:none}

.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"],
.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"]{
  position:relative!important;
  overflow:visible!important;
  isolation:isolate!important;
  background:transparent!important;
  margin-top:clamp(22px,2vw,34px)!important;
  margin-bottom:clamp(24px,2.1vw,36px)!important;
  border-radius:24px!important;
}
.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .profile-theme-skin-img,
.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .profile-theme-skin,
.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .tc-theme-anchor-portal-v2,
.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .tc-profile-theme-portal-v11,
.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .tc-profile-theme-outer,
.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .profile-theme-skin-img,
.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .profile-theme-skin,
.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .tc-theme-anchor-portal-v2,
.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .tc-profile-theme-portal-v11,
.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .tc-profile-theme-outer{display:none!important}

.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"]>.tc-wave2-layer,
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"]>.tc-wave2-layer{
  inset:0!important;
  width:auto!important;
  height:auto!important;
}
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .profile-hero-photo,
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .profile-hero-photo{
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit!important;
  clip-path:inset(0 round 24px)!important;
  overflow:hidden!important;
}
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .profile-hero-photo img,
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .profile-hero-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"]::before,
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"]::before{
  inset:0!important;
  border-radius:inherit!important;
  clip-path:inset(0 round 24px)!important;
  z-index:1!important;
}
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .profile-hero-inner,
.page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .profile-hero-inner{position:relative!important;z-index:12!important}

/* ANGEL CLOUD */
.tc-wave2-angel{filter:drop-shadow(0 8px 18px rgba(105,185,255,.16))}
.tcw2-angel-aura{animation:tcW2AngelAura 4.6s ease-in-out infinite}
.tcw2-angel-halo{transform-box:fill-box;transform-origin:center;animation:tcW2Halo 4.1s ease-in-out infinite}
.tcw2-angel-wing-left{transform-box:fill-box;transform-origin:100% 60%;animation:tcW2WingL 5.4s ease-in-out infinite}
.tcw2-angel-wing-right{transform-box:fill-box;transform-origin:0% 60%;animation:tcW2WingR 5.4s ease-in-out infinite}
.tcw2-angel-cloud-left{animation:tcW2CloudL 7.4s ease-in-out infinite}
.tcw2-angel-cloud-right{animation:tcW2CloudR 8.1s ease-in-out infinite}
.tcw2-angel-stars{transform-box:fill-box;transform-origin:center;animation:tcW2AngelStars 2.8s ease-in-out infinite}
.tcw2-angel-comet{stroke-dasharray:60 28;animation:tcW2Comet 3.8s linear infinite}
@keyframes tcW2AngelAura{0%,100%{opacity:.32}50%{opacity:.75}}
@keyframes tcW2Halo{0%,100%{opacity:.82;transform:translateY(0) scale(.99)}50%{opacity:1;transform:translateY(-2px) scale(1.025)}}
@keyframes tcW2WingL{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-1.8deg)}}
@keyframes tcW2WingR{0%,100%{transform:rotate(0deg)}50%{transform:rotate(1.8deg)}}
@keyframes tcW2CloudL{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@keyframes tcW2CloudR{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}
@keyframes tcW2AngelStars{0%,100%{opacity:.42}50%{opacity:1}}
@keyframes tcW2Comet{to{stroke-dashoffset:-176}}

/* CUPID HEART */
.tc-wave2-cupid{filter:drop-shadow(0 8px 18px rgba(255,91,148,.15))}
.tcw2-cupid-glow{animation:tcW2CupidGlow 3.7s ease-in-out infinite}
.tcw2-cupid-heart{transform-box:fill-box;transform-origin:center;animation:tcW2CupidBeat 3.2s ease-in-out infinite}
.tcw2-cupid-heart.d2{animation-delay:-1.2s}
.tcw2-cupid-float{animation:tcW2CupidFloat 4.8s ease-in-out infinite}
.tcw2-cupid-float.d2{animation-delay:-1.6s}.tcw2-cupid-float.d3{animation-delay:-3s}
.tcw2-cupid-arrow{stroke-dasharray:72 28;animation:tcW2CupidArrow 3.1s linear infinite}
.tcw2-cupid-ribbon-left{transform-box:fill-box;transform-origin:0 50%;animation:tcW2RibbonL 5.2s ease-in-out infinite}
.tcw2-cupid-ribbon-right{transform-box:fill-box;transform-origin:100% 50%;animation:tcW2RibbonR 5.2s ease-in-out infinite}
.tcw2-cupid-spark{transform-box:fill-box;transform-origin:center;animation:tcW2CupidSpark 2.5s ease-in-out infinite}
@keyframes tcW2CupidGlow{0%,100%{opacity:.35}50%{opacity:.78}}
@keyframes tcW2CupidBeat{0%,100%{transform:scale(.985)}48%{transform:scale(1.04)}58%{transform:scale(1.015)}}
@keyframes tcW2CupidFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes tcW2CupidArrow{to{stroke-dashoffset:-200}}
@keyframes tcW2RibbonL{0%,100%{transform:rotate(0)}50%{transform:rotate(1.5deg)}}
@keyframes tcW2RibbonR{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.5deg)}}
@keyframes tcW2CupidSpark{0%,100%{opacity:.38;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}

/* Real-wear catalog previews. Same desktop SVG and same animation as equipped. */
.profile-item-section:has(.profile-item-preview.type-theme .tc-wave2-mini-real) .profile-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.profile-item-preview.type-theme:has(.tc-wave2-mini-real){
  min-height:0!important;
  aspect-ratio:1600/340!important;
  padding:0!important;
  overflow:visible!important;
  background:#fff!important;
  border-radius:14px!important;
}
.tc-wave2-mini-real{position:absolute!important;inset:0!important;display:block!important;overflow:visible!important;border-radius:14px!important;isolation:isolate!important;color:#fff!important}
.tc-wave2-mini-real>.tc-wave2-mini-photo{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;border-radius:14px!important;background:linear-gradient(135deg,#b8dfff,#a9c8f7 48%,#dcefff)!important}
.tc-wave2-mini-real.tc-wave2-mini-cupid>.tc-wave2-mini-photo{background:linear-gradient(135deg,#ffd7e5,#f7b9d2 48%,#ffe9ef)!important}
.tc-wave2-mini-real>.tc-wave2-mini-photo img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important}
.tc-wave2-mini-real>.tc-wave2-mini-photo>i{position:absolute!important;inset:0!important;background:linear-gradient(135deg,#b8dfff,#a9c8f7 48%,#dcefff)!important}
.tc-wave2-mini-real.tc-wave2-mini-cupid>.tc-wave2-mini-photo>i{background:linear-gradient(135deg,#ffd7e5,#f7b9d2 48%,#ffe9ef)!important}
.tc-wave2-mini-real>.tc-wave2-mini-tint{position:absolute!important;inset:0!important;z-index:1!important;border-radius:14px!important;background:linear-gradient(118deg,rgba(39,74,126,.30),rgba(126,194,255,.05))!important;pointer-events:none!important}
.tc-wave2-mini-real.tc-wave2-mini-cupid>.tc-wave2-mini-tint{background:linear-gradient(118deg,rgba(104,38,72,.28),rgba(255,153,193,.05))!important}
.tc-wave2-mini-real>.tc-wave2-svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:2!important;display:block!important;overflow:visible!important}
.tc-wave2-mini-real>.tc-wave2-svg-mobile{display:none!important}
.tc-wave2-mini-real>.tc-wave2-mini-user{position:absolute!important;left:5.2%!important;top:50%!important;transform:translateY(-50%)!important;z-index:4!important;display:flex!important;align-items:center!important;gap:8px!important;color:#fff!important;text-align:left!important;line-height:1.15!important}
.tc-wave2-mini-avatar{position:relative!important;display:block!important;width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:12px!important}
.tc-wave2-mini-avatar-photo,.tc-wave2-mini-avatar>i{position:absolute!important;inset:4px!important;width:32px!important;height:32px!important;border-radius:9px!important;object-fit:cover!important;display:grid!important;place-items:center!important;background:rgba(31,65,110,.82)!important;color:#fff!important;font-size:9px!important;font-style:normal!important}
.tc-wave2-mini-cupid .tc-wave2-mini-avatar-photo,.tc-wave2-mini-cupid .tc-wave2-mini-avatar>i{background:rgba(109,48,76,.82)!important}
.tc-wave2-mini-avatar-frame{position:absolute!important;inset:0!important;width:40px!important;height:40px!important;object-fit:contain!important;z-index:2!important}
.tc-wave2-mini-id{display:grid!important;gap:2px!important}.tc-wave2-mini-id b{font-size:11px!important;color:#fff!important;letter-spacing:-.02em!important}.tc-wave2-mini-id small{font-size:7px!important;color:rgba(255,255,255,.84)!important}.tc-wave2-mini-id em{width:max-content!important;margin-top:2px!important;padding:3px 5px!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:6px!important;background:rgba(255,255,255,.11)!important;color:#fff!important;font-size:7px!important;font-style:normal!important;font-weight:800!important}
.tc-wave2-mini-actions{position:absolute!important;right:5.2%!important;top:50%!important;transform:translateY(-50%)!important;z-index:4!important;display:flex!important;gap:5px!important}.tc-wave2-mini-actions i{display:block!important;padding:5px 7px!important;border-radius:7px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 3px 10px rgba(22,30,70,.10)!important;color:#3154d6!important;font-size:6.5px!important;font-style:normal!important;font-weight:900!important;letter-spacing:-.02em!important}.tc-wave2-mini-cupid .tc-wave2-mini-actions i{color:#df4f88!important}

@media(max-width:720px){
  .tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"],.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"]{margin-top:17px!important;margin-bottom:20px!important;border-radius:20px!important}
  .tc-wave2-svg-desktop{display:none!important}.tc-wave2-svg-mobile{display:block!important}
  .page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"] .profile-hero-photo,
  .page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"] .profile-hero-photo,
  .page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="angelcloud"]::before,
  .page-profile .profile-hero.profile-hero-custom.tc-profile-theme-css-v4[data-tc-css-preset="cupidheart"]::before{border-radius:20px!important;clip-path:inset(0 round 20px)!important}
  .profile-item-section:has(.profile-item-preview.type-theme .tc-wave2-mini-real) .profile-item-grid{grid-template-columns:1fr!important}
  .profile-item-preview.type-theme:has(.tc-wave2-mini-real){aspect-ratio:1600/340!important;min-height:0!important}
  .tc-wave2-mini-avatar{width:34px!important;height:34px!important;flex-basis:34px!important}.tc-wave2-mini-avatar-photo,.tc-wave2-mini-avatar>i{inset:3px!important;width:28px!important;height:28px!important}.tc-wave2-mini-avatar-frame{width:34px!important;height:34px!important}.tc-wave2-mini-actions i{padding:4px 6px!important;font-size:6px!important}
}
@media(prefers-reduced-motion:reduce){.tc-wave2-layer *, .tc-wave2-mini-real *{animation:none!important}}
