/* Palavor — página de producto (recorrido del demo de Framer) */

body.pv-pdp-page {
	padding-top: 0;
	background: var(--pv-orange);
}

body.pv-pdp-page .pv-header,
body.pv-pdp-page .pv-progress {
	display: none;
}

body.pv-pdp-page #main {
	padding: 0;
}

.pv-pdp {
	--pdp-pad: 40px;
	--pdp-line: rgba(255, 255, 255, 0.38);
	--in: 0;
	--io: 0;
	--turn: 0;
	--dt: 0;
	--out: 0;
	--gy: 40vh;
	position: relative;
	color: #fff;
	font-family: var(--pv-body);
}

.pv-pdp p {
	margin: 0;
}

/* Navegación tipo pastilla, arriba a la derecha */
.pv-pdp__nav {
	position: fixed;
	top: var(--pdp-pad);
	right: var(--pdp-pad);
	z-index: 50;
	display: flex;
	gap: 4px;
	padding: 3px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	background: rgba(255, 68, 0, 0.35);
	backdrop-filter: blur(6px);
}

.pv-pdp__nav a {
	padding: 8px 12px;
	background: #fff;
	color: #6f6f6f;
	font-size: 16px;
	line-height: 1.1;
	text-decoration: none;
	transition: background 0.25s, color 0.25s;
}

.pv-pdp__nav a:hover,
.pv-pdp__nav a.is-active {
	background: var(--pv-ink);
	color: #fff;
}

.pv-pdp__nav .pv-cart-count {
	display: inline-grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	margin-left: 4px;
	padding: 0 4px;
	border-radius: 99px;
	background: var(--pv-orange);
	color: #fff;
	font-size: 11px;
}

/* Escenario fijo que se recorre con el scroll */
.pv-pdp__stage {
	position: relative;
	height: 560svh;
}

.pv-pdp__sticky {
	position: sticky;
	top: 0;
	height: 100svh;
	overflow: hidden;
	background: var(--pv-orange);
}

/* Cortina naranja que sube al final y conecta con la bolsa */
.pv-pdp__sticky::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 7;
	background: var(--pv-orange);
	transform: translateY(calc((1 - var(--out)) * 101%));
	pointer-events: none;
}

.pv-pdp__swoosh {
	position: absolute;
	top: -18vh;
	left: -22vh;
	width: 118vh;
	height: 118vh;
	color: rgba(255, 255, 255, 0.09);
	transform: rotate(-16deg) translateY(calc(var(--dt) * -4vh));
	pointer-events: none;
}

.pv-pdp__rain {
	position: absolute;
	inset: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	opacity: calc(1 - var(--dt));
	pointer-events: none;
}

/* Portada */
.pv-pdp__intro {
	position: absolute;
	inset: 0;
	z-index: 9;
	opacity: calc(1 - var(--io));
	pointer-events: none;
}

.pv-pdp__intro > * {
	pointer-events: auto;
}

.pv-pdp__intro.is-gone,
.pv-pdp__intro.is-gone > * {
	pointer-events: none;
}

.pv-pdp__panel {
	position: absolute;
	top: var(--pdp-pad);
	left: var(--pdp-pad);
	width: 260px;
	padding: 22px 24px 26px;
	border: 1px solid var(--pdp-line);
	background: rgba(255, 255, 255, 0.07);
	transform: translateY(calc(var(--io) * -30px));
}

