/* ============================================================
   FIT ON — skin de WooCommerce (carrito + checkout de bloques)
   Usa los tokens de fiton.css. Se encola después de 'fiton'.
   ============================================================ */

/* ---- Lienzo ---- */
.woocommerce-checkout .site-main,
.woocommerce-cart .site-main,
main#top { background: transparent; }

/* WhatsApp: sólo el del plugin (.joinchat); ocultar el flotante estático duplicado */
.wa-float { display: none !important; }

/* carrusel "pain": las tarjetas siempre visibles (.reveal a veces las deja en opacity:0) */
.pain__carousel-wrapper .swiper-slide,
.pain__carousel-wrapper .swiper-slide.reveal {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
@media (max-width: 760px) {
  /* Tabla comparativa: en móvil no forzar height fijo (se veía alargada) */
  .cmp__img { height: auto !important; max-height: none !important; }
  #painPrev, #painNext { display: none !important; }  /* flechas "pain": estorban en móvil, se pasa con swipe */
  /* banners de cabecera: más altos en móvil (antes ~90px, ilegibles) */
  .listing-hero img { aspect-ratio: 4 / 3 !important; min-height: 240px; }
  .about-hero-banner__img { aspect-ratio: 4 / 5 !important; object-fit: cover; max-height: 80vh; }
}

.wc-block-checkout,
.wp-block-woocommerce-checkout,
.wc-block-cart {
  --wc-blue: var(--brand);
  color: var(--text-body);
  font-family: var(--font);
}

/* ---- Encabezados de paso ---- */
.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary .wc-block-components-title {
  font-family: var(--font);
  font-weight: var(--w-extrabold);
  color: var(--text-heading);
  letter-spacing: -0.01em;
}
.wc-block-components-checkout-step__title-content,
.wc-block-components-checkout-step__heading-content { color: var(--text-muted); }

/* número del paso */
.wc-block-components-checkout-step__index {
  background: var(--brand) !important;
  color: #fff !important;
  border-radius: var(--r-circle);
  font-weight: var(--w-bold);
}
.wc-block-components-checkout-step:not(:last-child)::after,
.wc-block-components-checkout-step__container::after { border-color: var(--border-subtle) !important; }

/* ---- Campos ---- */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-combobox input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select,
.select2-container .select2-selection {
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--r-md) !important;
  background: var(--surface) !important;
  color: var(--text-heading) !important;
  box-shadow: none !important;
}
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
  border-color: var(--brand) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(233,33,138,.15) !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step label { color: var(--text-muted); }

/* checkbox / radio en marca */
.wc-block-components-checkbox input:checked ~ .wc-block-components-checkbox__mark,
.wc-block-components-radio-control__option--checked-checkmark,
input[type="checkbox"]:checked, input[type="radio"]:checked { accent-color: var(--brand); }
.wc-block-components-checkbox__mark { border-color: var(--brand) !important; }

/* ---- Resumen del pedido (sidebar) ---- */
.wc-block-checkout__sidebar,
.wc-block-components-sidebar,
.wc-block-cart__sidebar {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-card);
  padding: var(--s-5) !important;
}
.wc-block-components-order-summary__content { border: none; }
.wc-block-components-order-summary-item__image img { border-radius: var(--r-sm); }
.wc-block-components-order-summary-item__quantity {
  background: var(--brand) !important;
  color: #fff !important;
  border-color: var(--brand) !important;
}

/* totales */
.wc-block-components-totals-item { color: var(--text-body); }
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item.wc-block-components-totals-footer-item {
  font-weight: var(--w-black);
  color: var(--text-heading);
}
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  color: var(--brand-deep);
  font-size: 1.35rem;
}
.wc-block-components-totals-item__value { font-weight: var(--w-bold); }
.wc-block-components-totals-shipping .wc-block-components-totals-item__value { color: var(--brand-deep); }

/* cupón */
.wc-block-components-panel,
.wc-block-checkout__add-note,
.wp-block-woocommerce-checkout-order-note-block {
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  background: var(--surface);
}
.wc-block-components-panel__button { color: var(--brand-deep) !important; font-weight: var(--w-semibold); }
.wc-block-components-totals-coupon__button,
.wc-block-components-button:not(.is-link) {
  background: var(--brand);
  color: #fff;
  border-radius: var(--r-pill);
}

