/* FISTY V137 — NAV AUTH + EMBEDDED STRIPE */

body.f137LoggedIn
.topbar
[data-f137-guest-auth="1"]{
  display:none!important;
}

body.f137LoggedOut
#f137ProfileButton{
  display:none!important;
}

#f137TopDiscover,
#f137ProfileButton{
  appearance:none;
  border:0;
  background:transparent;
  color:#f7f7ff;
  text-decoration:none;
  font:inherit;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}

#f137ProfileButton{
  border:1px solid #7448e8;
  border-radius:10px;
  padding:9px 13px;
  background:
    linear-gradient(
      135deg,
      rgba(255,43,120,.20),
      rgba(122,60,240,.20)
    );
}

#f137TopDiscover:hover,
#f137ProfileButton:hover{
  color:#ff73c4;
}

body.f137CheckoutOpen{
  overflow:hidden!important;
}

#f137CheckoutOverlay[hidden]{
  display:none!important;
}

#f137CheckoutOverlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:20px;
}

.f137CheckoutBackdrop{
  position:absolute;
  inset:0;
  background:
    rgba(2,3,10,.88);
  backdrop-filter:
    blur(18px);
  -webkit-backdrop-filter:
    blur(18px);
}

.f137CheckoutPanel{
  position:relative;
  z-index:1;
  width:min(960px,96vw);
  max-height:94vh;
  overflow:auto;
  color:#fff;
  border:
    1px solid
    rgba(143,76,255,.55);
  border-radius:26px;
  background:
    radial-gradient(
      circle at 92% 0,
      rgba(74,98,255,.18),
      transparent 30%
    ),
    radial-gradient(
      circle at 0 0,
      rgba(255,39,145,.16),
      transparent 34%
    ),
    #080912;
  box-shadow:
    0 40px 120px #000,
    0 0 0 1px rgba(255,255,255,.03) inset,
    0 0 70px rgba(127,56,255,.13);
}

.f137CheckoutHeader{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:72px;
  padding:14px 18px;
  border-bottom:
    1px solid
    rgba(255,255,255,.08);
  background:
    rgba(8,9,18,.93);
  backdrop-filter:
    blur(18px);
}

.f137CheckoutBrand{
  display:flex;
  align-items:center;
  gap:12px;
}

.f137CheckoutBrand strong{
  font-size:27px;
  line-height:1;
  font-style:italic;
  letter-spacing:-1.8px;
  background:
    linear-gradient(
      90deg,
      #ff41b0,
      #a649ff,
      #45c7ff
    );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.f137CheckoutBrand span{
  font-size:9px;
  font-weight:950;
  letter-spacing:.16em;
  color:#8e95b1;
}

#f137CheckoutClose{
  width:40px;
  height:40px;
  border:
    1px solid #34384d;
  border-radius:13px;
  background:#10131f;
  color:#fff;
  cursor:pointer;
  font-size:17px;
}

.f137CheckoutIntro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 24px 10px;
}

.f137CheckoutIntro h2{
  margin:5px 0 5px;
  font-size:
    clamp(25px,4vw,38px);
  line-height:1;
  letter-spacing:-1.1px;
}

.f137CheckoutIntro p{
  margin:0;
  color:#9da4bf;
  font-size:12px;
}

.f137CheckoutEyebrow{
  color:#ff65bc;
  font-size:9px;
  font-weight:950;
  letter-spacing:.16em;
}

.f137SecureBadge{
  flex:0 0 auto;
  border:
    1px solid
    rgba(91,227,170,.30);
  border-radius:999px;
  padding:8px 11px;
  color:#85edba;
  background:
    rgba(35,121,84,.14);
  font-size:9px;
  font-weight:950;
}

.f137CheckoutStatus{
  min-height:22px;
  margin:0 24px 8px;
  color:#9ca8d7;
  font-size:11px;
}

.f137CheckoutStatus.error{
  color:#ff769c;
}

.f137StripeMount{
  min-height:540px;
  margin:0 16px 16px;
  border:
    1px solid
    rgba(255,255,255,.07);
  border-radius:20px;
  overflow:hidden;
  background:#0d0f18;
}

.f137CheckoutFooter{
  padding:0 24px 22px;
  color:#777f99;
  font-size:9px;
  line-height:1.5;
  text-align:center;
}

@media(max-width:720px){

  #f137CheckoutOverlay{
    padding:0;
  }

  .f137CheckoutPanel{
    width:100%;
    height:100%;
    max-height:none;
    border-radius:0;
    border-left:0;
    border-right:0;
  }

  .f137CheckoutHeader{
    min-height:60px;
    padding:
      calc(10px + env(safe-area-inset-top))
      13px
      10px;
  }

  .f137CheckoutBrand strong{
    font-size:23px;
  }

  .f137CheckoutIntro{
    padding:18px 14px 8px;
  }

  .f137SecureBadge{
    display:none;
  }

  .f137CheckoutStatus{
    margin:
      0 14px
      8px;
  }

  .f137StripeMount{
    margin:
      0 8px
      12px;
    min-height:620px;
    border-radius:16px;
  }

  .f137CheckoutFooter{
    padding:
      0 14px
      calc(
        18px +
        env(safe-area-inset-bottom)
      );
  }

}

@media(max-width:1020px){

  #f137TopDiscover{
    display:none;
  }

}
