/* Les Fleurs · ficha de producto (estandares v1.2). Solo lo exclusivo de la ficha; mobile-first 600 / 1024.
   Lo que viene de los plugins (variaciones, extras WCPA, zonas) se acota a .lf-buy. */
.lf-product{background:var(--lf-cream);color:var(--lf-ink)}

/* ============ Avisos de WooCommerce (anadir sin JS): el patron de aviso del sistema, como en carrito y checkout ============ */
.lf-product>:is(.woocommerce-error,.woocommerce-message,.woocommerce-info){box-sizing:border-box;max-width:var(--lf-container);margin:var(--lf-s-4) max(var(--lf-gutter),calc((100% - var(--lf-container)) / 2)) 0;padding:var(--lf-s-3) var(--lf-s-4);list-style:none;border:0;border-left:3px solid var(--lf-red);background:var(--lf-ivory);color:var(--lf-ink);font-weight:600;line-height:1.5}
.lf-product>:is(.woocommerce-message,.woocommerce-info){border-left-color:var(--lf-green)}
.lf-product>:is(.woocommerce-error,.woocommerce-message,.woocommerce-info)::before{content:none}
.lf-product>.woocommerce-error li{margin:0;padding:0}
.lf-product>.woocommerce-error li+li{margin-top:var(--lf-s-2)}
.lf-product>:is(.woocommerce-error,.woocommerce-message,.woocommerce-info) a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.lf-product>[role=alert][tabindex="-1"]:focus{outline:none}

/* ============ Galeria: fotos enteras a su proporcion natural; deslizables en movil, apiladas en escritorio ============ */
.lf-gallery{position:relative;background:var(--lf-white)}
.lf-gallery__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.lf-gallery__track::-webkit-scrollbar{display:none}
.lf-gallery__slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;margin:0;scroll-snap-align:start;background:var(--lf-white)}
.lf-gallery__slide img{display:block;width:auto;max-width:100%;height:auto;max-height:72svh}
/* Pildora sobre la foto: no empuja el nombre ni el precio fuera de la primera pantalla */
.lf-gallery__nav{position:absolute;right:var(--lf-s-3);bottom:var(--lf-s-3);display:flex;align-items:center;gap:var(--lf-s-1);padding:2px;background:rgba(10,26,22,.72);color:var(--lf-paper)}
.lf-gallery__nav button{width:40px;height:40px;border:0;background:transparent;font:300 22px/1 var(--lf-font-head);color:inherit;cursor:pointer}
.lf-gallery__nav button:focus-visible{outline:2px solid var(--lf-gold);outline-offset:-2px}
.lf-gallery__thumbs{display:flex;gap:8px;padding:10px var(--lf-gutter) 0;overflow-x:auto;scrollbar-width:none;background:var(--lf-cream)}
.lf-gallery__thumbs::-webkit-scrollbar{display:none}
.lf-gallery__thumb{flex:0 0 56px;height:56px;padding:0;border:0;background:var(--lf-white);box-shadow:inset 0 0 0 1px var(--lf-line-light);cursor:pointer;opacity:.6;transition:opacity var(--lf-dur-1,.15s)}
.lf-gallery__thumb:is(:hover,:focus,:active){background:var(--lf-white);color:inherit} /* el tema padre pinta los botones de rosa al pasar o pulsar */
.lf-gallery__thumb img{display:block;width:100%;height:100%;object-fit:contain}
.lf-gallery__thumb[aria-current]{opacity:1;box-shadow:inset 0 0 0 2px var(--lf-deep)}
.lf-gallery__thumb:focus-visible{outline:2px solid var(--lf-gold-dark);outline-offset:2px}
.lf-gallery:has(.lf-gallery__thumbs) .lf-gallery__nav{bottom:calc(66px + var(--lf-s-3))} /* encima de las miniaturas */
.lf-gallery__count{min-width:4ch;text-align:center;font:500 var(--lf-fs-small) var(--lf-font-head);letter-spacing:.08em}

