/* Prolift · maquetación 1.0 (23-oct-2026, m12-decisiones-23oct). Un solo componente de formulario y el repaso de toda la
   web (coordinador, 23-oct; auditoría de diseño D1-D21; prolift-diseno). Va DESPUÉS de vista-m12.css (OCMOD
   prolift_decisiones_23oct). Solo tokens de la guía §7.1: tinta #1E2124, tinta-2 #4B5259, tinta-3 #5F666D, gris cálido
   #F4F3F0, línea #E2DFD9, línea fuerte #7E858C (bordes de campo, 3,74:1), rojo #D02F00 solo en el botón que hace
   avanzar, foco #0B57D0, error #B3261E. Montserrat 400/500/700; h1 30 (móvil 24), h2 22 (móvil 20), cuerpo 16.
   Lo comprueba tienda/prolift_zonas/comprobar_maquetacion.mjs. */
:root {
	--pm-tinta: #1E2124; --pm-tinta-2: #4B5259; --pm-tinta-3: #5F666D; --pm-sup: #F4F3F0; --pm-linea: #E2DFD9;
	--pm-linea-f: #7E858C; --pm-rojo: #D02F00; --pm-rojo-h: #A82400; --pm-foco: #0B57D0; --pm-error: #B3261E;
	--pm-letra: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---------------------------------------------------------------- 1. texto en tinta (fuera #222, #333, #666, #777) */
/* solo en el contenido: el pie (tinta) y la cabecera llevan sus colores */
.breadcrumb-h1 h1, #content h1, #content h2, #content h3, #content h4, #content h5, #content h6, #content .heading, #content legend,
#content label, #content .control-label, #content p, #content li, #content dt, #content dd, #content td, #content th, #content caption,
.uni-form__heading, .contact-list__item, .contact-list__name, .account-login__heading, .pl-vacio__h { color: var(--pm-tinta); }
.text-muted, .help-block, .pl-vacio__txt { color: var(--pm-tinta-2); }
span.required, .required:not(.form-group):not(input) { color: var(--pm-tinta-2) !important; }
#content code, .pl-piezas__ref { color: var(--pm-tinta); background: var(--pm-sup); }
body, input, select, textarea, button { font-family: var(--pm-letra); }

/* ---------------------------------------------------------------- 2. escala (guía §7.2) */
h1, .breadcrumb-h1 h1, #product-product h1, .pl-vacio__h { font-size: 30px !important; line-height: 1.2 !important; font-weight: 700 !important; }
.pl-home__pres h1 { font-size: 38px !important; }
h2, .h2 { font-size: 22px; line-height: 1.25; font-weight: 700; }
h3, legend { font-weight: 700; }
#content p, #content li, #content dd, #content dt, .pl-lectura p, .pl-lectura li, .contact-list__item { font-size: 16px; line-height: 1.55; }
label, .control-label { font-weight: 500; }
b, strong, th { font-weight: 700; }
@media (max-width: 767px) {
	h1, .breadcrumb-h1 h1, #product-product h1, .pl-vacio__h { font-size: 24px !important; }
	.pl-home__pres h1 { font-size: 27px !important; }
	h2, .h2 { font-size: 20px; }
}

/* ---------------------------------------------------------------- 3. campos: un solo componente (D3, D4, D5, D10) */
#content input[type=text], #content input[type=email], #content input[type=tel], #content input[type=password],
#content input[type=number], #content input[type=search], #content input[type=date], #content select, #content textarea,
#content .form-control, .pl-form__control {
	box-sizing: border-box; min-height: 44px; padding: 0 12px; font: 400 16px/1.4 var(--pm-letra); color: var(--pm-tinta) !important;
	background: #fff; border: 1px solid var(--pm-linea-f) !important; border-radius: 8px !important; box-shadow: none;
}
#content textarea, textarea.pl-form__control { min-height: 128px; padding: 10px 12px; }
#content select, select.pl-form__control { appearance: none; -webkit-appearance: none; padding-right: 40px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231E2124' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; }
#content input::placeholder, #content textarea::placeholder { color: var(--pm-tinta-3); opacity: 1; }
#content input:hover, #content select:hover, #content textarea:hover { border-color: var(--pm-tinta-2) !important; }
#content input:focus-visible, #content select:focus-visible, #content textarea:focus-visible, .pl-form__control:focus-visible {
	outline: 2px solid var(--pm-foco); outline-offset: 2px; border-color: var(--pm-foco) !important; }