/* ---- Botón principal ---- */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button.contained,
button.wc-block-components-checkout-place-order-button {
  background: var(--brand) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
  font-weight: var(--w-bold) !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 16px 28px !important;
  box-shadow: var(--shadow-cta) !important;
  transition: background .18s var(--ease), transform .18s var(--ease);
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover { background: var(--brand-deep) !important; }
.wc-block-components-checkout-place-order-button:active { transform: scale(.98); }

/* enlaces */
.wc-block-checkout a, .wc-block-cart a,
.woocommerce-privacy-policy-link { color: var(--brand-deep); }

/* avisos */
.wc-block-components-notice-banner.is-error { border-color: var(--brand-deep); }
.wc-block-components-notice-banner.is-success { border-color: var(--teal); }

/* ---- Carrito clásico (fallback shortcode) ---- */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-card);
  padding: var(--s-5);
}
.woocommerce a.button, .woocommerce button.button,
.woocommerce .button.alt, .woocommerce #place_order {
  background: var(--brand) !important;
  color: #fff !important;
  border-radius: var(--r-pill) !important;
  font-weight: var(--w-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce #place_order:hover { background: var(--brand-deep) !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single {
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--r-md) !important;
}

/* ---- Drawer: botón "Ir al pago" en marca (no negro) ---- */
#cartDrawer .cart__checkout-btn {
  background: var(--brand) !important;
  color: #fff !important;
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-cta);
}
#cartDrawer .cart__checkout-btn:hover { background: var(--brand-deep) !important; }
#cartDrawer .cart__continue-btn {
  color: var(--brand-deep);
  border: 1.5px solid var(--pink-300);
  border-radius: var(--r-pill);
  background: var(--surface);
  font-weight: var(--w-semibold);
  letter-spacing: .04em;
}

/* ============================================================
   Ficha de producto (single-product) con estilo FIT ON
   ============================================================ */
.fiton-wc { max-width: var(--container); }
.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--s-8) var(--s-8);
  align-items: start;
}
/* solo galería + resumen van en 2 columnas; el resto ocupa todo el ancho */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells,
.single-product div.product > .up-sells,
.single-product div.product > .woocommerce-product-rating,
.single-product div.product > .product_meta { grid-column: 1 / -1; }
@media (max-width: 900px) { .single-product div.product { grid-template-columns: 1fr; gap: var(--s-5); } }

.single-product .woocommerce-product-gallery {
  width: 100% !important; margin: 0 !important; float: none !important;
}
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image img {
  border-radius: var(--r-lg);
}
.single-product .woocommerce-product-gallery__image { background: var(--pink-100); border-radius: var(--r-lg); }
.single-product .woocommerce-product-gallery__trigger { background: var(--white); border-radius: var(--r-circle); box-shadow: var(--shadow-card); }
.single-product .flex-control-thumbs { display: flex; gap: var(--s-2); margin-top: var(--s-3); padding: 0; list-style: none; }
.single-product .flex-control-thumbs li { width: 64px; }
.single-product .flex-control-thumbs img { border-radius: var(--r-sm); border: 1px solid var(--border-subtle); }

.single-product .summary.entry-summary {
  width: 100% !important; margin: 0 !important; float: none !important;
  background: var(--surface); border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg); box-shadow: var(--shadow-card);
  padding: var(--s-6);
}
.single-product .product_title {
  font-family: var(--font); font-weight: var(--w-black);
  font-size: clamp(1.8rem, 3.2vw, 2.4rem); line-height: 1.1;
  color: var(--text-heading); letter-spacing: -0.02em; margin: 0 0 var(--s-3);
}
.single-product .summary .price,
.single-product .summary .price .amount {
  color: var(--brand-deep) !important; font-weight: var(--w-black);
  font-size: 1.6rem;
}
.single-product .summary .price del { color: var(--text-muted); font-weight: var(--w-regular); font-size: 1.1rem; margin-left: 8px; }
.single-product .woocommerce-product-details__short-description {
  color: var(--text-body); font-size: var(--fs-body); line-height: var(--lh-relaxed);
  margin: var(--s-3) 0 var(--s-4);
}
.single-product form.cart { display: flex; align-items: center; gap: var(--s-3); margin: var(--s-4) 0; }
.single-product form.cart .quantity input.qty {
  width: 68px; height: 48px; text-align: center;
  border: 1.5px solid var(--border-subtle) !important; border-radius: var(--r-md) !important;
  font-weight: var(--w-bold); color: var(--text-heading);
}
.single-product .single_add_to_cart_button {
  flex: 1; background: var(--brand) !important; color: #fff !important;
  border: none !important; border-radius: var(--r-pill) !important;
  font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .04em;
  padding: 15px 24px !important; box-shadow: var(--shadow-cta) !important;
  transition: background .18s var(--ease), transform .15s var(--ease);
}
.single-product .single_add_to_cart_button:hover { background: var(--brand-deep) !important; }
.single-product .single_add_to_cart_button:active { transform: scale(.98); }

