/* ====================================================================
   hn-cl-checkout.css  ·  Carrito · Checkout · Mi Cuenta
   herbanutricion.cl — child theme Kadence
   Estiliza el flujo nativo de WooCommerce con la identidad del sitio.
   Se encola solo en is_cart() || is_checkout() || is_account_page().
   ==================================================================== */

/* Tokens (autocontenidos: el :root de hn-home.css no carga en estas paginas) */
.woocommerce-cart, .woocommerce-checkout, .woocommerce-account {
  --bg:#FFFFFF; --surface:#F7F9F4; --warm:#F5EDE4; --alt:#FAF7F0;
  --text:#2B2B2B; --muted:#6B7280; --caption:#7A6249; --border:#E5E7EB;
  --verde:#78BE20; --verde-h:#67A81C; --verde-lt:#EBF7D4;
  --wa:#25D366; --wa-h:#1EB85A; --on-verde:#2B2B2B;
  --r-pill:100px; --r-md:10px; --r-lg:16px; --r-xl:20px;
  --sh-sm:0 2px 8px rgba(0,0,0,.07); --sh-md:0 6px 30px rgba(0,0,0,.11);
  --t:.22s ease;
}

/* ====================================================================
   RESET DE COLOR — Kadence fuerza body{color:var(--global-palette4)}
   aprox. #f5f9f0 (blanco) y h1-h6{color:#fff}. Todo texto raw hereda
   ese blanco y desaparece sobre fondos claros. Igual que en product.css.
   ==================================================================== */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account { color: #2B2B2B; }

.woocommerce-cart h1,.woocommerce-cart h2,.woocommerce-cart h3,
.woocommerce-cart h4,.woocommerce-cart h5,.woocommerce-cart h6,
.woocommerce-checkout h1,.woocommerce-checkout h2,.woocommerce-checkout h3,
.woocommerce-checkout h4,.woocommerce-checkout h5,.woocommerce-checkout h6,
.woocommerce-account h1,.woocommerce-account h2,.woocommerce-account h3,
.woocommerce-account h4,.woocommerce-account h5,.woocommerce-account h6 {
  color: #2B2B2B !important;
}

/* td / th / p / li / span — override explícito por si Kadence tiene
   reglas de mayor especificidad en .entry-content o .content-area */
.woocommerce-cart td,.woocommerce-cart th,.woocommerce-cart p,
.woocommerce-cart li,.woocommerce-cart span,
.woocommerce-checkout td,.woocommerce-checkout th,.woocommerce-checkout p,
.woocommerce-checkout li,.woocommerce-checkout span,
.woocommerce-account td,.woocommerce-account th,.woocommerce-account p,
.woocommerce-account li,.woocommerce-account span { color: #2B2B2B; }

/* Links de contenido (no botones) */
.woocommerce-cart a:not(.button):not(.checkout-button):not(.btn-verde):not(.btn-wa),
.woocommerce-checkout a:not(.button):not(.checkout-button):not(.btn-verde):not(.btn-wa),
.woocommerce-account a:not(.button):not(.woocommerce-Button):not(.btn-verde):not(.btn-wa) {
  color: #2B2B2B;
}
.woocommerce-cart a:not(.button):hover,
.woocommerce-checkout a:not(.button):hover,
.woocommerce-account a:not(.button):hover { color: #67A81C; }

.woocommerce-cart .hn-btn-wsp,
.woocommerce-cart .hn-btn-wsp:hover,
.woocommerce-cart .hn-btn-wsp:focus,
.woocommerce-cart .hn-btn-wsp:visited,
.woocommerce-cart .hn-btn-wsp .hn-wsp-txt,
.woocommerce-checkout .hn-btn-wsp,
.woocommerce-checkout .hn-btn-wsp:hover,
.woocommerce-checkout .hn-btn-wsp:focus,
.woocommerce-checkout .hn-btn-wsp:visited,
.woocommerce-checkout .hn-btn-wsp .hn-wsp-txt,
.woocommerce-account .hn-btn-wsp,
.woocommerce-account .hn-btn-wsp:hover,
.woocommerce-account .hn-btn-wsp:focus,
.woocommerce-account .hn-btn-wsp:visited,
.woocommerce-account .hn-btn-wsp .hn-wsp-txt {
  color:#fff !important;
}
.woocommerce-cart .hn-btn-wsp svg,
.woocommerce-checkout .hn-btn-wsp svg,
.woocommerce-account .hn-btn-wsp svg {
  fill:#fff !important;
}

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content,
.woocommerce-cart .content-container,
.woocommerce-checkout .content-container,
.woocommerce-account .content-container {
  width:min(100%, 1140px);
  max-width:1140px;
  margin-inline:auto;
  box-sizing:border-box;
}

.woocommerce-cart #primary,
.woocommerce-checkout #primary,
.woocommerce-account #primary {
  padding-left:clamp(18px, 4vw, 48px) !important;
  padding-right:clamp(18px, 4vw, 48px) !important;
  box-sizing:border-box;
  overflow-x:hidden;
}

/* Tipografia y titulos de seccion */
.woocommerce-cart h1, .woocommerce-checkout h1, .woocommerce-account h1,
.woocommerce form .form-row label,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3 { font-family:'Inter',system-ui,sans-serif; }

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-billing-fields > h3 {
  font-size:1.15rem; font-weight:800; color:var(--text);
  margin:0 0 18px; padding-bottom:10px; border-bottom:2px solid var(--verde-lt);
}

/* ---- Inputs y selects (carrito, checkout, cuenta) ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-account input.input-text,
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="text"] {
  width:100%; border:1.5px solid var(--border); border-radius:var(--r-md);
  padding:13px 15px; font-size:1rem; color:var(--text); background:#fff;
  transition:border-color var(--t), box-shadow var(--t); line-height:1.3;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-account input:focus {
  outline:none; border-color:var(--verde);
  box-shadow:0 0 0 3px rgba(120,190,32,.18);
}
.woocommerce form .form-row label { font-weight:600; margin-bottom:6px; display:block; color:var(--text); }
.woocommerce form .form-row { margin-bottom:16px; }
.woocommerce .required { color:var(--verde-h); border:0; }

/* ---- Botones (estilo .btn-verde del sitio) ---- */
/* Botones principales checkout — Variante 2 (fondo blanco) */
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-account button.woocommerce-button,
.woocommerce-account .woocommerce-Button,
.woocommerce #payment #place_order {
  background:#266431 !important; color:#ffffff !important;
  font-weight:700 !important; font-size:1.02rem !important; border:0 !important;
  border-radius:var(--r-pill) !important; padding:15px 34px !important;
  box-shadow:0 4px 20px rgba(120,190,32,.4); cursor:pointer;
  transition:background var(--t), transform var(--t), box-shadow var(--t);
  width:100%; text-align:center;
}
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover,
.woocommerce-account button.woocommerce-button:hover {
  background:#2d7d3a !important; transform:translateY(-2px);
  box-shadow:0 6px 28px rgba(38,100,49,.5);
}
.woocommerce a.button.wc-backward,
.woocommerce-cart .button[name="update_cart"] {
  background:#fff !important; color:var(--verde-h) !important;
  border:1.5px solid var(--verde) !important; border-radius:var(--r-pill) !important;
  font-weight:700 !important; box-shadow:none !important;
}

/* ====================================================================
   CARRITO
   ==================================================================== */
.woocommerce-cart table.cart {
  border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--sh-sm); border-collapse:separate; border-spacing:0;
}
.woocommerce-cart table.cart thead th {
  background:var(--surface); color:var(--text); font-weight:700;
  text-transform:none; padding:16px; border:0;
}
.woocommerce-cart table.cart td { padding:18px 16px; border-top:1px solid var(--border); }
.woocommerce-cart table.cart img { border-radius:var(--r-md); max-width:72px; }
.woocommerce-cart .cart_totals {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:24px; box-shadow:var(--sh-sm);
}
.woocommerce-cart .cart_totals h2 { font-size:1.15rem; font-weight:800; margin-bottom:14px; }
.woocommerce-cart .wc-proceed-to-checkout { padding:0; }
/* Envio gratis Chile — refuerzo visual */
.woocommerce-cart .woocommerce-shipping-totals td { color:var(--verde-h); font-weight:600; }

