/* Soft Heart v6.8.120: clean subcategory circles + orbiting light; separate uncached CSS asset */
/* Dedicated circle components: do not reuse old WooCommerce category card selectors. */
html body #primary .sh119-subcategory-section { overflow:visible!important; }
html body #primary .sh119-subcategory-grid {
  display:grid!important;
  grid-template-columns:repeat(var(--sh119-cols,4),minmax(0,1fr))!important;
  gap:clamp(8px,2vw,20px)!important;
  align-items:start!important;
  justify-items:stretch!important;
  max-width:820px!important;
  width:100%!important;
  padding:12px 8px 18px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
}
html body #primary .sh119-subcategory-grid .sh119-subcategory-card {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0 1px 6px!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  text-decoration:none!important;
  color:#6e3b53!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:rgba(224,130,168,.15);
  transform:none;
}
html body #primary .sh119-subcategory-grid .sh119-subcategory-avatar {
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:min(100%,clamp(76px,18vw,160px))!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  flex:0 0 auto!important;
  margin:0 auto!important;
  padding:4px!important;
  border:2px solid rgba(238,184,211,.92)!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#ffe5f0,#fff9fd)!important;
  box-shadow:0 5px 19px rgba(201,123,164,.16),inset 0 0 0 2px #fff!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
html body #primary .sh119-subcategory-grid .sh119-subcategory-photo {
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  pointer-events:none!important;
}
html body #primary .sh119-subcategory-grid .sh119-subcategory-placeholder {
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#fff8fc,#e7f3ff)!important;
  color:#edacc9!important;
  font-family:Arial,sans-serif!important;
  font-size:clamp(38px,10vw,72px)!important;
  line-height:1!important;
  pointer-events:none!important;
}
html body #primary .sh119-subcategory-grid .sh119-subcategory-label {
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:-10px auto 0!important;
  padding:7px 8px 8px!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:33px!important;
  height:auto!important;
  box-sizing:border-box!important;
  background:linear-gradient(120deg,#fff,#fff0f6)!important;
  border:1.3px solid #f1c1d5!important;
  border-radius:18px!important;
  box-shadow:0 5px 12px rgba(188,119,151,.12)!important;
  color:#68384d!important;
  font-family:'Quicksand','Nunito',sans-serif!important;
  font-size:clamp(10px,2.8vw,13px)!important;
  font-weight:800!important;
  line-height:1.22!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  text-overflow:clip!important;
  letter-spacing:0!important;
  pointer-events:none!important;
}
html body #primary .sh119-subcategory-grid .sh119-subcategory-card:hover .sh119-subcategory-avatar,
html body #primary .sh119-subcategory-grid .sh119-subcategory-card:focus-visible .sh119-subcategory-avatar {
  transform:translateY(-4px)!important;
  box-shadow:0 10px 22px rgba(203,118,160,.23),inset 0 0 0 2px #fff!important;
}
html body #primary .sh119-subcategory-card:focus-visible {outline:2px solid #bd6992!important;outline-offset:3px!important;border-radius:12px!important;}
html body.kdt-for-him-context #primary .sh119-subcategory-avatar {
  border-color:#bbd8f4!important;
  background:linear-gradient(135deg,#e7f4ff,#fcfeff)!important;
  box-shadow:0 5px 19px rgba(110,151,191,.16),inset 0 0 0 2px #fff!important;
}
html body.kdt-for-him-context #primary .sh119-subcategory-label {
  border-color:#bfd9f5!important;
  background:linear-gradient(135deg,#fff,#ebf6ff)!important;
  color:#445b78!important;
}
html body.kdt-for-him-context #primary .sh119-subcategory-placeholder {
  background:linear-gradient(135deg,#fafdff,#e8f3ff)!important;
  color:#b8d9f8!important;
}
@media(max-width:390px){
 html body #primary .sh119-subcategory-grid {gap:6px!important;padding:10px 2px 14px!important;}
 html body #primary .sh119-subcategory-grid .sh119-subcategory-label {font-size:10px!important;padding:7px 5px!important;min-height:30px!important;}
 html body #primary .sh119-subcategory-grid .sh119-subcategory-avatar {padding:3px!important;}
}


