/* FFV6_LUNA_SEMANTIC_CARD_COLORS_V4 */

/*
  V4 design direction:
  - dark neutral page
  - fixed flat top nav
  - neutral glass body
  - intentional per-card colors by meaning, not accidental nth-child purple bleed
  - Luna reference style: pink / blue / teal / violet / gold cards
*/

:root{
  --bw-v4-pink:255,92,190;
  --bw-v4-blue:76,154,255;
  --bw-v4-teal:63,224,214;
  --bw-v4-violet:158,118,255;
  --bw-v4-gold:255,199,92;
  --bw-v4-rose:255,150,218;
  --bw-v4-neutral-border:rgba(255,255,255,.12);
  --bw-v4-glass-top:rgba(255,255,255,.072);
  --bw-v4-glass-bottom:rgba(255,255,255,.034);
}

html{
  background:#09070b !important;
}

body{
  background:
    linear-gradient(180deg, #111015 0%, #0a090d 52%, #070609 100%) !important;
}

/* Color variables assigned by JS. */
[data-bw-luna-color="pink"]{ --bw-box-accent:var(--bw-v4-pink) !important; }
[data-bw-luna-color="blue"]{ --bw-box-accent:var(--bw-v4-blue) !important; }
[data-bw-luna-color="teal"]{ --bw-box-accent:var(--bw-v4-teal) !important; }
[data-bw-luna-color="violet"]{ --bw-box-accent:var(--bw-v4-violet) !important; }
[data-bw-luna-color="gold"]{ --bw-box-accent:var(--bw-v4-gold) !important; }
[data-bw-luna-color="rose"]{ --bw-box-accent:var(--bw-v4-rose) !important; }

/* Fallback if JS has not run yet. */
main > *:nth-child(5n+1){ --bw-box-accent:var(--bw-v4-pink) !important; }
main > *:nth-child(5n+2){ --bw-box-accent:var(--bw-v4-blue) !important; }
main > *:nth-child(5n+3){ --bw-box-accent:var(--bw-v4-teal) !important; }
main > *:nth-child(5n+4){ --bw-box-accent:var(--bw-v4-violet) !important; }
main > *:nth-child(5n+5){ --bw-box-accent:var(--bw-v4-gold) !important; }

/* Main glass boxes. */
main > *:not(script):not(style):not(link),
.bw-glass,
.bw-card,
.bw-panel,
.bw-module,
.bw-block,
.bw-section,
.bw-surface,
.bw-chat-shell > *,
.bw-video-shell > *,
.bw-live-shell > *,
.bw-install-shell > *,
.bw-cart-shell > *,
.bw-checkout-shell > *,
form,
table,
.bw-table-wrap,
section[class*="bw-"],
div[class*="bw-card"],
div[class*="bw-panel"],
div[class*="bw-section"],
div[class*="bw-module"],
[data-bw-access-role-choice-rebuilt="true"],
[data-bw-access-role-choice-box="true"],
.bw-access-role-clean-row{
  --bw-box-accent:var(--bw-box-accent, var(--bw-v4-pink));

  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;

  background:
    linear-gradient(180deg, var(--bw-v4-glass-top), var(--bw-v4-glass-bottom)) !important;

  border:1px solid rgba(var(--bw-box-accent), .36) !important;
  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 22px rgba(var(--bw-box-accent), .13) !important;
}

/* Color glow: noticeable but not full-card purple. */
main > *:not(script):not(style):not(link)::before,
.bw-glass::before,
.bw-card::before,
.bw-panel::before,
.bw-module::before,
.bw-block::before,
.bw-section::before,
.bw-surface::before,
form::before,
table::before,
.bw-table-wrap::before,
[data-bw-access-role-choice-rebuilt="true"]::before,
.bw-access-role-clean-row::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:0 !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(var(--bw-box-accent), .20), transparent 30%),
    linear-gradient(90deg, rgba(var(--bw-box-accent), .10), transparent 38%) !important;
}

/* Bright top edge like Luna reference boxes. */
main > *:not(script):not(style):not(link)::after,
.bw-glass::after,
.bw-card::after,
.bw-panel::after,
.bw-module::after,
.bw-block::after,
.bw-section::after,
.bw-surface::after,
form::after,
table::after,
.bw-table-wrap::after,
[data-bw-access-role-choice-rebuilt="true"]::after,
.bw-access-role-clean-row::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:3px !important;
  pointer-events:none !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,
      rgba(var(--bw-box-accent), .98),
      rgba(var(--bw-box-accent), .38),
      transparent
    ) !important;
}

main > * > *,
.bw-glass > *,
.bw-card > *,
.bw-panel > *,
.bw-module > *,
.bw-block > *,
.bw-section > *,
.bw-surface > *,
[data-bw-access-role-choice-rebuilt="true"] > *,
.bw-access-role-clean-row > *{
  position:relative !important;
  z-index:2 !important;
}

/* Semantic emphasis. */
[data-bw-luna-color="pink"]{
  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 24px rgba(var(--bw-v4-pink), .16) !important;
}

