/* Cuenta regresiva | FresaFit | 2026-11-10
 * Cargar DESPUES de todas las capas actuales, incluida ff-ficha-directa.css.
 * Activacion global a cargo del integrador: html.ff-cuenta.ff-premium.ff-buenfin.
 * Solo presentacion: conserva DOM, [hidden], inline display, talla/regalo,
 * carruseles, formulario, precios, cantidades, totales y estados comerciales.
 * No fuentes/imagenes nuevas; Archivo y logos oficiales ya los carga el tema.
 * No se dibuja reloj, stock, resenas ni mensajes comerciales mediante CSS.
 */


/* Tokens locales: no reescriben los tokens de cabecera, landing ni checkout. */
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail),
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory,
html.ff-cuenta.ff-premium.ff-buenfin body.template-category,
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) {
  --cf-bg:#111113; --cf-panel:#29292D; --cf-ink:#F5F5F3; --cf-muted:#BFC1C5; --cf-line:#65656D; --cf-red:#c81024; --cf-offer:#ffb5bf; --cf-light:#F5F5F3; --cf-dark:#111113; font-family:"Archivo",Arial,sans-serif;
}

/* PDP nativa: mantiene la estructura Directa y sus condiciones de visibilidad. */
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) {
  background:var(--cf-bg); color:var(--cf-ink); padding-top:14px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) [data-store^="product-info-"] {
  color:var(--cf-ink); min-width:0;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(h1,h2,h3,.form-label,.btn-variant-content,.fffaq-t,.ffdesc>summary,.js-accordion-toggle,.js-accordion-toggle span) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) h1 {
  font-size:clamp(24px,2.8vw,34px); line-height:1.12; letter-spacing:-.025em; overflow-wrap:break-word;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ffcab,.ffcab-est,.ff-direct-gift-hint,.ffguia-nota,.ffguia-fila,.js-ffguia,.js-ffguia span,.ff64-galeria-movil,.ff64-galeria-desktop,.ff-taller-photo-note,.product-installments,.product-installments span,.js-max-installments-container,.js-max-installments-container span,.installments,.ffqty-pro label small) {
  color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ffguia-fila a,.ffdesc .product-description a,.ffdis-ver) {
  color:var(--cf-ink); text-decoration:underline; text-underline-offset:3px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .price-container {
  background:var(--cf-panel); color:var(--cf-ink); border-left:4px solid var(--cf-red); padding:12px 14px; margin:8px 0 10px; border-radius:4px; font-variant-numeric:tabular-nums;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #price_display {
  color:var(--cf-ink); font-size:clamp(29px,3vw,38px); font-weight:800; line-height:1.15;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #compare_price_display {
  color:var(--cf-muted); font-size:15px; text-decoration:line-through; text-decoration-thickness:1.5px; opacity:1;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.product-image-container,.js-swiper-product) {
  background:var(--cf-panel); border-radius:8px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.product-slider-image,.js-product-slide-img,.product-thumb) {
  object-fit:contain;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant {
  min-width:44px; min-height:44px; padding:9px 13px; background:var(--cf-panel); color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant.selected {
  background:var(--cf-light); color:var(--cf-dark); border-color:var(--cf-light); box-shadow:inset 0 0 0 1px var(--cf-light);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant.selected .btn-variant-content {
  color:var(--cf-dark);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant-no-stock {
  background:#202023; color:var(--cf-muted); border:1px dashed var(--cf-line);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant-no-stock :is(.btn-variant-content),
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant-no-stock::after {
  color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ffbf-preorder,.ff-taller-plazo) {
  background:transparent; border:0; border-left:2px solid var(--cf-red); padding:2px 0 2px 10px; margin:8px 0 12px; color:var(--cf-muted); box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ffbf-preorder p[data-preorder-status],.ff-taller-plazo strong,.ff-taller-plazo p) {
  color:var(--cf-muted); font-size:12px; line-height:1.45; margin:2px 0;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ffconv,.ffdest,.ff-taller-pasos,.ff-custom-model-size details) {
  background:var(--cf-panel); color:var(--cf-ink); border-color:var(--cf-line); padding:12px; border-radius:6px; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .ffconv :is(div,p,span,strong,small,a,summary,b),
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .ffdest :is(p,span,strong,small,a,b),
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ff-taller-guide-body p,.ffdis-rot,.ffqty-pro label) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .js-accordion-toggle svg {
  fill:currentColor; color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .ffqty-pro-control {
  background:var(--cf-panel); border:1px solid var(--cf-line);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .ffqty-pro-control :is(button,input) {
  min-width:44px; min-height:44px; background:var(--cf-panel); color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .ffqty-pro-control button:disabled {
  background:#202023; color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #product_form .js-addtocart {
  min-height:48px; border-radius:6px; border:1px solid var(--cf-red); background:var(--cf-red); color:#fff; box-shadow:none; font-family:inherit; font-size:15px; font-weight:800;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #product_form .js-addtocart:hover:not(:disabled):not(.disabled) {
  background:#a20d1e; border-color:#a20d1e; color:#fff;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #product_form .js-addtocart:is(:disabled,.disabled) {
  background:#414148; color:var(--cf-muted); border-color:var(--cf-line);
}

/* Regalo PRO: no cambia ff-direct-await-size, filtros, seleccion ni contenido. */
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro {
  background:var(--cf-panel); color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; padding:12px; margin:10px 0 14px; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(.ff64-resumen p,.ffrg-intro,.ffrg-nombre),
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro .ffrg-cab h3 {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro .ffrg-cab>b {
  background:transparent; color:var(--cf-offer); font-weight:800;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro :is(.ffrg-ayuda,.ffrg-estado) {
  color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro :is(.ffrg-filtros button,.ffrg-op),
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .ff64-acciones button {
  background:var(--cf-bg); color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; min-height:44px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro :is(.ffrg-filtros button[aria-pressed=true],.ffrg-op[aria-pressed=true],.ffrg-op.seleccionado) {
  background:#3a2026; border-color:var(--cf-offer); color:var(--cf-ink); box-shadow:inset 0 0 0 1px var(--cf-offer);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-regalo-pro .ffrg-op img {
  object-fit:contain; background:var(--cf-panel);
}

/* Personalizados: cierre/modelo oficial actual, sin agregar regalo ni alterar 30 dias. */
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model h2 {
  color:var(--cf-ink); font-size:16px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model .ff-custom-model-card {
  background:var(--cf-panel); color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; min-height:44px; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model .ff-custom-model-card[aria-pressed=true] {
  background:#333338; border-color:var(--cf-light); box-shadow:inset 0 0 0 1px var(--cf-light);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model .ff-custom-model-card[aria-pressed=true]::after {
  background:var(--cf-light); color:var(--cf-dark);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model .ff-custom-model-photo {
  object-fit:contain; background:var(--cf-panel);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model :is(strong,.ff-custom-model-prices b) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) #ff-custom-model :is(.ff-custom-model-detail,.ff-custom-model-prices s) {
  color:var(--cf-muted);
}

/* Accesorios: conserva solo/ambos, companion-collection y panel original. */
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory {
  background:var(--cf-bg); color:var(--cf-ink); --bg:#111113; --panel:#29292D; --ink:#F5F5F3; --muted:#BFC1C5; --line:#65656D; --purple:#F5F5F3; --gold:#F5F5F3;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .purchase-panel {
  background:transparent; color:var(--cf-ink); box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.ff-direct-accessory-title,#ffacc-shippingTitle,#ffacc-benefitTitle,.collection-heading h3,.configure>.label,.summary,.linename strong,.details summary) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.included,.benefit-now,#ffacc-mix,.collection-heading p,.shipping-box small,.shipping-box p,.original-photos,.swatchnote,.note) {
  color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .top .price {
  background:var(--cf-panel); color:var(--cf-ink); border-left:4px solid var(--cf-red); padding:12px 14px 4px; border-radius:4px 4px 0 0; margin:0;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory #ffacc-price {
  color:var(--cf-ink); font-size:34px; font-weight:800; font-variant-numeric:tabular-nums;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .bf-accessory-offer {
  background:var(--cf-panel); border-left:4px solid var(--cf-red); padding:0 14px 12px; margin:0 0 8px; border-radius:0 0 4px 4px; color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .bf-accessory-offer del {
  color:var(--cf-muted); font-size:14px; text-decoration-thickness:1.5px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .bf-accessory-offer .ffbf-off-badge {
  color:var(--cf-offer); background:transparent; font-weight:800;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.stage,.photo,.tabs,.shipping-box,.summary) {
  background:var(--cf-panel); color:var(--cf-ink); border-color:var(--cf-line); box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .stage::before {
  content:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .photo img {
  object-fit:contain;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.type,.design,.tabs button) {
  background:var(--cf-panel); color:var(--cf-ink); border:1px solid var(--cf-line); border-radius:6px; min-height:44px; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .type :is(strong,small,span) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.type.active,.type[aria-pressed=true],.design.selected,.tabs button.selected) {
  background:#3a2026; color:var(--cf-ink); border-color:var(--cf-offer); box-shadow:inset 0 0 0 1px var(--cf-offer);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .type[aria-pressed=true] :is(strong,small,span) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .type.active::after {
  background:var(--cf-light); color:var(--cf-dark);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.cta,.pack-button,.combo-copy button) {
  background:var(--cf-red); color:#fff; border-color:var(--cf-red); border-radius:6px; min-height:48px; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .cta:hover:not(:disabled) {
  background:#a20d1e; color:#fff;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.cta,.pack-button):disabled {
  background:#414148; color:var(--cf-muted); border-color:var(--cf-line); opacity:1;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .quantity button {
  min-width:44px; min-height:44px; color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.quantity,.configure,.summary,.shipping-box) {
  border-color:var(--cf-line);
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .original-photos {
  min-height:44px;
}

/* Categorias Rio: filtrado/orden/paginacion nativos; no toca landing #ff-campaign. */
html.ff-cuenta.ff-premium.ff-buenfin body.template-category {
  background:var(--cf-bg); color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category :is(.category-controls,.category-body,.ff-cat-desc) {
  background:var(--cf-bg); color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .category-controls .page-header {
  background:transparent; margin:0; padding-block:8px;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .category-controls h1 {
  color:var(--cf-ink); font-size:clamp(24px,3vw,36px); letter-spacing:-.025em;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category :is(.category-controls .form-select,.category-controls .btn-default,.filters-sidebar .form-control,.js-load-more) {
  min-height:44px; background:var(--cf-panel); color:var(--cf-ink); border-color:var(--cf-line);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product>.js-product-container {
  background:var(--cf-panel); color:var(--cf-ink); border:1px solid #3d3d43; border-radius:8px; box-shadow:none; overflow:hidden;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product :is(.item-image,.item-image img,.item-image a) {
  background:var(--cf-panel);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .item-image img {
  object-fit:contain;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .js-item-description {
  color:var(--cf-ink); padding:12px; min-width:0;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product :is(.item-name,.item-link) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .item-price-container {
  color:var(--cf-ink); border-top:2px solid var(--cf-red); padding-top:8px; margin-top:8px; font-variant-numeric:tabular-nums;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .item-price {
  color:var(--cf-ink); font-size:clamp(18px,2vw,24px); font-weight:800;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .price-compare {
  color:var(--cf-muted); font-size:12px; text-decoration-thickness:1.5px;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .btn-primary {
  min-height:44px; background:var(--cf-red); color:#fff; border-color:var(--cf-red); box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category :is(.ff-hebilla-offer,.ff-pro-gancho,.ffac-cat) {
  background:var(--cf-panel); color:var(--cf-ink); border-color:var(--cf-line); border-radius:6px;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category :is(.ff-hebilla-offer strong,.ffac-cat h2,.ffac-action>strong,.ff-pro-gancho p) {
  color:var(--cf-ink);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category :is(.ff-hebilla-offer small,.ffac-cat p,.ffac-action>small) {
  color:var(--cf-muted);
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .ffac-action>a {
  background:var(--cf-red); color:#fff; min-height:44px;
}

/* Carrito claro aprobado por marca, nativo lateral y pagina. No checkout. */
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) {
  background:var(--cf-light); color:var(--cf-dark); --main-foreground:#111113; --main-background:#F5F5F3; --main-foreground-opacity-50:#515156; --accent-color:#a20d1e; color-scheme:light;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.modal-header,.modal-body,.modal-footer,.cart-row,.cart-totals-container,#cart-sticky-summary) {
  background:var(--cf-light); color:var(--cf-dark); border-color:#c9c9cd;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(h1,h2,h3,h4,.h4,.h5,.subtitle,.cart-item-name,.cart-item-name a,[data-component="name.short-name"],.js-cart-item-unit-price,.js-cart-item-subtotal,.js-cart-subtotal,.js-cart-total,.cart-promotion-label,.cart-promotion-price,.cart-promotion-detail,.progress-bar-title,.progress-bar-subtitle) {
  color:var(--cf-dark);
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(a.btn-link,.js-modal-close,.js-cart-quantity-btn,.cart-item-delete button) {
  color:var(--cf-dark);
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.text-accent,.price-compare,.cart-item-name small,[data-component="name.short-variant-name"]) {
  color:#515156;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.form-control,.form-select,select) {
  background:#fff; color:var(--cf-dark); border-color:#85858b; color-scheme:light; min-height:44px;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.form-control::placeholder) {
  color:#515156;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.btn-primary,input[name="go_to_checkout"]) {
  background:var(--cf-dark); color:var(--cf-light); border:1px solid var(--cf-dark); min-height:48px; border-radius:6px; font-family:inherit; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.btn-primary,input[name="go_to_checkout"]):hover:not(:disabled) {
  background:var(--cf-panel); color:var(--cf-light);
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.btn-primary,input[name="go_to_checkout"]):disabled {
  background:#d9d9dc; color:#515156; border-color:#85858b;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .btn-secondary {
  background:#fff; color:var(--cf-dark); border-color:#85858b; min-height:44px;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.js-cart-quantity-btn,.cart-item-delete button,.js-modal-close) {
  min-width:44px; min-height:44px; align-content:center; text-align:center;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .js-cart-item img {
  object-fit:contain; background:#e5e5e7; border-radius:4px;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .js-cart-total {
  font-size:clamp(23px,2vw,30px); font-weight:800; font-variant-numeric:tabular-nums;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.label-accent,.label) {
  background:#e5e5e7; color:var(--cf-dark); border-color:#c9c9cd;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .alert-info {
  background:#e5e5e7; color:var(--cf-dark); border-color:#bfc1c5;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(.alert-warning,.alert-danger) {
  background:#fce8eb; color:#7d0b18; border-color:#c9838c;
}

/* Excepcion puntual: Rio aplica opacity-50 !important al precio anterior del carrito. */
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .price-compare.opacity-50 {
  opacity:1 !important;
}

/* Foco de dos colores legible sobre fotos y superficies claras/oscuras. */
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) :is(a,button,input,select,summary):focus-visible,
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(a,button,input,select,summary):focus-visible,
html.ff-cuenta.ff-premium.ff-buenfin body.template-category :is(a,button,input,select,summary):focus-visible,
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) :is(a,button,input,select,summary):focus-visible {
  outline:2px solid #fff; outline-offset:3px; box-shadow:0 0 0 2px #fff,0 0 0 5px #111113;
}

/* Solo ajuste de espacio; no fuerza display en estados ocultos o carrito vacio. */
@media (max-width:767px) {
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .section-single-product {
  gap:12px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .price-container {
  padding:10px 12px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .acc-main {
  padding:12px 16px 28px;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .buyrow {
  flex-wrap:wrap;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .buyrow .cta {
  flex:1 1 160px;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .js-item-description {
  padding:10px;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .cart-item-name {
  padding-right:40px;
}
}

/* Medidas de talla: pseudo-elemento fuera de :is() para compatibilidad CSS. */
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant::after {
  color:#BFC1C5;
}
html.ff-cuenta.ff-premium.ff-buenfin body #single-product:is(.ff-directa,.js-product-detail) .btn-variant.selected:not(.btn-variant-no-stock)::after {
  color:#515156;
}
/* Contenedor Rio de 90px: espacio real para dos controles de 44px y cantidad. */
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .form-quantity.small {
  width:132px; max-width:100%; padding:0; background:#fff; color:#111113; border-color:#85858b;
}
html.ff-cuenta.ff-premium.ff-buenfin body :is(#modal-cart,#shoppingCartPage) .js-cart-quantity-container {
  min-width:28px;
}
html.ff-cuenta.ff-premium.ff-buenfin body.template-category .js-item-product .js-item-description {
  background:#29292D;
}
/* PERF-02: la geometria existe antes del JS. Vence solo las utilidades/ratio inline nativos. */
html.ff-cuenta.ff-direct-product #single-product.js-product-detail .page-header.pt-4{padding-top:0!important}
@media(max-width:767px){html.ff-cuenta.ff-direct-product #single-product.js-product-detail .js-product-slide-link{height:280px;padding-bottom:0!important}}

/* QA AFTER 2026-11-10: acciones secundarias neutras; comprar conserva el rojo.
 * .original-photos comparte .pack-button con elegir complemento. Sin JS ni
 * cambios a cookies/Google. Controles de 44px y foco visible conservados.
 * :not(#ffacc-buy) excluye la compra y vence grupos previos con IDs en :is(). */
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.pack-button,.combo-copy button):not(#ffacc-buy) {
  min-height:44px; padding:8px 12px; border:1px solid #85858b;
  border-radius:6px; background:transparent; color:#F5F5F3;
  font-size:12px; font-weight:600; line-height:1.4; box-shadow:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory .pack-button.original-photos[aria-expanded] {
  display:inline-flex; align-items:center; justify-content:center;
  width:auto; max-width:100%; align-self:flex-start; text-decoration:none;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.pack-button,.combo-copy button):not(#ffacc-buy):hover:not(:disabled) {
  background:#29292D; border-color:#BFC1C5; color:#F5F5F3;
}
html.ff-cuenta.ff-premium.ff-buenfin body #ff-accessorios.ff-direct-accessory :is(.pack-button,.combo-copy button):not(#ffacc-buy):focus-visible {
  outline:2px solid #fff; outline-offset:3px;
  box-shadow:0 0 0 2px #fff,0 0 0 5px #111113;
}