/* idCoutto v1.0.1 — GLASS NEON ACTIONS
 * Cirúrgico: acabamento de CTAs públicos. Não altera arquitetura/layout.
 */
@property --idc-neon-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

:where(
  .btn-primary,
  .btn-ghost,
  .explore,
  .phase-clicky-link,
  .family-profile-link,
  .family-constellation-actions a,
  .idc-back-journey,
  .idc-family-back,
  .idc-family-eco-primary,
  .idc-family-ecosystem-actions > a,
  .idc-chapter-flow > a
){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(234,212,156,.26)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.115),rgba(255,255,255,.025) 42%,rgba(18,11,9,.22)),
    rgba(26,15,12,.42)!important;
  color:#f8f5ed!important;
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 0 -1px 0 rgba(201,163,92,.08),
    0 13px 32px rgba(0,0,0,.18);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease,color .3s ease,background .3s ease;
}

:where(
  .btn-primary,
  .btn-ghost,
  .explore,
  .phase-clicky-link,
  .family-profile-link,
  .family-constellation-actions a,
  .idc-back-journey,
  .idc-family-back,
  .idc-family-eco-primary,
  .idc-family-ecosystem-actions > a,
  .idc-chapter-flow > a
)::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1.25px;
  pointer-events:none;
  opacity:0;
  background:conic-gradient(
    from var(--idc-neon-angle),
    transparent 0 54%,
    rgba(240,183,179,.18) 61%,
    rgba(240,183,179,.95) 67%,
    rgba(234,212,156,1) 73%,
    rgba(255,255,255,.96) 77%,
    rgba(201,163,92,.92) 82%,
    transparent 91% 100%
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 7px rgba(201,139,123,.52)) drop-shadow(0 0 9px rgba(201,163,92,.28));
  transition:opacity .22s ease;
  z-index:2;
}

:where(
  .btn-primary,
  .btn-ghost,
  .explore,
  .phase-clicky-link,
  .family-profile-link,
  .family-constellation-actions a,
  .idc-back-journey,
  .idc-family-back,
  .idc-family-eco-primary,
  .idc-family-ecosystem-actions > a,
  .idc-chapter-flow > a
)::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:1px;
  height:43%;
  border-radius:999px 999px 48% 48%;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.045) 55%,transparent);
  opacity:.62;
  transform:translateY(-1px);
  z-index:1;
}

:where(
  .btn-primary,
  .btn-ghost,
  .explore,
  .phase-clicky-link,
  .family-profile-link,
  .family-constellation-actions a,
  .idc-back-journey,
  .idc-family-back,
  .idc-family-eco-primary,
  .idc-family-ecosystem-actions > a,
  .idc-chapter-flow > a
):is(:hover,:focus-visible){
  transform:translateY(-3px);
  border-color:rgba(234,212,156,.44)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.035) 46%,rgba(26,15,12,.18)),
    rgba(26,15,12,.52)!important;
  color:#fff8e8!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.23),
    inset 0 -1px 0 rgba(201,163,92,.15),
    0 18px 46px rgba(0,0,0,.25),
    0 0 24px rgba(183,110,121,.10),
    0 0 30px rgba(201,163,92,.08);
  outline:none;
}

:where(
  .btn-primary,
  .btn-ghost,
  .explore,
  .phase-clicky-link,
  .family-profile-link,
  .family-constellation-actions a,
  .idc-back-journey,
  .idc-family-back,
  .idc-family-eco-primary,
  .idc-family-ecosystem-actions > a,
  .idc-chapter-flow > a
):is(:hover,:focus-visible)::before{
  opacity:1;
  animation:idcNeonBorderOrbit 1.45s linear infinite;
}

:where(
  .btn-primary,
  .btn-ghost,
  .explore,
  .phase-clicky-link,
  .family-profile-link,
  .family-constellation-actions a,
  .idc-back-journey,
  .idc-family-back,
  .idc-family-eco-primary,
  .idc-family-ecosystem-actions > a,
  .idc-chapter-flow > a
):active{
  transform:translateY(-1px) scale(.992);
}

@keyframes idcNeonBorderOrbit{to{--idc-neon-angle:360deg}}

/* Touch: sem hover preso; apenas resposta curta ao toque. */
@media (hover:none){
  :where(
    .btn-primary,.btn-ghost,.explore,.phase-clicky-link,.family-profile-link,
    .family-constellation-actions a,.idc-back-journey,.idc-family-back,
    .idc-family-eco-primary,.idc-family-ecosystem-actions > a,.idc-chapter-flow > a
  ):active::before{opacity:1;animation:idcNeonBorderOrbit .75s linear infinite}
}

@media (prefers-reduced-motion:reduce){
  :where(
    .btn-primary,.btn-ghost,.explore,.phase-clicky-link,.family-profile-link,
    .family-constellation-actions a,.idc-back-journey,.idc-family-back,
    .idc-family-eco-primary,.idc-family-ecosystem-actions > a,.idc-chapter-flow > a
  ){transition:none!important}
  :where(
    .btn-primary,.btn-ghost,.explore,.phase-clicky-link,.family-profile-link,
    .family-constellation-actions a,.idc-back-journey,.idc-family-back,
    .idc-family-eco-primary,.idc-family-ecosystem-actions > a,.idc-chapter-flow > a
  ):is(:hover,:focus-visible)::before{animation:none;--idc-neon-angle:295deg}
}