/* ====================================================================
   CHECKOUT
   ==================================================================== */
.woocommerce-checkout form.checkout { display:grid; gap:28px; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
  padding:24px; box-shadow:var(--sh-sm);
}
.woocommerce-checkout #order_review_heading { padding:20px 24px 0; border:0; box-shadow:none; background:transparent; }

/* Metodos de pago con logos */
.woocommerce-checkout #payment { background:var(--surface); border-radius:var(--r-lg); }
.woocommerce-checkout #payment ul.payment_methods { border:0; padding:6px 0; }
.woocommerce-checkout #payment ul.payment_methods li {
  background:#fff; border:1.5px solid var(--border); border-radius:var(--r-md);
  margin-bottom:10px; padding:14px 16px; transition:border-color var(--t), box-shadow var(--t);
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color:var(--verde); }
.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight:700; color:var(--text); display:inline-flex; align-items:center; gap:10px;
}
.woocommerce-checkout #payment ul.payment_methods li img {
  max-height:30px; width:auto; vertical-align:middle; margin-left:6px;
}
.woocommerce-checkout #payment div.payment_box {
  background:var(--alt); border-radius:var(--r-md); color:var(--muted); font-size:.92rem;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:var(--alt); }

/* Bloque "Activa tu cuenta" */
.hn-account-benefits {
  background:var(--verde-lt); border:1px solid #cfe8a3; border-radius:var(--r-lg);
  padding:18px 20px; margin:0 0 18px;
}
.hn-account-benefits h4 { margin:0 0 10px; font-size:1.02rem; font-weight:800; color:var(--verde-h); display:flex; align-items:center; gap:8px; }
.hn-account-benefits ul { margin:0 0 10px; padding-left:20px; }
.hn-account-benefits li { margin-bottom:5px; color:var(--text); font-size:.94rem; }
.hn-account-benefits small { color:var(--muted); display:block; }