[data-bw-luna-color="blue"]{
  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 24px rgba(var(--bw-v4-blue), .16) !important;
}

[data-bw-luna-color="teal"]{
  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 24px rgba(var(--bw-v4-teal), .16) !important;
}

[data-bw-luna-color="violet"]{
  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 24px rgba(var(--bw-v4-violet), .16) !important;
}

[data-bw-luna-color="gold"]{
  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 24px rgba(var(--bw-v4-gold), .15) !important;
}

/* Buttons inherit card meaning when inside a semantic card. */
button,
input[type="submit"],
input[type="button"],
a.bw-btn,
.bw-btn,
a[class*="btn"],
button[class*="btn"]{
  background:
    linear-gradient(135deg,
      rgba(var(--bw-v4-pink), .92),
      rgba(var(--bw-v4-violet), .78)
    ) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#fff7fd !important;
  box-shadow:
    0 12px 30px rgba(0,0,0,.28),
    0 0 18px rgba(var(--bw-v4-pink), .16) !important;
}

[data-bw-luna-color="blue"] :is(button,input[type="submit"],input[type="button"],a.bw-btn,.bw-btn,a[class*="btn"],button[class*="btn"]){
  background:linear-gradient(135deg, rgba(var(--bw-v4-blue), .92), rgba(var(--bw-v4-violet), .72)) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(var(--bw-v4-blue), .15) !important;
}

[data-bw-luna-color="teal"] :is(button,input[type="submit"],input[type="button"],a.bw-btn,.bw-btn,a[class*="btn"],button[class*="btn"]){
  background:linear-gradient(135deg, rgba(var(--bw-v4-teal), .88), rgba(var(--bw-v4-blue), .72)) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(var(--bw-v4-teal), .14) !important;
}

[data-bw-luna-color="violet"] :is(button,input[type="submit"],input[type="button"],a.bw-btn,.bw-btn,a[class*="btn"],button[class*="btn"]){
  background:linear-gradient(135deg, rgba(var(--bw-v4-violet), .92), rgba(var(--bw-v4-pink), .74)) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(var(--bw-v4-violet), .15) !important;
}

[data-bw-luna-color="gold"] :is(button,input[type="submit"],input[type="button"],a.bw-btn,.bw-btn,a[class*="btn"],button[class*="btn"]){
  background:linear-gradient(135deg, rgba(var(--bw-v4-gold), .92), rgba(var(--bw-v4-pink), .70)) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 0 18px rgba(var(--bw-v4-gold), .13) !important;
}

/* Access role rows. */
body.bw-access-role-choice-rebuild-v3 .bw-access-role-clean-row:nth-child(1){
  --bw-box-accent:var(--bw-v4-blue) !important;
}
body.bw-access-role-choice-rebuild-v3 .bw-access-role-clean-row:nth-child(2){
  --bw-box-accent:var(--bw-v4-teal) !important;
}
body.bw-access-role-choice-rebuild-v3 .bw-access-role-clean-row:nth-child(3){
  --bw-box-accent:var(--bw-v4-pink) !important;
}

body.bw-access-role-choice-rebuild-v3 .bw-access-role-clean-row{
  background:
    linear-gradient(180deg, rgba(255,255,255,.064), rgba(255,255,255,.030)) !important;
}

body.bw-access-role-choice-rebuild-v3 .bw-access-role-clean-row[data-selected="true"]{
  border-color:rgba(var(--bw-v4-blue), .50) !important;
  box-shadow:
    0 0 0 1px rgba(var(--bw-v4-blue), .26),
    0 12px 32px rgba(0,0,0,.24),
    0 0 22px rgba(var(--bw-v4-blue), .15) !important;
}

/* Inputs stay neutral until focus. */
input,
textarea,
select{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(255,255,255,.14) !important;
}

input:focus,
textarea:focus,
select:focus{
  border-color:rgba(var(--bw-v4-blue), .48) !important;
  box-shadow:0 0 0 3px rgba(var(--bw-v4-blue), .10) !important;
}

/* Small badges/pills use the current card accent. */
.badge,
.pill,
.kicker,
.eyebrow,
.bw-badge,
.bw-pill,
.bw-kicker,
.bw-eyebrow,
[class*="badge"],
[class*="pill"],
[class*="kicker"],
[class*="eyebrow"]{
  background:rgba(255,255,255,.060) !important;
  border-color:rgba(var(--bw-box-accent), .30) !important;
  color:#fff7fd !important;
  box-shadow:0 0 14px rgba(var(--bw-box-accent), .08) !important;
}

/* Nav stays a flat top fixture. */
#bw-static-global-public-nav-v1{
  background:rgba(8,7,11,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.28) !important;
}

#bw-static-global-public-nav-v1 a,
#bw-static-global-public-nav-v1 button{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

#bw-static-global-public-nav-v1 a:hover,
#bw-static-global-public-nav-v1 button:hover{
  background:rgba(255,255,255,.075) !important;
  border-color:rgba(255,255,255,.12) !important;
}

/* Cleanup preservation. */
.bw-star-brand-chip-removed{
  display:none !important;
}
