/* ===== Buy Now Module (nrp1) ===== */
.buynow-module .bn-row { margin-top: 1rem; }

/* --- Gallery (placeholders for now) --- */
.buynow-module .bn-gallery__main {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	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;
	flex-wrap: wrap;
}
.buynow-module .bn-thumb {
	width: 72px;
	height: 72px;
	background: #f3f4f6;
	border: 2px solid #e5e7eb;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	flex: 0 0 auto;
}
.buynow-module .bn-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.buynow-module .bn-thumb.active { border-color: #2563eb; }

/* --- Info column --- */
.buynow-module .bn-info__title {
	font-size: 2rem;
	font-weight: 800;
	margin: 0 0 .35rem;
}
.buynow-module .bn-info__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #374151;
	font-weight: 600;
	margin-bottom: 1rem;
}
.buynow-module .bn-info__rating .fa { color: #f5b301; }
.buynow-module .bn-info__lead { font-weight: 700; margin-bottom: .5rem; }
.buynow-module .bn-info__features {
	list-style: none;
	padding: 0;
	margin: 0 0 1.4rem;
}
.buynow-module .bn-info__features li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 0;
	font-size: 1.05rem;
}
.buynow-module .bn-info__features .fa { color: #22c55e; font-size: 1.2rem; }
.buynow-module .bn-info__features sup { color: #9ca3af; }

/* --- Package tiles --- */
.buynow-module .bn-packages {
	display: flex;
	gap: 12px;
	margin-bottom: 1rem;
}
.buynow-module .bn-pkg {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	border: 2px solid #e5e7eb;
	border-radius: 12px;
	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: #2563eb;
	box-shadow: 0 0 0 1px #2563eb inset;
}
.buynow-module .bn-pkg__badge {
	position: absolute;
	top: -11px;
	left: -2px;
	white-space: nowrap;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .03em;
	color: #fff;
	padding: 3px 10px;
	border-radius: 5px;
}
.buynow-module .bn-pkg__badge.popular { background: #22c55e; }
.buynow-module .bn-pkg__badge.best { background: #f97316; }
.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 #cbd5e1;
	border-radius: 50%;
	position: relative;
}
.buynow-module .bn-pkg.active .bn-pkg__radio {
	border-color: #2563eb;
}
.buynow-module .bn-pkg.active .bn-pkg__radio::after {
	content: "";
	position: absolute;
	inset: 3px;
	background: #2563eb;
	border-radius: 50%;
}
.buynow-module .bn-pkg__name {
	font-weight: 800;
	color: #2563eb;
	font-size: 1.15rem;
}
.buynow-module .bn-pkg__each { font-size: .95rem; color: #111827; }
.buynow-module .bn-pkg__each strong { font-size: 1.05rem; }
.buynow-module .bn-pkg__total { font-size: .8rem; color: #9ca3af; margin-top: 2px; }

/* --- Purchase type toggle --- */
.buynow-module .bn-purchase {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 1.2rem;
}
.buynow-module .bn-purchase__opt {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	margin: 0;
	cursor: pointer;
	font-size: 1.15rem;
}
.buynow-module .bn-purchase__opt .bn-radio {
	width: 20px;
	height: 20px;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	position: relative;
	flex: 0 0 auto;
}
.buynow-module .bn-purchase__opt.active .bn-radio { border-color: #2563eb; }
.buynow-module .bn-purchase__opt.active .bn-radio::after {
	content: "";
	position: absolute;
	inset: 3px;
	background: #2563eb;
	border-radius: 50%;
}
/* Divider sits above the One-Time option so it shows for both states */
.buynow-module .bn-purchase__opt[data-type="onetime"] {
	border-top: 1px solid #e5e7eb;
}
.buynow-module .bn-purchase__sub {
	padding: 4px 18px 16px 50px;
}
.buynow-module .bn-purchase__sub p { margin: 0 0 8px; color: #374151; }
.buynow-module .bn-purchase__sub ul { list-style: none; padding: 0; margin: 0; }
.buynow-module .bn-purchase__sub li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 3px 0;
	color: #374151;
}
.buynow-module .bn-purchase__sub li .fa { color: #22c55e; }

/* --- Add to cart --- */
.buynow-module .bn-atc {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border: none;
	background: #16a34a;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: .02em;
	padding: 18px 20px;
	border-radius: 12px;
	cursor: pointer;
	transition: background .15s;
}
.buynow-module .bn-atc:hover { background: #15803d; }

/* --- Responsive --- */
@media (max-width: 991px) {
	.buynow-module .bn-info { margin-top: 1.5rem; }
}
@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; }
}
