/* ============================================================
 * JFM v20 "Commerce" — piel WooCommerce (PDP · Carrito · Checkout)
 * Sistema de diseño canónico: /design.md — misma capa de tokens del home/tienda.
 * SOLO capa visual: no cambia marcado ni flujos (ATC, nonce, pasarela intactos).
 * ============================================================ */
:root{
  --bg:#FCFBF7;--surface:#FFFFFF;--panel:#F5F4F1;--panel-2:#FBFAF8;
  --ink:#1A1714;--ink-2:#57524B;--muted:#948E84;--line:#EAE7E1;--line-2:#F1EEE8;
  --brand:#F6921E;--brand-press:#DE7C0A;--brand-deep:#B4610A;--brand-tint:#FDF2E4;
  --stock:#1C9B57;--sale:#D63A2C;--r:14px;--maxw:1200px;
  --ease:cubic-bezier(0.23,1,0.32,1);
  --sh-2:0 6px 16px rgba(26,23,20,.07),0 1px 3px rgba(26,23,20,.05);
  --sh-3:0 20px 50px rgba(26,23,20,.13);
  --fh:'Rubik',system-ui,-apple-system,"Segoe UI",sans-serif;
  --fb:'Nunito Sans',system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* ---------- Base tipográfica en las 3 páginas ---------- */
body.single-product, body.woocommerce-cart, body.woocommerce-checkout{
  background:var(--bg)!important; color:var(--ink); font-family:var(--fb);
}
body.single-product h1,body.single-product h2,body.single-product h3,
body.woocommerce-cart h1,body.woocommerce-cart h2,body.woocommerce-cart h3,
body.woocommerce-checkout h1,body.woocommerce-checkout h2,body.woocommerce-checkout h3{
  font-family:var(--fh); color:var(--ink); font-style:normal;
}
.jfm-breadcrumbs{font-size:13px;color:var(--muted)}
.jfm-breadcrumbs a{color:var(--ink-2);text-decoration:none}
.jfm-breadcrumbs a:hover{color:var(--brand-deep)}
.jfm-breadcrumbs__current{color:var(--ink);font-weight:700}

/* ---------- Botón primario unificado (v20) ---------- */
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button.button.alt,
.jfm-cart__checkout-btn, .jfm-cart__checkout-btn.button,
body.woocommerce-checkout #place_order,
.jfm-out-of-stock__alt a.button, .jfm-add-to-cart .button{
  background:linear-gradient(180deg,#F89C3A 0%,var(--brand) 55%,var(--brand-press) 100%)!important;
  color:#fff!important; font-family:var(--fh)!important; font-weight:700!important;
  border:0!important; border-radius:12px!important; letter-spacing:.01em;
  padding:15px 26px!important; box-shadow:0 8px 20px rgba(222,124,10,.28)!important;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), filter .18s var(--ease);
  text-transform:none!important;
}
body.single-product .single_add_to_cart_button:hover,
.jfm-cart__checkout-btn:hover, body.woocommerce-checkout #place_order:hover{
  filter:brightness(1.04); transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(222,124,10,.34)!important; color:#fff!important;
}
body.single-product .single_add_to_cart_button:active{transform:translateY(0) scale(.99)}

/* Secundarios / outline */
.jfm-cart__continue, .jfm-cart__coupon-btn, .jfm-checkout__help a{
  color:var(--brand-deep); font-weight:700; text-decoration:none;
}
.jfm-cart__continue:hover{color:var(--brand-press)}

/* ============================================================
 * PDP — página de producto
 * ============================================================ */
.jfm-single-product__brand, .jfm-single-product__brand a{
  color:var(--brand)!important; font-family:var(--fh); font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; font-size:12px; text-decoration:none;
}
.jfm-single-product__title{font-weight:800!important; line-height:1.12; letter-spacing:-.01em}
.jfm-single-product__sku{color:var(--muted); font-size:12.5px; letter-spacing:.06em}
.jfm-single-product__short-desc{color:var(--ink-2)}

/* Promesa (check list) */
.jfm-promise{border:1px solid var(--line); background:var(--surface); border-radius:var(--r); box-shadow:var(--sh-2)}
.jfm-promise li{color:var(--ink-2); font-weight:600}