/* meta: ocultar "Categoría: Sin categorizar" y SKU vacío */
.single-product .product_meta { font-size: var(--fs-body-sm); color: var(--text-muted); margin-top: var(--s-4); border-top: 1px solid var(--border-subtle); padding-top: var(--s-3); }
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as,
.single-product .product_meta .sku_wrapper { display: none; }

/* fila de confianza inyectada tras el add-to-cart */
.fiton-trust { display: flex; flex-wrap: wrap; gap: var(--s-4); margin-top: var(--s-4); padding-top: var(--s-4); border-top: 1px solid var(--border-subtle); }
.fiton-trust span { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-body-sm); font-weight: var(--w-medium); color: var(--text-body); }
.fiton-trust svg { width: 18px; height: 18px; color: var(--brand); flex: none; }

/* la descripción se movió a la ficha (debajo del título): se ocultan las pestañas al fondo */
.single-product .woocommerce-tabs { display: none !important; }
.single-product .fiton-pdp-desc {
  color: var(--text-body); font-size: var(--fs-body); line-height: var(--lh-relaxed);
  margin: 0 0 var(--s-4);
}
.single-product .fiton-pdp-desc p { margin: 0 0 var(--s-2); }
.single-product .fiton-pdp-desc p:last-child { margin-bottom: 0; }

/* ---- Relacionados / upsells: grilla de tarjetas de marca ---- */
.single-product .related.products,
.single-product .upsells.products { margin-top: var(--s-8); }
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
  font-weight: var(--w-black); color: var(--text-heading);
  font-size: var(--fs-h-md); margin: 0 0 var(--s-4);
}
.single-product .related.products,
.single-product .upsells.products { width: 100%; float: none; clear: both; }
.woocommerce.single-product .related ul.products,
.woocommerce.single-product .upsells ul.products,
.single-product .related ul.products,
.single-product .upsells ul.products,
.single-product ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--s-5) !important; margin: 0 !important; padding: 0 !important;
  list-style: none !important; width: 100% !important;
}
.single-product ul.products::before,
.single-product ul.products::after { display: none !important; content: none !important; }
@media (max-width: 900px) { .single-product ul.products { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 520px) { .single-product ul.products { grid-template-columns: 1fr !important; } }
.single-product ul.products li.product,
.woocommerce.single-product ul.products li.product {
  width: auto !important; max-width: none !important;
  margin: 0 !important; float: none !important; clear: none !important;
  background: var(--surface); border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg); box-shadow: var(--shadow-card);
  padding: var(--s-3); text-align: center;
  display: flex; flex-direction: column;
}
.single-product ul.products li.product a img {
  border-radius: var(--r-md); aspect-ratio: 1/1; object-fit: cover;
  width: 100%; margin: 0 0 var(--s-3);
}
.single-product ul.products li.product .woocommerce-loop-product__title {
  font-size: var(--fs-body-sm); font-weight: var(--w-bold);
  color: var(--text-heading); padding: 0; margin: 0 0 4px;
}
.single-product ul.products li.product .price {
  color: var(--brand-deep) !important; font-weight: var(--w-black);
  font-size: var(--fs-body); margin-bottom: var(--s-3);
}
.single-product ul.products li.product .price del { font-size: 12px; }
.single-product ul.products li.product .button {
  margin-top: auto !important; white-space: nowrap;
  padding: 10px 14px !important; font-size: 12px !important;
  align-self: center;
}
.single-product ul.products li.product .onsale {
  background: var(--brand); color: #fff; border-radius: var(--r-pill);
  padding: 3px 10px; font-size: 10px; font-weight: var(--w-bold);
  position: absolute; top: 10px; left: 10px; min-height: 0; min-width: 0; line-height: 1.4;
}
.single-product ul.products li.product { position: relative; }

/* ============================================================
   Checkout — plantilla mínima estilo SOMA (limpio, moderno, claro)
   ============================================================ */
