/*
Theme Name: bboy-academy-freestyle
Text Domain: bboy-academy-freestyle
Description: Custom anti-corporate Bboy Academy theme: black void, electric-blue drippy portholes, fixed Charlie background, and community-rooted freestyle imagery.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

html{scroll-behavior:smooth}

/* Heavy site-wide aerosol field. Reader and History pages add their own layers. */
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::before,
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::after{content:"";position:fixed;z-index:30;inset:0;pointer-events:none}
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::before{opacity:.72;background:
radial-gradient(circle at 1.5% 7%,#173fd1 0 3px,transparent 4px),radial-gradient(circle at 3% 12%,#173fd1 0 10px,transparent 11px),radial-gradient(circle at 6% 17%,#173fd1 0 4px,transparent 5px),radial-gradient(circle at 9% 23%,#173fd1 0 7px,transparent 8px),radial-gradient(circle at 4% 31%,#173fd1 0 2px,transparent 3px),radial-gradient(ellipse 38px 9px at 2% 39%,#173fd1 95%,transparent),
radial-gradient(circle at 98% 9%,#173fd1 0 6px,transparent 7px),radial-gradient(circle at 95% 17%,#173fd1 0 14px,transparent 15px),radial-gradient(circle at 92% 25%,#173fd1 0 3px,transparent 4px),radial-gradient(circle at 97% 34%,#173fd1 0 8px,transparent 9px),radial-gradient(ellipse 45px 11px at 99% 43%,#173fd1 95%,transparent),
radial-gradient(circle at 2% 58%,#173fd1 0 13px,transparent 14px),radial-gradient(circle at 6% 66%,#173fd1 0 4px,transparent 5px),radial-gradient(circle at 3% 75%,#173fd1 0 8px,transparent 9px),radial-gradient(circle at 8% 84%,#173fd1 0 2px,transparent 3px),radial-gradient(ellipse 31px 8px at 1% 93%,#173fd1 95%,transparent),
radial-gradient(circle at 97% 58%,#173fd1 0 4px,transparent 5px),radial-gradient(circle at 93% 69%,#173fd1 0 11px,transparent 12px),radial-gradient(circle at 98% 79%,#173fd1 0 3px,transparent 4px),radial-gradient(circle at 94% 89%,#173fd1 0 9px,transparent 10px)}
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::after{opacity:.54;background:
radial-gradient(circle at 15% 3%,#173fd1 0 5px,transparent 6px),radial-gradient(circle at 21% 6%,#173fd1 0 12px,transparent 13px),radial-gradient(circle at 28% 2%,#173fd1 0 3px,transparent 4px),radial-gradient(ellipse 29px 7px at 35% 5%,#173fd1 95%,transparent),
radial-gradient(circle at 48% 97%,#173fd1 0 4px,transparent 5px),radial-gradient(circle at 57% 94%,#173fd1 0 15px,transparent 16px),radial-gradient(circle at 66% 98%,#173fd1 0 3px,transparent 4px),radial-gradient(ellipse 39px 9px at 76% 95%,#173fd1 95%,transparent),
linear-gradient(90deg,transparent 0 1.2%,#173fd1 1.2% 1.45%,transparent 1.45% 98.55%,#173fd1 98.55% 98.8%,transparent 98.8%)}

/* Bboy Academy registration form */
.um.um-register{
  --academy-blue:#173fd1;
  --academy-yellow:#d9b300;
  --academy-orange:#e74712;
  position:relative;
  max-width:680px;
  margin:0 auto!important;
  padding:clamp(22px,4vw,44px)!important;
  color:#fff;
  background:#030303;
  border:6px solid var(--academy-blue);
  border-radius:2% 1% 3% 1.5%/1% 3% 1.5% 2%;
  outline:3px solid #07133f;
  box-shadow:0 0 34px rgba(23,63,209,.72),12px 14px 0 rgba(23,63,209,.34);
}
.um.um-register::before,
.um.um-register::after{
  content:"";
  position:absolute;
  z-index:3;
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--academy-blue);
  pointer-events:none;
}
.um.um-register::before{
  left:-28px;top:8%;
  box-shadow:-11px 31px 0 -3px var(--academy-blue),14px 73px 0 4px var(--academy-blue),-8px 119px 0 -2px var(--academy-blue),17px 168px 0 2px var(--academy-blue),-13px 222px 0 6px var(--academy-blue),12px 281px 0 -4px var(--academy-blue);
}
.um.um-register::after{
  right:-28px;bottom:8%;
  box-shadow:13px -34px 0 4px var(--academy-blue),-11px -78px 0 -2px var(--academy-blue),16px -128px 0 1px var(--academy-blue),-9px -183px 0 5px var(--academy-blue),11px -241px 0 -4px var(--academy-blue);
}
.um.um-register .um-field{margin-bottom:24px!important}
.um.um-register .um-field-label label{
  color:var(--academy-yellow)!important;
  font-family:var(--font-marker),sans-serif!important;
  font-size:clamp(1.35rem,2vw,1.85rem)!important;
  font-weight:400!important;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.um.um-register input[type=text],
.um.um-register input[type=email],
.um.um-register input[type=password]{
  box-sizing:border-box!important;
  width:100%!important;
  height:58px!important;
  padding:10px 16px!important;
  color:#fff!important;
  background:#080808!important;
  border:3px solid var(--academy-blue)!important;
  border-radius:0!important;
  outline:none!important;
  font-size:1.1rem!important;
  box-shadow:5px 5px 0 #07133f!important;
}
.um.um-register input:focus{
  border-color:#fff!important;
  box-shadow:0 0 0 3px var(--academy-blue),7px 7px 0 var(--academy-blue)!important;
}
.um.um-register input[type=submit],
.um.um-register .um-button{
  min-height:62px!important;
  color:#000!important;
  background:var(--academy-yellow)!important;
  border:4px solid var(--academy-blue)!important;
  border-radius:999px!important;
  font-family:var(--font-marker),sans-serif!important;
  font-size:clamp(1.55rem,2.8vw,2.35rem)!important;
  font-weight:400!important;
  text-transform:uppercase!important;
  box-shadow:0 0 25px rgba(23,63,209,.9),5px 6px 0 var(--academy-blue)!important;
}
.um.um-register input[type=submit]:hover,
.um.um-register .um-button:hover{
  color:#fff!important;
  background:var(--academy-orange)!important;
}
.um.um-register .um-field-error{background:var(--academy-orange)!important}
.um.um-register a{color:var(--academy-yellow)!important}

/* Branded fallback login and activation notice */
body.page-id-195 article{max-width:760px!important}
body.page-id-195 article>header h1{
  color:#fff!important;
  font-family:var(--font-marker),sans-serif!important;
  font-size:clamp(3.2rem,8vw,7rem)!important;
  font-weight:400!important;
  text-transform:uppercase;
  text-shadow:5px 5px 0 #173fd1;
}
.um.um-login{
  --academy-blue:#173fd1;
  --academy-yellow:#d9b300;
  --academy-orange:#e74712;
  position:relative;
  padding:clamp(24px,4vw,46px)!important;
  color:#fff;
  background:#030303;
  border:6px solid var(--academy-blue);
  outline:3px solid #07133f;
  box-shadow:0 0 34px rgba(23,63,209,.7),12px 14px 0 rgba(23,63,209,.3);
}
.um.um-login .um-field-label label{
  color:var(--academy-yellow)!important;
  font-family:var(--font-marker),sans-serif!important;
  font-size:clamp(1.25rem,2vw,1.75rem)!important;
  font-weight:400!important;
  text-transform:uppercase;
}
.um.um-login input[type=text],
.um.um-login input[type=password]{
  height:58px!important;
  color:#fff!important;
  background:#080808!important;
  border:3px solid var(--academy-blue)!important;
  border-radius:0!important;
  box-shadow:5px 5px 0 #07133f!important;
}
.um.um-login input:focus{border-color:#fff!important;box-shadow:0 0 0 3px var(--academy-blue)!important}
.um.um-login .um-button{
  min-height:58px!important;
  color:#000!important;
  background:var(--academy-yellow)!important;
  border:4px solid var(--academy-blue)!important;
  border-radius:999px!important;
  font-family:var(--font-marker),sans-serif!important;
  font-size:clamp(1.45rem,2.5vw,2.15rem)!important;
  text-transform:uppercase!important;
  box-shadow:0 0 24px rgba(23,63,209,.85)!important;
}
.um.um-login .um-button:hover{color:#fff!important;background:var(--academy-orange)!important}
.um-notice.success{
  color:#000!important;
  background:var(--academy-yellow,#d9b300)!important;
  border:3px solid #173fd1!important;
  box-shadow:5px 5px 0 #173fd1!important;
}
.um-postmessage{
  color:#fff!important;
  background:#050505!important;
  border:4px solid #173fd1!important;
  padding:clamp(20px,3vw,34px)!important;
  font-size:clamp(1.05rem,2vw,1.35rem)!important;
  line-height:1.5!important;
  box-shadow:8px 9px 0 #07133f,0 0 25px rgba(23,63,209,.55)!important;
}


/* No-splatter pass: retain frames, glows, black ground, and Charlie Dark artwork. */
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::before{
	content:none!important;
	background:none!important;
}
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::after{
	background:linear-gradient(90deg,transparent 0 1.2%,#173fd1 1.2% 1.45%,transparent 1.45% 98.55%,#173fd1 98.55% 98.8%,transparent 98.8%)!important;
}
.academy-porthole__stage::before,
.academy-porthole__stage::after,
.destiny-gallery::before,
.destiny-gallery::after,
.battle-reader::after,
.battle-reader__pages>.wp-block-image::before,
.battle-reader__pages>.wp-block-image::after,
.battle-purchase__card::before,
.battle-purchase__card::after,
.battle-book-choice__path::before,
.battle-book-choice__path::after,
.um.um-register::before,
.um.um-register::after,
body.page-id-201 main.flex-1::after{
	content:none!important;
	background:none!important;
	box-shadow:none!important;
}
.academy-paint-drips,
.academy-paint-drops{
	display:none!important;
}
body.page-id-190 .battle-choice-main{
	background:none!important;
}
.page-id-191 .battle-purchase{
	background:#000!important;
}


/* Final spot cleanup. */
body:not(.page-id-149):not(.page-id-151):not(.page-id-147)::after{
	content:none!important;
	background:none!important;
}
.academy-porthole__ring::before,
.academy-porthole__ring::after{
	content:none!important;
	background:none!important;
	box-shadow:none!important;
}
.academy-porthole__label::after{
	box-shadow:none!important;
}
body.page-id-190 .battle-book-choice__intro{
	display:none!important;
}


/* Official internal-page brand header. The homepage keeps its own hero treatment. */
.site-brand-header{
	display:flex!important;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;
	width:100%;
	padding:22px 20px 18px;
	background:#000;
	border:0!important;
	box-sizing:border-box;
}
.home>.site-brand-header{display:none!important}
.site-brand-header__logo{
	display:block;
	width:min(420px,72vw);
	margin:0 auto;
	line-height:0;
}
.site-brand-header__logo img{
	display:block;
	width:100%;
	height:auto;
}
.site-brand-header__nav{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:clamp(10px,1.6vw,24px);
	margin-top:-12px;
	font-family:var(--font-marker),"Permanent Marker",cursive;
	font-size:clamp(1rem,1.7vw,1.45rem);
	text-transform:uppercase;
}
.site-brand-header__nav a{
	color:#d9b300;
	text-decoration:none;
}
.site-brand-header__nav span{color:#e74712}
.site-brand-header__nav a:hover,
.site-brand-header__nav a:focus-visible{color:#e74712}
.site-brand-header__nav a[aria-current="page"]{
	text-decoration:underline;
	text-decoration-color:#173fd1;
	text-decoration-thickness:4px;
	text-underline-offset:8px;
}
body:has(.destiny-gallery)>.site-brand-header{display:flex!important}
.destiny-heading{padding-top:12px!important}
.destiny-heading h1{margin-top:28px!important}
@media(max-width:560px){
	.site-brand-header{padding-top:14px}
	.site-brand-header__logo{width:min(340px,86vw)}
	.site-brand-header__nav{margin-top:-8px}
}

