@charset "UTF-8";

/* ===== BASE ===== */

body{
	font-family: "Courier New", monospace;
	color: black;
	background-color: whitesmoke;
	margin: 0;
	padding: 0;
}

.page-wrapper{
	padding: 1rem;
	display: flex;
	flex-direction: column;
}

/* ===== GENERAL LAYOUT ===== */

header, nav, section, footer{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 2.5vw;
	margin-bottom: 2.5vw;
}

h1, h2, p{
	text-align: center;
	max-width: 30rem;
}

/* ===== NAV ===== */

nav a{
	margin: 0 0.5rem;
	text-decoration: none;
	color: black;
	border-bottom: 1px solid black;
}

/* ===== DOWNLOAD BUTTON ===== */

.extension-download a{
	font-size: 1.5rem;
	padding: 1.5rem;
	border-radius: 2rem;
	text-decoration: none;
	border: 1px solid blue;
	color: black;
	background: white;
}

/* ===== ARCHIVE DOCUMENTATION ===== */

.extension-documentation{
	width: 50vw;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

/* Video + image containers as archive “cards” */


.extension-documentation-video video{
	width: 100%;
	max-width: 700px;
	display: block;
	border: 1px solid black;
	padding: 6px;
	background: white;
	box-sizing: border-box;
	border: 1px solid black;
	padding: 1rem;
	background: white;
}

.extension-documentation-images{
	border: 1px solid black;
	padding: 1rem;
	background: white;
	box-sizing: border-box;
}

/* Media styling (NO FLOATS anymore) */

video, img{
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background-color: black;
}

/* Image grid inside archive */

.extension-documentation-images{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.extension-documentation-images img,
.extension-documentation-video video{
	border: 1px solid black;
	padding: 6px;
	background: white;
	box-sizing: border-box;
}

/* ===== REVIEWS ===== */

.extension-reviews-block{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.extension-review{
	width: 25vw;
	padding: 1rem;
	margin: 1rem;
	border: 1px solid black;
	box-sizing: border-box;
	background: white;
}

/* ===== INSTALLATION ===== */

section.extension-installation ol{
	text-align: left;
	border: 1px solid black;
	padding: 1rem 2rem;
	background: white;
}

/* ===== FOOTER ===== */

footer{
	border-top: 1px solid black;
	padding-top: 1rem;
}

/* ===== SELECTION STYLE ===== */

::selection {
	color: yellow;
	background: black;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 780px) {
	.extension-documentation{
		width: 90vw;
	}

	.extension-documentation-images{
		grid-template-columns: 1fr;
	}

	.extension-review{
		width: 90vw;
		margin-left: 0;
		margin-right: 0;
	}
}

/* ===== LIGHTBOX ===== */

.lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.9);
	display: none;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	cursor: zoom-out;
}

.lightbox img {
	max-width: 90vw;
	max-height: 90vh;
	border: 2px solid white;
	background: white;
	padding: 10px;
}