/* ============ Compra ============ */
.lf-buy{padding:var(--lf-s-5) var(--lf-gutter) var(--lf-s-8)}
.lf-buy__crumb{font:500 var(--lf-fs-label)/1.6 var(--lf-font-head);letter-spacing:var(--lf-ls-label);text-transform:uppercase;color:var(--lf-gold-dark)}
.lf-buy__crumb a{color:inherit;text-decoration:none}
.lf-buy__name{margin:var(--lf-s-2) 0;font:400 clamp(28px,7vw,40px)/1.1 var(--lf-font-head);letter-spacing:-.01em;text-wrap:balance}
.lf-buy__short{font-size:var(--lf-fs-body);line-height:1.6;color:var(--lf-text-soft-on-light);overflow-wrap:anywhere}
.lf-buy__short p{margin:0 0 var(--lf-s-2)}
.lf-buy__short h2,.lf-buy__short h3{margin:var(--lf-s-3) 0 var(--lf-s-1);font:500 var(--lf-fs-body)/1.4 var(--lf-font-head);color:var(--lf-ink)}
.lf-buy__short[data-lf-clamp]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lf-buy__more,.lf-wines__all{margin-top:var(--lf-s-2);background:none;border-width:0 0 1px;cursor:pointer}
.lf-buy__price{margin:var(--lf-s-4) 0;font:500 24px/1.2 var(--lf-font-head)}
.lf-buy__price del{opacity:.55;font-weight:400}
.lf-buy__price small{font-size:var(--lf-fs-small);font-weight:400;color:var(--lf-text-soft-on-light)}
.lf-buy__price .lf-buy__per{display:block;margin-top:6px;font:600 var(--lf-fs-label)/1.4 var(--lf-font-head);letter-spacing:var(--lf-ls-label);text-transform:uppercase;white-space:nowrap} /* etiqueta bajo la cuota, como en los planes */
.lf-buy__note{margin:0 0 var(--lf-s-4);font-size:var(--lf-fs-small);color:var(--lf-text-soft-on-light)}
/* Suscripcion: selector de frecuencia (el de la pagina de suscripciones, freq.js) en claro, cuota del ciclo y linea de tarifa.
   Sobre fondo claro nada de texto en dorado (contraste AA): el filete y el foco van en oro oscuro */
body.lf-a1 .lf-buy .lf-freq{margin:var(--lf-s-4) 0}
body.lf-a1 .lf-buy .lf-freq__seg{display:flex;gap:clamp(24px,4vw,40px);border-bottom:1px solid var(--lf-line-light)}
body.lf-a1 .lf-buy .lf-freq__seg button{position:relative;min-height:44px;margin:0;padding:0 2px 10px;border:0;border-radius:0;background:transparent;box-shadow:none;font:400 17px/1.2 var(--lf-font-head);letter-spacing:.04em;color:#5f5d55;cursor:pointer;transition:color .3s var(--lf-ease-out)}
body.lf-a1 .lf-buy .lf-freq__seg button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--lf-gold-dark);transform:scaleX(0);transition:transform .45s var(--lf-ease-silk)}
body.lf-a1 .lf-buy .lf-freq__seg button:is(:hover,:focus,[aria-pressed=true]){background:transparent;color:var(--lf-ink)}
body.lf-a1 .lf-buy .lf-freq__seg button[aria-pressed=true]::after{transform:scaleX(1)}
body.lf-a1 .lf-buy .lf-freq__seg button:focus-visible{outline:1px solid var(--lf-gold-dark);outline-offset:4px;box-shadow:none} /* hello-reset pone un aro blanco */
.lf-buy .lf-freq__cap{margin:var(--lf-s-2) 0 0;min-height:1.55em;font-size:14.5px;line-height:1.55;color:var(--lf-text-soft-on-light)}
.lf-buy .lf-freq__cap b{font-weight:600;color:var(--lf-ink)}
.lf-buy .lf-freq__cap .c2{white-space:nowrap}
.lf-buy__price:has(+.lf-buy__rate){margin-bottom:var(--lf-s-1)}
/* Una sola linea por composicion, solo en Quincenal y Semanal (6c). data-rz (la mas larga de este plan) se pinta invisible en la misma
   celda: la caja reserva siempre esa linea, tambien vacia en Mensual, y nada salta al cambiar de frecuencia */
