/* ==========================================================================
   PVPro Dropshipping — landing.css
   Página de producto como una sola pantalla continua (una columna, estilo app).
   1. Columna única       4. Botón de compra y confianza
   2. Galería y encabezado 5. Secuencia de imágenes y videos
   3. Ofertas y opciones   6. Reseñas, especificaciones, barra fija
   ========================================================================== */

/* 1. Columna única ---------------------------------------------------------- */
.single-product .site-main { background: var(--color-background); }
.landing {
	max-width: 620px;
	margin: 0 auto;
	padding-bottom: 8px;
	background: var(--color-background);
}
.landing-notices:empty,
.landing-notices .woocommerce-notices-wrapper:empty { display: none; }
.landing-notices { max-width: 620px; }
.landing__buy { padding: 18px 20px 4px; }
.landing .container,
.landing .container--flow { max-width: 620px; padding-inline: 20px; }

@media (min-width: 700px) {
	body.single-product { background: var(--color-cream); }
	.single-product .site-main { background: transparent; padding: 24px 0 8px; }
	.landing {
		overflow: hidden;
		border-radius: 20px;
		box-shadow: 0 1px 2px rgba(19, 67, 90, .06), 0 12px 40px -12px rgba(19, 67, 90, .18);
	}
	.single-product .site-footer { margin-top: 24px; }
}

/* 2. Galería y encabezado --------------------------------------------------- */
.pgallery { position: relative; background: var(--color-cream); }
.pgallery .hslider__slide { aspect-ratio: 1 / 1; }
.pgallery .hslider__slide img,
.pgallery__img { width: 100%; height: 100%; object-fit: cover; }
.pgallery .hslider__dots { bottom: 12px; }
.pgallery .hslider__dot { width: 7px; height: 7px; background: rgba(255, 255, 255, .75); box-shadow: 0 0 0 1px rgba(19, 67, 90, .15); }
.pgallery .hslider__dot.is-active { width: 20px; background: #fff; }
.pgallery__count {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 3px 10px;
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, .9);
	color: var(--color-secondary);
	font-size: .75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.landing__rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	color: var(--color-muted);
	font-size: .875rem;
	font-weight: 500;
	text-decoration: none;
}
.landing__rating .stars { font-size: 1rem; }
.landing__title {
	color: var(--color-text);
	font-size: clamp(1.375rem, 1.2rem + 1vw, 1.75rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.025em;
}
.landing .pprice { gap: 8px 12px; margin: 10px 0 2px; }
.landing .pprice .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 10px;
	margin: 0;
	color: var(--color-text);
	font-size: 1.75rem;
	font-weight: 800;
	letter-spacing: -.02em;
}
.landing .pprice .price ins { order: 2; text-decoration: none; color: var(--color-danger); }
.landing .pprice .price del { order: 1; color: var(--color-muted); font-size: 1rem; font-weight: 500; }
.landing .pprice__badge {
	padding: 4px 10px;
	border-radius: var(--radius-pill);
	background: color-mix(in srgb, var(--color-primary) 12%, #fff);
	color: var(--color-primary);
	font-size: .8125rem;
	font-weight: 700;
	text-transform: none;
}
.landing .pprice__badge .amount { color: inherit; }

.landing__short { margin: 14px 0 4px; color: var(--color-text); font-size: .9375rem; }
.landing__short p { margin: 0 0 8px; }
.landing__short ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.landing__short li { position: relative; padding-left: 26px; font-weight: 500; }
.landing__short li::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 2px;
	width: 14px;
	height: 8px;
	border-left: 2.5px solid var(--color-primary);
	border-bottom: 2.5px solid var(--color-primary);
	transform: rotate(-45deg);
}