/* v6.8.120: remove all rotating light from the HOME only. Keep existing butterfly and twinkle. */
html body .kdt-front-page .sh115-circle-art::before {
  display:none!important;content:none!important;animation:none!important;
}
html body .kdt-front-page .sh115-circle-art .sh119-light-orbit,
html body .kdt-front-page .sh115-circle-art .sh119-light-dot {
  display:none!important;animation:none!important;
}
/* For Her / For Him: all child-category circles inherit the corresponding homepage animation. */
html body #primary .sh119-subcategory-grid .sh119-subcategory-card {isolation:isolate!important;position:relative!important;}
html body #primary .sh119-subcategory-grid .sh119-subcategory-avatar {overflow:hidden!important;}
html body #primary .sh120-category-butterfly,
html body #primary .sh120-category-twinkle {
  display:none!important;position:absolute!important;pointer-events:none!important;user-select:none!important;
  z-index:4!important;line-height:1!important;
  transform-origin:50% 50%!important;
  filter:drop-shadow(0 3px 5px rgba(255,255,255,.85));
}
html body.kdt-for-her-context #primary .sh119-subcategory-grid .sh120-category-butterfly {
  display:block!important;right:2%;top:4%;font-size:clamp(16px,3.1vw,23px)!important;
  animation:sh120Butterfly 4.5s ease-in-out infinite!important;
  animation-delay:calc(-1s - var(--sh120-delay,0s))!important;
}
html body.kdt-for-her-context #primary .sh119-subcategory-grid .sh120-category-twinkle,
html body.kdt-for-him-context #primary .sh119-subcategory-grid .sh120-category-twinkle {display:block!important;}
html body.kdt-for-her-context #primary .sh120-category-twinkle--one {
  left:6%;top:9%;color:#ed9bbd!important;font-size:17px!important;
  animation:sh120Twinkle 3.6s ease-in-out infinite!important;
  animation-delay:calc(-1s - var(--sh120-delay,0s))!important;
}
html body.kdt-for-her-context #primary .sh120-category-twinkle--two {
  right:12%;top:59%;color:#dea6ca!important;font-size:18px!important;
  animation:sh120Twinkle 4.1s ease-in-out infinite reverse!important;
  animation-delay:calc(-.6s - var(--sh120-delay,0s))!important;
}
html body.kdt-for-him-context #primary .sh120-category-twinkle--one {
  right:8%;top:9%;color:#84b5e7!important;font-size:20px!important;
  animation:sh120Twinkle 4.3s ease-in-out infinite!important;
  animation-delay:calc(-.8s - var(--sh120-delay,0s))!important;
}
html body.kdt-for-him-context #primary .sh120-category-twinkle--two {
  left:7%;top:50%;color:#91b7e9!important;font-size:18px!important;
  animation:sh120Twinkle 3.8s ease-in-out infinite reverse!important;
  animation-delay:calc(-1.3s - var(--sh120-delay,0s))!important;
}
/* Subtle card motion; motion is only on the image, not the clickable label. */
html body.kdt-for-her-context #primary .sh119-subcategory-grid .sh119-subcategory-avatar,
html body.kdt-for-him-context #primary .sh119-subcategory-grid .sh119-subcategory-avatar {
  animation:sh120AvatarFloat 5.4s ease-in-out infinite!important;
  animation-delay:calc(-1.5s - var(--sh120-delay,0s))!important;
}
@keyframes sh120Butterfly {
  0%,100%{transform:translate(-1px,2px) rotate(-15deg) scale(1)}
  25%{transform:translate(4px,-7px) rotate(10deg) scale(1.10)}
  50%{transform:translate(-5px,-11px) rotate(-4deg) scale(.97)}
  75%{transform:translate(5px,-4px) rotate(15deg) scale(1.09)}
}
@keyframes sh120Twinkle {0%,100%{transform:scale(.78) rotate(-12deg);opacity:.4}50%{transform:scale(1.22) rotate(14deg);opacity:1}}
@keyframes sh120AvatarFloat {0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:440px){
 html body.kdt-for-her-context #primary .sh119-subcategory-grid .sh120-category-butterfly{right:0;top:-1%;font-size:18px!important;}
 html body.kdt-for-her-context #primary .sh120-category-twinkle--one,
 html body.kdt-for-him-context #primary .sh120-category-twinkle--one{font-size:15px!important;}
}
@media (prefers-reduced-motion:reduce){
 html body #primary .sh119-subcategory-grid .sh119-subcategory-avatar,
 html body #primary .sh119-subcategory-grid .sh120-category-butterfly,
 html body #primary .sh119-subcategory-grid .sh120-category-twinkle {animation:none!important;}
}