.lf-buy__rate{display:grid;margin:0 0 var(--lf-s-4)}
.lf-buy__rate>.r1,.lf-buy__rate::after{grid-area:1/1;font:400 15px/1.45 var(--lf-font-head);color:var(--lf-text-soft-on-light)}
.lf-buy__rate::after{content:attr(data-rz);visibility:hidden;padding-right:10px}
.lf-buy__rate s{margin-right:4px;text-decoration-thickness:1px}
:is(.lf-buy__price,.lf-buybar__price) [data-lf-fee]{display:inline-block;transition:opacity .22s var(--lf-ease-out),transform .22s var(--lf-ease-out)}
:is(.lf-buy__price,.lf-buybar__price) [data-lf-fee].is-out{opacity:0;transform:translateY(6px)}
@keyframes lf-buy-hi{from{color:var(--lf-gold-dark);text-shadow:0 0 14px rgba(201,162,75,.55)}}
@keyframes lf-bar-hi{from{color:var(--lf-gold);text-shadow:0 0 14px rgba(201,162,75,.6)}}
.lf-buy__price [data-lf-fee].is-hi,.lf-buy__rate .r1.is-hi{animation:lf-buy-hi .7s var(--lf-ease-out)}
.lf-buybar__price [data-lf-fee].is-hi{animation:lf-bar-hi .7s var(--lf-ease-out)}
.lf-buybar__price small{font-size:12px;font-weight:400;color:var(--lf-text-soft-on-dark)}
@media (max-width:599px){
  .lf-buy .lf-freq__cap{min-height:calc(2 * 1.55em);text-wrap:balance} /* una oracion que se parte sola; dos lineas reservadas */
}
@media (prefers-reduced-motion:reduce){
  body.lf-a1 .lf-buy .lf-freq__seg button,body.lf-a1 .lf-buy .lf-freq__seg button::after,:is(.lf-buy__price,.lf-buybar__price) [data-lf-fee]{transition:none}
  .lf-buy__price [data-lf-fee].is-hi,.lf-buy__rate .r1.is-hi,.lf-buybar__price [data-lf-fee].is-hi{animation:none}
}
.lf-buy__trust{list-style:none;margin:var(--lf-s-4) 0 0;padding:0;font-size:var(--lf-fs-small);line-height:1.8;color:var(--lf-text-soft-on-light)}
.lf-buy__trust li::before{content:'✓ ';color:var(--lf-gold-dark)}
.lf-buy__trust a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Formulario de los plugins, acotado */
body.lf-a1 .lf-buy :is(.wcpa_section_body,.wcpa_row,.wcpa_field_wrap,.lf-dz-field){margin-inline:0;padding-inline:0;width:100%;max-width:none;flex-basis:100%}
body.lf-a1 .lf-buy :is(.wcpa_field_label,legend.wcpa_field_label){display:block;width:100%;margin:var(--lf-s-5) 0 var(--lf-s-2);padding:0;font:600 var(--lf-fs-label)/1.4 var(--lf-font-head);letter-spacing:var(--lf-ls-label);text-transform:uppercase;color:var(--lf-ink)}
body.lf-a1 .lf-buy .wcpa_required_ast{margin-left:2px;color:var(--lf-red)}
body.lf-a1 .lf-buy :is(input[type=text],input[type=date],input[type=tel],input[type=number],textarea){box-sizing:border-box;width:100%;min-height:52px;margin:0;padding:var(--lf-s-3) var(--lf-s-4);border:1px solid var(--lf-line-light);border-radius:0;background:var(--lf-white);box-shadow:none;font:16px/1.4 var(--lf-font-body);color:var(--lf-ink)}
body.lf-a1 .lf-buy textarea{min-height:96px}
body.lf-a1 .lf-buy :is(input,textarea):focus-visible{outline:2px solid var(--lf-gold-dark);outline-offset:1px;border-color:var(--lf-ink)}
body.lf-a1 .lf-buy .quantity{display:none!important} /* una unidad por ramo; un script de plugin le pone display:block en linea */
body.lf-a1 .lf-buy .wcpa_wrap{padding-inline:0} /* WCPA mete 2px: los campos quedaban desalineados con el titulo */
body.lf-a1 .lf-buy .lf-wines .wcpa_image_label{font-family:var(--lf-font-body);color:var(--lf-text-soft-on-light)}
body.lf-a1 .lf-buy .lf-wines .wcpa_field_bottom{margin-top:var(--lf-s-2)}
body.lf-a1 .lf-buy .lf-wines .wcpa_field_price{display:block;text-align:right;font:500 var(--lf-fs-small)/1.4 var(--lf-font-head);color:var(--lf-ink)}
body.lf-a1 .lf-buy .lf-wines:not(:has(input:checked)) .wcpa_field_price{display:none} /* sin vino elegido no se pinta "0,00 €" */
.lf-buy form.cart{margin:0}
.lf-buy .variations{width:100%;margin:0;border:0;border-collapse:collapse}
.lf-buy .variations tr{display:block}
.lf-buy .variations th,.lf-buy .variations td{display:block;padding:0;border:0;background:none;text-align:left}
.lf-buy .variations label,.lf-buy .wcpa_field_label,.lf-buy .lf-dz-field label{display:block;margin:var(--lf-s-5) 0 var(--lf-s-2);font:600 var(--lf-fs-label)/1.4 var(--lf-font-head);letter-spacing:var(--lf-ls-label);text-transform:uppercase;color:var(--lf-ink)}
.lf-buy .reset_variations{display:none!important} /* WooCommerce la muestra con estilo en linea; aqui siempre hay una variacion elegida */
.lf-buy .variable-items-wrapper{display:flex;flex-wrap:wrap;gap:var(--lf-s-2);margin:0;padding:0}
/* Botones rectos (estandares): el plugin los redondea con un selector de 5 clases */
.lf-buy .wvs-style-rounded.variable-items-wrapper .variable-item:not(.radio-variable-item),.lf-buy .variable-items-wrapper .variable-item{min-width:44px;min-height:44px;margin:0;border-radius:0;background:transparent;box-shadow:inset 0 0 0 1px var(--lf-line-light)}
.lf-buy .variable-items-wrapper .variable-item *{border-radius:0}
.lf-buy .variable-items-wrapper .variable-item:hover{box-shadow:inset 0 0 0 1px var(--lf-ink)}
.lf-buy .variable-items-wrapper .variable-item.selected{background:var(--lf-deep);color:var(--lf-paper);box-shadow:inset 0 0 0 1px var(--lf-deep)}
.lf-buy .variable-items-wrapper .variable-item.disabled{opacity:.45;text-decoration:line-through}
.lf-buy .variable-items-wrapper .variable-item-span-color{box-shadow:inset 0 0 0 1px rgba(26,26,23,.28)} /* filete fino en todos los colores: el blanco se perdia sobre el fondo claro (dueno 2026-10-22) */
.lf-buy .woocommerce-variation-price{display:none} /* el precio vive arriba y en la barra */
.lf-buy input[type=text],.lf-buy textarea{box-sizing:border-box;width:100%;min-height:52px;padding:var(--lf-s-3) var(--lf-s-4);border:1px solid var(--lf-line-light);border-radius:0;background:var(--lf-white);font:16px/1.4 var(--lf-font-body);color:var(--lf-ink)}
.lf-buy textarea{min-height:96px;resize:vertical}
.lf-buy input[type=text]:focus-visible,.lf-buy textarea:focus-visible{outline:2px solid var(--lf-gold-dark);outline-offset:1px}
.lf-buy [aria-invalid=true]{border-color:var(--lf-red)}
.lf-buy .lf-dz-msg{display:block;margin-top:var(--lf-s-1);font-size:var(--lf-fs-small);color:var(--lf-text-soft-on-light)}
.lf-field-error{margin:var(--lf-s-1) 0 0;color:var(--lf-red);font-size:var(--lf-fs-small)}
.lf-card-count{margin:var(--lf-s-1) 0 0;text-align:right;font-size:12px;color:var(--lf-text-soft-on-light)}
.lf-card-count.is-near{color:var(--lf-red)}
.lf-buy .wcpa_price_summary,.lf-buy .wcpa_price_outer,.lf-buy .wcpa_total{display:none}
/* WCPA envuelve los vinos en un contenedor con scroll de 300 px y estilos en linea: se anulan para mostrarlos en rejilla */
.lf-buy .wcpa_type_productGroup > div[style],.lf-buy .wcpa_type_productGroup > div[style] > div[style]{position:static!important;height:auto!important;overflow:visible!important;margin:0!important}
.lf-buy .lf-wines .wcpa_group_field{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lf-s-3)}
.lf-buy .lf-wines .wcpa_img_wrap{width:100%!important;height:auto!important;aspect-ratio:1/1;background:var(--lf-white)} /* tamaño en linea de WCPA */
.lf-buy .lf-wines .wcpa_image:has(input:focus-visible) .wcpa_img_wrap{outline:2px solid var(--lf-gold-dark);outline-offset:2px} /* el input de WCPA es transparente: el aro va en la foto */
.lf-buy .lf-wines .wcpa_img_wrap img{width:100%;height:100%;object-fit:contain}
.lf-buy .lf-wines .wcpa_image_label{display:block;margin-top:var(--lf-s-1);font-size:12px;line-height:1.35}
/* Lupa de WCPA: el circulo azul pasa a un boton blanco con aro fino y la lupa en tinta (dueno 2026-10-22) */
body.lf-a1 .lf-buy .lf-wines .wcpa_mag_icon{width:32px;height:32px;right:6px;bottom:6px;padding:0;box-sizing:border-box;border:1px solid var(--lf-line-light);border-radius:50%;background:rgba(255,255,255,.94);align-items:center;justify-content:center;transition:border-color .2s,opacity .2s}
body.lf-a1 .lf-buy .lf-wines .wcpa_mag_icon::before{width:16px;height:16px;border:0;border-radius:0;background:var(--lf-ink);-webkit-mask:url(../img/icons/lupa.svg) center/contain no-repeat;mask:url(../img/icons/lupa.svg) center/contain no-repeat}
body.lf-a1 .lf-buy .lf-wines .wcpa_mag_icon::after{display:none}
body.lf-a1 .lf-buy .lf-wines .wcpa_mag_icon:hover{border-color:var(--lf-gold-dark)}
/* Presentacion: iconos de linea propios (span que pone producto.js) con su nombre debajo, en lugar de los SVG del
   plugin. El tick de "elegido" y el tooltip del plugin viven en pseudo-elementos y aqui sobran: el estado es el fondo */
