/* =========================
GLOBAL
========================= */

body{
	background:#000;
	color:#fff;
	font-family:Montserrat;
	margin:0;
}

h1,h2,h3{
	font-family:'Roboto Slab', serif;
}

a{
	text-decoration:none;
	color:white;
}


/* =========================
NAVIGATION
========================= */

header{
	display:flex;
	justify-content:center;
	align-items:center;
	background:#0a0a0a;
	border-bottom:4px solid #F07A6A;
	box-shadow:
		0 0 10px #F07A6A,
		inset 0 -3px 8px rgba(240,122,106,.4);
	padding:30px 0;
	position:sticky;
	top:0;
	z-index:1000;
}

nav ul{
	list-style:none;
	display:flex;
	gap:35px;
	padding:0;
	margin:0;
}

nav a{
	text-decoration:none;
	color:white;
	font-family:'Roboto Slab';
	letter-spacing:1px;
	transition:all .2s ease;
}

nav a:hover{
	color:#F07A6A;
	text-shadow:
		0 0 6px #F07A6A,
		0 0 12px #F07A6A;
}


/* =========================
HERO
========================= */

.hero{
	position:relative;
	text-align:center;
	padding:120px 20px;
	overflow:hidden;
}

.hero::before,
.hero::after{
	content:"";
	position:absolute;
	top:-50%;
	left:50%;
	width:600px;
	height:600px;
	background:radial-gradient(circle, rgba(240,122,106,0.25) 0%, transparent 70%);
	transform-origin:center;
	animation:spotlightMove 12s linear infinite;
	pointer-events:none;
}

.hero::after{
	animation-delay:6s;
}