/* Precio */
.jfm-single-product__price-row .jfm-single-product__price,
.jfm-single-product__price{font-family:var(--fh); font-variant-numeric:tabular-nums}
.jfm-single-product__price .price, .jfm-single-product__price bdi{color:var(--ink)!important; font-weight:800}
.jfm-single-product__price del{color:var(--muted)!important; font-weight:500}
.jfm-single-product__price del bdi{color:var(--muted)!important; font-weight:500}
.jfm-single-product__price ins{text-decoration:none}

/* Pill de stock */
.jfm-stock-pill{border-radius:99px; font-weight:700; font-family:var(--fh); font-size:12.5px}
.jfm-stock-pill.in-stock, .jfm-stock-pill--in{background:#E7F6EE; color:var(--stock)}
.jfm-stock-pill.out-of-stock, .jfm-stock-pill--out{background:#FBEAE8; color:var(--sale)}

/* Galería */
.woocommerce-product-gallery{border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden}

/* Highlights / beneficios */
.jfm-pdp-highlights__item{background:var(--surface); border:1px solid var(--line); border-radius:var(--r)}
.jfm-pdp-highlights__icon{background:var(--brand-tint); color:var(--brand-deep); border-radius:12px}
.jfm-pdp-highlights__title{font-family:var(--fh); font-weight:700}

/* Secciones PDP (pagos, políticas, reseñas, similares) */
.jfm-pdp-payment__eyebrow, .jfm-pdp-policies__eyebrow, .jfm-pdp-reviews__eyebrow, .jfm-cart__eyebrow, .jfm-checkout__eyebrow{
  color:var(--brand); font-family:var(--fh); font-weight:700; letter-spacing:.16em; text-transform:uppercase; font-size:12px;
}
.jfm-pdp-payment__tab{border:1.5px solid var(--line); border-radius:99px; font-weight:700; font-family:var(--fh); background:var(--surface); color:var(--ink-2)}
.jfm-pdp-payment__tab[aria-selected="true"], .jfm-pdp-payment__tab.is-active{background:var(--ink); border-color:var(--ink); color:#fff}
.jfm-pdp-payment__panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--r)}
.jfm-pdp-epayco__marquee{background:var(--panel); border-radius:var(--r)}

/* Acordeones (specs/FAQ) */
.jfm-accordion__item{border:1px solid var(--line); border-radius:var(--r); background:var(--surface)}
.jfm-accordion__item summary{font-family:var(--fh); font-weight:700; color:var(--ink)}
.jfm-accordion__item[open] summary{color:var(--brand-deep)}

/* Tarjeta de producto (rieles de relacionados + archivos) → look .pc del sistema */
.jfm-product-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  box-shadow:none; transition:box-shadow .22s var(--ease), transform .22s var(--ease)}
.jfm-product-card:hover{box-shadow:var(--sh-2); transform:translateY(-2px)}
.jfm-product-card__brand{color:var(--brand); font-family:var(--fh); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:11px}
.jfm-product-card__title{color:var(--ink); font-weight:700}
.jfm-product-card__price-row{font-family:var(--fh); font-variant-numeric:tabular-nums; font-weight:800; color:var(--ink)}
.jfm-product-card__price-row del{color:var(--muted); font-weight:500}
.jfm-product-card__badge{border-radius:8px; font-family:var(--fh); font-weight:700; font-size:11px}
.jfm-product-card__badge--oferta{background:var(--sale); color:#fff}
.jfm-product-card__badge--nuevo{background:var(--brand-tint); color:var(--brand-deep)}
.jfm-product-card__badge--agotado{background:var(--panel); color:var(--muted)}
.jfm-product-card__cta{color:#fff!important; background:linear-gradient(180deg,#F89C3A 0%,var(--brand) 55%,var(--brand-press) 100%)!important;
  border-radius:10px!important; font-family:var(--fh)!important; font-weight:700!important; border:0!important}

/* ============================================================
 * CARRITO
 * ============================================================ */
.jfm-cart__hero h1{font-weight:800}
.jfm-cart-item__body, .jfm-cart__items-list > *{background:var(--surface)}
.jfm-cart__items-list .jfm-cart-item, .jfm-cart-item{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r)}
.jfm-cart-item__brand{color:var(--brand); font-family:var(--fh); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:11px}
.jfm-cart-item__title, .jfm-cart-item__title a{color:var(--ink); font-weight:700; text-decoration:none}
.jfm-cart-item__sku, .jfm-cart-item__eta{color:var(--muted); font-size:12.5px}
.jfm-cart-item__price{font-family:var(--fh); font-weight:800; font-variant-numeric:tabular-nums}
.jfm-cart-item__qty button{background:var(--panel); border:1px solid var(--line); border-radius:10px; color:var(--ink); font-weight:800}
.jfm-cart-item__qty button:hover{background:var(--brand-tint); border-color:var(--brand); color:var(--brand-deep)}
.jfm-cart-item__remove{color:var(--muted)}
.jfm-cart-item__remove:hover{color:var(--sale)}
.jfm-cart__summary, .cart_totals{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-2)}
.jfm-cart__coupon-input{border:1.5px solid var(--line); border-radius:10px; background:var(--surface); font-family:var(--fb)}
.jfm-cart__coupon-input:focus{border-color:var(--brand); outline:none; box-shadow:0 0 0 3px var(--brand-tint)}
.jfm-cart__empresa{background:var(--panel-2); border:1px dashed var(--line); border-radius:var(--r)}
.jfm-cart__empty-icon{color:var(--muted)}