body.lf-a1 .lf-buy .variable-items-wrapper :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal):has(.lf-pres-ico){width:auto;min-width:96px;height:auto;padding:var(--lf-s-3) var(--lf-s-3) var(--lf-s-2);color:var(--lf-ink)}
body.lf-a1 .lf-buy :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal):has(.lf-pres-ico) .variable-item-image{display:none}
body.lf-a1 .lf-buy :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal):has(.lf-pres-ico) .variable-item-contents{gap:var(--lf-s-2)}
body.lf-a1 .lf-buy :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal):has(.lf-pres-ico) .variable-item-contents::before,body.lf-a1 .lf-buy :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal):has(.lf-pres-ico)::before,body.lf-a1 .lf-buy :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal):has(.lf-pres-ico)::after{display:none!important}
body.lf-a1 .lf-buy .variable-items-wrapper :is(.image-variable-item-envoltorio-de-papel,.image-variable-item-jarron-de-cristal).selected:has(.lf-pres-ico){background:var(--lf-deep)!important;color:var(--lf-paper);box-shadow:inset 0 0 0 1px var(--lf-deep)!important}
.lf-pres-ico{display:block;width:34px;height:34px;background:currentColor;-webkit-mask:var(--lf-ico) center/contain no-repeat;mask:var(--lf-ico) center/contain no-repeat}
.image-variable-item-envoltorio-de-papel .lf-pres-ico{--lf-ico:url(../img/icons/ramo.svg)}
.image-variable-item-jarron-de-cristal .lf-pres-ico{--lf-ico:url(../img/icons/jarron.svg)}
.lf-pres-txt{font:500 11px/1.2 var(--lf-font-head);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
/* Vista ampliada de WCPA (vive en <body>, fuera de .lf-buy): velo calido, panel recto, controles dentro del panel */
body.lf-a1 #wcpa_img_preview .wcpa_popup_outer{background:rgba(24,20,17,.86);padding:var(--lf-s-4);box-sizing:border-box}
body.lf-a1 #wcpa_img_preview .wcpa_preview_area{display:flex;flex-direction:column;align-items:center;max-width:min(560px,100%);background:var(--lf-white);padding:56px var(--lf-s-6) var(--lf-s-5);box-sizing:border-box}
body.lf-a1 #wcpa_img_preview .wcpa_preview_box{margin:0;border:0;border-radius:0;max-width:100%;max-height:none;background:none}
body.lf-a1 #wcpa_img_preview .wcpa_preview_box img{display:block;width:auto;height:auto;max-width:100%;max-height:min(62vh,640px);object-fit:contain}
body.lf-a1 #wcpa_img_preview .wcpa_popup_close{width:44px;height:44px;top:6px;right:6px}
body.lf-a1 #wcpa_img_preview .wcpa_popup_close::before,body.lf-a1 #wcpa_img_preview .wcpa_popup_close::after{width:18px;height:1px;background:var(--lf-ink)}
body.lf-a1 #wcpa_img_preview .wcpa_nav{left:0;width:100%}
body.lf-a1 #wcpa_img_preview .wcpa_nav span{width:44px;height:44px;transform:none}
body.lf-a1 #wcpa_img_preview .wcpa_nav span::before{width:10px;height:10px;border-color:var(--lf-ink);border-width:1px 0 0 1px}
body.lf-a1 #wcpa_img_preview .wcpa_img_check{display:none} /* un circulo sin texto; el vino se elige en la rejilla */
body.lf-a1 #wcpa_img_preview :is(.wcpa_popup_close,.wcpa_nav span):focus-visible{outline:2px solid var(--lf-gold-dark)!important;outline-offset:2px}
.lf-wines__cap{margin:var(--lf-s-4) 0 0;text-align:center;font:500 var(--lf-fs-small)/1.4 var(--lf-font-head);color:var(--lf-ink)}
.lf-wines__cap span{display:block;margin-top:2px;font-family:var(--lf-font-body);color:var(--lf-text-soft-on-light)}
.lf-buy .quantity{display:none}
.lf-buy .single_add_to_cart_button{width:100%;height:52px;margin-top:var(--lf-s-6);border:0;border-radius:0;background:var(--lf-gold);color:var(--lf-deep);font:600 12px/1 var(--lf-font-head);letter-spacing:var(--lf-ls-label);text-transform:uppercase;cursor:pointer}
.lf-buy .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}
.lf-buy .single_add_to_cart_button:focus-visible{outline:2px solid var(--lf-deep);outline-offset:2px}