body.co-min { background: #F8EDF3 !important; }
body.co-min .fab-container, body.co-min .wa-float, body.co-min #announce,
body.co-min .joinchat, body.co-min .joinchat__button { display: none !important; }
/* aviso "añadido al carrito": discreto, no un marco magenta grueso */
body.co-min .woocommerce-notices-wrapper .woocommerce-message,
body.co-min .woocommerce-notices-wrapper .woocommerce-info,
body.co-min .woocommerce .woocommerce-message,
body.co-min .woocommerce .woocommerce-info,
body.co-min .woocommerce-message,
body.co-min .woocommerce-info {
  border: 1px solid #ECE7E1 !important; border-left: 3px solid var(--brand) !important;
  background: #fff !important; border-radius: 10px !important; color: var(--text-body) !important;
  box-shadow: none !important; outline: none !important; font-size: 13px !important;
  padding: 12px 16px !important; list-style: none !important;
}
body.co-min .woocommerce-message::before,
body.co-min .woocommerce-info::before { color: var(--brand) !important; }
body.co-min .woocommerce-message .button {
  background: var(--brand) !important; color: #fff !important;
  border-radius: var(--r-pill) !important; padding: 8px 16px !important; font-size: 12px !important;
}

/* barra superior mínima */
.co-mini {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; gap: var(--s-4);
  padding: 14px clamp(16px, 4vw, 40px);
  background: #fff; border-bottom: 1px solid #ECE7E1;
}
.co-mini__logo { font-family: var(--font); font-weight: 900; font-size: 20px; letter-spacing: -.02em; color: var(--text-heading); text-decoration: none; line-height: 1; }
.co-mini__logo span { color: var(--brand); }
.co-mini__secure { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: var(--w-semibold); color: var(--text-muted); }
.co-mini__secure svg { width: 15px; height: 15px; color: var(--brand); }
.co-mini__back { margin-left: auto; font-size: 13px; font-weight: var(--w-semibold); color: var(--brand-deep); text-decoration: none; }

.fiton-checkout { max-width: 1000px; margin-inline: auto; padding: var(--s-7) clamp(16px, 4vw, 32px) var(--s-9); }

/* barra de confianza discreta */
.fiton-co-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-5); padding: 0 0 var(--s-5); margin-bottom: var(--s-6); border-bottom: 1px solid #ECE7E1; }
.fiton-co-trust span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: var(--w-semibold); color: var(--text-muted); letter-spacing: .01em; }
.fiton-co-trust svg { width: 16px; height: 16px; color: var(--brand); flex: none; }

/* layout 2 columnas (flotado, encaja con el markup clásico de Woo) */
.woocommerce-checkout form.checkout.woocommerce-checkout { display: flow-root; }
.woocommerce-checkout #customer_details { float: left; width: calc(100% - 400px); }
.woocommerce-checkout #order_review_heading { float: right; clear: right; width: 372px; margin: 0 0 var(--s-3); }
.woocommerce-checkout #order_review { float: right; clear: right; width: 372px; position: sticky; top: 84px; }
@media (max-width: 880px) {
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { float: none; width: 100%; position: static; }
  .woocommerce-checkout #order_review_heading { margin-top: var(--s-6); }
}

/* títulos de sección compactos */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--font); font-weight: 800; color: var(--text-heading);
  font-size: 1.1rem; letter-spacing: -.01em; margin: 0 0 var(--s-3);
}
.woocommerce-checkout .woocommerce-additional-fields h3 { margin-top: var(--s-5); }

/* campos: relleno claro tipo SOMA, borde solo en foco */
.woocommerce-checkout .form-row { margin-bottom: 10px; padding: 0; }
.woocommerce-checkout .form-row label { font-size: 12px; color: var(--text-muted); font-weight: var(--w-medium); margin-bottom: 3px; display: block; }
.woocommerce-checkout .form-row .required { color: var(--brand); border: 0; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  border: 1.5px solid transparent !important; border-radius: 10px !important;
  background: #ECEAF2 !important; color: var(--text-heading) !important;
  min-height: 46px; line-height: 44px; padding: 0 14px !important; box-shadow: none !important;
  font-size: 14px;
}
.woocommerce-checkout textarea { line-height: 1.5; padding: 12px 14px !important; min-height: 76px; }
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  background: #fff !important; border-color: var(--brand) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(233,33,138,.12) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection__rendered { line-height: 44px; padding: 0; color: var(--text-heading); font-size: 14px; }
.woocommerce-checkout .select2-container--default .select2-selection__arrow { height: 44px; }
.woocommerce-checkout .woocommerce-input-wrapper { display: block; }

/* cupón */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: #fff; border: 1px solid #ECE7E1; border-radius: 10px;
  color: var(--text-muted); padding: 12px 16px; font-size: 13px;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { color: var(--brand); }
