/* ShopTech custom styling */
body, input, select, textarea {
	font-family: Arial, Helvetica, sans-serif;
}

#wrapper:before {
	background: linear-gradient(180deg, rgba(13, 28, 45, 0.35), rgba(4, 8, 14, 0.8));
}

#header .logo {
	border-color: rgba(96, 195, 255, 0.85);
	box-shadow: 0 0 28px rgba(96, 195, 255, 0.18);
}

#header .logo .icon:before {
	color: #9fddff;
}

#header .content .inner p {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.hero-actions {
	justify-content: center;
	margin-top: 1.4rem;
}

.button.primary, input[type="submit"].primary {
	background-color: #ffffff;
	color: #111827 !important;
}

.button.primary:hover, input[type="submit"].primary:hover {
	background-color: #dff4ff;
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.service-grid section {
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.055);
	border-radius: 0.5rem;
	padding: 1rem;
}

.service-grid h3 {
	font-size: 0.9rem;
	letter-spacing: 0.08rem;
	margin-bottom: 0.65rem;
}

.service-grid h3 .icon {
	margin-right: 0.45rem;
	color: #9fddff;
}

.small-note {
	font-size: 0.85rem;
	opacity: 0.75;
}

#footer .copyright {
	letter-spacing: 0.08rem;
}

/* ===== Layout spacing fix ===== */

#wrapper {
	padding-top: 1.5rem !important;
	padding-bottom: 1.5rem !important;
}

#header {
	width: min(1020px, calc(100% - 40px)) !important;
	max-width: 1020px !important;
	margin: 0 auto !important;

	border: 3px solid rgba(20, 214, 223, 0.32) !important;

	box-shadow:
		0 0 18px rgba(20, 214, 223, 0.12),
		0 0 45px rgba(20, 214, 223, 0.06);
}

#header .content {
	padding: 0.5rem 2rem 0.5rem 2rem !important;
}
/* Hero buttons */
.hero-outline,
.hero-filled,
.button,
input[type="submit"],
input[type="reset"] {
	border: 2px solid rgba(20, 214, 223, 0.28) !important;
	box-shadow: 0 0 12px rgba(20, 214, 223, 0.08);
	border-radius: 4px;
}

/* ===== Bottom navigation boxes - clean fixed version ===== */

/* Remove all original template divider artifacts */
#header nav:before,
#header nav:after,
#header nav ul:before,
#header nav ul:after,
#header nav ul li:before,
#header nav ul li:after,
.shoptech-nav:before,
.shoptech-nav:after,
.shoptech-nav ul:before,
.shoptech-nav ul:after,
.shoptech-nav ul li:before,
.shoptech-nav ul li:after,
#header .content:before,
#header .content:after,
#header .inner:before,
#header .inner:after,
#main:before,
#main:after {
	display: none !important;
	content: none !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Remove old vertical separators from the li itself */
.shoptech-nav ul li {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Give each nav button its own clean box */
.shoptech-nav ul li a {
	border: 2px solid rgba(20, 214, 223, 0.22) !important;
	border-radius: 4px !important;
	box-shadow: 0 0 12px rgba(20, 214, 223, 0.08);
	margin: 0 2px !important;
}

/* Mobile */
@media screen and (max-width: 736px) {
	.service-grid {
		grid-template-columns: 1fr;
	}

	.hero-actions {
		align-items: center;
	}

	#wrapper {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}

	#header {
		width: min(100%, calc(100% - 20px)) !important;
	}
}
/* Shared thick border for popup/article boxes */
#main article {
	border: 3px solid rgba(20, 214, 223, 0.32) !important;

	box-shadow:
		0 0 18px rgba(20, 214, 223, 0.12),
		0 0 45px rgba(20, 214, 223, 0.06);

	border-radius: 10px;
}
/* ===== Project Gallery ===== */

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.gallery-item {
	border: 2px solid rgba(20, 214, 223, 0.22);
	border-radius: 10px;
	padding: 0.75rem;
	background: rgba(255,255,255,0.03);

	box-shadow:
		0 0 14px rgba(20,214,223,0.08);
}

.gallery-item img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}

.gallery-item p {
	margin-top: 0.75rem;
	text-align: center;
	font-size: 0.9rem;
	letter-spacing: 0.08rem;
}