/* ============================================================
 * CHECKOUT
 * ============================================================ */
.jfm-checkout__title{font-weight:800}
.jfm-checkout__subtitle{color:var(--ink-2)}
/* Pasos de progreso */
.jfm-checkout__step-num{font-family:var(--fh); font-weight:700; border-radius:99px; border:2px solid var(--line); background:var(--surface); color:var(--muted)}
.jfm-checkout__step.is-active .jfm-checkout__step-num,
.jfm-checkout__step--active .jfm-checkout__step-num{background:var(--brand); border-color:var(--brand); color:#fff}
.jfm-checkout__step-label{font-family:var(--fh); font-weight:600; color:var(--ink-2)}
.jfm-checkout__step-line{background:var(--line)}
/* Secciones como tarjetas */
.jfm-checkout__section{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-2)}
.jfm-checkout__section-header{font-family:var(--fh); font-weight:700}
/* Campos */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single{
  border:1.5px solid var(--line)!important; border-radius:10px!important; background:var(--surface)!important;
  font-family:var(--fb)!important; color:var(--ink)!important; padding:12px 14px!important; min-height:46px;
}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus{
  border-color:var(--brand)!important; outline:none!important; box-shadow:0 0 0 3px var(--brand-tint)!important;
}
body.woocommerce-checkout .form-row label{font-weight:700; color:var(--ink-2); font-size:13.5px}
body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{border-color:var(--sale)!important}
/* Resumen del pedido */
.jfm-checkout__summary{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-2)}
.woocommerce-checkout-review-order-table th{font-family:var(--fh); color:var(--ink-2)}
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th{border-color:var(--line-2)!important}
.woocommerce-checkout-review-order-table .order-total td, .woocommerce-checkout-review-order-table .order-total th{
  font-family:var(--fh); font-weight:800; font-size:1.15em; color:var(--ink)}
/* Métodos de pago */
body.woocommerce-checkout #payment{background:var(--panel-2)!important; border-radius:var(--r)}
body.woocommerce-checkout #payment .payment_box{background:var(--panel)!important; border-radius:10px; color:var(--ink-2)}
body.woocommerce-checkout #payment li{border-color:var(--line)}
/* Barra sticky móvil */
.jfm-checkout__sticky-mobile{background:var(--surface); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(26,23,20,.08)}
.jfm-checkout__sticky-total{font-family:var(--fh); font-weight:800}
.jfm-checkout__trust{color:var(--muted)}

/* Avisos Woo genéricos en las 3 páginas */
.woocommerce-message, .woocommerce-info{border-top-color:var(--brand)!important; background:var(--brand-tint)!important; color:var(--ink)!important; border-radius:10px}
.woocommerce-message::before, .woocommerce-info::before{color:var(--brand-deep)!important}
.woocommerce-error{border-radius:10px}