.woocommerce-checkout .woocommerce-form-coupon-toggle a { color: var(--brand-deep) !important; font-weight: var(--w-bold); }
.woocommerce-checkout form.checkout_coupon { border: 1px solid #ECE7E1; border-radius: 10px; background: #fff; }

/* tarjeta "Tu pedido" — plana y clara */
.woocommerce-checkout #order_review {
  background: #fff; border: 1px solid #ECE7E1;
  border-radius: 14px; box-shadow: none; padding: var(--s-5);
}
.woocommerce-checkout #order_review table.shop_table { border: none; margin: 0; font-size: 13px; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { border: none; padding: 7px 0; }
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .woocommerce-shipping-totals th,
.woocommerce-checkout #order_review .woocommerce-shipping-totals td { color: var(--text-muted); }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td { font-size: 1.05rem; font-weight: 800; color: var(--text-heading); border-top: 1px solid #ECE7E1; padding-top: 12px; }
.woocommerce-checkout #order_review .order-total .amount { color: var(--brand-deep); }
.woocommerce-checkout #order_review .woocommerce-shipping-totals td { color: var(--brand-deep); font-weight: var(--w-bold); }
.woocommerce-checkout .cart_item .product-name { color: var(--text-heading); font-weight: var(--w-semibold); font-size: 13px; }
.woocommerce-checkout .cart_item .product-total { font-weight: var(--w-bold); vertical-align: top; }
/* miniatura del producto por línea en el resumen */
.woocommerce-checkout #order_review .fiton-co-li { display: flex; align-items: center; gap: 10px; }
.woocommerce-checkout #order_review .fiton-co-li img { width: 40px; height: 40px; flex: none; border-radius: 8px; object-fit: cover; background: var(--pink-100); margin: 0; }
.woocommerce-checkout #order_review .fiton-co-li__name { min-width: 0; }
.woocommerce-checkout #order_review .fiton-co-li__name a { color: var(--text-heading); }
/* encabezado "Producto" sin marca decorativa que lo recorte */
.woocommerce-checkout #order_review th::before,
.woocommerce-checkout #order_review th::after,
.woocommerce-checkout #order_review td::before,
.woocommerce-checkout #order_review .product-name::before { content: none !important; display: none !important; }
.woocommerce-checkout #order_review thead th { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); font-weight: var(--w-bold); padding-left: 0; }

/* pago */
.woocommerce-checkout #payment { background: transparent; border: none; margin-top: var(--s-3); }
.woocommerce-checkout #payment ul.payment_methods { border: 1px solid #ECE7E1; border-radius: 10px; padding: var(--s-4); margin-bottom: var(--s-3); }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; }
.woocommerce-checkout #payment ul.payment_methods label { font-weight: var(--w-bold); color: var(--text-heading); font-size: 14px; }
.woocommerce-checkout #payment div.payment_box { background: #F7F3F6; border-radius: 10px; font-size: 13px; color: var(--text-muted); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #F7F3F6; }
.woocommerce-checkout #payment .place-order { padding: 0; }
.woocommerce-checkout #place_order {
  width: 100%; background: var(--brand) !important; color: #fff !important;
  border: none !important; border-radius: var(--r-pill) !important;
  font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .04em;
  padding: 15px 24px !important; font-size: 14px; box-shadow: 0 8px 20px rgba(233,33,138,.28) !important;
  margin-top: var(--s-2);
}
.woocommerce-checkout #place_order:hover { background: var(--brand-deep) !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--text-muted); margin-top: var(--s-3); }

/* upsell "última oportunidad" dentro de la tarjeta */
.fiton-co-upsell { border: 1px dashed var(--pink-300); border-radius: 10px; background: #FDF2F8; padding: var(--s-4); margin: var(--s-4) 0; }
.fiton-co-upsell__head { font-size: 12px; font-weight: var(--w-extrabold); color: var(--brand-deep); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 3px; }
.fiton-co-upsell__sub { font-size: 11px; color: var(--text-muted); margin-bottom: 10px; }
.fiton-co-upsell__card { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 10px; padding: 10px; }
.fiton-co-upsell__card img { width: 46px; height: 46px; object-fit: cover; border-radius: 8px; flex: none; }
.fiton-co-upsell__name { font-size: 13px; font-weight: var(--w-bold); color: var(--text-heading); }
.fiton-co-upsell__price { font-size: 13px; font-weight: 800; color: var(--brand-deep); }
.fiton-co-upsell__card .button {
  margin-left: auto; padding: 8px 16px !important; font-size: 12px !important;
  background: var(--brand) !important; color: #fff !important; border-radius: var(--r-pill) !important;
  text-transform: none; font-weight: var(--w-bold);
}

/* garantías con ícono — claras */
.fiton-co-cards { clear: both; max-width: 820px; margin: var(--s-6) auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-3); }
@media (max-width: 640px) { .fiton-co-cards { grid-template-columns: 1fr; } }
.fiton-co-card { display: flex; gap: 12px; background: #fff; border: 1px solid #ECE7E1; border-radius: 12px; padding: 16px; }
.fiton-co-card__ic { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--pink-100); display: grid; place-items: center; }
.fiton-co-card__ic svg { width: 17px; height: 17px; color: var(--brand); }
.fiton-co-card h4 { font-size: 12px; font-weight: 800; color: var(--text-heading); margin-bottom: 3px; }
.fiton-co-card p { font-size: 11px; color: var(--text-muted); line-height: var(--lh-relaxed); }

