/* Isolated styles for parada ranking scroller */
.parada-ranking-root{ padding: 12px 0; --pr-inset: 12px; --pr-gap: 3px; --pr-card-w: 75vw; }
.pr-scroller{
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.pr-scroller::-webkit-scrollbar{ display:none; }
.parada-ranking-root .pr-scroller{
	padding-inline-start: var(--pr-inset) !important;
	padding-inline-end: 0 !important;
	scroll-padding-inline: var(--pr-inset) !important;
}
.pr-track{ display:flex; gap:var(--pr-gap); padding-block:6px 18px; align-items:stretch; }
.parada-ranking-root .pr-track::after{
	content: '';
	flex: 0 0 24px;
	margin-left: calc(var(--pr-gap) * -1);
	width: 24px;
	height: 1px;
}
.pr-card{ flex:0 0 var(--pr-card-w); min-width:var(--pr-card-w); display:flex; flex-direction:column; background:#fff; border-radius:0; border: 0.5px solid #b2bab1; text-decoration:none; color:inherit; box-shadow:0 4px 12px rgba(0,0,0,0.12); overflow:hidden; }
.pr-card:focus{ outline:2px solid rgba(0,128,0,0.12); }
/* Make product images square (1:1) while keeping object-fit:cover */
.pr-img{
	width:100%;
	height:auto;
	aspect-ratio: 1 / 1;
	background:#f6f6f6;
	display:block;
	overflow:hidden;
}
.pr-img{ position: relative; }

/* default wrapper for action stepper inside image */
.product-action-stepper-wrapper{ position: absolute; right: 5px; bottom: 5px; z-index: 999; pointer-events: auto; display: inline-block; background: transparent; box-shadow: 0 0 0 0.5px rgba(255,255,255,0.95); border-radius: calc(var(--stepper-height, var(--stepper-height-default)) / 2 + 2px); }
.pr-img.img-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 3px solid rgba(0,0,0,0.12);
	border-top-color: #5B7065;
	animation: pr-spin 0.7s linear infinite;
	pointer-events: none;
}
@keyframes pr-spin {
	to { transform: rotate(360deg); }
}
.pr-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.pr-meta{ padding:8px 10px; display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; text-align:center; flex:1; }
.pr-name{ font-size:0.98rem; font-weight:600; color:#111; line-height:1.1; }
/* weight label next to featured product name */
.pr-name .product-qty { color: var(--muted-text, #6a7a72) !important; font-weight: 400 !important; font-size: 0.9rem !important; margin-left: 6px; display:inline-block; vertical-align: baseline; }
.pr-price{ font-size:1.05rem; color:#2b6b4a; font-weight:700; }
.pr-unit{ font-size:0.9rem; font-weight:400; color:#6a7a72; margin-left:6px; }
.pr-per { font-size: 0.9rem; color: var(--muted-text, #6a7a72); font-weight: 400; margin-left: 6px; }
@media(min-width:768px){
	.pr-card{ flex:0 0 min(75vw, 260px); min-width:min(75vw, 260px); }
	/* larger card but keep square image */
	.pr-img{ aspect-ratio: 1 / 1; }
	.pr-name{ font-size:1.05rem; }
	.pr-price{ font-size:1.15rem; }
}

/* First card should keep rounded left corners */
.pr-track .pr-card:first-of-type {
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
}

/* Last card: rounded right corners to mirror the first card */
.pr-track .pr-card:last-of-type {
	border-top-right-radius: 16px;
	border-bottom-right-radius: 16px;
}

/* Floating "ver todos" button after the last card, inline in the scroll track */
.pr-more-float {
	flex: 0 0 150px;
	width: 150px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0 12px;
	text-decoration: none;
	scroll-snap-align: end;
}
.pr-more-float-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
	border: 0.5px solid #b2bab1;
	box-shadow: 0 2px 8px rgba(0,0,0,0.13);
	font-size: 1.8rem;
	font-weight: 300;
	color: #1e4a2a;
	line-height: 1;
}
.pr-more-float-label {
	font-size: 1rem;
	font-weight: 400;
	color: rgba(33, 37, 41, 0.75);
	text-align: center;
	white-space: normal;
	max-width: 126px;
	line-height: 1.2;
}

/* Scroll indicator for featured products (dark dots/dash) */
.pr-indicator{
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:10px;
	padding-inline:12px;
}
.pr-indicator span{
	display:inline-block;
	width:6px;
	height:6px;
	background: rgba(0,0,0,0.45);
	border-radius:50%;
	transition: all .18s ease;
}
.pr-indicator span.active{
	width:18px;
	height:6px;
	border-radius:3px;
	background: rgba(0,0,0,0.85);
}