/* Checkbox de contacto previo (norma Herbalife) */
#hn_prior_contact_field {
  background:var(--warm); border:1px dashed var(--caption); border-radius:var(--r-md);
  padding:14px 16px; margin-bottom:18px;
}
#hn_prior_contact_field label { font-weight:600; font-size:.92rem; color:var(--text); display:flex; gap:10px; align-items:flex-start; }
#hn_prior_contact_field input[type="checkbox"] { margin-top:3px; width:18px; height:18px; accent-color:var(--verde); }

/* Bloque de confianza / seguridad bajo el boton pagar */
.hn-trust {
  margin-top:16px; padding:14px 16px; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--r-md);
  display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; justify-content:center;
}
.hn-trust__item { display:inline-flex; align-items:center; gap:7px; font-size:.85rem; color:var(--muted); font-weight:600; }
.hn-trust__item svg { flex:0 0 auto; }
.hn-trust__brands { display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:center; width:100%; padding-top:6px; border-top:1px solid var(--border); margin-top:4px; }
.hn-trust__brand { font-size:.78rem; font-weight:700; color:var(--text); background:#fff; border:1px solid var(--border); border-radius:var(--r-pill); padding:5px 12px; }

/* ====================================================================
   MI CUENTA  ·  login / registro / dashboard
   ==================================================================== */
.woocommerce-account .woocommerce > .u-columns,
.woocommerce-account .woocommerce > .col2-set { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 { float:none !important; width:auto !important; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-form-coupon,
.woocommerce-account .woocommerce-ResetPassword {
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
  padding:26px; box-shadow:var(--sh-sm); margin:0;
}
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 { font-size:1.2rem; font-weight:800; margin-bottom:6px; }

/* Encabezado de la puerta de compra */
.hn-account-gate {
  background:var(--verde-lt); border:1px solid #cfe8a3; border-radius:var(--r-lg);
  padding:18px 22px; margin-bottom:24px; text-align:center;
}
.hn-account-gate h2 { margin:0 0 6px; font-size:1.1rem; font-weight:800; color:var(--verde-h); }
.hn-account-gate p { margin:0; color:var(--text); font-size:.95rem; }
.hn-account-gate a.hn-wa { color:var(--wa-h); font-weight:700; text-decoration:none; }

/* Dashboard de cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--border); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:13px 18px; color:var(--text); font-weight:600; text-decoration:none; transition:background var(--t); }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background:var(--surface); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:var(--verde); color:var(--on-verde); }
.woocommerce-account .woocommerce-MyAccount-content { background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:26px; box-shadow:var(--sh-sm); }

/* ====================================================================
   AVISOS WooCommerce con la paleta del sitio
   ==================================================================== */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noticias {
  border-top-color:var(--verde) !important; border-radius:var(--r-md);
}
.woocommerce-message::before, .woocommerce-info::before { color:var(--verde) !important; }

/* ====================================================================
   BLOQUE ACTIVA TU CUENTA (Paso 1)
   ==================================================================== */
.hn-activate-account {
  border:1.5px solid #D7EBC3;
  border-radius:14px;
  overflow:hidden;
  margin:20px 0;
  background:#fff;
  box-shadow:0 8px 24px rgba(38,100,49,.08);
}
.hn-activate-account__header {
  background:#2D6A2A;
  color:#fff;
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 22px;
}
.hn-activate-account__icon {
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}
.hn-activate-account__header-text { display:flex; flex-direction:column; gap:4px; }
.hn-activate-account__header-text strong { font-size:1.03rem; font-weight:800; color:#fff !important; line-height:1.2; }
.hn-activate-account__header-text span { font-size:.9rem; color:rgba(255,255,255,.86) !important; line-height:1.35; }
.hn-activate-account__benefits {
  background:#F2FAE5;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 18px;
  padding:18px 22px;
}
.hn-activate-account__benefit {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.9rem;
  line-height:1.35;
  color:#2B2B2B !important;
}
.hn-activate-account__benefit span { color:#2B2B2B !important; }
.hn-activate-account__benefit svg { flex:0 0 auto; }
.hn-activate-account__footer {
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:#FBFDF7;
  border-top:1px solid #D7EBC3;
  padding:14px 22px;
  font-size:.9rem;
  line-height:1.45;
  color:#2B2B2B !important;
}
.hn-activate-account__footer span { color:#2B2B2B !important; }
.hn-activate-account__footer strong { color:#2B2B2B !important; }

/* ====================================================================
   REGION — fondo blanco en select2 y select nativo
   ==================================================================== */
.woocommerce-checkout select#billing_state,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection__rendered,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  background:#fff !important; color:#2B2B2B !important;
}
.woocommerce-checkout .select2-dropdown {
  background:#fff !important; color:#2B2B2B !important;
}
.woocommerce-checkout .select2-results__option { color:#2B2B2B !important; }
.woocommerce-checkout .select2-results__option--highlighted { background:var(--verde-lt) !important; color:#2B2B2B !important; }

.woocommerce-checkout #billing_hn_province,
.woocommerce-checkout #billing_city,
.woocommerce-checkout #shipping_hn_province,
.woocommerce-checkout #shipping_city {
  background:#fff !important;
  color:#2B2B2B !important;
}
.woocommerce-checkout #billing_hn_province:disabled,
.woocommerce-checkout #billing_city:disabled,
.woocommerce-checkout #shipping_hn_province:disabled,
.woocommerce-checkout #shipping_city:disabled {
  background:#F3F4F6 !important;
  color:#6B7280 !important;
  cursor:not-allowed;
}

/* ====================================================================
   CUPON EN CARRITO — siempre visible (CSS + el JS auto-click)
   ==================================================================== */
.woocommerce-cart .coupon { display:block !important; }
.woocommerce-cart .showcoupon,
.woocommerce-cart .coupon-toggle { display:none !important; }

/* ====================================================================
   CARRITO — mejoras de layout
   ==================================================================== */
.woocommerce-cart .woocommerce {
  width:100%;
  max-width:1180px;
  margin-inline:auto;
  padding:0;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(320px, .9fr);
  gap:clamp(24px, 4vw, 48px);
  align-items:start;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
  grid-column:1 / -1;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
  float:none !important;
  width:100% !important;
  min-width:0;
  box-sizing:border-box;
}
.woocommerce-cart .cart-collaterals .cart_totals {
  float:none !important;
  width:100% !important;
}

/* Carrito WooCommerce Blocks: evita que alignwide saque el contenido del viewport. */
.woocommerce-cart .entry-content.single-content {
  width:min(100%, 1180px) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(18px, 4vw, 48px) !important;
  padding-right:clamp(18px, 4vw, 48px) !important;
  box-sizing:border-box;
}
.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}
.woocommerce-cart .wc-block-components-sidebar-layout {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1.45fr) minmax(320px, .9fr);
  gap:clamp(24px, 4vw, 48px);
  align-items:start;
}
.woocommerce-cart .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar {
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box;
}
.woocommerce-cart .wc-block-cart-items {
  width:100% !important;
  max-width:100% !important;
}
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-button:visited,
.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text {
  color:#fff !important;
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus,
.woocommerce-cart .wc-block-cart__submit-button:hover .wc-block-components-button__text,
.woocommerce-cart .wc-block-cart__submit-button:focus .wc-block-components-button__text {
  color:#fff !important;
}
.woocommerce-cart table.cart td.product-thumbnail { width:80px; }
.woocommerce-cart table.cart td.product-name { min-width:160px; }
.woocommerce-cart table.cart td.product-name a { color:#2B2B2B !important; font-weight:600; text-decoration:none; }
.woocommerce-cart table.cart td.product-name a:hover { color:var(--verde-h) !important; }
.woocommerce-cart table.cart td.product-name .variation { font-size:.82rem; color:var(--muted); margin-top:4px; }
.woocommerce-cart table.cart td.product-name .variation dt,
.woocommerce-cart table.cart td.product-name .variation dd { color:var(--muted) !important; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal { font-weight:700; color:#2B2B2B !important; }
.woocommerce-cart table.cart .product-remove a { color:var(--muted) !important; font-size:1.2rem; }
.woocommerce-cart table.cart .product-remove a:hover { color:var(--verde-h) !important; }
/* Cart totals mejorado */
.woocommerce-cart .cart_totals table { width:100%; border-collapse:collapse; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td { padding:10px 0; color:#2B2B2B !important; border-bottom:1px solid var(--border); font-size:.95rem; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { font-weight:800; font-size:1.05rem; border-bottom:0; }

/* ====================================================================
   HELPER TEXTS — siempre visibles (FC floating labels)
   ==================================================================== */
.woocommerce form .form-row .description,
.fc-float-label .description,
.woocommerce-checkout .description {
  display:block !important; visibility:visible !important; opacity:1 !important;
  height:auto !important; font-size:.8rem; color:var(--muted); margin-top:4px;
}

/* ====================================================================
   TRANSFERENCIA BANCARIA (BACS) — pagina de confirmacion
   ==================================================================== */
.woocommerce-bacs-bank-details {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:20px 24px; margin:20px 0;
}
.woocommerce-bacs-bank-details h3 { color:#2B2B2B !important; font-size:1.05rem; font-weight:800; margin-bottom:14px; }
.woocommerce-bacs-bank-details table { width:100%; border-collapse:collapse; }
.woocommerce-bacs-bank-details table th,
.woocommerce-bacs-bank-details table td { padding:8px 0; color:#2B2B2B !important; border-bottom:1px solid var(--border); }
.woocommerce-bacs-bank-details table th { font-weight:700; width:40%; }
/* Pagina order-received */
.woocommerce-order { background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:24px; box-shadow:var(--sh-sm); }
.woocommerce-order h2 { color:#2B2B2B !important; font-size:1.1rem; font-weight:800; margin-bottom:14px; }
.woocommerce-order p { color:#2B2B2B !important; }
.woocommerce-order-overview { background:var(--verde-lt); border:1px solid #cfe8a3; border-radius:var(--r-md); padding:14px 20px; margin-bottom:20px; display:flex; flex-wrap:wrap; gap:16px; }
.woocommerce-order-overview li { list-style:none; font-size:.9rem; color:#2B2B2B !important; }
.woocommerce-order-overview li strong { display:block; font-weight:800; }

/* ====================================================================
   FC SUBTITULO PASO 1 — reemplazar "Póngase en contacto con"
   El h2 screen-reader-text ya dice "Datos de contacto" via gettext.
   El h3 visible usa una clase especifica de FC.
   ==================================================================== */
.fc-step__substep-title--contact { font-size:0 !important; line-height:0 !important; padding:0 !important; margin:0 !important; }
.fc-step__substep-title--contact::before {
  display:block;
  content:'DATOS DE CONTACTO';
  font-size:0.75rem; line-height:1.4;
  font-weight:700; letter-spacing:0.08em;
  color:#2B2B2B;
}

/* ====================================================================
   RESPONSIVE (mobile-first refinements)
   ==================================================================== */
@media (max-width:782px){
  .woocommerce-checkout form.checkout { grid-template-columns:1fr; }
  .woocommerce-account .woocommerce > .u-columns,
  .woocommerce-account .woocommerce > .col2-set { grid-template-columns:1fr; }
  .woocommerce-cart #primary,
  .woocommerce-checkout #primary,
  .woocommerce-account #primary { padding-left:16px !important; padding-right:16px !important; }
  .woocommerce-cart .woocommerce { display:block; max-width:100%; }
  .woocommerce-cart .entry-content.single-content {
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .woocommerce-cart .wp-block-woocommerce-cart.alignwide,
  .woocommerce-cart .wc-block-components-sidebar-layout {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .woocommerce-cart .woocommerce-cart-form {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .woocommerce-cart .wc-block-components-main {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .woocommerce-cart table.cart {
    min-width:640px;
    margin-bottom:22px;
  }
  .woocommerce-cart .wc-block-cart-items {
    min-width:620px;
    margin-bottom:22px;
  }
  .woocommerce-cart table.cart thead { display:none; }
  .woocommerce #place_order, .woocommerce .checkout-button { font-size:1.05rem !important; padding:16px !important; }
  .hn-activate-account__benefits { grid-template-columns:1fr; }
}

@media (min-width:783px) and (max-width:1050px){
  .woocommerce-cart .woocommerce {
    grid-template-columns:1fr;
    max-width:860px;
  }
  .woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns:1fr;
    max-width:860px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* ─── Cross-sells del carrito (bloque woocommerce/product-collection):
   diseño premium consistente con el resto del sitio, con kicker y
   tarjetas con botón siempre visible (2026-07-18) ──────────────────── */
.woocommerce-cart .wp-block-woocommerce-product-collection {
  border-top: 1px solid var(--border);
  padding-top: 32px;
  margin-top: 32px;
}
.woocommerce-cart .wp-block-woocommerce-product-collection > h2.wp-block-heading {
  font-size: 1.4rem;
  font-weight: 700;
  color: #2B2B2B;
  margin-bottom: 20px !important;
}
.woocommerce-cart .wp-block-woocommerce-product-collection > h2.wp-block-heading::before {
  content: 'Recomendado para ti';
  display: block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--verde);
  margin-bottom: 8px;
}
.woocommerce-cart .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}
.woocommerce-cart .wc-block-product-template li.wc-block-product {
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-xl) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.07) !important;
  overflow: hidden;
  padding: 0 0 var(--hn-sp-5, 20px);
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--t), transform var(--t);
}
.woocommerce-cart .wc-block-product-template li.wc-block-product:hover {
  box-shadow: 0 6px 30px rgba(0,0,0,.11) !important;
  transform: translateY(-4px);
}
.woocommerce-cart .wc-block-components-product-image { margin: 0; }
.woocommerce-cart .wc-block-components-product-image img { aspect-ratio: 1/1; object-fit: cover; }
.woocommerce-cart .wc-block-product-template h2.wp-block-post-title {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #2B2B2B !important;
  text-align: center !important;
  padding: 0 16px;
  margin: 14px 0 6px !important;
}
.woocommerce-cart .wc-block-product-template h2.wp-block-post-title a { color: inherit !important; text-decoration: none; }
.woocommerce-cart .wc-block-components-product-price {
  padding: 0 16px;
  margin-bottom: 12px !important;
  text-align: center !important;
}
.woocommerce-cart .wc-block-components-product-price .woocommerce-Price-amount,
.woocommerce-cart .wc-block-components-product-price .woocommerce-Price-currencySymbol {
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  color: var(--verde-h) !important;
}
.woocommerce-cart .wc-block-components-product-button {
  padding: 0 16px;
  margin-top: auto !important;
  text-align: left !important;
}
.woocommerce-cart .wc-block-components-product-button__button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  padding: 11px 16px !important;
  background: transparent !important;
  color: #266431 !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  text-transform: none !important;
  border-radius: var(--r-pill) !important;
  border: 2px solid var(--verde) !important;
  text-align: center !important;
  transition: background var(--t), transform var(--t);
}
.woocommerce-cart .wc-block-components-product-button__button:hover {
  background: var(--verde-lt) !important;
  color: #266431 !important;
  transform: translateY(-2px);
}