/* ============================================================
   Carrito clásico — mismo estilo moderno que el checkout
   ============================================================ */
.fiton-cart { max-width: 1120px; margin-inline: auto; padding: var(--s-7) clamp(16px, 4vw, 32px) var(--s-9); }
.fiton-cart .woocommerce-notices-wrapper { margin-bottom: var(--s-4); }
/* 2 columnas en desktop: productos a la izquierda, total fijo a la derecha (visible sin scroll) */
.woocommerce-cart .fiton-cart .woocommerce { display: flow-root; }
.woocommerce-cart form.woocommerce-cart-form {
  float: left; width: calc(100% - 372px);
  background: #fff; border: 1px solid #ECE7E1; border-radius: 14px; padding: var(--s-4) var(--s-5);
}
@media (max-width: 900px) {
  .woocommerce-cart form.woocommerce-cart-form { float: none; width: 100%; }
}
.woocommerce-cart table.cart { border: none !important; border-radius: 0; margin: 0; width: 100%; table-layout: fixed; }
.woocommerce-cart table.cart thead th {
  border: none; border-bottom: 1px solid #ECE7E1; padding: 0 8px 12px;
  font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); font-weight: var(--w-bold);
}
.woocommerce-cart table.cart thead th::before,
.woocommerce-cart table.cart thead th::after,
.woocommerce-cart table.cart td::before { content: none !important; display: none !important; }
/* columnas: quitar el hueco enorme junto a la ✕ */
.woocommerce-cart table.cart td.product-remove,
.woocommerce-cart table.cart th:first-child { width: 24px; padding: 0 !important; text-align: center; }
.woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-cart table.cart th:nth-child(2) { width: 72px; padding-left: 6px; }
.woocommerce-cart table.cart td.product-name,
.woocommerce-cart table.cart th.product-name { width: auto; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-price { width: 96px; text-align: right; }
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-quantity { width: 88px; text-align: center; }
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart th.product-subtotal { width: 110px; text-align: right; }
.woocommerce-cart table.cart td { border: none; border-bottom: 1px solid #F2ECEF; padding: 16px 8px; vertical-align: middle; }
.woocommerce-cart table.cart tr:last-child td { border-bottom: none; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; background: var(--pink-100); }
.woocommerce-cart table.cart td.product-name a { color: var(--text-heading); font-weight: var(--w-bold); font-size: 14px; text-decoration: none; }
.woocommerce-cart table.cart td.product-name .variation,
.woocommerce-cart table.cart td.product-price { color: var(--text-muted); font-size: 13px; }
.woocommerce-cart table.cart td.product-subtotal { font-weight: 800; color: var(--text-heading); }
.woocommerce-cart .quantity input.qty {
  width: 64px; height: 42px; text-align: center;
  border: 1.5px solid #ECE7E1 !important; border-radius: 10px !important;
  background: #fff !important; font-weight: var(--w-bold); color: var(--text-heading);
}
.woocommerce-cart td.product-remove a.remove {
  color: var(--brand-deep) !important; font-size: 20px; width: auto; height: auto;
  background: none !important; line-height: 1;
}
.woocommerce-cart .actions { padding-top: var(--s-4) !important; display: block; }
.woocommerce-cart .actions .coupon {
  display: flex; flex-wrap: nowrap; gap: 8px; float: none !important;
  width: 100% !important; max-width: 460px; margin: 0 0 10px;
}
.woocommerce-cart .actions .coupon #coupon_code {
  flex: 1 1 200px; min-width: 140px; width: 100% !important; height: 44px;
  border: 1.5px solid #ECE7E1 !important; border-radius: 10px !important;
  background: #fff !important; padding: 0 14px !important; font-size: 13px;
}
.woocommerce-cart .actions .button {
  height: 44px; border-radius: var(--r-pill) !important; padding: 0 20px !important;
  font-size: 12px; font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .02em;
  white-space: nowrap; flex: none;
}
.woocommerce-cart .actions .coupon .button {
  background: var(--pink-100) !important; color: var(--brand-deep) !important;
  border: 1.5px solid var(--pink-300) !important;
}
.woocommerce-cart .actions > button[name="update_cart"] {
  background: transparent !important; color: var(--text-muted) !important; border: 1.5px solid #ECE7E1 !important;
}
.woocommerce-cart .cart-collaterals {
  float: right; width: 344px; margin: 0; clear: right;
  position: sticky; top: 84px;
}
@media (max-width: 900px) {
  .woocommerce-cart .cart-collaterals { float: none; width: 100%; position: static; margin-top: var(--s-5); }
}
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%; max-width: none; margin: 0; float: none;
  background: #fff; border: 1px solid #ECE7E1; border-radius: 14px; box-shadow: none; padding: var(--s-5);
}
.woocommerce-cart .cart_totals h2 { font-weight: 800; font-size: 1.1rem; color: var(--text-heading); margin: 0 0 var(--s-3); }
.woocommerce-cart .cart_totals table { border: none; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td { border: none; padding: 8px 0; color: var(--text-muted); font-size: 13px; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { border-top: 1px solid #ECE7E1; padding-top: 12px; font-size: 1.05rem; font-weight: 800; color: var(--text-heading); }
.woocommerce-cart .cart_totals .order-total .amount { color: var(--brand-deep); }
.woocommerce-cart .cart_totals .shipping td { color: var(--brand-deep); font-weight: var(--w-bold); }
.woocommerce-cart .wc-proceed-to-checkout { padding: var(--s-3) 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block; width: 100%; background: var(--brand) !important; color: #fff !important;
  border-radius: var(--r-pill) !important; font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .04em;
  padding: 15px 24px !important; font-size: 14px; box-shadow: 0 8px 20px rgba(233,33,138,.28) !important;
}
.woocommerce-cart .cross-sells { display: none; }
/* línea de regalo (shaker gratis) */
.fiton-gift-tag { display: inline-block; margin-left: 6px; background: var(--brand); color: #fff; font-size: 9px; font-weight: var(--w-bold); letter-spacing: .04em; text-transform: uppercase; padding: 2px 7px; border-radius: var(--r-pill); vertical-align: middle; }
.fiton-gift-free { color: var(--brand-deep); font-weight: 800; }

/* Sección "cupón" del inicio: click para copiar PRIMERA10 */
.cupon-img .cupon-copy { display: block; width: 100%; max-width: 960px; margin-inline: auto; border: 0; background: none; padding: 0; cursor: pointer; position: relative; line-height: 0; }
.cupon-img .cupon-copy img { display: block; width: 100%; height: auto; }
.cupon-img .cupon-copy__hint {
  position: absolute; left: 50%; bottom: 6%; transform: translateX(-50%);
  background: var(--brand); color: #fff; font-weight: var(--w-bold); font-size: 13px;
  line-height: 1; padding: 10px 20px; border-radius: var(--r-pill);
  box-shadow: var(--shadow-cta); white-space: nowrap;
}
.cupon-img .cupon-copy.copied .cupon-copy__hint { background: var(--teal); }
@media (max-width: 480px) { .cupon-img .cupon-copy__hint { font-size: 11px; padding: 8px 14px; } }

/* ============================================================
   Modal "elige tu cantidad" (quick-add GOLD desde el inicio)
   ============================================================ */
.qadd { position: fixed; inset: 0; z-index: 9700; display: grid; place-items: center; padding: 18px; }
.qadd[hidden] { display: none; }
.qadd__ov { position: absolute; inset: 0; background: rgba(24,10,20,.5); }
.qadd__panel { position: relative; z-index: 1; width: 100%; max-width: 420px; background: #fff; border-radius: var(--r-lg); box-shadow: 0 24px 60px rgba(24,10,20,.35); padding: 26px 22px 20px; max-height: 92vh; overflow: auto; }
.qadd__x { position: absolute; top: 8px; right: 12px; border: none; background: none; font-size: 26px; line-height: 1; color: var(--text-muted); cursor: pointer; }
.qadd__head { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.qadd__head img { width: 54px; height: 54px; border-radius: var(--r-sm); object-fit: cover; background: var(--pink-100); }
.qadd__head strong { display: block; font-weight: var(--w-black); color: var(--text-heading); font-size: 1.05rem; }
.qadd__head span { font-size: var(--fs-body-sm); color: var(--brand-deep); font-weight: var(--w-bold); }
.qadd__opts { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.qadd__opt { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; border: 1.5px solid var(--border-subtle); border-radius: var(--r-md); padding: 13px 14px 13px 40px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.qadd__opt input { position: absolute; left: 13px; top: 15px; accent-color: var(--brand); width: 18px; height: 18px; margin: 0; }
.qadd__opt.is-sel { border-color: var(--brand); box-shadow: var(--shadow-card); }
.qadd__t { font-weight: var(--w-bold); color: var(--text-heading); }
.qadd__u { grid-column: 1; font-size: 12px; color: var(--text-muted); }
.qadd__n { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: 1.25rem; font-weight: var(--w-black); color: var(--text-heading); white-space: nowrap; }
.qadd__b { position: absolute; right: 12px; bottom: -9px; background: var(--brand); color: #fff; font-size: 10px; font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .03em; padding: 3px 10px; border-radius: var(--r-pill); }
.qadd__g { grid-column: 1 / -1; margin-top: 9px; padding-top: 9px; border-top: 1px dashed var(--pink-300); font-size: 12px; color: var(--brand-deep); font-weight: var(--w-semibold); }
.qadd__go { width: 100%; background: var(--brand); color: #fff; border: none; border-radius: var(--r-pill); font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .04em; padding: 15px; font-size: var(--fs-body); cursor: pointer; box-shadow: var(--shadow-cta); }
.qadd__go:hover { background: var(--brand-deep); }
.qadd__go.is-loading { opacity: .7; pointer-events: none; }
.qadd__more { display: block; text-align: center; margin-top: 12px; font-size: 13px; color: var(--brand-deep); font-weight: var(--w-semibold); text-decoration: none; }
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty { font-size: 15px; color: var(--text-body); }
.woocommerce-cart .return-to-shop .button {
  background: var(--brand) !important; color: #fff !important; border-radius: var(--r-pill) !important;
  text-transform: uppercase; font-weight: var(--w-bold);
}
@media (max-width: 720px) {
  .fiton-cart { padding-left: 14px; padding-right: 14px; }
  .woocommerce-cart form.woocommerce-cart-form { padding: 16px; }
  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart > tbody { display: block; width: 100%; }
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    grid-template-areas: "th nm rm" "th qt st";
    column-gap: 12px; row-gap: 8px; align-items: center;
    padding: 14px 0; border-bottom: 1px solid #F2ECEF;
  }
  .woocommerce-cart table.cart tr.cart_item td {
    display: block; border: none !important; padding: 0 !important;
    width: auto !important; text-align: left;
  }
  .woocommerce-cart td.product-thumbnail { grid-area: th; }
  .woocommerce-cart td.product-thumbnail img { width: 56px; height: 56px; }
  .woocommerce-cart td.product-name { grid-area: nm; font-size: 13px; }
  .woocommerce-cart td.product-remove { grid-area: rm; text-align: right !important; }
  .woocommerce-cart td.product-price { display: none !important; }
  .woocommerce-cart td.product-quantity { grid-area: qt; }
  .woocommerce-cart td.product-quantity .quantity input.qty { width: 60px; height: 38px; }
  .woocommerce-cart td.product-subtotal { grid-area: st; text-align: right !important; font-weight: 800; }
  .woocommerce-cart .actions .coupon { max-width: none; }
  .woocommerce-cart .cart-collaterals .cart_totals { max-width: none; }
}

/* ---- ficha de producto WC (Termo/Shaker) en móvil: sin desbordes ---- */
.single-product { overflow-x: hidden; }
@media (max-width: 760px) {
  .single-product div.product { grid-template-columns: 1fr !important; }
  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image img { max-width: 100% !important; width: 100% !important; }
  .single-product .zoomImg { display: none !important; }
  .single-product .related.products,
  .single-product .related ul.products { max-width: 100% !important; }
  .single-product .related ul.products,
  .woocommerce.single-product .related ul.products { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: var(--s-3) !important; }
  .single-product .related ul.products li.product { padding: var(--s-2) !important; }
  .single-product .related ul.products li.product .button { font-size: 11px !important; padding: 8px 10px !important; }
  .fiton-wc { padding-left: 14px !important; padding-right: 14px !important; }
}
@media (max-width: 420px) {
  .single-product .related ul.products,
  .woocommerce.single-product .related ul.products { grid-template-columns: 1fr !important; }
}