#content .has-error .form-control, .pl-form__control[aria-invalid="true"] { border-color: var(--pm-error) !important; box-shadow: inset 0 0 0 1px var(--pm-error); }
#content .text-danger, .pl-form__error { color: var(--pm-error); font-size: 14px; font-weight: 500; }
#content label, #content .control-label, .pl-form__etiqueta { display: block; margin: 0 0 8px; font: 500 14px/20px var(--pm-letra); color: var(--pm-tinta); text-align: left; }
/* OpenCart: etiqueta encima, nunca al lado (form-horizontal fuera de juego) */
#content .form-horizontal .form-group { display: block; margin: 0 0 16px; }
#content .form-horizontal .control-label { float: none; width: auto; padding: 0; text-align: left; }
#content .form-horizontal .form-group > [class*="col-"] { float: none; width: 100%; padding-left: 0; padding-right: 0; }
#content fieldset { margin: 0 0 32px; padding: 0; border: 0; }
#content fieldset > legend, .pl-form__seccion-titulo { width: 100%; margin: 0 0 16px; padding: 0 0 8px; border: 0; border-bottom: 1px solid var(--pm-linea);
	font: 700 18px/1.3 var(--pm-letra); color: var(--pm-tinta); }
/* casillas: toque de 44 px en toda la línea; enlaces en línea (D18) */
#content .checkbox label, #content .radio label, #content label:has(> input[type=checkbox]), #content label:has(> input[type=radio]), .pl-form__casilla {
	/* bloque con la casilla a la izquierda (no flex: con flex, cada trozo de texto y cada enlace es una pieza aparte y queda
	   un hueco de 12 px antes de la coma: «Condiciones de venta , que…», comprobar_legales D) */
	display: block; position: relative; min-height: 44px; margin: 0; padding: 11px 0 11px 34px; font: 400 14px/1.45 var(--pm-letra); color: var(--pm-tinta-2); cursor: pointer; }
#content input[type=checkbox], #content input[type=radio] { width: 22px; height: 22px; margin: 0; accent-color: var(--pm-tinta); }
#content .checkbox label > input[type=checkbox], #content .radio label > input[type=radio], #content label:has(> input[type=checkbox]) > input, #content label:has(> input[type=radio]) > input, .pl-form__casilla > input { position: absolute !important; left: 0; top: 11px; }
#content .checkbox label a, #content label:has(> input[type=checkbox]) a, .pl-form__casilla a { display: inline !important; color: var(--pm-tinta); text-decoration: underline; }
#content .checkbox, #content .radio { margin: 0; padding: 0; }
/* el botón que envía: el único rojo de la página */
#content form button[type=submit], #content form input[type=submit], #content form .btn-primary, #content .buttons .btn-primary, .pl-form__enviar {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 240px; padding: 0 32px;
	font: 700 16px/1 var(--pm-letra); color: #fff !important; background: var(--pm-rojo) !important; border: 0 !important;
	border-radius: 8px !important; box-shadow: none !important; text-transform: none; }
#content form button[type=submit]:hover, #content form input[type=submit]:hover, #content form .btn-primary:hover, .pl-form__enviar:hover { background: var(--pm-rojo-h) !important; }
#content .buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 24px 0 0; }
#content .buttons .pull-left, #content .buttons .pull-right { float: none; }
#content .btn-default { min-height: 44px; display: inline-flex; align-items: center; padding: 0 20px; font: 700 16px/1 var(--pm-letra);
	color: var(--pm-tinta) !important; background: #fff !important; border: 1px solid var(--pm-tinta) !important; border-radius: 8px !important; }