.hero-logo{
	width:340px;
	margin-bottom:30px;
	filter:drop-shadow(0 0 10px #F07A6A);
}

.hero-buttons{
	margin-top:30px;
	display:flex;
	justify-content:center;
	gap:20px;
}


/* =========================
BUTTONS
========================= */

.primary-button{
	background:#F07A6A;
	padding:12px 25px;
	color:white;
	text-decoration:none;
	border-radius:6px;
}

.secondary-button{
	border:2px solid #F07A6A;
	padding:10px 23px;
	color:black;
	text-decoration:none;
	border-radius:6px;
	margin-left:10px;
}


/* =========================
PAGE HEADERS
========================= */

.page-header{
	text-align:center;
	padding:80px 20px 40px;
	background:linear-gradient(180deg, rgba(240,122,106,.08), transparent);
}

.page-header h1{
	font-family:'Roboto Slab';
	font-size:36px;
	margin-bottom:10px;
	letter-spacing:2px;
	text-transform:uppercase;
}

.page-header h1::after{
	content:"";
	display:block;
	width:220px;
	height:6px;
	margin:18px auto;
	background:linear-gradient(90deg, transparent, #F07A6A, #F07A6A, transparent);
	box-shadow:0 0 10px #F07A6A;
	border-radius:3px;
}


/* =========================
CONTENT SECTIONS
========================= */

.content-section{
	max-width:1000px;
	margin:60px auto;
	padding:0 20px;
}


/* =========================
FEATURED SHOWS
========================= */

.shows{
	padding:80px 20px;
	text-align:center;
}

.show-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:40px;
	max-width:900px;
	margin:40px auto;
}

.show-card{
	background:#0a0a0a;
	padding:30px;
	border-radius:8px;
	border:3px solid #F07A6A;
	position:relative;
	transition:all .25s ease;
	box-shadow:
		0 0 6px #F07A6A,
		inset 0 0 10px rgba(240,122,106,.25);
}

.show-card::before,
.show-card::after{
	content:"";
	position:absolute;
	width:10px;
	height:10px;
	background:#F07A6A;
	border-radius:50%;
	box-shadow:0 0 8px #F07A6A;
}

.show-card::before{
	top:10px;
	left:10px;
}

.show-card::after{
	bottom:10px;
	right:10px;
}

.show-card:hover{
	transform:translateY(-6px);
	box-shadow:
		0 0 12px #F07A6A,
		0 0 25px #F07A6A,
		inset 0 0 12px rgba(240,122,106,.45);
}

.show-card h3{
	font-family:'Roboto Slab';
	letter-spacing:1px;
	text-transform:uppercase;
	margin-bottom:12px;
}

.show-card h3::after{
	content:"";
	display:block;
	width:80px;
	height:3px;
	background:#F07A6A;
	margin:10px auto 15px;
	box-shadow:0 0 8px #F07A6A;
}


/* =========================
FLIP CARDS
========================= */

.flip-card{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	perspective:1000px;
}

.flip-inner{
	position:absolute;
	width:100%;
	height:100%;
	transition:transform .7s;
	transform-style:preserve-3d;
	transform-origin:center;
}

.flip-card:hover .flip-inner{
	transform:rotateY(180deg) scale(1.05);
}

.flip-front,
.flip-back{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	backface-visibility:hidden;
	border-radius:10px;
	border:3px solid #F07A6A;
	box-shadow:
		0 0 10px #F07A6A,
		inset 0 0 10px rgba(240,122,106,.3);
	background:#0a0a0a;
	overflow:hidden;
	box-sizing:border-box;
}

/* FRONT IMAGE */

.flip-front{
	transform:translateZ(1px);
}

.flip-front img{
	width:100%;
	height:100%;
	object-fit:cover;
}

/* BACK SIDE */

.flip-back{
	transform:rotateY(180deg) translateZ(1px);
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	padding:20px;
	box-sizing:border-box;
}

.flip-back h3{
	margin-bottom:10px;
}


/* =========================
CUSTOM GAME SHOWS
========================= */

.custom-show{
	grid-column:1 / -1;
	max-width:520px;
	margin:40px auto;
	text-align:center;
	background:#0a0a0a;
	border:3px solid #F07A6A;
	border-radius:10px;
	padding:30px;
	box-shadow:0 0 10px #F07A6A;
}


/* =========================
CONTACT PAGE
========================= */

.contact-page{
	position: relative;
	padding: 80px 20px;
	min-height: 600px;
	overflow: hidden;
}

.contact-watermark{
	position: fixed;
	top: 40%;
	left: 0px;
	transform: translateY(-50%);
	width: 400px;
	height: 400px;
	background-image: url("../images/ship.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	opacity: .5;
	filter: brightness(0.6) drop-shadow(0 0 20px rgba(240,122,106,.3));
	z-index: -1;
	pointer-events: none;
}

.contact-section{
	max-width:700px;
	margin:80px auto;
	padding:40px;
	text-align:center;
	background:#0a0a0a;
	border:3px solid #F07A6A;
	border-radius:10px;
	box-shadow:
		0 0 10px #F07A6A,
		inset 0 0 10px rgba(240,122,106,.2);
}

.contact-form{
	display:flex;
	flex-direction:column;
	gap:15px;
	margin-top:30px;
	text-align:left;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
	background:#111;
	border:2px solid #333;
	color:white;
	padding:10px;
	border-radius:5px;
	font-family:Montserrat;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
	outline:none;
	border-color:#F07A6A;
	box-shadow:0 0 8px #F07A6A;
}


/* =========================
VIDEO GRID
========================= */

.video-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(400px,1fr));
	gap:40px;
	max-width:1100px;
	margin:60px auto;
	padding:0 20px;

}

.video-card{
	background:#0a0a0a;
	padding:20px;
	border-radius:10px;
	border:3px solid #F07A6A;
	text-align:center;
	box-shadow:
	0 0 10px rgba(240,122,106,.4),
	inset 0 0 12px rgba(240,122,106,.15);
}

.twitch-card{
	grid-column:1 / -1;
}

/* =========================
RESPONSIVE VIDEO EMBEDS
========================= */

.video-wrapper{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	margin-top:15px;
}

.video-wrapper iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
	border-radius:6px;
}

/* Featured Twitch player */

.large-video{
	aspect-ratio:16/9;
}

/* Make Twitch span the full row */

.twitch-card{
	grid-column:1 / -1;
}


/* =========================
REVIEWS
========================= */

.review-grid{
	max-width:900px;
	margin:60px auto;
	display:grid;
	gap:25px;
	padding:0 20px;
}

.review-card{
	background:#111;
	padding:25px;
	border-radius:10px;
	border:2px solid #F07A6A;
}


/* =========================
STAGE LIGHTS
========================= */

.stage-lights{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	pointer-events:none;
	background:
		repeating-linear-gradient(
		75deg,
		transparent 0px,
		transparent 120px,
		rgba(240,122,106,.07) 130px,
		transparent 140px
		);
	background-size:800px 800px;
	animation:stageSweep 20s linear infinite;
	z-index:-1;
}

@keyframes stageSweep{
	0%{
		background-position:-600px 0;
	}
	100%{
		background-position:600px 0;
	}
}