/* Barra fija (movil y tableta): respeta el indicador de inicio del iPhone y reserva su hueco al final */
.lf-buybar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--lf-s-3);padding:var(--lf-s-3) var(--lf-gutter) calc(var(--lf-s-3) + env(safe-area-inset-bottom));background:var(--lf-deep);color:var(--lf-paper)}
.lf-buybar[hidden]{display:none}
.lf-buybar__price{margin:0;font:500 17px/1.2 var(--lf-font-head)}
.lf-buybar__price del{opacity:.6}
.lf-buybar__go{flex:0 0 auto;height:44px;padding:0 var(--lf-s-5)}
.lf-product{padding-bottom:calc(72px + env(safe-area-inset-bottom))}

/* ============ Bloques de contenido en bandas de dos ============ */
.lf-pd-pair__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--lf-s-8)}
.lf-pd-pair__grid > *,.lf-product__top > *{min-width:0} /* sin esto, una palabra o tabla larga ensancha la pagina */
.lf-pd__body img,.lf-pd__body table{max-width:100%;height:auto}
.lf-pd__title{margin:0 0 var(--lf-s-4);font:400 var(--lf-fs-h2)/1.1 var(--lf-font-head);letter-spacing:-.01em}
.lf-pd__body{font-size:var(--lf-fs-body);line-height:1.7;color:var(--lf-text-soft-on-light);max-width:68ch;overflow-wrap:anywhere} /* descripciones con cadenas largas sin espacios */
.lf-pd__body [style*=color]:not([style*=background]){color:inherit!important} /* colores en linea escritos en las descripciones (p. ej. #888 con contraste 3,3): heredan el del sistema */
.lf-pd__body p[style*="border-top"]{border-top-color:var(--lf-line-light)!important;font-size:var(--lf-fs-small)!important}
.lf-pd__body .lf-seo-block{background:var(--lf-ivory)!important;border-left-color:var(--lf-gold)!important;font-size:var(--lf-fs-small)!important}
.lf-gallery__track:focus-visible{outline:2px solid var(--lf-gold-dark);outline-offset:-2px}
.lf-pd__body h2,.lf-pd__body h3{margin:var(--lf-s-5) 0 var(--lf-s-2);font:500 18px/1.3 var(--lf-font-head);color:var(--lf-ink)}
.lf-pd__list{margin:0;padding:0;list-style:none}
.lf-pd__list li{padding:var(--lf-s-3) 0;border-top:1px solid var(--lf-line-light);font-size:var(--lf-fs-body);line-height:1.5}
.lf-pd__list li:last-child{border-bottom:1px solid var(--lf-line-light)}
.lf-pd__list--steps{counter-reset:lf-step}
.lf-pd__list--steps li::before{counter-increment:lf-step;content:counter(lf-step,decimal-leading-zero);display:inline-block;width:2.4em;font:300 18px var(--lf-font-head);color:var(--lf-gold-dark)}
.lf-pd__more{margin-top:var(--lf-s-4)}
/* Que incluye y Cuidados: foto de la familia + lista con icono por linea (dueno 2026-10-22). Foto en su proporcion, sin recorte;
   el bloque decide la disposicion por su propio ancho (en la banda de dos columnas, cada bloque mide la mitad) */
