/* Offer cards banner — uses OAC commerce tokens */
.pnp-rail-wrap { margin: 30px auto; text-align: center; }
.pnp-rail-inner { display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.pnp-rail-viewport { overflow: hidden; }
.pnp-offer-rail { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 0; }
.pnp-offer-rail::-webkit-scrollbar { display: none; }
.pnp-card {
	flex: 0 0 260px;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: var(--oac-btn-radius, 6px);
	display: flex;
	flex-direction: column;
	text-align: center;
	scroll-snap-align: start;
	transition: box-shadow .2s;
	padding: 24px 18px;
	justify-content: space-between;
}
.pnp-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.pnp-title { font-size:16px; line-height:1.35; margin:0 0 18px; }
.pnp-btn,
a.pnp-btn {
	padding: 10px 16px;
	font-size: 14px;
	text-decoration: none;
	display: inline-block;
}
.pnp-card > a.pnp-img-link { display: block; margin-bottom: 12px; }
.pnp-card > a.pnp-img-link > img {
	display: block;
	height: 150px !important;
	width: auto !important;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 4px;
	cursor: pointer;
	transition: transform .2s;
}
.pnp-card > a.pnp-img-link:hover > img { transform: scale(1.05); }
.pnp-rail-arrow {
	width: 32px; height: 32px;
	border-radius:50%; background: var(--oac-primary-active-border, #3d7a28); color:#fff;
	border:none; display:flex; align-items:center; justify-content:center;
	cursor:pointer; opacity:.9; font-size:20px; line-height:1;
}
.pnp-rail-arrow:hover { opacity:1; }
.pnp-rail-arrow[hidden] { display:none; }
.pnp-dots { display:flex; gap:8px; justify-content:center; margin-top:14px; }
.pnp-dot {
	width:8px; height:8px; border-radius:50%; background:#c5c5c5;
	cursor:pointer;
}
.pnp-dot.active { background: var(--oac-primary, #79b255); }
@media(max-width:767px) {
	.pnp-rail-viewport { width:82vw; }
	.pnp-rail-arrow.left  { margin-right:8px; }
	.pnp-rail-arrow.right { margin-left:8px; }
	.pnp-rail-arrow { width:28px; height:28px; }
	.pnp-card { flex:0 0 82vw; }
}
@media(min-width:768px) {
	.pnp-rail-viewport { width: calc(260px * 3 + 20px * 2); }
	.pnp-rail-arrow.left  { margin-right:12px; }
	.pnp-rail-arrow.right { margin-left:12px; }
}