/* Heros oscuros de carrito/checkout: el título vuelve a blanco (la regla global de ink los apagaba) */
.jfm-cart__hero h1, .jfm-cart__hero h2, .jfm-checkout__hero h1, .jfm-checkout__hero h2{color:#fff!important}
.jfm-cart__hero, .jfm-checkout__hero{border-bottom:3px solid var(--brand)}
.jfm-cart__hero p, .jfm-checkout__hero p{color:rgba(255,255,255,.85)}
/* Texto secundario del hero checkout (conteo/total) también claro */
.jfm-checkout__hero span, .jfm-checkout__hero .jfm-checkout__subtitle, .jfm-cart__hero span{color:rgba(255,255,255,.88)!important}
.jfm-checkout__hero b, .jfm-cart__hero b{color:#fff!important}

/* ============================================================
 * THANK-YOU (order received) — piel v20 sobre jfm-ty-*
 * ============================================================ */
.jfm-ty-hero__title{font-family:var(--fh)!important;font-weight:800!important;color:var(--ink)!important;letter-spacing:-.01em}
.jfm-ty-hero__sub{color:var(--ink-2)!important}
.jfm-ty-hero__meta{color:var(--muted)!important}
.jfm-ty-check-circle{background:#E7F6EE!important;border-color:var(--stock)!important}
.jfm-ty-check-tick{color:var(--stock)!important;stroke:var(--stock)!important}
.jfm-ty-order-num{font-family:var(--fh)!important;font-weight:800!important;background:var(--brand-tint)!important;color:var(--brand-deep)!important;border-radius:10px!important;padding:4px 12px!important}
/* Botones */
.jfm-ty-btn--primary{background:linear-gradient(180deg,#F89C3A 0%,var(--brand) 55%,var(--brand-press) 100%)!important;color:#fff!important;border:0!important;border-radius:12px!important;font-family:var(--fh)!important;font-weight:700!important;box-shadow:0 8px 20px rgba(222,124,10,.28)!important}
.jfm-ty-btn--primary:hover{filter:brightness(1.04);transform:translateY(-1px);color:#fff!important}
.jfm-ty-btn--ghost{background:var(--surface)!important;border:1.5px solid var(--line)!important;color:var(--ink)!important;border-radius:12px!important;font-family:var(--fh)!important;font-weight:700!important}
.jfm-ty-btn--ghost:hover{border-color:var(--brand)!important;color:var(--brand-deep)!important}
/* Cupón regalo */
.jfm-ty-coupon{background:var(--brand-tint)!important;border:2px dashed var(--brand)!important;border-radius:var(--r)!important}
.jfm-ty-coupon__code{font-family:var(--fh)!important;font-weight:800!important;color:var(--brand-deep)!important;background:var(--surface)!important;border-radius:10px!important}
.jfm-ty-coupon__copy-hint{color:var(--muted)!important}
/* Stepper de estado */
.jfm-ty-stepper .jfm-ty-step__dot{border-color:var(--line)!important;background:var(--surface)!important}
.jfm-ty-stepper .is-done .jfm-ty-step__dot, .jfm-ty-step--done .jfm-ty-step__dot{background:var(--stock)!important;border-color:var(--stock)!important}
.jfm-ty-stepper .is-active .jfm-ty-step__dot, .jfm-ty-step--active .jfm-ty-step__dot{background:var(--brand)!important;border-color:var(--brand)!important}
.jfm-ty-step__label{font-family:var(--fh);font-weight:600;color:var(--ink-2)}
/* Relacionados */
.jfm-ty-related__header{font-family:var(--fh)!important;font-weight:800!important}
.jfm-ty-related__card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;transition:box-shadow .22s var(--ease),transform .22s var(--ease)}
.jfm-ty-related__card:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.jfm-ty-related__name{color:var(--ink)!important;font-weight:700}
.jfm-ty-related__price{font-family:var(--fh)!important;font-weight:800!important;color:var(--ink)!important}
/* Trust + cuenta */
.jfm-ty-trust__item{color:var(--ink-2)!important}
.jfm-ty-trust__icon{color:var(--brand-deep)!important}
.jfm-ty-account{background:var(--panel-2)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important}
.jfm-ty-eta{color:var(--brand-deep)!important;font-weight:700}
