/* ==========================================================================
   Fragancias Factory 3.16.0 — Commerce Flow
   Carrito · Checkout · Pedido recibido. Se carga solo en esas páginas.
   Cierra la cascada (depende de ff-v3150). Todo está bajo .ff-cf / .ff-cf-body.
   ========================================================================== */

/* 1. Tokens ----------------------------------------------------------------- */
.ff-cf-body{
  --cf-bg:#f7f5ef;
  --cf-card:#fff;
  --cf-soft:#f8f6f0;
  --cf-ink:#15201b;
  --cf-green:#17392f;
  --cf-green-deep:#0f2a22;
  --cf-muted:#5b6760;
  --cf-line:rgba(21,32,27,.10);
  --cf-line-strong:rgba(21,32,27,.22);
  --cf-gold:#a8894a;
  --cf-danger:#9b3b2f;
  --cf-ok:#2c6a50;
  --cf-radius:16px;
  --cf-radius-sm:10px;
  --cf-shadow:0 1px 2px rgba(16,30,23,.04),0 14px 36px rgba(16,30,23,.05);
  --cf-focus:0 0 0 3px rgba(23,57,47,.16);
  --cf-display:var(--ff-display,'Marcellus',Georgia,serif);
  --cf-body:var(--ff-body,'Work Sans',system-ui,sans-serif);
  --cf-sticky-top:104px;
  background:var(--cf-bg)!important;
}
.ff-cf-body .ff-cf{color:var(--cf-ink);font-family:var(--cf-body);font-size:15px;line-height:1.5}
.ff-cf *,.ff-cf *::before,.ff-cf *::after{box-sizing:border-box}
.ff-cf a{color:var(--cf-green)}
.ff-cf :focus-visible{outline:2px solid var(--cf-green);outline-offset:2px}