/* ================================
FOOTER / CALL TO ACTION / APP ICONS
=================================== */

footer {
    margin-top: 60px;
    padding: 25px;
    text-align: center;
    border-top: 5px solid rgba(255,255,255,0.25);
	box-shadow: 0 -8px 20px rgba(255,255,255,0.03);
}

.cta{
	text-align:center;
	padding:100px 20px;
	background:#111;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 15px;
    flex-wrap: wrap;
}

.social-icons img {
    width: 50px;
    height: 50px;
    transition: transform 0.2s ease;
}

.social-icons img:hover {
    transform: scale(1.1);
}


/* =========================
FRONT PAGE DEMO QUESTION
========================= */

.demo-game{
	text-align:center;
	padding:80px 20px;
	background:#000;
}

.demo-board{
	max-width:600px;
	margin:40px auto;
}

.demo-tile{
	background:#0a0a0a;
	border:4px solid #F07A6A;
	padding:40px;
	font-family:'Roboto Slab';
	font-size:22px;
	cursor:pointer;
	transition:.3s;
	box-shadow:
		0 0 10px #F07A6A,
		inset 0 0 10px rgba(240,122,106,.4);
}

.demo-tile:hover{
	transform:scale(1.05);
	box-shadow:
		0 0 20px #F07A6A,
		0 0 30px #F07A6A;
}

.demo-panel{
	display:none;
	margin-top:25px;
	padding:25px;
	background:#111;
	border-radius:10px;
	border:3px solid #F07A6A;
}

/* =========================
EVENT PAGE LINEUP
========================= */

.event-types{
	padding:80px 20px;
	text-align:center;
	background:#000;
}

.event-types h2{
	font-family:'Roboto Slab';
	font-size:32px;
	margin-bottom:40px;
}

.event-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
	gap:30px;
	max-width:1100px;
	margin:0 auto;
}

.event-card{
	background:#111;
	padding:30px;
	border-radius:10px;
	border:2px solid transparent;
	transition:all .3s ease;
}

.event-card h3{
	font-family:'Roboto Slab';
	margin-bottom:10px;
}

.event-card p{
	font-size:15px;
	line-height:1.5;
}

.event-card:hover{
	transform:translateY(-6px);
	border-color:#F07A6A;
	box-shadow:0 0 18px #F07A6A;
}

.event-card h3::after{
	content:"";
	display:block;
	width:60px;
	height:3px;
	background:#F07A6A;
	margin:10px auto 0;
}

.marquee-section{
	position:relative;
	padding:90px 40px;
	margin:80px auto;
	max-width:1200px;
	border-radius:12px;
	background:#000;
}

.marquee-section::before{
	content:"";
	position:absolute;
	top:-10px;
	left:-10px;
	right:-10px;
	bottom:-10px;
	border-radius:14px;
	background:
		radial-gradient(circle,#F07A6A 3px,transparent 4px) 0 0 / 22px 22px;
	animation:bulbPulse 1.5s infinite alternate;
	pointer-events:none;
	box-shadow:
		0 0 10px #F07A6A,
		0 0 20px #F07A6A;
}

@keyframes bulbPulse{
	0%{
		filter:brightness(1);
	}
	100%{
		filter:brightness(1.6);
	}
}

/* =========================
BIO PAGE GRID
========================= */

.bio-grid{
	display:flex;
	flex-direction:column;
	gap:40px;
	margin-top:40px;
}

.bio-card{
	display:flex;
	gap:30px;
	align-items:flex-start;
	background:#0a0a0a;
	padding:30px;
	border-radius:10px;
	border:3px solid #F07A6A;
	box-shadow:0 0 10px rgba(240,122,106,.4);
	max-width:900px;
}

.bio-card img{
	width:240px;
	height:320px;
	object-fit:cover;
	border-radius:6px;
}

.bio-card div{
	flex:1;
}

.bio-card h3{
	margin-top:0;
}

/* =========================
LIVE STREAM INDICATOR
========================= */

.live-indicator{
	display:inline-block;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#666;
	margin-right:10px;
	vertical-align:middle;
}

.live-indicator.live{
	background:#ff2a2a;
	box-shadow:
	0 0 6px #ff2a2a,
	0 0 12px #ff2a2a;
	animation:livePulse 1.5s infinite;
}

@keyframes livePulse{
	0%{transform:scale(1);}
	50%{transform:scale(1.3);}
	100%{transform:scale(1);}
}