.pv-pdp__panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.pv-pdp__panel-head strong {
	font-family: var(--pv-display);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

.pv-pdp__pause {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 1px solid var(--pdp-line);
	background: transparent;
	cursor: pointer;
}

.pv-pdp__pause span {
	width: 7px;
	height: 9px;
	border-inline: 2px solid #fff;
}

.pv-pdp__pause[aria-pressed="true"] span {
	width: 0;
	height: 0;
	border: 0;
	border-left: 8px solid #fff;
	border-block: 5px solid transparent;
}

.pv-pdp__range {
	display: grid;
	grid-template-columns: 1fr auto;
	margin-top: 12px;
	font-size: 14px;
	font-weight: 300;
}

.pv-pdp__range output {
	opacity: 0.75;
}

.pv-pdp__range input {
	grid-column: 1 / -1;
	width: 100%;
	height: 14px;
	margin: 6px 0 0;
	background: transparent;
	appearance: none;
	cursor: pointer;
}

.pv-pdp__range input::-webkit-slider-runnable-track {
	height: 1px;
	background: rgba(255, 255, 255, 0.7);
}

.pv-pdp__range input::-moz-range-track {
	height: 1px;
	background: rgba(255, 255, 255, 0.7);
}

.pv-pdp__range input::-webkit-slider-thumb {
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border: 0;
	border-radius: 0;
	background: #fff;
	appearance: none;
}

.pv-pdp__range input::-moz-range-thumb {
	width: 12px;
	height: 12px;
	border: 0;
	border-radius: 0;
	background: #fff;
}

.pv-pdp__range input:focus-visible {
	outline: 1px dashed #fff;
	outline-offset: 4px;
}

.pv-pdp__name,
.pv-pdp__big {
	font-family: var(--pv-display);
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 0.8;
	text-transform: lowercase;
	color: var(--pv-yellow);
}

.pv-pdp__name span,
.pv-pdp__big span {
	display: block;
	white-space: nowrap;
}

.pv-pdp__name {
	position: absolute;
	top: 25vh;
	left: 40vw;
	font-size: clamp(72px, 9.6vw, 170px);
	transform: translateY(calc(var(--io) * -6vh));
}

.pv-pdp__name span:first-child {
	padding-left: 0.6em;
}

.pv-pdp__meter {
	position: absolute;
	top: 18.5vh;
	left: 72vw;
}

.pv-pdp__drop {
	position: absolute;
	top: 36px;
	left: -28px;
	width: 11px;
	height: 15px;
	border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
	background: #fff;
	clip-path: polygon(50% 0, 100% 62%, 100% 100%, 0 100%, 0 62%);
}

.pv-pdp__bubble {
	display: inline-flex;
	align-items: flex-start;
	padding: 6px 22px 8px;
	border: 2px solid #fff;
	border-radius: 999px;
	font-weight: 200;
	line-height: 1;
}

.pv-pdp__bubble b {
	font-size: 66px;
	font-weight: 200;
	font-variant-numeric: tabular-nums;
}

.pv-pdp__bubble small {
	margin: 16px 0 0 2px;
	font-size: 26px;
}

.pv-pdp__meter-line {
	position: absolute;
	top: 82px;
	left: 46px;
	width: 236px;
	height: 1px;
	background: #fff;
	transform: rotate(135deg);
	transform-origin: 0 0;
}

.pv-pdp__meter-line i {
	position: absolute;
	right: -6px;
	top: -6px;
	width: 12px;
	height: 12px;
	background: #fff;
}

.pv-pdp__meter-label {
	position: absolute;
	top: 116px;
	left: 78px;
	width: 160px;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.1;
	text-transform: uppercase;
}

.pv-pdp__claim {
	position: absolute;
	bottom: var(--pdp-pad);
	left: var(--pdp-pad);
	width: min(420px, 32vw);
	transform: translateY(calc(var(--io) * 40px));
}

.pv-pdp__claim-mark {
	display: block;
	width: 72px;
	height: 72px;
	margin-bottom: 24px;
	color: #fff;
}

.pv-pdp__claim-title {
	font-family: var(--pv-display);
	font-size: clamp(28px, 2.6vw, 40px);
	font-weight: 600;
	line-height: 0.9;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.pv-pdp__claim-title span {
	display: block;
	padding-left: 45%;
}

.pv-pdp__claim-text {
	max-width: 230px;
	margin: 26px 0 0 60px !important;
	font-size: 12.5px;
	line-height: 1.25;
}

.pv-pdp__card {
	position: absolute;
	right: var(--pdp-pad);
	bottom: var(--pdp-pad);
	width: 210px;
	text-align: right;
	transform: translateY(calc(var(--io) * 40px));
}

.pv-pdp__card-frame {
	position: relative;
	display: block;
	width: 202px;
	margin-bottom: 18px;
	padding: 9px;
	border: 1px solid rgba(255, 255, 255, 0.45);
}

.pv-pdp__card-frame img {
	display: block;
	width: 100%;
	height: 162px;
	object-fit: contain;
	background: #fff;
}

.pv-pdp__card-frame i {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 11px;
	height: 11px;
	background: #fff;
}

.pv-barcode {
	display: block;
	width: 210px;
	height: 44px;
	color: #fff;
}

.pv-pdp__card p {
	margin-top: 14px;
	font-size: 12.5px;
	line-height: 1.25;
}

/* Panel blanco de la derecha */
.pv-pdp__white {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50.8%;
	right: 0;
	z-index: 2;
	background: #fff;
	transform: translateX(calc((1 - var(--dt)) * 101%));
}

/* Producto */
.pv-pdp__product {
	position: absolute;
	top: 7vh;
	left: 50%;
	z-index: 8;
	margin: 0;
	perspective: 1400px;
	transform:
		translate(calc(-50% - var(--out) * 31vw), calc((1 - var(--in)) * 86vh - var(--out) * 26vh))
		scale(calc(1 + (1 - var(--in)) * 0.12 - var(--out) * 0.78));
	opacity: calc(1 - var(--out) * 0.9);
	will-change: transform;
}

.pv-pdp__product img {
	display: block;
	width: auto;
	height: 88vh;
	max-width: none;
	transform: rotateY(calc(var(--turn) * 1deg));
	filter: drop-shadow(0 34px 44px rgba(60, 12, 0, 0.35));
}

/* Ficha */
.pv-pdp__detail {
	position: absolute;
	inset: 0;
	z-index: 9;
	opacity: calc(var(--dt) - var(--out) * 1.4);
	pointer-events: none;
}

.pv-pdp__detail.is-live .pv-pdp__info {
	pointer-events: auto;
}

.pv-pdp__info {
	position: absolute;
	top: var(--pdp-pad);
	bottom: var(--pdp-pad);
	left: var(--pdp-pad);
	display: flex;
	flex-direction: column;
	width: min(290px, 21vw);
	transform: translateY(calc((1 - var(--dt)) * 30px));
}

.pv-pdp__tagline {
	margin: 0 0 30px;
	color: #fff !important;
	font-size: clamp(28px, 2.5vw, 36px) !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase;
}

.pv-pdp__info > p:not([class]) {
	margin-bottom: 14px;
	font-size: 13px;
	line-height: 1.38;
	opacity: 0.95;
}

.pv-pdp__label {
	margin-top: 18px !important;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--pdp-line);
	font-size: 10.5px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.8;
}

.pv-pdp__specs {
	margin: 0;
}

.pv-pdp__specs div {
	display: grid;
	grid-template-columns: 44% 1fr;
	align-items: baseline;
	padding: 7px 0 8px;
	border-bottom: 1px solid var(--pdp-line);
}

.pv-pdp__specs dt {
	font-size: 27px;
	font-weight: 200;
	line-height: 1;
}

.pv-pdp__specs dt small {
	margin-left: 2px;
	font-size: 11px;
	font-weight: 300;
}

.pv-pdp__specs dd {
	margin: 0;
	font-size: 12px;
	line-height: 1.2;
}

.pv-pdp__buy {
	margin-top: auto;
	padding-top: 24px;
}

.pv-pdp__price {
	font-size: clamp(56px, 5.4vw, 80px);
	font-weight: 200;
	line-height: 1;
	letter-spacing: -0.03em;
}

.pv-pdp__price sup {
	top: -1.05em;
	margin-right: 4px;
	font-size: 0.42em;
}

.pv-pdp__price small {
	font-size: 0.42em;
}

.pv-pdp__price-note {
	margin: 12px 0 22px !important;
	font-size: 12.5px;
	line-height: 1.3;
}

.pv-pdp__order {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 13px 18px;
	background: #fff;
	color: var(--pv-orange);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.25s, color 0.25s;
}

.pv-pdp__order svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
}