.lf-pd-inc,.lf-pd-care{container-type:inline-size}
.lf-pd__media{display:grid;gap:var(--lf-s-5)}
.lf-pd__fig{margin:0;width:min(100%,220px)}
.lf-pd__fig img{display:block;width:100%;height:auto;box-shadow:0 1px 0 var(--lf-line-light)}
.lf-pd__list--ico li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--lf-s-3);align-items:start}
.lf-pd__ico{width:24px;height:24px;margin-top:-1px;fill:none;stroke:var(--lf-gold-dark);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
@container (min-width:520px){
  .lf-pd__media{grid-template-columns:minmax(180px,38%) minmax(0,1fr);gap:var(--lf-s-6);align-items:start}
  .lf-pd__fig{width:100%}
}
.lf-pd-faq .lf-faq__inner{display:grid;gap:var(--lf-s-6)}

@media (min-width:600px){
  .lf-pd-pair__grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--lf-s-9)}
  .lf-gallery__slide img{max-height:64svh}
}
@media (min-width:1024px){
  .lf-product{padding-bottom:0}
  .lf-product__top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--lf-s-10);align-items:start;max-width:var(--lf-container);margin:0 auto;padding:var(--lf-s-7) var(--lf-gutter) var(--lf-section-y)}
  .lf-gallery{background:none;position:sticky;top:calc(var(--lfh-h,92px) + var(--lf-s-5))} /* la foto acompaña mientras baja la caja de compra: sin hueco vacio a la izquierda */
  .lf-gallery__slide img{max-height:min(78svh,calc(100svh - var(--lfh-h,92px) - 150px))} /* foto + miniaturas caben enteras bajo la cabecera fija */
  .lf-gallery:has(.lf-gallery__thumbs) .lf-gallery__nav{bottom:calc(94px + var(--lf-s-3))}
  .lf-gallery__thumbs{padding:14px 0 0;background:none}
  .lf-gallery__thumb{flex-basis:80px;height:80px}
  .lf-buy{padding:0}
  .lf-buy.is-sticky{position:sticky;top:var(--lf-s-12)}
  .lf-buybar{display:none!important} /* en escritorio la caja de compra hace su papel; el JS no la usa a partir de 1024 */
  .lf-pd-faq .lf-faq__inner{grid-template-columns:4fr 8fr;gap:70px}
}

/* Calendario y cabecera del motor de suscripciones (plugin propio): gris #888780 y oro #c9a961 no llegan a 4.5:1 en textos de 9-10px */
body.lf-a1 :is(.lfcal-fsub, .lfcal-leg-i) { color: var(--lf-text-soft-on-light); }
body.lf-a1 .lf-asi-eyebrow { color: var(--lf-gold-dark); }
/* Vista previa al pasar sobre un vino (WCPA #wcpa_tooltip): media 516 px y salia por arriba de la pantalla; pequena y en la paleta (dueno 2026-10-22) */
body.lf-a1 #wcpa_tooltip.wcpa_hover_preview{width:220px;max-width:220px;padding:12px;box-sizing:border-box;border:1px solid var(--lf-line-light);border-radius:0;background:var(--lf-white);box-shadow:0 14px 34px rgba(10,26,22,.16)}
body.lf-a1 #wcpa_tooltip.wcpa_hover_preview img{display:block;width:100%;height:170px;object-fit:contain}
body.lf-a1 #wcpa_tooltip.wcpa_hover_preview p{margin:8px 0 0;font:500 13px/1.35 var(--lf-font-head);color:var(--lf-ink);text-align:center}