@media screen and (max-width: 736px) {
	.gallery-grid {
		grid-template-columns: 1fr;
	}
}
/* Footer info */
.footer-info {
	margin-bottom: 1rem;
	text-align: center;
}

.footer-info p {
	margin: 0.25rem 0;
	font-size: 0.82rem;
	letter-spacing: 0.08rem;
	opacity: 0.78;
}

/* Clickable gallery images */
.gallery-popup {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.gallery-popup img {
	cursor: pointer;
	transition: transform 0.2s ease;
}

.gallery-popup:hover img {
	transform: scale(1.02);
}

/* In-page image popup */
.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	background: rgba(0, 0, 0, 0.86);
}

.gallery-lightbox.is-visible {
	display: flex;
}

.gallery-lightbox img {
	max-width: 95vw;
	max-height: 90vh;
	object-fit: contain;
	border: 3px solid rgba(20, 214, 223, 0.45);
	border-radius: 10px;
	box-shadow:
		0 0 22px rgba(20, 214, 223, 0.2),
		0 0 70px rgba(20, 214, 223, 0.12);
}

.gallery-lightbox-close {
	position: fixed;
	top: 1.25rem;
	right: 1.5rem;
	width: 3rem;
	height: 3rem;
	border: 2px solid rgba(20, 214, 223, 0.45);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.35);
	color: #ffffff;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
}

.gallery-lightbox-close:hover {
	background: rgba(20, 214, 223, 0.18);
}


/* ===== Gallery cleanup fix ===== */

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 1.75rem;
}

.gallery-item {
	border: 2px solid rgba(20, 214, 223, 0.22);
	border-radius: 10px;
	padding: 1rem;
	background: rgba(255,255,255,0.03);
	box-shadow: 0 0 14px rgba(20,214,223,0.08);
	overflow: hidden;
}

.gallery-popup {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 6px !important;
	line-height: 0 !important;
	cursor: pointer;
	overflow: hidden;
}

.gallery-popup img,
.gallery-item img {
	display: block !important;
	width: 100% !important;
	height: 220px !important;
	object-fit: cover !important;
	border-radius: 6px !important;
	border: 0 !important;
	background: rgba(255,255,255,0.04);
	transition: transform 0.2s ease;
}

.gallery-popup:hover img {
	transform: scale(1.03);
}

.gallery-item p {
	margin: 0.85rem 0 0 0 !important;
	text-align: center;
	font-size: 0.9rem;
	letter-spacing: 0.08rem;
	color: rgba(255,255,255,0.86);
}

/* In-page image popup */
.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	background: rgba(0, 0, 0, 0.88);
}

.gallery-lightbox.is-visible {
	display: flex;
}

.gallery-lightbox img {
	display: block;
	max-width: min(1100px, 94vw);
	max-height: 86vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border: 3px solid rgba(20, 214, 223, 0.45);
	border-radius: 10px;
	box-shadow:
		0 0 22px rgba(20, 214, 223, 0.2),
		0 0 70px rgba(20, 214, 223, 0.12);
}

.gallery-lightbox-close {
	position: fixed;
	top: 1.25rem;
	right: 1.5rem;
	width: 3rem;
	height: 3rem;
	border: 2px solid rgba(20, 214, 223, 0.45) !important;
	border-radius: 50%;
	background: rgba(20, 174, 183, 0.9) !important;
	color: #ffffff !important;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 !important;
	box-shadow: 0 0 18px rgba(20, 214, 223, 0.2);
}

.gallery-lightbox-close:hover {
	background: rgba(20, 214, 223, 1) !important;
}

@media screen and (max-width: 736px) {
	.gallery-grid {
		grid-template-columns: 1fr;
	}

	.gallery-popup img,
	.gallery-item img {
		height: 240px !important;
	}

	.gallery-lightbox {
		padding: 1rem;
	}

	.gallery-lightbox img {
		max-width: 94vw;
		max-height: 82vh;
	}
}
.shoptech-logo {
	width: 420px;
	max-width: 90%;
	display: block;
	margin: 0 auto 1.5rem auto;

	filter:
		drop-shadow(0 0 18px rgba(20,214,223,0.18));
}