.pv-pdp__order:hover {
	background: var(--pv-ink);
	color: #fff;
}

.pv-pdp__big {
	position: absolute;
	top: 34vh;
	left: 31vw;
	z-index: 9;
	font-size: clamp(56px, 7.6vw, 128px);
	transform: translateY(calc((1 - var(--dt)) * 4vh));
}

/* Esquinas de encuadre junto al producto */
.pv-pdp__brackets {
	position: absolute;
	top: 7.5vh;
	left: 38vw;
	z-index: 9;
	width: 60px;
	height: 60px;
	background:
		linear-gradient(#fff, #fff) 0 0 / 20px 2px,
		linear-gradient(#fff, #fff) 0 0 / 2px 20px,
		linear-gradient(#fff, #fff) 100% 0 / 20px 2px,
		linear-gradient(#fff, #fff) 100% 0 / 2px 20px,
		linear-gradient(#fff, #fff) 0 100% / 20px 2px,
		linear-gradient(#fff, #fff) 0 100% / 2px 20px,
		linear-gradient(#fff, #fff) 100% 100% / 20px 2px,
		linear-gradient(#fff, #fff) 100% 100% / 2px 20px;
	background-repeat: no-repeat;
}

/* Galería vertical a la derecha */
.pv-pdp__gallery {
	position: absolute;
	top: 0;
	right: var(--pdp-pad);
	z-index: 4;
	width: 24vw;
	opacity: calc(var(--dt) * 1.4 - 0.4 - var(--out) * 1.4);
	transform: translateY(var(--gy));
	will-change: transform;
}

.pv-pdp__gallery figure {
	margin: 0 0 16px;
	aspect-ratio: 2 / 3;
	background: #ececec;
	overflow: hidden;
}

.pv-pdp__gallery img {
	width: 100%;
	height: 100%;
	padding: 12%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

/* Avisos de WooCommerce (producto agregado, errores) */
.pv-pdp__toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	z-index: 60;
	width: min(560px, calc(100% - 32px));
	transform: translateX(-50%);
	transition: opacity 0.4s, transform 0.4s;
}

.pv-pdp__toast:not(.has-notice),
.pv-pdp__toast.is-hidden {
	opacity: 0;
	transform: translate(-50%, 20px);
	pointer-events: none;
}

.pv-pdp__toast .woocommerce-message,
.pv-pdp__toast .woocommerce-error,
.pv-pdp__toast .woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 14px 18px;
	border: 0;
	border-radius: 0;
	background: var(--pv-ink);
	color: #fff;
	font-size: 14px;
	list-style: none;
}

.pv-pdp__toast a.button {
	order: 2;
	padding: 8px 14px;
	background: var(--pv-orange);
	color: #fff;
	font-size: 13px;
}

/* Bolsa */
.pv-bag {
	position: relative;
	z-index: 2;
	background: var(--pv-orange);
	color: #fff;
}

.pv-bag__form {
	display: grid;
	grid-template-columns: 2fr 1fr;
	min-height: 100svh;
	margin: 0;
}

.pv-bag__main {
	display: flex;
	flex-direction: column;
	padding: var(--pdp-pad) 40px var(--pdp-pad) var(--pdp-pad);
}

.pv-bag__head {
	display: grid;
	grid-template-columns: 76px 1fr;
	align-items: start;
	margin-bottom: 44px;
}

.pv-bag__back {
	display: block;
	width: 48px;
	margin-top: 18px;
	color: #fff;
}

.pv-bag__back svg {
	width: 48px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
}

.pv-bag__eyebrow {
	font-size: 10px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.75;
}

.pv-bag h2 {
	margin: 4px 0 10px;
	color: #fff;
	font-size: clamp(34px, 3vw, 44px);
	line-height: 1;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}

.pv-bag h2 sup {
	top: -1.6em;
	margin-left: 6px;
	font-family: var(--pv-body);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0;
}

.pv-bag__sub {
	font-size: 14px;
	opacity: 0.9;
}

.pv-bag__table {
	width: 100%;
}

.pv-bag__cols,
.pv-bag__row {
	display: grid;
	grid-template-columns: 66px 1fr 150px 130px;
	gap: 20px;
	align-items: center;
}

.pv-bag__cols {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pdp-line);
	font-size: 10.5px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.85;
}

.pv-bag__cols span:first-child {
	grid-column: 1 / 3;
}

.pv-bag__cols span:nth-child(2) {
	text-align: center;
}

.pv-bag__cols span:last-child {
	text-align: right;
}

.pv-bag__row {
	padding: 14px 0;
	border-bottom: 1px solid var(--pdp-line);
}

.pv-bag__thumb {
	display: block;
	width: 66px;
	height: 72px;
	background: #fff;
}

.pv-bag__thumb img {
	width: 100%;
	height: 100%;
	padding: 4px;
	object-fit: contain;
}

.pv-bag__item {
	display: grid;
	gap: 4px;
	font-size: 13px;
}

.pv-bag__item strong {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

.pv-bag__item small {
	font-size: 11.5px;
	opacity: 0.75;
}

.pv-bag__qty {
	display: flex;
	justify-content: center;
}

.pv-bag__line {
	font-size: 16px;
	font-weight: 500;
	text-align: right;
}

/* Selector de cantidad: − 1 + con borde blanco */
.pv-bag .quantity {
	position: relative;
	display: inline-flex;
	align-items: stretch;
	height: 34px;
	margin: 0 !important;
	border: 1px solid #fff;
	--quantity-initial-color: #fff;
	--quantity-hover-color: #fff;
}

.pv-bag .quantity input.qty {
	width: 40px;
	height: 100% !important;
	padding: 0;
	border: 0 !important;
	background: transparent;
	color: #fff;
	font-size: 14px;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.pv-bag .quantity input.qty::-webkit-inner-spin-button,
.pv-bag .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
}

.pv-bag .quantity .ct-increase,
.pv-bag .quantity .ct-decrease,
.pv-bag__step {
	position: static !important;
	display: grid !important;
	place-items: center;
	width: 30px !important;
	height: auto !important;
	padding: 0;
	border: 0 !important;
	background: transparent;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
}

.pv-bag .quantity .ct-decrease {
	order: -1;
}

.pv-bag .quantity .ct-increase {
	order: 2;
}

.pv-bag__totals {
	align-self: flex-end;
	width: min(320px, 100%);
	margin: 24px 0 0;
	font-size: 13px;
}

.pv-bag__totals div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 4px 0;
}

.pv-bag__totals dd {
	margin: 0;
	text-align: right;
}

.pv-bag__grand {
	align-items: baseline;
	margin-top: 16px;
	padding-bottom: 22px !important;
	border-bottom: 1px solid var(--pdp-line);
}

.pv-bag__grand dt {
	font-size: 14px;
}

.pv-bag__grand dd {
	font-size: 34px;
	font-weight: 300;
	letter-spacing: -0.02em;
}

.pv-bag__code {
	display: grid;
	justify-items: center;
	gap: 12px;
	margin: 18px 0 48px;
	font-size: 9px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pv-bag__code .pv-barcode {
	width: 250px;
	height: 26px;
}

.pv-bag__foot {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: auto;
}

.pv-bag__mark {
	width: 64px;
	height: 64px;
	color: #fff;
}

.pv-bag__foot p {
	display: grid;
	gap: 4px;
	text-align: right;
}

.pv-bag__foot strong {
	font-size: 13px;
	font-weight: 500;
}

.pv-bag__foot small {
	font-size: 10.5px;
	opacity: 0.8;
}

.pv-bag__side {
	display: flex;
	flex-direction: column;
	padding: var(--pdp-pad);
	background: #fff;
	color: var(--pv-gray);
}

.pv-bag__side h2 {
	margin-top: 0;
	color: var(--pv-ink);
	font-size: clamp(28px, 2.4vw, 36px);
}

.pv-bag__side header p {
	max-width: 280px;
	font-size: 13px;
}

.pv-bag__points {
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.pv-bag__points li {
	display: grid;
	gap: 4px;
	padding: 12px 0;
	border-bottom: 1px solid #e6e6e6;
	font-size: 12.5px;
	line-height: 1.4;
}

.pv-bag__points strong {
	color: var(--pv-ink);
	font-size: 13px;
	font-weight: 600;
}

.pv-bag__label {
	margin: 28px 0 10px !important;
	font-size: 10.5px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pv-bag__options {
	display: grid;
	gap: 8px;
}

.pv-bag__option {
	display: grid;
	grid-template-columns: 36px 1fr 16px;
	gap: 14px;
	align-items: start;
	padding: 16px 18px;
	border: 1px solid #dcdcdc;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.25s;
}

.pv-bag__option.is-active {
	border-color: var(--pv-orange);
	background: #fff8f4;
}

a.pv-bag__option:hover {
	border-color: var(--pv-ink);
}

.pv-bag__option svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: var(--pv-orange);
	stroke-width: 1.3;
}

.pv-bag__option span {
	display: grid;
	gap: 3px;
}

.pv-bag__option strong {
	color: var(--pv-ink);
	font-size: 14px;
	font-weight: 500;
}

.pv-bag__option small {
	font-size: 12px;
}

.pv-bag__option i {
	width: 15px;
	height: 15px;
	border: 1px solid #9a9a9a;
	border-radius: 50%;
}

.pv-bag__option.is-active i {
	border-color: var(--pv-orange);
	box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 8px var(--pv-orange);
}

.pv-bag__submit,
.pv-bag__side .single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 56px;
	margin-top: 28px;
	padding: 0 20px;
	border: 0;
	border-radius: 0;
	background: var(--pv-orange);
	color: #fff;
	font-family: var(--pv-body);
	font-size: 14px;
	font-weight: 400;
	cursor: pointer;
	transition: background 0.25s;
}

.pv-bag__submit b {
	font-weight: 500;
}

.pv-bag__submit svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
}

.pv-bag__submit:hover {
	background: var(--pv-ink);
}

.pv-bag__note {
	margin-top: 10px !important;
	font-size: 11px;
}

/* Piezas que solo aparecen en móvil (como en el demo) */
.pv-pdp__logo,
.pv-pdp__fold,
.pv-pdp__discover,
.pv-bag__continue {
	display: none;
}

.pv-pdp__fold {
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.pv-pdp__fold::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: 4px auto 0;
	border-right: 1.5px solid #fff;
	border-bottom: 1.5px solid #fff;
	transform: rotate(45deg);
	transition: transform 0.3s var(--pv-ease);
}

.pv-pdp__fold[aria-expanded="true"]::before {
	margin-top: 9px;
	transform: rotate(-135deg);
}

.pv-pdp__discover,
.pv-bag__continue {
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
	background: #fff;
	color: var(--pv-orange);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}

.pv-pdp__discover svg,
.pv-bag__continue svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

/* Bolsa en columna en pantallas chicas */
@media (max-width: 860px) {
	.pv-bag__form {
		grid-template-columns: 1fr;
	}

	.pv-bag__main {
		padding: 48px 16px 32px;
	}

	.pv-bag__head {
		grid-template-columns: 1fr;
		margin-bottom: 28px;
	}

	.pv-bag__back {
		margin: 0 0 16px;
	}

	.pv-bag__cols {
		display: none;
	}

	.pv-bag__row {
		grid-template-columns: 56px 1fr auto;
		gap: 14px;
	}

	.pv-bag__qty {
		grid-column: 2;
		justify-content: flex-start;
	}

	.pv-bag__totals {
		width: 100%;
	}

	.pv-bag__continue {
		display: flex;
		justify-content: space-between;
		margin-top: 22px;
	}

	.pv-bag__side {
		padding: 32px 16px 40px;
		scroll-margin-top: 60px;
	}
}

/* Móvil con animación: el mismo recorrido del demo en una columna angosta */
@media (max-width: 860px) and (prefers-reduced-motion: no-preference) {
	.pv-pdp {
		--pdp-pad: 16px;
	}

	.pv-pdp__nav {
		top: 14px;
		right: 14px;
		gap: 3px;
		padding: 2px;
	}

	.pv-pdp__nav a {
		padding: 6px 7px;
		font-size: 12px;
	}

	.pv-pdp__nav a:nth-child(4) {
		display: none;
	}

	.pv-pdp__nav .pv-cart-count {
		min-width: 15px;
		height: 15px;
		margin-left: 2px;
		font-size: 10px;
	}

	.admin-bar .pv-pdp__nav {
		top: 60px;
	}

	.pv-pdp__stage {
		height: 330svh;
	}

	.pv-pdp__logo {
		position: absolute;
		top: 20px;
		left: 16px;
		display: inline-flex;
		color: #fff;
		font-size: 19px;
	}

	.pv-pdp__logo .pv-mark {
		width: 21px;
		height: 21px;
	}

	.pv-pdp__panel {
		top: 66px;
		right: 16px;
		left: 16px;
		width: auto;
		padding: 12px 14px;
	}

	.pv-pdp__panel-head {
		gap: 10px;
		margin: 0;
	}

	.pv-pdp__panel-head strong {
		flex: 1;
		font-size: 14px;
	}

	.pv-pdp__fold {
		display: block;
	}

	.pv-pdp__pause {
		width: 34px;
		height: 34px;
		background: rgba(255, 255, 255, 0.12);
	}

	.pv-pdp__ranges {
		display: none;
		padding-top: 4px;
	}

	.pv-pdp__panel.is-open .pv-pdp__ranges {
		display: block;
	}

	.pv-pdp__meter {
		top: 146px;
		right: 16px;
		left: auto;
		text-align: right;
	}

	.pv-pdp__drop {
		top: 22px;
		left: -20px;
	}

	.pv-pdp__bubble {
		padding: 4px 14px 6px;
	}

	.pv-pdp__bubble b {
		font-size: 38px;
	}

	.pv-pdp__bubble small {
		margin-top: 10px;
		font-size: 16px;
	}

	.pv-pdp__meter-line {
		display: none;
	}

	.pv-pdp__meter-label {
		position: static;
		display: block;
		width: 120px;
		margin: 8px 0 0 auto;
		font-size: 10px;
	}

	.pv-pdp__name {
		top: 36vh;
		left: 16px;
		font-size: 18vw;
	}

	.pv-pdp__claim {
		bottom: 18px;
		left: 16px;
		width: 56vw;
	}

	.pv-pdp__claim-mark {
		display: none;
	}

	.pv-pdp__claim-title {
		font-size: 20px;
	}

	.pv-pdp__claim-title span {
		padding-left: 22%;
	}

	.pv-pdp__claim-text {
		margin: 14px 0 0 !important;
		font-size: 11px;
	}

	.pv-pdp__card {
		bottom: 18px;
		right: 16px;
		width: 96px;
	}

	.pv-pdp__card-frame {
		width: 96px;
		margin-bottom: 10px;
		padding: 5px;
	}

	.pv-pdp__card-frame img {
		height: 76px;
	}

	.pv-pdp__card .pv-barcode {
		width: 96px;
		height: 24px;
	}

	.pv-pdp__card p {
		margin-top: 8px;
		font-size: 9.5px;
	}

	.pv-pdp__white {
		left: 58%;
	}

	.pv-pdp__product {
		top: 9vh;
	}

	.pv-pdp__product img {
		height: 60vh;
	}

	.pv-pdp__big {
		top: 31vh;
		left: 16px;
		font-size: 17vw;
		transform: translateY(calc((1 - var(--dt)) * 4vh - var(--in) * 20vh));
	}

	.pv-pdp__brackets {
		top: 11vh;
		left: 24vw;
		width: 46px;
		height: 46px;
	}

	.pv-pdp__discover {
		position: absolute;
		bottom: 18px;
		left: 16px;
		display: inline-flex;
		pointer-events: auto;
	}

	.pv-pdp__detail .pv-pdp__info {
		display: none;
	}

	.pv-pdp__gallery {
		right: 5vw;
		width: 27vw;
	}

	.pv-pdp__gallery figure {
		margin-bottom: 10px;
	}

	/* La ficha llega por debajo del escenario, en orden de lectura */
	.pv-pdp__info-slot {
		position: relative;
		z-index: 3;
		padding: 48px 16px 40px;
		background: var(--pv-orange);
		scroll-margin-top: 0;
	}

	.pv-pdp__info-slot .pv-pdp__info {
		position: static;
		display: block;
		width: auto;
		transform: none;
	}

	.pv-pdp__info-slot .pv-pdp__tagline {
		font-size: 34px !important;
	}

	.pv-pdp__info-slot .pv-pdp__info > p:not([class]) {
		font-size: 15px;
	}

	.pv-pdp__info-slot .pv-pdp__specs dt {
		font-size: 32px;
	}

	.pv-pdp__info-slot .pv-pdp__specs dd {
		font-size: 13px;
	}

	.pv-pdp__info-slot .pv-pdp__buy {
		margin-top: 36px;
	}
}

/* Movimiento reducido: todo en columna, sin escenario fijo */
@media (prefers-reduced-motion: reduce) {
	.pv-pdp {
		--pdp-pad: 16px;
	}

	.pv-pdp__nav {
		top: 12px;
		right: 12px;
		left: 12px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.pv-pdp__nav a {
		flex: none;
		font-size: 13px;
	}

	.pv-pdp__stage {
		height: auto;
	}

	.pv-pdp__sticky {
		position: relative;
		display: flex;
		flex-direction: column;
		height: auto;
		padding: 84px 16px 40px;
	}

	.pv-pdp__sticky::after,
	.pv-pdp__rain,
	.pv-pdp__white,
	.pv-pdp__panel,
	.pv-pdp__meter,
	.pv-pdp__card,
	.pv-pdp__big,
	.pv-pdp__brackets {
		display: none;
	}

	.pv-pdp__intro,
	.pv-pdp__detail {
		display: contents;
	}

	.pv-pdp__name,
	.pv-pdp__claim,
	.pv-pdp__product,
	.pv-pdp__info,
	.pv-pdp__gallery {
		position: relative;
		inset: auto;
		width: auto;
		opacity: 1;
		transform: none;
	}

	.pv-pdp__name {
		order: 1;
		z-index: 4;
		font-size: min(21vw, 140px);
	}

	.pv-pdp__product {
		order: 2;
		z-index: 2;
		align-self: center;
		margin-top: -8vw;
	}

	.pv-pdp__product img {
		height: auto;
		width: min(74vw, 380px);
		transform: none;
	}

	.pv-pdp__claim {
		order: 3;
		margin-top: 24px;
	}

	.pv-pdp__claim-mark {
		display: none;
	}

	.pv-pdp__claim-text {
		margin: 14px 0 0 !important;
	}

	.pv-pdp__info {
		order: 4;
		margin-top: 48px;
	}

	.pv-pdp__buy {
		margin-top: 28px;
	}

	.pv-pdp__gallery {
		order: 5;
		display: flex;
		gap: 10px;
		margin: 40px -16px 0;
		padding: 0 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.pv-pdp__gallery figure {
		flex: none;
		width: min(62vw, 320px);
		margin: 0;
		scroll-snap-align: start;
	}
}