/* ---------------------------------------------------------------- 4. fondos: solo gris cálido o blanco */
.uni-item-bg, .uni-form, .account-login__wrapper, .contact-info, .uni-wrapper { background-color: #fff; }
.well, .panel-default > .panel-heading, .table > thead > tr > th { background-color: var(--pm-sup); }
#content .uni-form, #content .account-login__wrapper { box-shadow: none; border: 1px solid var(--pm-linea); border-radius: 8px; }

/* ---------------------------------------------------------------- 5. composición: h1, entradilla y bloque a la misma x */
.breadcrumb { display: flex !important; flex-wrap: wrap; align-items: center; white-space: normal !important; overflow: visible !important; }
.breadcrumb > li > a { display: inline; }
.breadcrumb > li { white-space: normal; max-width: none !important; overflow: visible !important; text-overflow: clip !important; }
#content > .uni-wrapper, .pl-rejilla .uni-wrapper, [id^="account-"] #content .uni-wrapper, #information-contact #content .uni-wrapper {
	padding-left: 0 !important; padding-right: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
.pl-rejilla { display: block; }
.pl-rejilla__principal { min-width: 0; }
.pl-rejilla .pl-lectura, .pl-rejilla .article_description { max-width: none; }
.pl-rejilla__principal > .article_description > p:first-child, .pl-cabeza__entradilla { max-width: 760px; color: var(--pm-tinta-2); }
.pl-form-panel { margin: 48px 0 0; padding: 16px; background: var(--pm-sup); border-radius: 8px; }
@media (min-width: 1024px) {
	.pl-rejilla { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); column-gap: 64px; align-items: start; }
	.pl-form-panel { margin: 0; padding: 24px; }
}
@media (min-width: 1024px) and (min-height: 800px) { .pl-form-panel { position: sticky; top: 80px; } }
.pl-form-panel__parte + .pl-form-panel__parte { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--pm-linea); }
.pl-form-panel__titulo { margin: 0 0 12px; font: 700 18px/1.3 var(--pm-letra) !important; color: var(--pm-tinta); }
.pl-form-panel p, .pl-form-panel li { margin: 0 0 8px; font-size: 14px !important; line-height: 1.5; color: var(--pm-tinta-2); }
.pl-form-panel__pasos { margin: 0; padding: 0; list-style: none; counter-reset: pmpaso; }
.pl-form-panel__pasos li { position: relative; padding-left: 36px; min-height: 24px; counter-increment: pmpaso; }
.pl-form-panel__pasos li::before { content: counter(pmpaso); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%;
	background: var(--pm-tinta); color: #fff; font: 700 13px/24px var(--pm-letra); text-align: center; }
.pl-form-panel__puntos { margin: 0; padding-left: 18px; }
.pl-form-panel__contacto { display: grid; gap: 4px; margin: 0 0 8px; padding: 0; list-style: none; }
.pl-form-panel__fila { display: flex; align-items: center; gap: 12px; min-height: 44px; color: var(--pm-tinta) !important; text-decoration: none; }
.pl-form-panel__fila svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pl-form-panel__dato { display: block; font: 500 16px/1.3 var(--pm-letra); text-decoration: underline; color: var(--pm-tinta); }
.pl-form-panel__accion { display: block; font: 400 13px/1.3 var(--pm-letra); color: var(--pm-tinta-2); }
.pl-form-panel__enlaces { margin: 0; padding: 0; list-style: none; }
.pl-form-panel__enlaces a { display: flex; align-items: center; min-height: 44px; color: var(--pm-tinta); text-decoration: underline; }

/* el componente pl-form (pedir presupuesto, maniobra y los que se rehacen) */
.pl-form { max-width: none; }
.pl-form--corto { max-width: 560px; }
.pl-form__nota { margin: 0 0 16px; font-size: 14px; color: var(--pm-tinta-2); }
.pl-form__seccion { margin: 0 0 32px; padding: 0; border: 0; min-width: 0; }
.pl-form__fila { display: grid; grid-template-columns: 1fr; gap: 0 24px; }
@media (min-width: 768px) { .pl-form__fila { grid-template-columns: 1fr 1fr; } .pl-form__campo--ancho { grid-column: 1 / -1; } }
.pl-form__campo { margin: 0 0 16px; min-width: 0; }
.pl-form__control { width: 100%; }
#content .pl-form__ayuda, #content .pl-form__nota { margin: 4px 0 0; font-size: 14px !important; line-height: 1.45; color: var(--pm-tinta-2); }
.pl-form__opciones { display: grid; grid-template-columns: 1fr; gap: 0 24px; }
@media (min-width: 768px) { .pl-form__opciones { grid-template-columns: 1fr 1fr; } }
.pl-form__acciones { margin: 24px 0 0; }
.pl-form__aviso { margin: 16px 0 0; padding: 12px 16px; border-left: 4px solid var(--pm-tinta); background: var(--pm-sup); font-size: 16px; color: var(--pm-tinta); }
.pl-form__trampa { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767px) { .pl-form__enviar, #content form button[type=submit], #content form input[type=submit] { width: 100%; min-width: 0; } }

/* ---------------------------------------------------------------- 6. toques de 44 px sin mover nada (D15) */
/* «Copiar»: su zona de toque de 44 la da el ::after de vista-m12 (sin márgenes negativos: montaban «Copiar» sobre la
   referencia y sobre «En stock», prolift-diseno 23-oct) */
.contact-list a, .pl-lectura a.pl-btn, #content .btn, #content .account-order-list__order-id, .pl-piezas__volver { display: inline-flex; align-items: center; min-height: 44px; }
#content .qty-switch__input { min-height: 44px; min-width: 44px; }

/* ---------------------------------------------------------------- 7. barra fija del móvil: nada tapado y sin franja blanca (D17) */
@media (max-width: 767px) {
	html { scroll-padding-bottom: 96px; }
	body { padding-bottom: 0 !important; }
	footer, #footer, .pl-pie { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* ---------------------------------------------------------------- 8. tablas de texto: nunca más anchas que la pantalla (D1) */
.article_description table, .pl-lectura table { display: block; max-width: 100%; overflow-x: auto; }
.pl-tabla-desliza { max-width: 100%; overflow-x: auto; }
.pl-tabla-desliza > table { display: table; max-width: none; overflow: visible; }
.pl-tabla-desliza:focus-visible { outline: 2px solid var(--pm-foco); outline-offset: 2px; }

/* panel en el móvil: la versión corta y el contacto; lo largo, solo en el ordenador (prolift-diseno 3.2) */
.pl-form-panel__corto { display: none; }
@media (max-width: 1023px) {
	.pl-form-panel__corto { display: block; margin: 0 0 8px; font-size: 16px !important; color: var(--pm-tinta) !important; }
	.pl-form-panel__parte--larga { display: none; }
	.pl-form-panel__parte + .pl-form-panel__parte { margin-top: 0; padding-top: 0; border-top: 0; }
}

/* OpenCart: las etiquetas vacías de sangría (col-sm-2 hidden-xs) no dejan hueco con la etiqueta encima */
#content .control-label:empty, #content label.hidden-xs:empty { display: none !important; }
#content .account-login__forgotten { display: inline-flex; align-items: center; min-height: 44px; color: var(--pm-tinta); text-decoration: underline; }

/* secciones que eran h4 (búsqueda y ficha) y ahora son h2: mismo aspecto discreto */
.pl-h2-chico { font-size: 18px !important; line-height: 1.3; margin: 0 0 12px; }

/* portada: botones, sellos y títulos dentro de la escala (13 · 14 · 16 · 18 · 22 · 30 · 38) */
.pl-btn, .pl-home .pl-btn { font-size: 16px !important; }
.pl-home b, .pl-home strong { font-size: 16px; }
.pl-home h2 { font-size: 22px !important; }
@media (max-width: 767px) { .pl-home h2 { font-size: 20px !important; } }

/* el asterisco de OpenCart (::before de las etiquetas obligatorias) en tinta-2, nunca en rojo */
#content .required .control-label::before, #content .form-group.required > label::before, #content .required > label::before { color: var(--pm-tinta-2) !important; }

/* ---------------------------------------------------------------- 9. segunda ronda (comprobar_maquetacion, 23-oct) */
/* escala: texto corrido a 16, etiquetas de la foto a 13, el resto dentro de 13 · 14 · 16 · 18 */
.pl-cat-desc, .pl-cat-desc__txt, .pl-cat-desc p, #content .pl-cat-desc__txt p, .pl-fc__resumen, .div-text-empty, .pl-vacio__txt { font-size: 16px !important; }
.pl-etq__i { font-size: 13px !important; }
.pl-indice summary, #content summary { font-size: 16px !important; }
.pl-home h3 { font-size: 18px !important; }
#content .sorts-block__btn { font-size: 14px !important; }
/* fondos de UniShop (#F7F7F7, #FAFBFB) → gris cálido o blanco; la píldora «Bajo pedido», en gris cálido */
.pagination > li > a, .pagination > li > span, .div-text-empty, .product-category-list, .manufacturer-page.category-info,
.account-order-info__products-heading, .account-order-info__history-heading, .account-order-info__comment, .account-order-info__products-heading td,
.account-order-info__history-heading td { background-color: var(--pm-sup) !important; }
.table-striped > tbody > tr:nth-of-type(odd), .pl-tabla tr, #content tr { background-color: transparent; }
.pl-pildora--pedido { background-color: var(--pm-sup) !important; }
/* AYBEY (página de marca): el orden de UniShop repetía el de Prolift (pl-ordenar, con su etiqueta) */
#content:has(.pl-ordenar) .sorts-block__sorts, #content:has(.pl-ordenar) .sorts-block__select { display: none !important; }
.sorts-block__span { color: var(--pm-tinta) !important; }
/* composición: el índice del móvil, solo en el móvil (en el ordenador va en el panel); las cajas de UniShop sin sangría */
@media (min-width: 1024px) { .pl-indice--movil { display: none !important; } }
.pl-indice li a, .pl-form-panel__enlaces a { min-height: 44px !important; }
#content .uni-form, #content .account-login__wrapper, #content .account-forgotten { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
[id^="account-"] #content > .uni-wrapper > .row, [id^="account-"] #content .row.row-flex { margin-left: 0; margin-right: 0; }
[id^="account-"] #content .row.row-flex > [class*="col-"] { padding-left: 0; }
/* toques: miga, «Todas las características» y el número de pedido */
.breadcrumb > li > a { display: inline-flex !important; align-items: center; min-height: 44px; }
a[onclick*="tab-specification"] { display: inline-flex; align-items: center; min-height: 44px; }
#content .account-order-list__order-id { min-width: 44px; }
/* el botón de enviar de contacto (btn-lg de UniShop) mide lo mismo que los demás */
#content .pl-form__enviar, #content .btn-lg.pl-form__enviar { min-height: 48px !important; height: auto !important; }

/* ---------------------------------------------------------------- 10. tercera ronda (23-oct) */
/* paginación: la página activa en tinta (blanco sobre gris no se leía) y toques de 44 */
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover { background-color: var(--pm-tinta) !important; border-color: var(--pm-tinta) !important; color: #fff !important; }
.pagination > li > a, .pagination > li > span { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; color: var(--pm-tinta); }
/* el asterisco también como ::after (alta, mis datos, contraseña) */
#content .required .control-label::after, #content .form-group.required > label::after, #content label.control-label::after { color: var(--pm-tinta-2) !important; }
/* escala: estados a 13, cuerpo y nombres a 16, títulos de tarjeta a 18 */
.pl-estado { font-size: 13px !important; }
#content p { font-size: 16px !important; }
#content .pl-tabla__nom, #content .product-data__item-div, .pl-indice li a { font-size: 16px !important; }
#content .btn, #content a.btn-primary { font-size: 16px !important; }
#content b, #content strong { font-size: inherit; }
.pl-mosaico b, .pl-familias b, .pl-cat-sub b, #content .pl-tarjeta b { font-size: 18px !important; }
/* cuenta: la rejilla de Bootstrap sin márgenes negativos (lista de deseos) */
[id^="account-"] #content .row { margin-left: 0; margin-right: 0; }

/* precios y nombres dentro de la escala: el precio de la ficha a 38 (el titular), el de la tabla a 16 */
#content .product-page__price, #content .product-page__price.price { font-size: 38px !important; }
@media (max-width: 767px) { #content .product-page__price, #content .product-page__price.price { font-size: 27px !important; } }
#content .pl-tabla__precio, #content .product-thumb__name, #content .account-order-list__order-id { font-size: 16px !important; }
.pl-cat-resumen__n b { font-size: 18px !important; }
.pl-home span:not([class]) { font-size: inherit; }
#content .account-wishlist { margin-left: 0 !important; margin-right: 0 !important; }

/* ---------------------------------------------------------------- 11. cuarta ronda (23-oct): lo que quedaba fuera de la escala */
.pl-pildora, #content .pl-piezas__ref, #content code.pl-piezas__ref { font-size: 13px !important; }
.pl-filtros h2 { font-size: 16px !important; }
#content .product-page__price small, #content .price small { font-size: 14px !important; }
.pl-fija__precio small { font-size: 13px !important; }
#content .product-data__more-attr a { font-size: 16px !important; }
#content .account-order-info__products-name, #content .account-order-info td { font-size: 16px !important; }
#content .account-order-info small, #content td small { font-size: 13px !important; }
#content .account-address-list__address-id, #content .account-order-info .heading { font-size: 16px !important; }
.breadcrumb > li > a { min-width: 44px; justify-content: center; }
#product-product .pl-iva small { font-size: 14px !important; }
.pl-barra__precio small { font-size: 13px !important; }
/* D14 (ficha en el móvil): «sin IVA» en la misma línea que el precio y el precio una sola vez en la primera pantalla
   (el desglose ya no repite la cifra; la barra fija solo sale al bajar) */
@media (max-width: 991px) {
	#product-product .product-block > .product-page__price { display: inline-flex !important; margin-bottom: 0 !important; margin-right: 10px; vertical-align: baseline; }
	#product-product .product-block > .pl-iva { display: inline-block; vertical-align: baseline; }
	#product-product .pl-desglose > div:first-child { display: none; }
	#product-product .pl-desglose > div:nth-child(2) { border-top: 0; }
}
/* D16 (detalle del pedido): las tablas sin sombra, como el resto de cajas */
#content .account-order-info__products-wrap, #content .account-order-info__history-wrap { box-shadow: none !important; border: 1px solid var(--pm-linea); border-radius: 8px; }
/* D19 (ficha del invitado, móvil): «Dar de alta» alineado con «Acceder para ver precio» */
#content .price-login-required__actions .btn + .btn, #content .price-login-required__actions .btn { margin-left: 0 !important; }
/* D21: «En stock» en una línea en la columna Plazo */
@media (min-width: 992px) { #content .pl-tabla .c-plazo .pl-estado { white-space: nowrap; } }

/* ---------------------------------------------------------------- 12. revisión de prolift-diseno (23-oct) y M13-M16 */
/* ficha: cantidad en una fila [−][1][+], con toques de 44 (el campo heredaba la regla de los campos y los botones caían debajo) */
#content .qty-switch.type-1 { display: inline-flex !important; flex-wrap: nowrap !important; align-items: center; width: auto !important; height: auto !important; min-height: 44px; border: 1px solid var(--pm-linea-f); border-radius: 8px; }
#content .qty-switch.type-1 > span { display: contents !important; }
#content .qty-switch.type-1 .fa-minus { order: -1; }
html body #content .qty-switch .qty-switch__btn { width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; position: static !important; color: var(--pm-tinta); background: transparent; }
#content .qty-switch.type-1 .qty-switch__input { width: 52px !important; min-width: 44px; height: 44px !important; min-height: 44px; padding: 0 !important; border: 0 !important; text-align: center; border-radius: 0 !important; }
#product-product .product-block .product-page__cart { align-items: center; gap: 12px; }
/* ficha: la fila de la referencia, con «Copiar» dentro y sin pisar lo de arriba ni lo de abajo */
#product-product .pl-fc__ref { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 44px; }
#product-product .pl-fc__ref .pl-copiar { margin: 0 !important; min-height: 44px !important; }
/* ficha: las variantes (pastillas) sin el radio a la vista ni la sangría que dejaba */
#content .option__item input[type=radio], #content .option__item input[type=checkbox] { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; flex: none; margin: 0; }
#content .option__item .option__name { padding-left: 12px !important; }
#content .option__group { padding-left: 0 !important; }
/* casillas y radios: los del navegador, en tinta (contacto y alta llevaban un borde #CCC de 1,6:1) */
#content input[type=checkbox], #content input[type=radio] { -webkit-appearance: auto !important; appearance: auto !important; border-color: var(--pm-linea-f) !important; accent-color: var(--pm-tinta); }
/* Mis pedidos: una rejilla de dos columnas iguales */
@media (min-width: 768px) {
	#content .account-order-list.row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0; }
	#content .account-order-list.row::before, #content .account-order-list.row::after { display: none; }
	#content .account-order-list.row > [class*="col-"] { width: auto !important; padding: 0 !important; float: none; }
}
#content .account-order-list__item { margin: 0 0 16px; }
/* piezas del pedido: nombre, referencia y «Volver a pedir» en una fila que envuelve (no se montan) */
.pl-piezas__l li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.pl-piezas__n { flex: 1 1 100%; }
/* etiquetas de la fila de la tabla: enteras, nunca cortadas («Noveda», «Bajo pe») */
.pl-etq__i { max-width: none !important; white-space: nowrap; overflow: visible !important; text-overflow: clip !important; }
@media (max-width: 767px) {
	/* las etiquetas no caben enteras bajo la miniatura (56 px) a 13 px y debajo del nombre la fila pasa de 120 px
	   (comprobar_rev 1.6): en la tabla del móvil no salen; «Bajo pedido» y el stock ya van en Plazo, y «Novedad» y
	   «Outlet» en la ficha y en la tabla del ordenador (prolift-diseno, 23-oct: «si no cabe, quitarla en el móvil») */
	.pl-tabla .c-nom .pl-etq--linea { display: none !important; }
	/* referencia y plazo, una línea cada uno (fila ≤ 120 px, comprobar_rev 1.6); lo que no cabe se acorta con «…» y va
	   entero en la ficha */
	.pl-tabla .c-plazo .pl-estado { font-size: 13px !important; }
}
.pl-tabla .pl-copiar { margin: 0 0 0 4px !important; }
/* cesta vacía: el icono con su alto */
.pl-vacio__ico { width: 28px !important; height: 28px !important; flex: none; }
/* información en el móvil: h2 a 20 (la guía); y las tablas (Cookies) como fichas, con el nombre de la columna */
@media (max-width: 767px) {
	#content .pl-lectura h2, #content h2 { font-size: 20px !important; }
	.pl-tabla-desliza { overflow: visible !important; }
	.pl-lectura table.pl-tabla-fichas, .pl-lectura table.pl-tabla-fichas tbody, .pl-lectura table.pl-tabla-fichas tr, .pl-lectura table.pl-tabla-fichas td { display: block !important; width: 100% !important; }
	.pl-lectura table.pl-tabla-fichas .pl-tabla-fichas__cab, .pl-lectura table.pl-tabla-fichas thead { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.pl-lectura table.pl-tabla-fichas tr { margin: 0 0 12px; padding: 12px; border: 1px solid var(--pm-linea); border-radius: 8px; }
	.pl-lectura table.pl-tabla-fichas td { padding: 2px 0 !important; border: 0 !important; }
	.pl-lectura table.pl-tabla-fichas td[data-etq]::before { content: attr(data-etq) ": "; font-weight: 700; color: var(--pm-tinta); }
	/* detalle del pedido: cada línea como una ficha */
	#content .account-order-info .table-responsive { overflow: visible; border: 0; }
	#content .account-order-info table, #content .account-order-info tbody, #content .account-order-info tr, #content .account-order-info td { display: block; width: 100% !important; }
	#content .account-order-info tr.account-order-info__products-heading, #content .account-order-info tr.account-order-info__history-heading,
	#content .account-order-info tr.account-order-info__products-heading td, #content .account-order-info tr.account-order-info__history-heading td { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden; clip: rect(0, 0, 0, 0); }
	#content .account-order-info tr { height: auto !important; padding: 12px 0; border-top: 1px solid var(--pm-linea); }
	#content .account-order-info table, #content .account-order-info td, #content .account-order-info .table-responsive { box-sizing: border-box; max-width: 100%; margin-left: 0; margin-right: 0; }
	#content .account-order-info td { padding: 2px 0 !important; text-align: left !important; border: 0 !important; }
	#content .account-order-info__products-model::before { content: "Referencia: "; font-weight: 700; }
	#content .account-order-info__products-quantity::before { content: "Cantidad: "; font-weight: 700; }
	#content .account-order-info__products-price::before { content: "Precio sin IVA: "; font-weight: 700; }
	#content .account-order-info__products-total::before { content: "Total: "; font-weight: 700; }
	#content .account-order-info__history-status::before { content: "Estado: "; font-weight: 700; }
	#content .account-order-info__products-btn { margin-top: 8px; }
	#content .account-order-info__products-wrap, #content .account-order-info__history-wrap { padding: 0 12px; }
}
/* descripción: sin partir referencias ni marcas («AE-MAES-TRO») */
#product-product .tab-pane, #product-product .pl-fc__resumen, .pl-lectura { -webkit-hyphens: manual; hyphens: manual; }
/* ordenador: el panel de compra cabe en 1.280 × 800 con «Añadir a la cesta» a la vista (comprobar_m12 A1): la fila de la
   referencia y los huecos, más justos que en el móvil (allí manda el toque de 44) */
@media (min-width: 992px) {
	#product-product .pl-fc__ref { min-height: 36px; gap: 8px; }
	#product-product .pl-fc__ref .pl-copiar { min-height: 36px !important; }
	#product-product .product-block > .product-page__cart { margin-top: 2px !important; }
	#product-product .product-block > .pl-sel { margin-top: 4px !important; }
	#product-product .product-block .pl-fc__excl { margin-bottom: 0 !important; }
	#product-product .product-block > .product-page__cart { margin-bottom: 8px !important; padding: 0 !important; min-height: 0 !important; }
	#product-product .product-block .product-page__cart #button-cart { min-height: 48px !important; height: 48px; }
	#product-product .product-block .pl-sel .pl-sel__car { margin-bottom: 2px; }
	#product-product .product-block > .product-page__price { margin-top: 4px !important; }
	#product-product .product-block .pl-fc__h1 h1 { line-height: 1.15 !important; }
}
/* las pastillas de variantes no son casillas: sin el sangrado de la casilla */
#content label.option__item { display: block; padding: 0 !important; min-height: 0; }
/* el botón de la cesta de las miniaturas (marca AYBEY), 44 × 44 */
#content .product-thumb__add-to-cart { min-width: 44px; min-height: 44px; }
/* la casilla de contacto y del alta (label.input de UniShop): la misma composición que las demás */
#content label.input:has(> input[type=checkbox]) { display: block !important; position: relative !important; padding: 11px 0 11px 34px !important; min-height: 44px; }
#content label.input > input[type=checkbox] { position: absolute !important; left: 0 !important; top: 11px !important; margin: 0 !important; }
/* portada del cliente: con la banda «Repetir pedido» arriba, los bloques más juntos para que a 1.440 × 900 se vean la
   presentación, los sellos y el arranque de las tarjetas (comprobar_arbol) */
@media (min-width: 1200px) {
	.pl-repetir-banda + .pl-home { gap: 40px; margin-top: 0; }
	.pl-repetir-banda + .pl-home > .pl-home__sellos { margin-top: -24px; }
}
/* tabla del móvil: el nombre a 14 (dos líneas como mucho) para que la fila no pase de 120 px (comprobar_rev 1.6) */
@media (max-width: 767px) { #content .pl-tabla .c-nom .pl-tabla__nom { font-size: 14px !important; } }
/* descargas de la ficha (ahora con más documentos, 23-oct): el icono en tinta (no es un botón que avance), el peso a 13
   y el contador de la pestaña en tinta con blanco */
#content .product-download__icon, #content .product-download__icon::before { color: var(--pm-tinta) !important; background: transparent !important; }
#content .product-download__size { font-size: 13px !important; color: var(--pm-tinta-2); }
#content .uni-badge { font-size: 13px !important; color: #fff !important; background: var(--pm-tinta) !important; }

/* 24-oct (W10, H016): primera capa de protección de datos bajo el botón de cada formulario y del pedido; H080: aviso del
   acceso cuando se llega desde «Repetir pedido» sin sesión */
#content .pl-form__capa, .pl-form__capa { margin: 12px 0 0; font-size: 13px !important; line-height: 1.5; color: var(--pm-tinta-2); max-width: 72ch; }
.pl-form__capa a { color: inherit; text-decoration: underline; }
.unicheckout-sticky__confirm .pl-form__capa { margin-top: 10px; }
.pl-aviso-acceso { margin: 0 0 16px; padding: 12px 16px; border: 1px solid #E2DFD9; border-radius: 12px; background: #F4F3F0; font-size: 16px; }

/* 25-oct (W14, verificador): a 390 «Consultar disponibilidad» salía cortado («Consultar disponib…») en la columna Plazo de la
   tabla del móvil (vista-m12.css lo deja en una línea con puntos suspensivos): en el móvil parte en dos líneas, entero */
@media (max-width: 991px) { #content .pl-tabla .c-plazo .pl-estado { white-space: normal; overflow: visible; text-overflow: clip; } }

/* 25-oct (W18, diseño 6 de W17): la tabla de una familia con subfamilias, agrupada por subfamilia (\Prolift\Diseno 1.14):
   un rótulo por grupo, en el ordenador como fila de la tabla y en el móvil como título encima de sus fichas */
#content .pl-tabla .pl-tabla__grupo th { background: #F4F3F0; color: #1F2328; font-size: 16px; font-weight: 700; padding: 12px; white-space: normal; border-top: 1px solid #E2DFD9; }
#content .pl-tabla tbody tr.pl-tabla__grupo:hover { background: none; }
@media (max-width: 991px) {
	#content .pl-tabla tr.pl-tabla__grupo { display: block; padding: 20px 0 6px; border-bottom: 2px solid #1F2328; }
	#content .pl-tabla .pl-tabla__grupo th { display: block; background: none; border: 0; padding: 0; font-size: 17px; }
}