/* 2. Shell y cabecera ------------------------------------------------------- */
.ff-cf{padding:clamp(18px,3vw,40px) 0 clamp(48px,6vw,96px);overflow-x:clip}
.ff-cf__shell{width:min(100% - 28px,1280px);margin-inline:auto}
.ff-cf--checkout .ff-cf__shell,.ff-cf--received .ff-cf__shell{width:min(100% - 28px,1320px)}
@media(min-width:768px){.ff-cf__shell,.ff-cf--checkout .ff-cf__shell,.ff-cf--received .ff-cf__shell{width:min(100% - 56px,1280px)}.ff-cf--checkout .ff-cf__shell,.ff-cf--received .ff-cf__shell{width:min(100% - 56px,1320px)}}
.ff-cf__content,.ff-cf__content>.woocommerce{max-width:none!important;width:100%!important;margin:0!important}
.ff-cf__head{display:flex;flex-direction:column;gap:12px;margin:0 0 clamp(18px,2.4vw,28px)}
.ff-cf__title{margin:0;font-family:var(--cf-display);font-weight:400;font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:.005em;color:var(--cf-ink)}
.ff-cf-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;padding:0;list-style:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cf-muted)}
.ff-cf-steps li{display:flex;align-items:center;gap:8px;margin:0}
.ff-cf-steps li+li::before{content:"";width:clamp(14px,3vw,34px);height:1px;background:var(--cf-line-strong)}
.ff-cf-steps a{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.ff-cf-steps a:hover .ff-cf-steps__label{text-decoration:underline;text-underline-offset:3px}
.ff-cf-steps__n{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--cf-line-strong);border-radius:50%;font-size:11px;letter-spacing:0}
.ff-cf-steps .is-current{color:var(--cf-ink);font-weight:600}
.ff-cf-steps .is-current .ff-cf-steps__n{background:var(--cf-green);border-color:var(--cf-green);color:#fff}
.ff-cf-steps .is-done .ff-cf-steps__n{border-color:var(--cf-green);color:var(--cf-green)}
.ff-cf--received .ff-cf__head{margin-bottom:18px}
@media(max-width:479px){.ff-cf-steps{gap:6px;font-size:11px;letter-spacing:.1em}.ff-cf-steps li+li::before{width:14px}.ff-cf-steps li:not(.is-current) .ff-cf-steps__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* 3. Componentes comunes ---------------------------------------------------- */
.ff-cf .woocommerce-notices-wrapper:empty{display:none}
.ff-cf .woocommerce-error,.ff-cf .woocommerce-info,.ff-cf .woocommerce-message{margin:0 0 16px!important;padding:13px 16px!important;border-radius:var(--cf-radius-sm)!important;font-size:14px!important}
.ff-cf .button,.ff-cf button.button,.ff-cf a.button{border-radius:999px!important}
.ff-cf .blockUI.blockOverlay{background:rgba(247,245,239,.62)!important;opacity:1!important}
.ff-cf .blockUI.blockOverlay::before{display:none!important}
.ff-cf .screen-reader-text{position:absolute!important}

/* Separador de Stripe (visibilidad la decide Stripe con su propio style). */
.ff-cf #wc-stripe-express-checkout-button-separator,
.ff-cf #wc-stripe-payment-request-button-separator,
.ff-cf #wcpay-express-checkout-button-separator,
.ff-cf #wcpay-payment-request-button-separator{position:relative;margin:14px 0 2px!important;padding:0!important;height:20px;font-size:0!important;line-height:0!important;color:transparent!important;text-align:center!important}
.ff-cf #wc-stripe-express-checkout-button-separator::before,
.ff-cf #wc-stripe-payment-request-button-separator::before,
.ff-cf #wcpay-express-checkout-button-separator::before,
.ff-cf #wcpay-payment-request-button-separator::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--cf-line)}
.ff-cf #wc-stripe-express-checkout-button-separator::after,
.ff-cf #wc-stripe-payment-request-button-separator::after,
.ff-cf #wcpay-express-checkout-button-separator::after,
.ff-cf #wcpay-payment-request-button-separator::after{content:"o";position:relative;display:inline-block;padding:0 12px;background:var(--cf-card);font-size:12px;line-height:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--cf-muted)}
.ff-cf-checkout .ff-cf #wc-stripe-express-checkout-button-separator::after,
.ff-cf-checkout .ff-cf #wc-stripe-payment-request-button-separator::after,
.ff-cf-checkout .ff-cf #wcpay-express-checkout-button-separator::after,
.ff-cf-checkout .ff-cf #wcpay-payment-request-button-separator::after{content:"o continúa con tus datos";background:var(--cf-bg)}

/* Stepper de cantidad (botones .ff-qty-button de v31.js). */
.ff-cf .quantity{display:inline-flex!important;align-items:center!important;height:40px;margin:0!important;border:1px solid var(--cf-line-strong)!important;border-radius:999px!important;background:#fff!important;overflow:hidden;min-height:0!important;grid-template-columns:none!important}
.ff-cf .quantity .ff-qty-button{display:grid;place-items:center;width:38px;height:38px;margin:0;padding:0;border:0;background:transparent;color:var(--cf-ink);font-size:18px;line-height:1;cursor:pointer;transition:background .15s ease}
.ff-cf .quantity .ff-qty-button:hover{background:var(--cf-soft)}
.ff-cf .quantity input.qty{width:36px!important;height:38px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:500 15px/1 var(--cf-body)!important;text-align:center!important;color:var(--cf-ink)!important;-moz-appearance:textfield;appearance:textfield}
.ff-cf .quantity input.qty::-webkit-outer-spin-button,.ff-cf .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Botón principal del flujo. */
.ff-cf .wc-proceed-to-checkout .checkout-button,
.ff-cf .ff-selected-checkout,
.ff-cf #place_order,
.ff-ty-btn--primary{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:56px!important;margin:0!important;padding:0 24px!important;float:none!important;border:0!important;border-radius:999px!important;background:var(--cf-green)!important;color:#fff!important;font:600 13px/1 var(--cf-body)!important;letter-spacing:.16em!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.ff-cf .wc-proceed-to-checkout .checkout-button:hover,
.ff-cf .ff-selected-checkout:hover,
.ff-cf #place_order:hover,
.ff-ty-btn--primary:hover{background:var(--cf-green-deep)!important;box-shadow:0 10px 26px rgba(15,42,34,.18)!important}
.ff-cf .ff-selected-checkout:disabled,.ff-cf .ff-selected-checkout.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important}

/* 4. CARRITO ---------------------------------------------------------------- */
body.ff-cf-cart .ff-cf .ff-cart-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
@media(min-width:1024px){
  body.ff-cf-cart .ff-cf .ff-cart-grid{grid-template-columns:minmax(0,1fr) minmax(340px,35%);gap:clamp(24px,2.6vw,40px)}
  body.ff-cf-cart .ff-cf .ff-cart-grid__aside.is-sticky{position:sticky;top:var(--cf-sticky-top)}
}
body.ff-cf-cart .ff-cf .ff-cart-grid__main,body.ff-cf-cart .ff-cf .ff-cart-grid__aside{min-width:0}
body.ff-cf-cart .ff-cf .woocommerce-cart-form,body.ff-cf-cart .ff-cf .cart-collaterals{float:none!important;width:auto!important;max-width:none!important;margin:0!important}

/* Barra de lista (título + seleccionar todo de v34). */
body.ff-cf-cart .ff-cf .ff-cart-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0!important;padding:14px 20px!important;background:var(--cf-card);border:1px solid var(--cf-line)!important;border-bottom:0!important;border-radius:var(--cf-radius) var(--cf-radius) 0 0}
body.ff-cf-cart .ff-cf .ff-cart-toolbar__title strong{display:none!important}
body.ff-cf-cart .ff-cf .ff-cart-toolbar__title small{display:inline!important;font-size:13px!important;color:var(--cf-muted)!important;letter-spacing:0}
body.ff-cf-cart .ff-cf .ff-cart-toolbar__select-all{font-size:13px!important;font-weight:500!important;color:var(--cf-ink)!important;min-height:40px}
body.ff-cf-cart .ff-cf .ff-cart-minihead{display:none!important}
body.ff-cf-cart .ff-cf .ff-cart-grid__main>.woocommerce-notices-wrapper{margin:0}
body.ff-cf-cart .ff-cf .ff-cart-grid__main>.woocommerce-notices-wrapper:not(:empty){margin-bottom:14px}

/* Aviso de promoción de v38 dentro de la lista. */
body.ff-cf-cart .ff-cf .woocommerce-cart-form>.ff-3x2-notice,body.ff-cf-cart .ff-cf .woocommerce-cart-form>[class*="promo"]{margin:0!important;border-radius:0!important;border-left:1px solid var(--cf-line)!important;border-right:1px solid var(--cf-line)!important}

body.ff-cf-cart .ff-cf table.shop_table.cart{display:block!important;width:100%!important;margin:0!important;border:1px solid var(--cf-line)!important;border-radius:0 0 var(--cf-radius) var(--cf-radius)!important;background:var(--cf-card)!important;box-shadow:var(--cf-shadow);overflow:hidden}
body.ff-cf-cart .ff-cf table.shop_table.cart thead{display:none!important}
body.ff-cf-cart .ff-cf table.shop_table.cart tbody{display:block!important}
body.ff-cf-cart .ff-cf table.shop_table.cart tr.cart_item{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;grid-template-areas:"thumb name name total" "thumb qty remove ."!important;align-items:center!important;column-gap:18px!important;row-gap:10px!important;margin:0!important;padding:18px 22px!important;border:0!important;border-bottom:1px solid var(--cf-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important}
body.ff-cf-cart .ff-cf table.shop_table.cart tr.cart_item:last-of-type{border-bottom:0!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td{display:block!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;text-align:left!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td::before{display:none!important;content:none!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-thumbnail{grid-area:thumb;align-self:start}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name{grid-area:name;align-self:end}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-price{display:none!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity{grid-area:qty}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove{grid-area:remove;justify-self:start}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-subtotal{grid-area:total;justify-self:end;align-self:end;text-align:right!important;font:400 18px/1.2 var(--cf-display);white-space:nowrap;color:var(--cf-ink)}

/* Miniatura + selector (v35). El selector duplicado de v36 queda oculto; ambos están sincronizados. */
body.ff-cf-cart .ff-cf .ff-cart-select--desktop{display:none!important}
body.ff-cf-cart .ff-cf .ff-cart-thumb-v35{display:grid!important;grid-template-columns:22px auto!important;align-items:center!important;gap:12px!important}
body.ff-cf-cart .ff-cf .ff-cart-select--v35{display:grid!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-thumbnail img,
body.ff-cf-cart .ff-cf .ff-cart-thumb-v35__image img{display:block!important;width:96px!important;height:96px!important;max-width:none!important;margin:0!important;object-fit:cover;border-radius:12px!important;background:#f1efe8;border:1px solid var(--cf-line)}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-thumbnail a{display:block}

body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name{display:flex!important;flex-direction:column;gap:3px;font-size:14px;line-height:1.4}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name .ff-cart-item-name-wrap{display:block!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name a{font:400 19px/1.2 var(--cf-display)!important;color:var(--cf-ink)!important;text-decoration:none!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name a:hover{color:var(--cf-green)!important}
.ff-cf-inspired{display:block;font-size:13px;color:var(--cf-muted)}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name dl.variation{display:flex;flex-wrap:wrap;gap:2px 6px;margin:2px 0 0!important;font-size:13px!important;color:var(--cf-ink)!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name dl.variation dt{margin:0!important;font-weight:400!important;color:var(--cf-muted)}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name dl.variation dd{margin:0!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name dl.variation dd p{margin:0!important;display:inline}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name .backorder_notification{font-size:12.5px;color:var(--cf-gold)}

body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove a.remove{display:inline-flex!important;align-items:center;width:auto!important;height:40px!important;padding:0 2px!important;border-radius:0!important;background:none!important;color:var(--cf-muted)!important;font-size:0!important;line-height:1!important;text-decoration:none!important;font-weight:400!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove a.remove::after{content:"Eliminar";font-size:13px;letter-spacing:.02em}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove a.remove:hover{background:none!important;color:var(--cf-danger)!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove a.remove:hover::after{text-decoration:underline;text-underline-offset:3px}
body.ff-cf-cart .ff-cf table.shop_table.cart tr.cart_item.ff-cart-item--deselected{opacity:.55!important;background:var(--cf-soft)!important}

/* Fila de acciones: el cupón vive en el resumen (proxy), la actualización es automática (v31). */
body.ff-cf-cart .ff-cf table.shop_table.cart tr:not(.cart_item){display:block!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.actions{display:block!important;padding:0!important}
.ff-cf-js body.ff-cf-cart .ff-cf table.shop_table.cart td.actions .coupon,
.ff-cf-js body.ff-cf-cart .ff-cf table.shop_table.cart td.actions button[name="update_cart"]{display:none!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.actions>*:not(.coupon):not(button):not(input[type="hidden"]){margin:12px 22px}
body.ff-cf-cart .ff-cf table.shop_table.cart td.actions .coupon{display:flex;gap:8px;padding:14px 22px;border-top:1px solid var(--cf-line)}

/* Resumen */
body.ff-cf-cart .ff-cf .cart-collaterals .cart_totals{display:flex!important;flex-direction:column;gap:14px;width:100%!important;float:none!important;position:static!important;margin:0!important;padding:24px!important;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius)!important;box-shadow:var(--cf-shadow)!important}
body.ff-cf-cart .ff-cf .cart_totals>h2{display:none!important}
body.ff-cf-cart .ff-cf .cart_totals>*{order:8;margin:0!important}
body.ff-cf-cart .ff-cf .cart_totals>.ff-cf-sum-head{order:0}
body.ff-cf-cart .ff-cf .cart_totals>.ff-cart-page-benefits{order:1}
body.ff-cf-cart .ff-cf .cart_totals>.ff-selected-summary{order:2}
body.ff-cf-cart .ff-cf .cart_totals>.ff-cf-coupon{order:3}
body.ff-cf-cart .ff-cf .cart_totals>table{order:4}
body.ff-cf-cart .ff-cf .cart_totals>.ff-cart-shipping-note{order:5}
body.ff-cf-cart .ff-cf .cart_totals>.wc-proceed-to-checkout{order:6}
body.ff-cf-cart .ff-cf .cart_totals>.ff-payment-rail,body.ff-cf-cart .ff-cf .cart_totals>.ff-paymarquee,body.ff-cf-cart .ff-cf .cart_totals>[class*="payment"]{order:9}

.ff-cf-sum-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--cf-line)}
.ff-cf-sum-head h2{margin:0!important;font:400 22px/1.1 var(--cf-display)!important;color:var(--cf-ink)}
.ff-cf-sum-head span{font-size:13px;color:var(--cf-muted)}

/* Envío gratis (dato real: $1,000) — barra compacta. */
body.ff-cf-cart .ff-cf .ff-cart-page-benefits{display:block!important;padding:0!important;background:none!important;border:0!important}
body.ff-cf-cart .ff-cf .ff-cart-page-benefits .ff-cart-promo-note{display:none!important}
body.ff-cf-cart .ff-cf .ff-cart-progress{margin:0!important;padding:0!important;background:none!important;border:0!important}
body.ff-cf-cart .ff-cf .ff-cart-progress__copy{display:flex;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:13px!important;color:var(--cf-ink)}
body.ff-cf-cart .ff-cf .ff-cart-progress__copy strong{font-weight:600}
body.ff-cf-cart .ff-cf .ff-cart-progress__track{height:4px!important;border-radius:4px;background:#ece9e0!important;overflow:hidden}
body.ff-cf-cart .ff-cf .ff-cart-progress__track span{display:block;height:100%;background:var(--cf-green)!important;border-radius:4px;transition:width .4s ease}

body.ff-cf-cart .ff-cf .ff-selected-summary{display:block!important;margin:0!important;padding:0!important;background:none!important;border:0!important}
body.ff-cf-cart .ff-cf .ff-selected-summary>div{display:none!important}
body.ff-cf-cart.ff-cart-partial-selection .ff-cf .ff-selected-summary>div{display:flex!important;justify-content:space-between;font-size:13px;color:var(--cf-muted);margin:0 0 4px}
body.ff-cf-cart .ff-cf .ff-selected-summary__promo{margin:0!important;padding:10px 12px!important;border-radius:var(--cf-radius-sm);background:var(--cf-soft)!important;border:1px solid var(--cf-line);font-size:13px!important;color:var(--cf-ink)!important}
body.ff-cf-cart .ff-cf .ff-selected-summary__note{display:none!important}
body.ff-cf-cart .ff-cf .ff-cart-shipping-note{margin:0!important;font-size:12.5px!important;line-height:1.5;color:var(--cf-muted)!important}

.ff-cf-coupon{display:none}
.ff-cf-js .ff-cf-coupon{display:block}
.ff-cf-coupon summary{display:flex;align-items:center;justify-content:space-between;min-height:40px;cursor:pointer;list-style:none;font-size:14px;color:var(--cf-ink)}
.ff-cf-coupon summary::-webkit-details-marker{display:none}
.ff-cf-coupon summary::after{content:"+";font-size:18px;color:var(--cf-muted);transition:transform .2s ease}
.ff-cf-coupon[open] summary::after{transform:rotate(45deg)}
.ff-cf-coupon__row{display:flex;gap:8px;padding:4px 0 2px}
.ff-cf-coupon__row input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border:1px solid var(--cf-line-strong);border-radius:var(--cf-radius-sm);background:#fff;font:15px var(--cf-body);color:var(--cf-ink);text-transform:uppercase;letter-spacing:.06em}
.ff-cf-coupon__row input:focus{outline:none;border-color:var(--cf-green);box-shadow:var(--cf-focus)}
.ff-cf-coupon__row button{flex:0 0 auto;height:44px;padding:0 18px;border:1px solid var(--cf-green);border-radius:var(--cf-radius-sm);background:#fff;color:var(--cf-green);font:600 12px var(--cf-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.ff-cf-coupon__row button:hover{background:var(--cf-green);color:#fff}

/* Tabla de totales como líneas. */
body.ff-cf-cart .ff-cf .cart_totals table.shop_table{display:block!important;width:100%!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important}
body.ff-cf-cart .ff-cf .cart_totals table.shop_table tbody{display:block!important}
body.ff-cf-cart .ff-cf .cart_totals table.shop_table tr{display:flex!important;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 0!important;margin:0!important;border:0!important;background:transparent!important}
body.ff-cf-cart .ff-cf .cart_totals table.shop_table th,
body.ff-cf-cart .ff-cf .cart_totals table.shop_table td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important;font-size:14px!important;font-weight:400!important;color:var(--cf-ink);text-transform:none!important;letter-spacing:0!important}
body.ff-cf-cart .ff-cf .cart_totals table.shop_table th{color:var(--cf-muted)}
body.ff-cf-cart .ff-cf .cart_totals table.shop_table td{text-align:right!important}
body.ff-cf-cart .ff-cf .cart_totals table.shop_table td::before{display:none!important}
body.ff-cf-cart .ff-cf .cart_totals tr.cart-discount td,body.ff-cf-cart .ff-cf .cart_totals tr.fee td{color:var(--cf-ok)!important}
body.ff-cf-cart .ff-cf .cart_totals tr.cart-discount td a{font-size:12px;color:var(--cf-muted)}
body.ff-cf-cart .ff-cf .cart_totals tr.woocommerce-shipping-totals{flex-direction:column;align-items:stretch;gap:6px}
body.ff-cf-cart .ff-cf .cart_totals tr.woocommerce-shipping-totals td{text-align:left!important}
.ff-cf ul#shipping_method{margin:0!important;padding:0!important;list-style:none!important;display:flex;flex-direction:column;gap:4px}
.ff-cf ul#shipping_method li{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:0!important;font-size:13.5px;text-indent:0!important}
.ff-cf ul#shipping_method li label{display:inline!important;margin:0!important;font-weight:400!important}
.ff-cf ul#shipping_method input[type="radio"]{margin:0!important;accent-color:var(--cf-green)}
.ff-cf .woocommerce-shipping-destination,.ff-cf .shipping-calculator-button{font-size:12.5px;color:var(--cf-muted)!important}
body.ff-cf-cart .ff-cf .shipping-calculator-form p{margin:0 0 8px}
body.ff-cf-cart .ff-cf .cart_totals tr.order-total{margin-top:6px!important;padding-top:16px!important;border-top:1px solid var(--cf-line)!important;align-items:center}
body.ff-cf-cart .ff-cf .cart_totals tr.order-total th{font-size:12px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--cf-ink)!important;font-weight:600!important}
body.ff-cf-cart .ff-cf .cart_totals tr.order-total td{font:400 30px/1.1 var(--cf-display)!important;color:var(--cf-ink)!important}
body.ff-cf-cart .ff-cf .cart_totals tr.order-total td strong{font-weight:400}
body.ff-cf-cart .ff-cf .cart_totals tr.order-total td small,body.ff-cf-cart .ff-cf .cart_totals tr.order-total td .includes_tax{display:block;font:12px var(--cf-body);color:var(--cf-muted)}
body.ff-cf-cart .ff-cf .wc-proceed-to-checkout{display:flex!important;flex-direction:column;gap:10px;padding:0!important;margin:0!important}
body.ff-cf-cart .ff-cf .wc-proceed-to-checkout>*{margin:0!important}
body.ff-cf-cart .ff-cf .ff-payment-rail,body.ff-cf-cart .ff-cf .ff-paymarquee{margin:0!important;padding-top:4px!important;border:0!important;opacity:.85}

/* Stepper del carrito: supera la regla grid de v31 (.woocommerce-cart table.shop_table.cart .product-quantity .quantity). */
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity .quantity{display:inline-flex!important;grid-template-columns:none!important;align-items:center!important;width:auto!important;height:40px!important;min-height:0!important;padding:0!important;border:1px solid var(--cf-line-strong)!important;border-radius:999px!important;background:#fff!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity .quantity .ff-qty-button{display:grid!important;place-items:center;width:38px!important;height:38px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--cf-ink)!important;font-size:18px!important}
body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity .quantity input.qty{display:block!important;width:36px!important;height:38px!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;text-align:center!important;font:500 15px/1 var(--cf-body)!important}
@media(max-width:767px){body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity .quantity{height:44px!important}body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity .quantity .ff-qty-button{width:44px!important;height:42px!important}body.ff-cf-cart .ff-cf table.shop_table.cart td.product-quantity .quantity input.qty{height:42px!important;font-size:16px!important}}
body.ff-cf-cart .ff-cf .cart-collaterals{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}

/* Carrito vacío */
body.ff-cf-cart .ff-cf .cart-empty{margin:0 0 18px!important;padding:28px!important;text-align:center;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius)!important;font:400 22px var(--cf-display)!important}
body.ff-cf-cart .ff-cf .return-to-shop .button{display:inline-flex!important;min-height:50px;align-items:center;padding:0 28px!important;background:var(--cf-green)!important;color:#fff!important}

/* Venta cruzada bajo la cuadrícula */
body.ff-cf-cart .ff-cf .cross-sells{margin-top:clamp(32px,4vw,56px)}
body.ff-cf-cart .ff-cf .cross-sells>h2{font:400 26px var(--cf-display)}

/* Carrito · tablet/móvil */
@media(max-width:767px){
  body.ff-cf-cart .ff-cf .ff-cart-toolbar{padding:6px 14px!important}body.ff-cf-cart .ff-cf .ff-cart-toolbar__title small{display:none!important}
  body.ff-cf-cart .ff-cf table.shop_table.cart tr.cart_item{grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-areas:"thumb name name" "thumb total total" "qty qty remove"!important;column-gap:12px!important;row-gap:8px!important;padding:14px!important}
  body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name{align-self:start}
  body.ff-cf-cart .ff-cf table.shop_table.cart td.product-subtotal{justify-self:start;align-self:start;text-align:left!important;font-size:17px}
  body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove{justify-self:end}
  body.ff-cf-cart .ff-cf .ff-cart-thumb-v35{gap:8px!important}
  body.ff-cf-cart .ff-cf table.shop_table.cart td.product-thumbnail img,body.ff-cf-cart .ff-cf .ff-cart-thumb-v35__image img{width:76px!important;height:76px!important;border-radius:10px!important}
  body.ff-cf-cart .ff-cf table.shop_table.cart td.product-name a{font-size:17px!important}
  .ff-cf .quantity{height:44px}
  .ff-cf .quantity .ff-qty-button{width:44px;height:42px}
  .ff-cf .quantity input.qty{height:42px!important;font-size:16px!important}
  body.ff-cf-cart .ff-cf table.shop_table.cart td.product-remove a.remove{height:44px!important}
  body.ff-cf-cart .ff-cf .cart-collaterals .cart_totals{padding:18px!important}
  body.ff-cf-cart .ff-cf .cart_totals tr.order-total td{font-size:26px!important}
  .ff-cf-coupon__row input{font-size:16px}
}

/* 5. CHECKOUT --------------------------------------------------------------- */
.ff-cf-checkout .ff-cf form.checkout{display:block!important;grid-template-columns:none!important;max-width:none!important;width:100%!important;margin:0!important}
.ff-cf-checkout .ff-cf .woocommerce-form-coupon-toggle,
.ff-cf-checkout .ff-cf form.checkout_coupon,
.ff-cf-checkout .ff-cf form.woocommerce-form-login,
.ff-cf-checkout .ff-cf .woocommerce-form-login-toggle{max-width:none!important;width:100%!important;margin-inline:0!important}
@media(min-width:1024px){
  .ff-cf-checkout .ff-cf .woocommerce-form-coupon-toggle,
  .ff-cf-checkout .ff-cf form.checkout_coupon,
  .ff-cf-checkout .ff-cf form.woocommerce-form-login,
  .ff-cf-checkout .ff-cf .woocommerce-form-login-toggle{width:calc(62% - 24px)!important}
}
.ff-cf-checkout .ff-cf .woocommerce-form-coupon-toggle .woocommerce-info,
.ff-cf-checkout .ff-cf .woocommerce-form-login-toggle .woocommerce-info{margin:0 0 12px!important;padding:12px 16px!important;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;font-size:14px!important;color:var(--cf-ink)!important}
.ff-cf-checkout .ff-cf form.checkout_coupon{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px!important;padding:14px!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius-sm)!important;background:var(--cf-card)!important}
.ff-cf-checkout .ff-cf form.checkout_coupon p:not(.form-row){flex:1 0 100%;margin:0;font-size:13px;color:var(--cf-muted)}
.ff-cf-checkout .ff-cf form.checkout_coupon .form-row{flex:1 1 200px;margin:0!important;padding:0!important;width:auto!important;float:none!important}
.ff-cf-checkout .ff-cf form.checkout_coupon .form-row-last{flex:0 0 auto}
.ff-cf-checkout .ff-cf form.checkout_coupon button{height:46px;padding:0 20px!important;border:1px solid var(--cf-green)!important;background:#fff!important;color:var(--cf-green)!important;font:600 12px var(--cf-body)!important;letter-spacing:.14em;text-transform:uppercase}

.ff-co{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.ff-co__main{display:flex;flex-direction:column;gap:16px;min-width:0}
.ff-co__aside{min-width:0}
@media(min-width:1024px){
  .ff-co{grid-template-columns:minmax(0,62fr) minmax(360px,38fr);gap:clamp(28px,3vw,48px)}
  .ff-co__aside.is-sticky{position:sticky;top:var(--cf-sticky-top)}
}
.ff-cf-checkout #customer_details,.ff-cf-checkout #order_review,.ff-cf-checkout #order_review_heading,
.ff-cf-checkout .col2-set,.ff-cf-checkout #customer_details .col-1,.ff-cf-checkout #customer_details .col-2{float:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;position:static!important}

/* Pago rápido */
.ff-co-express{display:none}
.ff-co-express.is-ready{display:block;overflow:hidden;padding:20px 22px 0;background:var(--cf-card);border:1px solid var(--cf-line);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow)}
.ff-co-express__head,.ff-co-pay__head,.ff-cf-checkout .woocommerce-billing-fields>h3,.ff-cf-checkout .woocommerce-shipping-fields>h3,.ff-cf-checkout .woocommerce-additional-fields>h3{margin:0 0 14px!important;font:600 12px/1.3 var(--cf-body)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--cf-ink)!important}
.ff-co-express__slot>*{margin-top:0!important}
.ff-co-express.is-ready #wc-stripe-express-checkout-button-separator::after,
.ff-co-express.is-ready #wc-stripe-payment-request-button-separator::after{background:var(--cf-card)!important}
.ff-co-express.is-ready #wc-stripe-express-checkout-button-separator,
.ff-co-express.is-ready #wc-stripe-payment-request-button-separator{margin:16px -22px 0!important;height:28px;border-top:1px solid var(--cf-line);background:var(--cf-bg)}
.ff-co-express.is-ready #wc-stripe-express-checkout-button-separator::before,
.ff-co-express.is-ready #wc-stripe-payment-request-button-separator::before{display:none}
.ff-co-express.is-ready #wc-stripe-express-checkout-button-separator::after,
.ff-co-express.is-ready #wc-stripe-payment-request-button-separator::after{background:transparent!important;line-height:28px}

/* Datos */
.ff-cf-checkout #customer_details{display:flex!important;flex-direction:column;gap:16px}
.ff-cf-checkout .woocommerce-billing-fields,
.ff-cf-checkout .woocommerce-shipping-fields,
.ff-cf-checkout .woocommerce-additional-fields{padding:22px!important;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius)!important;box-shadow:var(--cf-shadow)!important}
.ff-cf-checkout .woocommerce-additional-fields:not(:has(*)),
.ff-cf-checkout .woocommerce-shipping-fields:not(:has(*)){display:none!important}
.ff-cf-checkout .woocommerce-shipping-fields{padding:14px 22px!important}
.ff-cf-checkout .woocommerce-shipping-fields>h3#ship-to-different-address{margin:0!important;font:500 14px var(--cf-body)!important;letter-spacing:0!important;text-transform:none!important}
.ff-cf-checkout #ship-to-different-address label{display:flex!important;align-items:center;gap:10px;min-height:40px;margin:0!important;cursor:pointer}
.ff-cf-checkout #ship-to-different-address input{margin:0!important;accent-color:var(--cf-green);width:18px;height:18px}
.ff-cf-checkout .shipping_address{margin-top:14px}
.ff-cf-checkout .woocommerce-billing-fields__field-wrapper,
.ff-cf-checkout .woocommerce-shipping-fields__field-wrapper,
.ff-cf-checkout .woocommerce-additional-fields__field-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.ff-cf-checkout .woocommerce-billing-fields__field-wrapper::before,.ff-cf-checkout .woocommerce-billing-fields__field-wrapper::after,
.ff-cf-checkout .woocommerce-shipping-fields__field-wrapper::before,.ff-cf-checkout .woocommerce-shipping-fields__field-wrapper::after{display:none!important}
.ff-cf-checkout form .form-row{grid-column:1/-1;float:none!important;width:auto!important;margin:0!important;padding:0!important;min-width:0}
.ff-cf-checkout form .form-row-first{grid-column:1}
.ff-cf-checkout form .form-row-last{grid-column:2}
.ff-cf-checkout form .form-row label{display:block;margin:0 0 5px!important;font:500 12px/1.3 var(--cf-body)!important;letter-spacing:.06em!important;text-transform:uppercase;color:#46524b!important}
.ff-cf-checkout form .form-row label.checkbox,.ff-cf-checkout form .form-row .woocommerce-form__label-for-checkbox{text-transform:none;letter-spacing:0!important;font-size:14px!important;display:flex;gap:10px;align-items:flex-start}
.ff-cf-checkout form .form-row .required{color:var(--cf-gold)!important;text-decoration:none;border:0}
.ff-cf-checkout form .form-row .optional{text-transform:none;letter-spacing:0;color:var(--cf-muted)}
.ff-cf-checkout form .form-row input.input-text,
.ff-cf-checkout form .form-row textarea,
.ff-cf-checkout form .form-row select,
.ff-cf-checkout .select2-container--default .select2-selection--single{width:100%!important;height:46px!important;min-height:46px!important;padding:0 14px!important;border:1px solid var(--cf-line-strong)!important;border-radius:var(--cf-radius-sm)!important;background:#fff!important;box-shadow:none!important;font:400 15px/1.3 var(--cf-body)!important;color:var(--cf-ink)!important;transition:border-color .15s ease,box-shadow .15s ease}
.ff-cf-checkout form .form-row textarea{height:auto!important;min-height:92px!important;padding:12px 14px!important}
.ff-cf-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0!important;line-height:44px!important;color:var(--cf-ink)!important}
.ff-cf-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px!important;right:8px!important}
.ff-cf-checkout form .form-row input.input-text:focus,
.ff-cf-checkout form .form-row textarea:focus,
.ff-cf-checkout form .form-row select:focus,
.ff-cf-checkout .select2-container--focus .select2-selection--single,
.ff-cf-checkout .select2-container--open .select2-selection--single{outline:none!important;border-color:var(--cf-green)!important;box-shadow:var(--cf-focus)!important}
.ff-cf-checkout form .form-row.woocommerce-invalid input.input-text,
.ff-cf-checkout form .form-row.woocommerce-invalid select,
.ff-cf-checkout form .form-row.woocommerce-invalid .select2-selection{border-color:var(--cf-danger)!important}
.ff-cf-checkout form .form-row.woocommerce-validated input.input-text{border-color:var(--cf-line-strong)!important}
.ff-cf-checkout form .form-row .woocommerce-input-wrapper{display:block}
.ff-cf-checkout form .form-row .checkout-inline-error-message{margin:4px 0 0;font-size:12.5px;color:var(--cf-danger)}

/* Pago normal */
.ff-cf-checkout .ff-co-pay{display:block;min-width:0}
.ff-cf-checkout #payment{margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;position:relative}
.ff-cf-checkout #payment ul.wc_payment_methods{display:flex!important;flex-direction:column;gap:6px;margin:0 0 16px!important;padding:8px!important;list-style:none!important;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius)!important;box-shadow:var(--cf-shadow)}
.ff-cf-checkout #payment ul.wc_payment_methods::before,.ff-cf-checkout #payment ul.wc_payment_methods::after{display:none!important}
.ff-cf-checkout #payment ul.wc_payment_methods li{position:relative;margin:0!important;padding:0!important;list-style:none!important;border:1px solid transparent;border-radius:12px;background:transparent;transition:background .15s ease,border-color .15s ease;font-size:15px}
.ff-cf-checkout #payment ul.wc_payment_methods li.ff-gw-hidden{display:none!important}
.ff-cf-checkout #payment ul.wc_payment_methods li.is-selected,
.ff-cf-checkout #payment ul.wc_payment_methods li:has(>input[name="payment_method"]:checked){background:var(--cf-soft);border-color:var(--cf-line-strong)}
.ff-cf-checkout #payment ul.wc_payment_methods li>input[name="payment_method"]{position:absolute;left:16px;top:19px;width:18px;height:18px;margin:0!important;accent-color:var(--cf-green);cursor:pointer}
.ff-cf-checkout #payment ul.wc_payment_methods li>label{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:56px;margin:0!important;padding:12px 16px 12px 46px!important;font:500 15px/1.35 var(--cf-body)!important;color:var(--cf-ink)!important;cursor:pointer}
.ff-cf-checkout #payment ul.wc_payment_methods li>label img{order:2;max-height:22px!important;width:auto!important;max-width:120px;margin:0 0 0 auto!important;float:none!important;vertical-align:middle}
.ff-cf-checkout #payment ul.wc_payment_methods li>label img+img{margin-left:4px!important}
.ff-cf-checkout #payment div.payment_box{margin:0!important;padding:2px 16px 16px 46px!important;background:transparent!important;border-radius:0!important;font-size:14px!important;line-height:1.5;color:#3d4943!important;max-height:none!important;overflow:visible!important}
.ff-cf-checkout #payment div.payment_box::before{display:none!important}
.ff-cf-checkout #payment div.payment_box p:last-child{margin-bottom:0}
.ff-cf-checkout #payment div.payment_box iframe{max-width:100%}
.ff-cf-checkout #payment div.payment_box fieldset{margin:0!important;padding:0!important;border:0!important}
.ff-cf-checkout #payment .woocommerce-notice,.ff-cf-checkout #payment .woocommerce-info{margin:8px!important}

/* Términos + Realizar pedido */
.ff-cf-checkout #payment .place-order{display:flex!important;flex-direction:column;gap:14px;margin:0!important;padding:0!important;float:none!important;width:auto!important}
.ff-cf-checkout #payment .place-order::before,.ff-cf-checkout #payment .place-order::after{display:none!important}
.ff-cf-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13px!important;line-height:1.55;color:var(--cf-muted)!important}
.ff-cf-checkout .woocommerce-terms-and-conditions-wrapper p{margin:0 0 8px}
.ff-cf-checkout .woocommerce-terms-and-conditions-wrapper .form-row{margin:0!important}
.ff-cf-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox{color:var(--cf-ink)!important;font-size:14px!important;min-height:40px;align-items:center!important}
.ff-cf-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]{width:18px;height:18px;margin:0!important;accent-color:var(--cf-green);flex:0 0 18px}
.ff-cf-checkout .woocommerce-terms-and-conditions{max-height:220px;overflow:auto;padding:12px;border:1px solid var(--cf-line);border-radius:var(--cf-radius-sm);background:#fff}
.ff-cf-checkout form.checkout.processing #place_order,
.ff-cf-checkout form.checkout.ff-co-updating #place_order{opacity:.6;pointer-events:none}

/* Tu pedido */
.ff-cf-checkout .ff-co__aside{position:relative;padding:24px;background:var(--cf-card);border:1px solid var(--cf-line);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow)}
.ff-cf-checkout #order_review_heading{display:block!important;margin:0 0 6px!important;padding-right:110px!important;font:400 24px/1.15 var(--cf-display)!important;color:var(--cf-ink)!important}
.ff-co__edit{position:absolute;top:28px;right:24px;font-size:13px;color:var(--cf-green)!important;text-decoration:underline;text-underline-offset:3px}
.ff-cf-checkout #order_review{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table{display:block!important;width:100%!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;animation:ffCfIn .35s ease}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table thead{display:none!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tbody,
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tfoot{display:block!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tbody{padding:4px 0 8px;border-bottom:1px solid var(--cf-line)}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr{display:flex!important;justify-content:space-between;align-items:flex-start;gap:14px;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table th,
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table td{display:block!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important;text-align:left;font-size:14px!important;font-weight:400!important;color:var(--cf-ink);vertical-align:top}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table td::before{display:none!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr.cart_item{display:flex!important;padding:12px 0!important;border-bottom:1px solid var(--cf-line)!important;grid-template-columns:none!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tbody tr.cart_item:last-child{border-bottom:0!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table td.product-name{position:relative;flex:1 1 auto;display:block!important;text-align:left!important;min-width:0;min-height:64px;padding-left:78px!important;font-size:0!important}
.ff-co-item__thumb{position:absolute;left:0;top:0;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#f1efe8;border:1px solid var(--cf-line)}
.ff-co-item__thumb img{display:block!important;width:100%!important;height:100%!important;margin:0!important;object-fit:cover;border-radius:0!important;border:0!important}
.ff-co-item__name{display:block;max-width:100%;order:0;font:400 17px/1.25 var(--cf-display);color:var(--cf-ink)}
.ff-co-item__inspired{display:block;max-width:100%;margin-top:2px;order:1;font-size:12.5px;line-height:1.4;color:var(--cf-muted)}
.ff-cf-checkout #order_review td.product-name dl.variation{order:2;display:flex!important;flex-wrap:wrap;gap:0 5px;margin:2px 0 0!important;font-size:13px!important;line-height:1.4!important;color:var(--cf-ink)!important}
.ff-cf-checkout #order_review td.product-name dl.variation dt,.ff-cf-checkout #order_review td.product-name dl.variation dd{display:inline!important;margin:0!important;padding:0!important;font-weight:400!important;float:none!important}
.ff-cf-checkout #order_review td.product-name dl.variation dt{color:var(--cf-muted)}
.ff-cf-checkout #order_review td.product-name dl.variation dd p{display:inline;margin:0!important}
.ff-co-item__qty,.ff-cf-checkout #order_review td.product-name .product-quantity{display:block!important;margin-top:2px;order:3;font-size:13px!important;line-height:1.4!important;font-weight:400!important;color:var(--cf-muted)!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table td.product-total{flex:0 0 auto;white-space:nowrap;text-align:right!important;font:400 16px/1.25 var(--cf-display)!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tfoot{padding-top:10px}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tfoot tr{padding:6px 0!important;align-items:baseline}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tfoot th{color:var(--cf-muted)!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td{text-align:right!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.cart-discount td,
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.fee td{color:var(--cf-ok)!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{flex-direction:column;align-items:stretch;gap:6px}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total{margin-top:8px!important;padding-top:16px!important;border-top:1px solid var(--cf-line)!important;align-items:center}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total th{font:600 12px var(--cf-body)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--cf-ink)!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td{font:400 32px/1.05 var(--cf-display)!important;color:var(--cf-ink)!important}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td strong{font-weight:400}
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td small,
.ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td .includes_tax{display:block;font:12px var(--cf-body);color:var(--cf-muted)}
@keyframes ffCfIn{from{opacity:.55}to{opacity:1}}

/* Checkout · una columna (tablet y móvil).
   Orden: pago rápido, datos, métodos, resumen, términos y botón.
   Las envolturas de columna pasan a display:contents; #payment sigue siendo
   el mismo nodo que WooCommerce sustituye en updated_checkout. */
@media(max-width:1023px){
  .ff-co{gap:0}
  .ff-co__main,.ff-cf-checkout .ff-co-pay,.ff-cf-checkout .ff-co #payment{display:contents!important}
  .ff-co>*,.ff-co__main>*,.ff-cf-checkout .ff-co-pay>*,.ff-cf-checkout .ff-co #payment>*{margin-bottom:16px!important}
  .ff-cf-checkout .ff-co-pay__head{margin-bottom:10px!important}
  .ff-co-express:not(.is-ready){margin:0!important}
  .ff-cf-checkout .ff-co #payment>.blockUI{display:none!important}
  .ff-cf-checkout .ff-co__aside{order:2}
  .ff-cf-checkout .ff-co #payment .place-order{order:3;margin-bottom:0!important}
  .ff-cf-checkout form.checkout.ff-co-updating ul.wc_payment_methods{opacity:.6;pointer-events:none}
}
@media(max-width:767px){
  .ff-co-express.is-ready,.ff-cf-checkout .woocommerce-billing-fields,.ff-cf-checkout .woocommerce-additional-fields,.ff-cf-checkout .ff-co__aside{padding:18px 16px!important}
  .ff-cf-checkout .woocommerce-shipping-fields{padding:10px 16px!important}
  .ff-co-express.is-ready #wc-stripe-express-checkout-button-separator,.ff-co-express.is-ready #wc-stripe-payment-request-button-separator{margin:16px -16px 0!important}
  .ff-cf-checkout form .form-row input.input-text,.ff-cf-checkout form .form-row select,.ff-cf-checkout .select2-container--default .select2-selection--single{height:48px!important;min-height:48px!important;font-size:16px!important}
  .ff-cf-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px!important}
  .ff-cf-checkout #payment div.payment_box{padding:2px 12px 14px!important}
  .ff-cf-checkout #payment ul.wc_payment_methods{padding:6px!important}
  .ff-cf-checkout #order_review_heading{font-size:22px!important}
  .ff-co__edit{top:22px;right:16px}
  .ff-cf-checkout #order_review table.woocommerce-checkout-review-order-table tr.order-total td{font-size:28px!important}
}
@media(max-width:359px){
  .ff-cf-checkout .woocommerce-billing-fields__field-wrapper,.ff-cf-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
  .ff-cf-checkout form .form-row-first,.ff-cf-checkout form .form-row-last{grid-column:1/-1}
}

/* Pagar pedido (order-pay): solo piel. */
.ff-cf-pay .ff-cf #order_review{padding:22px!important;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius)!important}

/* 6. PEDIDO RECIBIDO -------------------------------------------------------- */
.ff-ty{min-width:0}
.ff-ty__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
@media(min-width:1024px){
  .ff-ty__grid{grid-template-columns:minmax(0,60fr) minmax(360px,40fr);gap:clamp(28px,3vw,48px)}
  .ff-ty__main{display:flex;flex-direction:column;gap:16px;min-width:0}
  .ff-ty__aside{display:flex;flex-direction:column;gap:16px;min-width:0}
  .ff-ty__aside.is-sticky{position:sticky;top:var(--cf-sticky-top)}
}
@media(max-width:1023px){
  .ff-ty__main,.ff-ty__aside{display:contents}
  .ff-ty-status{order:0}.ff-ty-instructions{order:1}.ff-ty-summary{order:2}.ff-ty-delivery{order:3}.ff-ty-next{order:4}.ff-ty-actions{order:5}.ff-ty-extra{order:6}
}
.ff-ty-status,.ff-ty-card{padding:24px;background:var(--cf-card);border:1px solid var(--cf-line);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow);min-width:0}
.ff-ty-status{padding:clamp(22px,3vw,34px)}
.ff-ty-status__icon{display:grid;place-items:center;width:48px;height:48px;margin:0 0 16px;border-radius:50%;border:1px solid currentColor}
.ff-ty-status__icon--ok{color:var(--cf-ok);background:#eef5f0}
.ff-ty-status__icon--wait{color:var(--cf-gold);background:#f7f2e6}
.ff-ty-status__icon--warn{color:var(--cf-danger);background:#fbefec}
.ff-ty-status__title{margin:0 0 6px;font:400 clamp(28px,3vw,38px)/1.1 var(--cf-display);color:var(--cf-ink)}
.ff-ty-status__lead{margin:0;font-size:16px;color:#3d4943}
.ff-ty-facts{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;margin:22px 0 0!important;padding:0!important;list-style:none!important;background:var(--cf-line);border:1px solid var(--cf-line);border-radius:12px;overflow:hidden}
.ff-ty-facts::before,.ff-ty-facts::after{display:none!important}
.ff-ty-facts li{display:flex!important;flex-direction:column;gap:4px;margin:0!important;padding:14px 16px!important;border:0!important;background:#fff;float:none!important;font-size:12px!important;text-transform:none!important}
.ff-ty-facts li span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cf-muted)}
.ff-ty-facts li strong{font:400 17px/1.25 var(--cf-display);color:var(--cf-ink);word-break:break-word;text-transform:none;letter-spacing:0}
.ff-ty-card__title{margin:0 0 14px;font:600 12px/1.3 var(--cf-body);letter-spacing:.16em;text-transform:uppercase;color:var(--cf-ink)}
.ff-ty-summary .ff-ty-card__title{font:400 24px/1.15 var(--cf-display);letter-spacing:0;text-transform:none}
.ff-ty-instructions__body{font-size:14px;line-height:1.6;color:#3d4943;overflow-wrap:anywhere}
.ff-ty-instructions__body img,.ff-ty-instructions__body iframe{max-width:100%;height:auto}
.ff-ty-instructions__body a{color:var(--cf-green);font-weight:600}
.ff-ty-track{display:flex;margin:0;padding:0;list-style:none}
.ff-ty-track li{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0;font-size:13.5px;color:var(--cf-muted)}
.ff-ty-track li::after{content:"";position:absolute;left:18px;right:6px;top:6px;height:1px;background:var(--cf-line-strong)}
.ff-ty-track li:last-child::after{display:none}
.ff-ty-track__dot{position:relative;z-index:1;width:13px;height:13px;border-radius:50%;border:1px solid var(--cf-line-strong);background:#fff}
.ff-ty-track .is-done{color:var(--cf-ink)}
.ff-ty-track .is-done .ff-ty-track__dot{background:var(--cf-green);border-color:var(--cf-green)}
.ff-ty-track .is-done::after{background:var(--cf-green)}
.ff-ty-track .is-current{color:var(--cf-ink);font-weight:600}
.ff-ty-track .is-current .ff-ty-track__dot{border:3px solid var(--cf-gold)}
.ff-ty-actions{display:flex;flex-wrap:wrap;gap:10px}
.ff-ty-actions .ff-ty-btn{flex:1 1 200px}
.ff-ty-actions--inline{margin-top:18px}
.ff-ty-btn{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:1px solid var(--cf-green);border-radius:999px;background:#fff;color:var(--cf-green)!important;font:600 13px/1 var(--cf-body);letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important;transition:background .15s ease,color .15s ease}
.ff-ty-btn:hover{background:var(--cf-soft)}
.ff-ty-btn--primary{width:auto!important;min-height:52px!important}
.ff-ty-btn.ff-ty-btn--primary{border-color:var(--cf-green)!important;background:var(--cf-green)!important;color:#fff!important}
.ff-ty-btn.ff-ty-btn--primary:hover{background:var(--cf-green-deep)!important}
.ff-ty-btn--ghost{border-color:var(--cf-line-strong);color:var(--cf-ink)!important}
.ff-ty-items{margin:0;padding:0 0 6px;list-style:none;border-bottom:1px solid var(--cf-line)}
.ff-ty-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--cf-line);margin:0}
.ff-ty-item:last-child{border-bottom:0}
.ff-ty-item__thumb{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#f1efe8;border:1px solid var(--cf-line)}
.ff-ty-item__thumb img{display:block;width:100%!important;height:100%!important;object-fit:cover;margin:0!important}
.ff-ty-item__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.ff-ty-item__name{font:400 17px/1.25 var(--cf-display);color:var(--cf-ink)}
.ff-ty-item__inspired{font-size:12.5px;color:var(--cf-muted)}
.ff-ty-item__meta{font-size:13px;color:var(--cf-muted)}
.ff-ty-item__meta p{display:inline;margin:0}
.ff-ty-item__label{color:var(--cf-muted)}
.ff-ty-item__total{font:400 16px/1.25 var(--cf-display);white-space:nowrap;text-align:right}
.ff-ty-totals{margin:0;padding:10px 0 0}
.ff-ty-totals__row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 0}
.ff-ty-totals__row dt{margin:0;font-size:14px;color:var(--cf-muted)}
.ff-ty-totals__row dd{margin:0;font-size:14px;text-align:right;color:var(--cf-ink)}
.ff-ty-totals__row--discount dd,.ff-ty-totals__row--fee dd,[class*="ff-ty-totals__row--fee"] dd{color:var(--cf-ok)}
.ff-ty-totals__row--order_total{margin-top:8px;padding-top:16px;border-top:1px solid var(--cf-line);align-items:center}
.ff-ty-totals__row--order_total dt{font:600 12px var(--cf-body);letter-spacing:.16em;text-transform:uppercase;color:var(--cf-ink)}
.ff-ty-totals__row--order_total dd{font:400 30px/1.05 var(--cf-display)}
.ff-ty-totals__row--order_total dd small{display:block;font:12px var(--cf-body);color:var(--cf-muted)}
.ff-ty-note{margin:12px 0 0;font-size:13.5px;color:#3d4943}.ff-ty-note span{font-weight:600}
.ff-ty-delivery address{margin:0;font-style:normal;font-size:14.5px;line-height:1.6;color:var(--cf-ink)}
.ff-ty-delivery__method{margin:10px 0 0;font-size:14px}.ff-ty-delivery__method span{display:inline-block;min-width:74px;color:var(--cf-muted)}
.ff-ty-extra{min-width:0;font-size:14px}
.ff-ty-extra:empty{display:none}
.ff-ty .order-again .button{border-radius:999px!important}
@media(max-width:767px){
  .ff-ty-status,.ff-ty-card{padding:18px 16px}
  .ff-ty-facts{grid-template-columns:1fr 1fr}
  .ff-ty-track li{font-size:12.5px}
  .ff-ty-actions .ff-ty-btn{flex-basis:100%}
}

/* 7. Checkout/Cart Blocks: solo piel (el layout lo gestiona WooCommerce) ------ */
.ff-cf-blocks .ff-cf .wc-block-cart,.ff-cf-blocks .ff-cf .wc-block-checkout{max-width:none!important;margin:0!important}
.ff-cf-blocks .ff-cf .wc-block-components-sidebar{padding:24px!important;background:var(--cf-card)!important;border:1px solid var(--cf-line)!important;border-radius:var(--cf-radius)!important;box-shadow:var(--cf-shadow)!important}
.ff-cf-blocks .ff-cf .wc-block-components-title,.ff-cf-blocks .ff-cf .wc-block-components-product-name{font-family:var(--cf-display)!important;font-weight:400!important}
.ff-cf-blocks .ff-cf .wc-block-components-text-input input,.ff-cf-blocks .ff-cf .wc-blocks-components-select__select{border-radius:var(--cf-radius-sm)!important;border-color:var(--cf-line-strong)!important}
.ff-cf-blocks .ff-cf .wc-block-components-button:not(.is-link){border-radius:999px!important;background:var(--cf-green)!important;color:#fff!important;min-height:54px}
.ff-cf-blocks .ff-cf .wc-block-components-radio-control-accordion-option{border-radius:12px}

/* 8. Movimiento reducido --------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  .ff-cf *,.ff-cf *::before,.ff-cf *::after{animation:none!important;transition:none!important}
}
