/* ===== Buy Now Module (ported from nrp1) =====
 * Layout/structure from the nrp1 source; colors and fonts remapped to the
 * xytomax theme (green #63bc17 CTA, blue #00b4ff accent, Roboto / Prompt /
 * Roboto Condensed). Subscribe & Save removed.
 */

.buynow-section { background: #fff; border-top: 1px solid #ddd; }
.buynow-module {
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	color: #333;
}
.buynow-module { margin-top: 2.5rem; }
.buynow-module .bn-row { margin-top: 1rem; }

/* --- Gallery --- */
.buynow-module .bn-gallery__main {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #f5f5f5;
	border: 1px solid #e3e3e3;
	border-radius: 3px;
	overflow: hidden;
}
.buynow-module .bn-gallery__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.buynow-module .bn-gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}
.buynow-module .bn-thumb {
	flex: 1 1 0;
	min-width: 0;
	aspect-ratio: 1 / 1;
	background: #f5f5f5;
	border: 2px solid #e3e3e3;
	border-radius: 3px;
	overflow: hidden;
	cursor: pointer;
}
.buynow-module .bn-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.buynow-module .bn-thumb.active { border-color: #00b4ff; }

/* --- Info column --- */
.buynow-module .bn-info__title {
	font-family: "Prompt", Helvetica, Arial, sans-serif;
	font-size: 3rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #000;
}
.buynow-module .bn-info__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #5d5d5d;
	font-weight: 600;
	margin-bottom: 1rem;
}
.buynow-module .bn-info__rating .fa { color: #f5b301; }
.buynow-module .bn-info__lead {
	font-family: "Prompt", Helvetica, Arial, sans-serif;
	font-size: 2rem;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: .5rem;
}
.buynow-module .bn-info__features {
	list-style: none;
	padding: 0;
	margin: 1rem 0 3rem;
}
.buynow-module .bn-info__features li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 3px 0;
	font-size: 1.65rem;
}
.buynow-module .bn-info__features .fa { color: #63bc17; font-size: 1.2rem; }
.buynow-module .bn-info__features sup { color: #979797; }

/* --- Package tiles (4-up) --- */
.buynow-module .bn-packages {
	display: flex;
	gap: 12px;
	margin-bottom: 1.4rem;
}
.buynow-module .bn-pkg {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	border: 2px solid #e3e3e3;
	border-radius: 3px;
	padding: 18px 10px 14px;
	cursor: pointer;
	text-align: left;
	transition: border-color .15s, box-shadow .15s;
	background: #fff;
}
.buynow-module .bn-pkg.active {
	border-color: #00b4ff;
	box-shadow: 0 0 0 1px #00b4ff inset;
}
.buynow-module .bn-pkg__badge {
	position: absolute;
	top: -11px;
	left: -2px;
	white-space: nowrap;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #fff;
	padding: 3px 10px;
	border-radius: 3px;
}
.buynow-module .bn-pkg__badge.advanced { background: #f97316; }
.buynow-module .bn-pkg__badge.maximum { background: #00b4ff; }
.buynow-module .bn-pkg__badge.ultimate { background: #63bc17; }
.buynow-module .bn-pkg__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}
.buynow-module .bn-pkg__body {
	/* align prices under the package name (dot width 20px + gap 8px) */
	padding-left: 28px;
}
.buynow-module .bn-pkg__radio {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	border: 2px solid #ccc;
	border-radius: 50%;
	position: relative;
}
.buynow-module .bn-pkg.active .bn-pkg__radio {
	border-color: #00b4ff;
}
.buynow-module .bn-pkg.active .bn-pkg__radio::after {
	content: "";
	position: absolute;
	inset: 3px;
	background: #00b4ff;
	border-radius: 50%;
}
.buynow-module .bn-pkg__name {
	font-family: "Prompt", Helvetica, Arial, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #00b4ff;
	font-size: 1.5rem;
}
.buynow-module .bn-pkg__each { font-size: 1.15rem; color: #000; }
.buynow-module .bn-pkg__each strong { font-size: 1.35rem; }
.buynow-module .bn-pkg__total { font-size: 1.2rem; color: #979797; margin-top: 3px; }

/* --- Add to cart (matches site .btn-success) --- */
.buynow-module .bn-atc {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border: none;
	background: #63bc17;
	color: #fff;
	font-family: "Roboto Condensed", Helvetica, Arial, sans-serif;
	font-size: 1.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	padding: 18px 20px;
	border-radius: 3px;
	cursor: pointer;
	transition: background .15s;
}
.buynow-module .bn-atc:hover { background: #559f13; }

/* --- Responsive --- */
@media (max-width: 991px) {
	.buynow-module .bn-info { margin-top: 1.5rem; }
}
/* 4 tiles wrap to a 2x2 grid on small screens */
@media (max-width: 575px) {
	.buynow-module .bn-packages { flex-wrap: wrap; }
	.buynow-module .bn-pkg { flex: 1 1 calc(50% - 12px); }
}
@media (max-width: 420px) {
	.buynow-module .bn-pkg { padding: 18px 6px 12px; }
	.buynow-module .bn-pkg__name { font-size: 1rem; }
	.buynow-module .bn-pkg__each strong { font-size: .95rem; }
}