/* 3. Ofertas y opciones ----------------------------------------------------- */
.landing-offers { margin: 20px 0 4px; }
.landing-offers__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	color: var(--color-muted);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .06em;
	white-space: nowrap;
}
.landing-offers__title::before,
.landing-offers__title::after { content: ""; flex: 1; height: 1px; background: var(--color-border); }
.landing-offers .offers { gap: 10px; }
.landing-offers .offer { padding: 14px; border: 1.5px solid var(--color-border); background: #fff; }
.landing-offers .offer.is-selected { border-color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 5%, #fff); }
.landing-offers .offer__qty { font-size: 1rem; font-weight: 700; }
.landing-offers .offer__price b { font-size: 1.125rem; font-weight: 800; color: var(--color-text); }
.landing-offers .offer__badge { top: -9px; padding: 2px 10px; background: var(--color-secondary); font-size: .6875rem; font-weight: 700; }

.landing__sizes {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--color-secondary);
	font-weight: 600;
	font-size: .875rem;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.sizeguide {
	width: min(620px, calc(100vw - 24px));
	max-height: 90vh;
	padding: 0;
	border: 0;
	border-radius: 18px;
	box-shadow: var(--shadow-lg);
}
.sizeguide::backdrop { background: rgba(10, 30, 40, .55); }
.sizeguide img { width: 100%; height: auto; }
.sizeguide form { position: absolute; top: 8px; right: 8px; }
.sizeguide__close { background: rgba(255, 255, 255, .92); }

.landing form.cart { margin: 12px 0 0; }
.landing form.cart::after { content: ""; display: table; clear: both; }
.landing form.cart .variations { width: 100%; margin: 0 0 4px; border: 0; }
.landing form.cart .variations tr { display: block; margin-bottom: 12px; }
.landing form.cart .variations th,
.landing form.cart .variations td { display: block; padding: 0 0 8px; text-align: left; line-height: 1.3; border: 0; background: none; }
.landing form.cart .variations label { font-size: .875rem; font-weight: 700; }
.landing form.cart .reset_variations { display: inline-block; margin-top: 6px; font-size: .8125rem; color: var(--color-muted); }
.landing form.cart .variations.needs-choice { animation: pvpro-shake .45s; }
.landing form.cart .variations.needs-choice .swatches { outline: 2px dashed var(--color-danger); outline-offset: 6px; border-radius: 8px; }
.landing .swatch { min-height: 40px; padding: 6px 16px; font-weight: 600; font-size: .875rem; }
.landing .swatch.is-active { border-color: var(--color-text); background: var(--color-text); color: #fff; }
.landing .woocommerce-variation-price { margin-bottom: 6px; font-weight: 800; color: var(--color-danger); }
.landing form.cart .quantity { display: inline-flex; float: none; margin: 0 0 4px; }
.js .pvpro-has-bundles .landing form.cart .quantity { display: none !important; }
.quantity--stepper, .landing form.cart .quantity {
	align-items: center;
	overflow: hidden;
	border: 1.5px solid var(--color-border);
	border-radius: 12px;
}
.landing form.cart .quantity .qty {
	width: 48px !important;
	min-height: 46px;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}
.landing form.cart .quantity .qty::-webkit-outer-spin-button,
.landing form.cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.landing .qbtn { width: 46px; height: 46px; border: 0; background: none; color: var(--color-text); font-size: 1.25rem; }
.landing .qbtn:hover { background: var(--color-surface); }

/* Botón nativo: visible sin JavaScript; con JavaScript se usa el de dos líneas. */
.landing form.cart .single_add_to_cart_button {
	width: 100%;
	min-height: 56px;
	margin-top: 10px;
	border-radius: 14px;
	background: var(--color-primary);
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
}
.js .landing--quick form.cart .single_add_to_cart_button {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	opacity: 0;
	pointer-events: none;
}
.landing .stock.out-of-stock { color: var(--color-danger); font-weight: 700; }

/* 4. Botón de compra y confianza -------------------------------------------- */
.landing-cta { display: none; }
.js .landing--quick .landing-cta,
.js .sticky-buy .landing-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	min-height: 62px;
	margin: 14px 0 4px;
	padding: 10px 18px;
	border: 0;
	border-radius: 14px;
	background: var(--color-primary);
	color: #fff;
	box-shadow: 0 10px 24px -14px var(--color-primary);
	cursor: pointer;
	transition: background-color .15s, transform .12s var(--ease);
}
.js .landing-cta:hover { background: var(--primary-hover); }
.js .landing-cta:active { transform: scale(.985); }
.landing-cta .icon { flex: 0 0 auto; }
.landing-cta__text { display: grid; gap: 1px; line-height: 1.2; text-align: left; }
.landing-cta__text strong { font-size: 1.0625rem; font-weight: 800; }
.landing-cta__text small { font-size: .8125rem; font-weight: 500; opacity: .88; }

.lstats { margin: 18px 0 4px; padding: 14px 4px; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.lstats__list { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; margin: 0; padding: 0; list-style: none; }
.lstats__item {
	display: grid;
	justify-items: center;
	align-content: start;
	gap: 6px;
	padding: 2px 8px;
	color: var(--color-muted);
	font-size: .8125rem;
	line-height: 1.3;
	text-align: center;
}
.lstats__item + .lstats__item { border-left: 1px solid var(--color-border); }
.lstats__big { font-size: 1.5rem; font-weight: 800; line-height: 1; color: var(--color-secondary); letter-spacing: -.02em; }
.lstats__icon { position: relative; color: var(--color-secondary); }
.lstats__check {
	position: absolute;
	right: -7px;
	bottom: -3px;
	display: grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--color-primary);
	color: #fff;
	font-size: .5625rem;
	font-weight: 800;
}
.landing .ptrust { display: none; }
.landing .ppayment { margin-top: 14px; }

/* 5. Secuencia de imágenes y videos ----------------------------------------- */
.landing-flow { margin-top: 20px; overflow: hidden; background: var(--color-cream); font-size: 1rem; line-height: 1.6; }
.landing-flow > *,
.landing-flow figure,
.landing-flow .wp-block-image,
.landing-flow .wp-block-video,
.landing-flow .wp-block-embed,
.landing-flow .wp-block-gallery { margin: 0 !important; }
.landing-flow img,
.landing-flow video { display: block; width: 100% !important; max-width: 100%; height: auto; border-radius: 0 !important; }
.landing-flow p:has(> img),
.landing-flow p:has(> a > img),
.landing-flow p:has(> video) { padding: 0; line-height: 0; }
.landing-flow br:only-child { display: none; }
.landing-flow figcaption { padding: 8px 16px; font-size: .8125rem; text-align: center; color: var(--color-muted); }
.landing-flow .wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 0 !important; }
.landing-flow .wp-block-gallery .wp-block-image { width: 100% !important; }
.landing-flow iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.landing-flow .wp-video, .landing-flow .mejs-container { width: 100% !important; max-width: 100% !important; }
.landing-flow > h2, .landing-flow > h3, .landing-flow > h4,
.landing-flow > p:not(:has(img, video)),
.landing-flow > ul, .landing-flow > ol { padding: 16px 24px; text-align: center; }
.landing-flow > h2, .landing-flow > h3 { padding-bottom: 4px; color: var(--color-secondary); font-weight: 800; letter-spacing: -.02em; }
.landing-flow > h2 { font-size: 1.5rem; }
.landing-flow > ul, .landing-flow > ol { list-style-position: inside; text-align: left; }

.flow-video { position: relative; line-height: 0; }
.flow-video__sound {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.landing__endcta { padding-top: 4px; }

/* 6. Reseñas, especificaciones, barra fija ---------------------------------- */
.landing__specs { margin-top: 18px; border: 1px solid var(--color-border); border-radius: 14px; }
.landing__specs summary { padding: 14px 16px; font-weight: 700; cursor: pointer; }
.landing__specs table { margin: 0; border: 0; }
.landing__specs th, .landing__specs td { padding: 10px 16px; border-top: 1px solid var(--color-border); text-align: left; font-size: .875rem; }
.landing__specs td p { margin: 0; }

.lreviews { margin-top: 28px; padding: 32px 0 24px; background: var(--color-cream); }
.lreviews__title { margin-bottom: 16px; text-align: center; font-size: 1.375rem; color: var(--color-text); }
.lreviews__summary { display: grid; gap: 16px; justify-items: center; margin-bottom: 18px; }
.lreviews__score { display: grid; justify-items: center; gap: 2px; }
.lreviews__score b { font-size: 2.75rem; line-height: 1; font-weight: 800; color: var(--color-text); letter-spacing: -.03em; }
.lreviews__score .stars { font-size: 1.25rem; }
.lreviews__score span:last-child { color: var(--color-muted); font-size: .875rem; }
.lreviews__bars { display: grid; gap: 6px; width: min(100%, 340px); margin: 0; padding: 0; list-style: none; font-size: .8125rem; }
.lreviews__bars li { display: grid; grid-template-columns: 34px 1fr 28px; align-items: center; gap: 10px; }
.lreviews__bars li > span:last-child { text-align: right; color: var(--color-muted); }
.lreviews__bar { height: 8px; overflow: hidden; border-radius: 99px; background: #E6E0D5; }
.lreviews__bar i { display: block; height: 100%; border-radius: inherit; background: var(--color-accent); }
.lreviews__empty { text-align: center; color: var(--color-muted); }
.lreviews__write { margin: 0 0 18px; }
.lreviews__write > summary { width: 100%; list-style: none; cursor: pointer; border-radius: 12px; }
.lreviews__write > summary::-webkit-details-marker { display: none; }
.lreviews__form { margin-top: 12px; padding: 16px; border-radius: 14px; background: #fff; }
.lreviews__form #comments > h2,
.lreviews__form .commentlist,
.lreviews__form .woocommerce-noreviews,
.lreviews__form .woocommerce-pagination { display: none; }
.lreviews__form .comment-reply-title { display: block; margin-bottom: 8px; font-weight: 800; }
.lreviews__form textarea { min-height: 110px; }
.lreviews__form .form-submit input { width: 100%; }
.comment-form-photo { display: grid; gap: 6px; }
.comment-form-photo small { color: var(--color-muted); }
.lreviews__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rcard { overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(19, 67, 90, .08); }
.rcard.is-hidden { display: none; }
.rcard__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.rcard__body { display: grid; gap: 4px; padding: 12px; }
.rcard__name { font-weight: 700; font-size: .9375rem; }
.rcard__verified { display: block; color: var(--color-primary); font-size: .75rem; font-weight: 600; }
.rcard__text { font-size: .875rem; line-height: 1.5; color: var(--color-text); }
.rcard__text p { margin: 0; }
.lreviews__more { display: flex; width: 100%; margin-top: 14px; }

.landing__more { padding-top: 8px; }
.landing .related > h2, .landing .upsells > h2 { font-size: 1.25rem; font-weight: 800; color: var(--color-text); letter-spacing: -.02em; }
.landing .pcarousel ul.products { grid-auto-columns: calc((100% - 12px) / 2) !important; }

/* Barra fija inferior */
.sticky-buy { padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0)); background: rgba(255, 255, 255, .96); border-top: 1px solid var(--color-border); box-shadow: 0 -6px 20px rgba(19, 67, 90, .08); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.js .sticky-buy .landing-cta { min-height: 56px; margin: 0; box-shadow: none; }
@media (min-width: 700px) {
	.sticky-buy { display: flex !important; left: 50%; right: auto; width: 620px; transform: translate(-50%, 110%); border-radius: 18px 18px 0 0; }
	.sticky-buy.is-visible { transform: translate(-50%, 0); }
	html.has-sheet-open .sticky-buy { transform: translate(-50%, 110%); }
}

@keyframes pvpro-shake {
	0%, 100% { transform: none; }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}

/* ==========================================================================
   v0.6 — Acabado de tienda: imágenes completas y detalles de conversión
   ========================================================================== */

/* Imágenes completas, sin recortes ni deformación */
.pgallery { background: #fff; }
.pgallery .hslider__slide { display: grid; place-items: center; aspect-ratio: 1 / 1; background: #fff; }
.pgallery .hslider__slide img,
.pgallery__img { width: 100%; height: 100%; object-fit: contain; image-rendering: auto; }
.pgallery__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 6px 12px;
	border-radius: 10px;
	background: var(--color-danger);
	color: #fff;
	font-size: .9375rem;
	font-weight: 800;
	letter-spacing: -.01em;
	box-shadow: 0 6px 14px -6px var(--color-danger);
}
.pgallery__count { background: rgba(19, 67, 90, .88); color: #fff; }
.pgallery .hslider__dot { background: rgba(19, 67, 90, .25); box-shadow: none; }
.pgallery .hslider__dot.is-active { background: var(--color-secondary); }
@media (min-width: 700px) { .landing .pgallery { border-bottom: 1px solid var(--color-border); } }

/* Encabezado del producto más contundente */
.landing__buy { padding-top: 20px; }
.landing__title { font-size: clamp(1.5rem, 1.25rem + 1.2vw, 1.875rem); line-height: 1.15; }
.landing .pprice { margin-top: 12px; }
.landing .pprice .price { font-size: 2.125rem; }
.landing .pprice .price del { font-size: 1.0625rem; }
.landing .pprice__badge {
	padding: 5px 12px;
	background: var(--color-accent);
	color: #3A2A00;
	font-weight: 800;
}

/* Señales de confianza bajo el precio */
.pchips {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 16px 0 4px;
	padding: 0;
	list-style: none;
}
.pchips__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 10px 6px;
	border-radius: 12px;
	background: var(--color-surface);
	color: var(--color-text);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}
.pchips__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; }
.pchips__item--truck .pchips__icon { background: var(--color-primary); }
.pchips__item--cash .pchips__icon { background: #E0971B; }
.pchips__item--lock .pchips__icon { background: var(--color-secondary); }
.landing .lstats__item:not(:first-child):has(.lstats__icon) { display: none; }
.landing .lstats:not(:has(.lstats__big)) { display: none; }
.landing .lstats__list { grid-auto-flow: row; }
.landing .lstats__item { flex-direction: row; display: flex; justify-content: center; gap: 10px; font-size: .875rem; }

/* Selector de ofertas con más presencia */
.landing-offers__title { color: var(--color-secondary); font-size: .875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.landing-offers__title::before, .landing-offers__title::after { height: 2px; background: var(--color-secondary); opacity: .2; }
.landing-offers .offer { grid-template-columns: auto 1fr auto; padding: 16px 14px; border: 2px solid var(--color-border); border-radius: 14px; }
.landing-offers .offer__qty { font-size: 1.0625rem; font-weight: 800; }
.landing-offers .offer__price b { font-size: 1.25rem; }
.landing-offers .offer__save { font-size: .8125rem; }
.landing-offers .offer.is-selected {
	border-color: var(--color-primary);
	background: color-mix(in srgb, var(--color-primary) 7%, #fff);
	box-shadow: 0 8px 20px -14px var(--color-primary);
}
.landing-offers .offer.is-selected .offer__check {
	border-color: var(--color-primary);
	background: var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.landing-offers .offer__badge {
	top: -11px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--color-accent);
	color: #3A2A00;
	font-size: .6875rem;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
}

/* Botón de compra: más grande, con brillo que atrae la mirada */
.js .landing--quick .landing-cta,
.js .sticky-buy .landing-cta {
	position: relative;
	overflow: hidden;
	min-height: 66px;
	background: linear-gradient(180deg, #14B866, var(--color-primary));
	box-shadow: 0 12px 26px -14px var(--color-primary), inset 0 -3px 0 rgba(0, 0, 0, .12);
}
.js .landing-cta::after {
	content: "";
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent);
	transform: skewX(-18deg);
	animation: pvpro-shine 3.6s ease-in-out 1.2s infinite;
	pointer-events: none;
}
.landing-cta__text { text-align: center; }
.landing-cta__text strong { font-size: 1.0625rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.landing-cta__text small { font-size: .8125rem; font-weight: 600; }
.js .sticky-buy .landing-cta { min-height: 58px; }
@keyframes pvpro-shine { 0% { left: -60%; } 30%, 100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) { .js .landing-cta::after { animation: none; display: none; } }

/* Secuencia: sin bordes, imágenes completas */
.landing-flow { background: #fff; }
.landing-flow img { object-fit: contain; }

/* ==========================================================================
   v0.7 — Bloque de precio, entrega, confianza y diseño adaptable
   ========================================================================== */
.landing .pprice { display: none; }

/* Precio */
.pbox {
	position: relative;
	margin: 14px 0 4px;
	padding: 16px 16px 14px;
	border: 1px solid #DCEFE4;
	border-radius: 18px;
	background: linear-gradient(180deg, #F2FBF6 0%, #fff 100%);
}
.pbox--sale { border-color: #F6D9CF; background: linear-gradient(180deg, #FFF3EE 0%, #fff 100%); }
.pbox__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 26px; }
.pbox__label {
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--color-secondary);
	color: #fff;
	font-size: .6875rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.pbox__pct {
	padding: 5px 11px;
	border-radius: 10px;
	background: var(--color-danger);
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	box-shadow: 0 6px 14px -8px var(--color-danger);
	transform: rotate(-3deg);
}
.pbox__prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; margin-top: 8px; }
.pbox__now {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0;
	color: var(--color-text);
	font-size: clamp(2.125rem, 1.8rem + 1.6vw, 2.75rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.035em;
}
.pbox--sale .pbox__now { color: var(--color-danger); }
.pbox__now small { font-size: .875rem; font-weight: 600; letter-spacing: 0; color: var(--color-muted); }
.pbox__was { margin: 0; color: var(--color-muted); font-size: .9375rem; font-weight: 500; }
.pbox__was del { font-weight: 600; text-decoration-thickness: 2px; text-decoration-color: var(--color-danger); }
.pbox__save {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0;
	padding: 9px 12px;
	border-radius: 12px;
	background: var(--color-primary);
	color: #fff;
	font-size: .875rem;
	font-weight: 600;
}
.pbox__save b, .pbox__save .amount { color: #fff; font-weight: 800; }
.pbox__cod {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px dashed rgba(19, 67, 90, .18);
	color: var(--color-secondary);
	font-size: .875rem;
	font-weight: 700;
}
.pbox__cod .icon { flex: 0 0 auto; color: var(--color-primary); }

/* Entrega estimada */
.pdelivery {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--color-surface);
	font-size: .875rem;
	line-height: 1.4;
}
.pdelivery p { margin: 0; }
.pdelivery b { color: var(--color-secondary); font-weight: 800; }
.pdelivery__icon { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--color-primary); box-shadow: 0 2px 6px rgba(19, 67, 90, .1); }

/* Cantidad */
.qty-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 4px 0 2px;
	padding: 8px 8px 8px 16px;
	border: 1px solid var(--color-border);
	border-radius: 14px;
}
.qty-line__label { font-weight: 700; font-size: .9375rem; }
.landing .qty-line .quantity { margin: 0; border-radius: 10px; background: var(--color-surface); border-color: transparent; }
.landing .qty-line .qbtn { width: 42px; height: 42px; font-size: 1.25rem; font-weight: 600; }
.landing .qty-line .quantity .qty { width: 40px !important; min-height: 42px; font-size: 1rem; }

/* Confianza: una sola tarjeta con tres columnas */
.pchips {
	gap: 0;
	margin: 14px 0 0;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: #fff;
}
.pchips__item { gap: 8px; padding: 14px 6px; border-radius: 0; background: #fff; font-size: .75rem; font-weight: 700; }
.pchips__item + .pchips__item { border-left: 1px solid var(--color-border); }
.pchips__icon { width: 38px; height: 38px; }
.pchips__item--truck .pchips__icon { background: color-mix(in srgb, var(--color-primary) 14%, #fff); color: var(--color-primary); }
.pchips__item--cash .pchips__icon { background: #FFF1D9; color: #C27A00; }
.pchips__item--lock .pchips__icon { background: color-mix(in srgb, var(--color-secondary) 12%, #fff); color: var(--color-secondary); }

/* Botón: la línea 2 es un recordatorio, no un segundo título */
.landing-cta__text small { font-size: .8125rem; font-weight: 600; opacity: .95; }

/* ---------- Diseño adaptable ---------- */
@media (max-width: 359px) {
	.landing__buy { padding-inline: 14px; }
	.pbox__now { font-size: 1.875rem; }
	.pchips__item { font-size: .6875rem; }
	.landing-cta__text strong { font-size: .9375rem; }
}

/* Computador: dos columnas arriba (galería fija + compra) y secuencia centrada */
@media (min-width: 1024px) {
	body.single-product { background: var(--color-cream); }
	.landing { max-width: 1180px; border-radius: 24px; }
	.landing-notices { max-width: 1180px; }
	.landing__top {
		display: grid;
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
		gap: 44px;
		padding: 32px 36px 8px;
		align-items: start;
	}
	.landing__media { position: sticky; top: 96px; }
	.landing .pgallery { overflow: hidden; border: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); border-radius: 18px; }
	.landing__buy { padding: 4px 0 0; }
	.landing__title { font-size: 2rem; }
	.landing-flow { max-width: 760px; margin: 40px auto 0; border-radius: 18px; }
	.landing .container,
	.landing .container--flow { max-width: 800px; }
	.lreviews { margin-top: 40px; }
	.lreviews__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.landing__more { max-width: 1120px; }
	.landing .pcarousel ul.products { grid-auto-columns: calc((100% - 54px) / 4) !important; }
	.sticky-buy { display: none !important; }
}
@media (min-width: 1280px) {
	.landing__top { gap: 56px; padding: 40px 48px 8px; }
}

/* ==========================================================================
   v0.8 — Galería que deja ver la información, sin cantidad en la página
   ========================================================================== */
/* La cantidad se elige en el formulario de compra */
.js .landing--quick form.cart .quantity,
.js .landing--quick .qty-line { display: none !important; }

/* En celular la foto no ocupa toda la pantalla: se asoma el título y el precio */
@media (max-width: 1023px) {
	.pgallery .hslider__slide { aspect-ratio: auto; height: min(100vw, 52vh, 460px); }
	.pgallery .hslider__slide img, .pgallery__img { height: 100%; width: 100%; }
}
@media (max-width: 1023px) and (orientation: landscape) {
	.pgallery .hslider__slide { height: 70vh; }
}

/* Mensaje de confianza del pago contra entrega */
.pbox__cod {
	gap: 10px;
	margin-top: 12px;
	padding: 11px 12px;
	border: 0;
	border-radius: 12px;
	background: color-mix(in srgb, var(--color-secondary) 7%, #fff);
	color: var(--color-secondary);
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.35;
}
.pbox__cod .icon { color: var(--color-primary); }
