/* PFL Control Panel — Galería */
.pfl-carousel{
	--pfl-pv:var(--pfl-pv-d,4);
	position:relative;
	padding:0 calc(var(--pfl-arrow-size,28px) + 12px);
	box-sizing:border-box;
	width:100%;
}
@media (max-width:1024px){ .pfl-carousel{ --pfl-pv:var(--pfl-pv-t,2); } }
@media (max-width:767px){
	.pfl-carousel{ --pfl-pv:var(--pfl-pv-m,1); padding:0 calc(var(--pfl-arrow-size,28px) + 4px); }
}

.pfl-carousel__viewport{ overflow:hidden; }

.pfl-carousel__track{
	position:relative;
	display:flex;
	gap:var(--pfl-gap,20px);
	transition:transform var(--pfl-transition,500ms) cubic-bezier(.25,.8,.25,1);
	will-change:transform;
	touch-action:pan-y;
	cursor:grab;
	user-select:none;
	-webkit-user-select:none;
}
.pfl-carousel__track.is-dragging{ cursor:grabbing; }
.pfl-carousel.no-anim .pfl-carousel__track{ transition:none; }

.pfl-carousel__slide{
	flex:0 0 calc((100% - (var(--pfl-pv) - 1) * var(--pfl-gap,20px)) / var(--pfl-pv));
	min-width:0;
	box-sizing:border-box;
}

.pfl-carousel__frame{
	display:block;
	overflow:hidden;
	border-style:solid;
	border-width:var(--pfl-bw,3px);
	border-color:var(--pfl-bc,#f26522);
	border-radius:var(--pfl-radius,0);
	box-sizing:border-box;
	line-height:0;
	background:#000;
}
.pfl-carousel__frame:focus-visible{ outline:2px solid var(--pfl-arrow-color,#fff); outline-offset:3px; }

.pfl-carousel .pfl-carousel__img{
	display:block;
	width:100%;
	height:auto;
	max-width:none;
	margin:0;
	border:0;
	border-radius:0;
	box-shadow:none;
	-webkit-user-drag:none;
	transition:transform .4s ease, filter .4s ease;
}
.pfl-carousel--hover .pfl-carousel__frame:hover .pfl-carousel__img{
	transform:scale(1.04);
	filter:brightness(1.08);
}

/* Flechas */
.pfl-carousel .pfl-carousel__arrow{
	position:absolute;
	top:50%;
	z-index:2;
	transform:translateY(-50%);
	width:var(--pfl-arrow-size,28px);
	height:calc(var(--pfl-arrow-size,28px) * 1.6);
	padding:0;
	margin:0;
	border:0;
	border-radius:4px;
	background:transparent;
	color:var(--pfl-arrow-color,#fff);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	box-shadow:none;
	transition:opacity .2s ease, transform .2s ease;
}
.pfl-carousel .pfl-carousel__arrow svg{ width:100%; height:100%; display:block; filter:drop-shadow(0 1px 3px rgba(0,0,0,.6)); }
.pfl-carousel .pfl-carousel__arrow:hover,
.pfl-carousel .pfl-carousel__arrow:focus{ background:transparent; color:var(--pfl-arrow-color,#fff); opacity:.75; }
.pfl-carousel .pfl-carousel__arrow:focus-visible{ outline:2px solid var(--pfl-arrow-color,#fff); outline-offset:2px; }
.pfl-carousel .pfl-carousel__arrow--prev{ left:0; }
.pfl-carousel .pfl-carousel__arrow--next{ right:0; }
.pfl-carousel .pfl-carousel__arrow--prev:active{ transform:translateY(-50%) translateX(-2px); }
.pfl-carousel .pfl-carousel__arrow--next:active{ transform:translateY(-50%) translateX(2px); }
.pfl-carousel .pfl-carousel__arrow:disabled{ opacity:.25; cursor:default; }

/* Si todas las imágenes caben en pantalla, no hay flechas */
.pfl-carousel.is-static .pfl-carousel__arrow{ visibility:hidden; }
.pfl-carousel.is-static .pfl-carousel__track{ cursor:default; }

@media (prefers-reduced-motion:reduce){
	.pfl-carousel__track,
	.pfl-carousel .pfl-carousel__img{ transition:none; }
}
