/*
Theme Name: Kalele 2.0 Child
Theme URI: https://kaleleboutique.com/
Description: Tema hijo de Astra para el rediseño Kalele 2.0. Base segura: no modifica WooCommerce, MUFU POS, PDFs, carrito ni checkout.
Author: Kalele Boutique
Template: astra
Version: 1.5.11
Text Domain: kalele-2-child
*/

/* ==========================================================
 * v1.4.72-bridge — Puente para checkout nativo WooCommerce
 * Se activa únicamente cuando Fluid Checkout deja de envolver
 * el checkout. No altera campos, gateways, envíos ni validaciones.
 * ========================================================== */
body.woocommerce-checkout:not(.fc-checkout-page) form.checkout.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  grid-template-areas:
    "customer heading"
    "customer review";
  column-gap: 48px;
  align-items: start;
  width: 100%;
}
body.woocommerce-checkout:not(.fc-checkout-page) form.checkout.woocommerce-checkout > #customer_details {
  grid-area: customer;
  width: 100%;
}
body.woocommerce-checkout:not(.fc-checkout-page) form.checkout.woocommerce-checkout > #order_review_heading {
  grid-area: heading;
  width: 100%;
  margin-top: 0;
}
body.woocommerce-checkout:not(.fc-checkout-page) form.checkout.woocommerce-checkout > #order_review {
  grid-area: review;
  width: 100%;
}
body.woocommerce-checkout:not(.fc-checkout-page) #customer_details .col-1,
body.woocommerce-checkout:not(.fc-checkout-page) #customer_details .col-2 {
  float: none;
  width: 100%;
}
@media (max-width: 921px) {
  body.woocommerce-checkout:not(.fc-checkout-page) form.checkout.woocommerce-checkout {
    display: block;
  }
  body.woocommerce-checkout:not(.fc-checkout-page) form.checkout.woocommerce-checkout > #order_review_heading {
    margin-top: 32px;
  }
}


/* ==========================================================
 * v1.4.73 — Checkout / Paso 1: encabezado limpio
 * Solo logo Kalele a la izquierda. Sin navegación ni acciones.
 * ========================================================== */
body.woocommerce-checkout .kalele-checkout-header {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #eee8e4;
}
body.woocommerce-checkout .kalele-checkout-header__inner {
  width: min(1180px, calc(100% - 48px));
  min-height: 112px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
body.woocommerce-checkout .kalele-checkout-header__logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
body.woocommerce-checkout .kalele-checkout-header__logo img {
  display: block;
  width: auto;
  height: 58px;
  max-width: 180px;
  object-fit: contain;
}
@media (max-width: 767px) {
  body.woocommerce-checkout .kalele-checkout-header__inner {
    width: calc(100% - 32px);
    min-height: 84px;
  }
  body.woocommerce-checkout .kalele-checkout-header__logo img {
    height: 46px;
    max-width: 145px;
  }
}

/* ==========================================================
 * v1.4.75 — Checkout / Paso 2: limpiar avisos superiores
 * Oculta únicamente login, cupón y aviso informativo de zona.
 * No oculta errores/validaciones del checkout.
 * ========================================================== */
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-notices-wrapper > .woocommerce-info,
body.woocommerce-checkout > .woocommerce-info {
  display: none !important;
}

/* ==========================================================
 * v1.4.75 — Checkout / Paso 3: ocultar aviso de zona restante
 * Woo puede renderizar este aviso fuera del wrapper habitual.
 * Conserva errores y validaciones reales del checkout.
 * ========================================================== */
body.woocommerce-checkout .woocommerce-info:not(.woocommerce-form-login-toggle):not(.woocommerce-form-coupon-toggle),
body.woocommerce-checkout .woocommerce-message:not(.woocommerce-error) {
  display: none !important;
}


/* ==========================================================
 * v1.4.76 — Checkout / Paso 4: división visual tipo checkout
 * Solo presentación: blanco a la izquierda, gris claro a la
 * derecha. No altera campos, pagos, envíos ni validaciones.
 * En móvil vuelve a una sola superficie blanca.
 * ========================================================== */
@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content {
    background: linear-gradient(
      to right,
      #ffffff 0,
      #ffffff 52.5%,
      #f7f7f7 52.5%,
      #f7f7f7 100%
    ) !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #primary,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
  body.woocommerce-checkout:not(.woocommerce-order-received) .entry-content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {
    background: transparent !important;
  }
}

@media (max-width: 921px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content {
    background: #ffffff !important;
  }
}

/* ==========================================================
 * v1.4.77 — Checkout / ajuste visual tipo La Confianza
 * Mantiene intacta la lógica WooCommerce. Solo corrige escala,
 * alineación y tratamiento visual de las dos columnas.
 * ========================================================== */
@media (min-width: 922px) {
  /* La referencia usa una zona útil más estrecha y centrada. */
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-header__inner,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content > .ast-container {
    width: min(820px, calc(100% - 48px)) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    column-gap: 32px;
  }

  /* El resumen queda integrado al panel gris, no como una tarjeta. */
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order {
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 921px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content > .ast-container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==========================================================
 * v1.4.78 — Checkout / composición visual La Confianza
 * Ajuste exclusivamente visual. Recupera una zona útil amplia,
 * dos columnas equilibradas y un resumen limpio sobre gris.
 * No modifica campos, envíos, pagos ni validaciones.
 * ========================================================== */
@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-header__inner,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content > .ast-container {
    width: min(980px, calc(100% - 64px)) !important;
    max-width: 980px !important;
    margin-inline: auto !important;
  }

  body.woocommerce-checkout:not(.fc-checkout-page):not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, .92fr) !important;
    grid-template-areas:
      "customer heading"
      "customer review" !important;
    column-gap: 64px !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    margin: 0 0 20px !important;
    padding-top: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .shop_table {
    width: 100% !important;
    table-layout: auto !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table td {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table td.product-total,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table th.product-total {
    width: 34% !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method li {
    line-height: 1.55 !important;
  }
}

@media (max-width: 921px) {
  body.woocommerce-checkout:not(.fc-checkout-page):not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    display: block !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    margin-top: 32px !important;
  }
}

/* ==========================================================
 * v1.4.79 — Checkout / fondo continuo y divisor central
 * Solo presentación. Oculta el footer durante checkout y hace
 * que las dos superficies lleguen al final de la ventana.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .site-footer,
body.woocommerce-checkout:not(.woocommerce-order-received) footer.site-footer,
body.woocommerce-checkout:not(.woocommerce-order-received) #colophon {
  display: none !important;
}

@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content {
    min-height: calc(100vh - 106px) !important;
    background: linear-gradient(
      to right,
      #ffffff 0,
      #ffffff calc(52.5% - .5px),
      #dedede calc(52.5% - .5px),
      #dedede calc(52.5% + .5px),
      #f7f7f7 calc(52.5% + .5px),
      #f7f7f7 100%
    ) !important;
  }
}

@media (max-width: 921px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #content,
  body.woocommerce-checkout:not(.woocommerce-order-received) .site-content {
    min-height: calc(100vh - 86px) !important;
    background: #ffffff !important;
  }
}

/* ==========================================================
 * v1.4.80 — Checkout / columna derecha tipo La Confianza
 * Resumen compacto: producto + foto, código, totales y pagos.
 * ========================================================== */
@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    display: none !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    padding-top: 42px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table {
    border: 0 !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    background: transparent !important;
    font-size: 14px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table thead {
    display: none !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table td {
    border: 0 !important;
    padding: 11px 0 !important;
    background: transparent !important;
    vertical-align: middle !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td {
    border-bottom: 1px solid #e3e3e3 !important;
    padding-top: 0 !important;
    padding-bottom: 18px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr:not(.order-total) th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr:not(.order-total) td {
    font-size: 13px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot .order-total th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot .order-total td {
    border-top: 1px solid #e3e3e3 !important;
    padding-top: 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    min-width: 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__image {
    position: relative !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 68px !important;
    border: 1px solid #dedede !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__name {
    display: block !important;
    line-height: 1.35 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .product-quantity {
    display: inline !important;
    font-weight: 400 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
    padding: 16px 0 18px !important;
    border-bottom: 1px solid #e3e3e3 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 13px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon button {
    height: 44px !important;
    padding: 0 17px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 9px !important;
    background: #f1f1f1 !important;
    color: #555 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon__message {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method {
    margin: 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method li {
    margin: 5px 0 !important;
    font-size: 13px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
    margin-top: 18px !important;
    padding-top: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
    border: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
  }
}

@media (max-width: 921px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product {
    display: flex; align-items: center; gap: 10px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__image {
    width: 52px; height: 62px; flex: 0 0 52px; overflow: hidden; border-radius: 8px;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__image img {
    width: 100%; height: 100%; object-fit: cover;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon {
    display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; margin: 12px 0;
  }
}

/* ==========================================================
 * v1.4.81 — Checkout / resumen derecho fiel a referencia
 * Producto > cupón > subtotal > envío > total > pagos.
 * ========================================================== */
@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    padding: 34px 34px 70px !important;
    box-sizing: border-box !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table {
    width: 100% !important;
    table-layout: auto !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot {
    display: table-row-group !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-name {
    width: auto !important;
    padding: 0 12px 18px 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td.product-total {
    width: 112px !important;
    padding: 0 0 18px !important;
    text-align: right !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__image {
    flex-basis: 60px !important;
    width: 60px !important;
    height: 72px !important;
    border-radius: 10px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-product__name {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon-row td {
    padding: 16px 0 18px !important;
    border-bottom: 1px solid #e3e3e3 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon {
    padding: 0 !important;
    border: 0 !important;
    grid-template-columns: minmax(0,1fr) 82px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon input,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon button {
    height: 46px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.cart-subtotal th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.cart-subtotal td,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.order-total th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.order-total td {
    display: table-cell !important;
    width: auto !important;
    padding: 12px 0 !important;
    border: 0 !important;
    text-align: left !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.cart-subtotal td,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.order-total td {
    text-align: right !important;
    white-space: nowrap !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.cart-subtotal th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.cart-subtotal td {
    font-size: 13px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.woocommerce-shipping-totals.shipping {
    display: table-row !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.woocommerce-shipping-totals.shipping > th {
    display: none !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.woocommerce-shipping-totals.shipping > td {
    display: table-cell !important;
    width: 100% !important;
    padding: 10px 0 14px !important;
    border: 0 !important;
    text-align: left !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method {
    display: block !important;
    width: 100% !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 7px 0 !important;
    text-align: left !important;
    line-height: 1.4 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method li input {
    flex: 0 0 auto !important;
    margin: 3px 0 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review ul#shipping_method li label {
    flex: 1 1 auto !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 400 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.order-total th,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tfoot tr.order-total td {
    padding-top: 16px !important;
    border-top: 1px solid #e3e3e3 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
    margin-top: 24px !important;
    border-top: 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
    padding: 8px 0 !important;
    margin: 0 !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > input {
    margin: 3px 8px 0 0 !important;
    vertical-align: top !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label {
    display: inline-block !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
  }
}

/* ==========================================================
 * v1.4.82 — Checkout / ajuste fino resumen derecho
 * 1) Producto más arriba, alineado con la referencia.
 * 2) Sin divisor entre producto y cupón.
 * 3) Botón Aplicar contenido correctamente dentro de su caja.
 * Solo presentación; no altera lógica de cupón, envío o pago.
 * ========================================================== */
@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
    padding-top: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review table.shop_table tbody tr.cart_item td {
    border-bottom: 0 !important;
    padding-bottom: 10px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon-row td {
    padding-top: 4px !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon {
    grid-template-columns: minmax(0, 1fr) 96px !important;
    gap: 8px !important;
    margin-top: 0 !important;
  }

  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .kalele-checkout-coupon button {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    box-sizing: border-box !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    text-indent: 0 !important;
  }
}


/* ==========================================================
 * v1.4.83 — Checkout / Contacto estilo La Confianza
 * Solo presentación y reubicación del campo email nativo.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields > h3 {
  display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact {
  margin: 0 0 48px !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin: 0 0 14px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__head h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #171717 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__login {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #1773c9 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email #billing_email_field {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email #billing_email_field .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email #billing_email {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #1f1f1f !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 46px !important;
  outline: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email #billing_email::placeholder {
  color: #6f6f6f !important;
  opacity: 1 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email #billing_email:focus {
  border-color: #777 !important;
  box-shadow: 0 0 0 1px #777 !important;
}

@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details {
    padding-top: 42px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 921px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact {
    margin-bottom: 34px !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__head h2 {
    font-size: 19px !important;
  }
}

/* ==========================================================
 * v1.4.84 — Checkout / Entrega estilo La Confianza
 * Mantiene los campos y lógica nativos; cambia composición visual.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-delivery {
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-delivery > h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #171717 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px 10px !important;
  width: 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .form-row {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-country,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-state,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-city,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-address,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-phone {
  grid-column: 1 / -1 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-postcode {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .woocommerce-input-wrapper {
  display: block !important;
  width: 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid select,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .select2-selection--single {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #1f1f1f !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid select {
  padding: 0 14px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid input.input-text::placeholder {
  color: #6f6f6f !important;
  opacity: 1 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .select2-container {
  width: 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  padding: 0 38px 0 14px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .select2-selection__rendered {
  padding: 0 !important;
  line-height: 46px !important;
  color: #1f1f1f !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .select2-selection__arrow {
  height: 46px !important;
  right: 10px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-delivery .woocommerce-account-fields {
  margin: 14px 0 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-delivery .woocommerce-account-fields p {
  margin: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-delivery label[for="createaccount"] {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #1f1f1f !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-delivery #createaccount {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 1px 0 0 !important;
}
@media (min-width: 922px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-state,
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-city {
    grid-column: auto !important;
  }
}
@media (max-width: 600px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .form-row {
    grid-column: 1 !important;
  }
}


/* ==========================================================
 * v1.4.85 — Checkout / Floating labels estilo La Confianza
 * Presentación solamente: conserva inputs/selects nativos.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field {
  position: relative !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field > label,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email .kalele-floating-field > label {
  position: absolute !important;
  z-index: 5 !important;
  left: 14px !important;
  top: 50% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: nowrap !important;
  border: 0 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  color: #6f6f6f !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transition: top .14s ease, transform .14s ease, font-size .14s ease !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field > label .required {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field.kalele-float-active > label {
  top: 9px !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  color: #707070 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field.kalele-float-active input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__email .kalele-floating-field.kalele-float-active #billing_email {
  padding-top: 14px !important;
  padding-bottom: 2px !important;
  line-height: normal !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field.kalele-float-active select {
  padding-top: 14px !important;
  padding-bottom: 2px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field.kalele-float-active .select2-selection--single {
  padding-top: 13px !important;
  padding-bottom: 1px !important;
  align-items: flex-end !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field.kalele-float-active .select2-selection__rendered {
  line-height: 25px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field input::placeholder {
  opacity: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field:focus-within input,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field:focus-within select,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field:focus-within .select2-selection--single {
  border-color: #1773c9 !important;
  box-shadow: 0 0 0 1px #1773c9 !important;
}


/* v1.4.87 — País / Región como campo único estilo La Confianza */
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field {
  grid-column: 1 / -1 !important;
  display: block !important;
  position: relative !important;
  margin: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field > label {
  position: absolute !important;
  z-index: 6 !important;
  left: 14px !important;
  top: 9px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: nowrap !important;
  transform: none !important;
  color: #707070 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  pointer-events: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field .select2-selection--single,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field select {
  height: 48px !important;
  min-height: 48px !important;
  padding-top: 13px !important;
  padding-bottom: 1px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field .select2-selection__rendered {
  line-height: 25px !important;
}


/* v1.4.88 — País fijo visualmente, sin desactivar el select nativo que alimenta Provincia/Cantón */
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] .select2-container,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] select {
  pointer-events: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] .select2-selection__arrow {
  display: none !important;
}

/* ==========================================================
 * v1.4.89 — País / Región: presentación estable sin tocar lógica CR
 * El valor visible se pinta por CSS; billing_country permanece nativo
 * en DOM con CR para conservar Provincia/Cantón-Distrito.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] {
  position: relative !important;
  height: 48px !important;
  min-height: 48px !important;
  overflow: hidden !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] > label {
  top: 8px !important;
  left: 14px !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  color: #707070 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"]::after {
  content: "Costa Rica";
  position: absolute !important;
  z-index: 7 !important;
  left: 14px !important;
  top: 21px !important;
  color: #1f1f1f !important;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 400 !important;
  pointer-events: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] .woocommerce-input-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] .select2-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field[data-kalele-country-fixed="1"] select {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* v1.4.92 — Dirección exacta en dos líneas, manteniendo floating label */
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field textarea#billing_address_1 {
  min-height: 68px !important;
  height: 68px !important;
  resize: vertical !important;
  overflow-y: auto !important;
  padding: 22px 14px 8px !important;
  line-height: 1.35 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field.kalele-floating-field > label {
  top: 14px !important;
  transform: none !important;
  font-size: 11px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field textarea::placeholder {
  opacity: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-floating-field:focus-within textarea {
  border-color: #1773c9 !important;
  box-shadow: 0 0 0 1px #1773c9 !important;
}


/* ==========================================================
 * v1.4.93 — Crear cuenta como enlace en Contacto
 * Conserva el control nativo de WooCommerce en DOM.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-contact__create {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #1773c9 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  white-space: nowrap !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields.kalele-account-native-hidden > p.create-account:first-child,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields.kalele-account-native-hidden > p.form-row.create-account:first-child {
  display: none !important;
}
/* Los campos de cuenta que WooCommerce muestre tras activar el checkbox siguen disponibles. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields.kalele-account-native-hidden {
  margin-top: 14px !important;
}

/* ==========================================================
 * v1.4.94 — Checkout: ocultar IVA opcional + dirección legible
 * Cambio exclusivamente visual; conserva los campos en DOM.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-hide-optional-vat {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field textarea#billing_address_1 {
  min-height: 76px !important;
  height: 76px !important;
  padding: 27px 14px 9px !important;
  font-size: 14px !important;
  line-height: 19px !important;
  font-weight: 400 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  resize: vertical !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field.kalele-floating-field > label {
  top: 8px !important;
  left: 14px !important;
  transform: none !important;
  font-size: 11px !important;
  line-height: 14px !important;
  font-weight: 400 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}


/* ==========================================================
 * v1.4.95 — Guardar información de entrega (opt-in local)
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-save-delivery {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 4px 0 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.35;
  color: #1f1f1f;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-save-delivery input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin: 0;
  border: 1px solid #d6d6d6;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  position: relative;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-save-delivery input[type="checkbox"]:checked {
  border-color: #222;
  background: #222;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-save-delivery input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-save-delivery label {
  margin: 0;
  cursor: pointer;
  font-weight: 400;
}

/* ==========================================================
 * v1.4.96 — Fix label visible del opt-in Guardar información
 * Neutraliza la regla histórica que oculta labels dentro del grid.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid .kalele-save-delivery label {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  border: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #1f1f1f !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
}


/* ==========================================================
 * v1.4.97 — Métodos de envío estilo La Confianza en columna izquierda
 * La UI es proxy; los radios nativos de WooCommerce permanecen en DOM
 * y siguen siendo la única fuente de verdad para cálculo/AJAX.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods {
  grid-column: 1 / -1;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods__title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #1f1f1f !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods__list {
  overflow: hidden !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 9px !important;
  background: #fff !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  background: #fff !important;
  color: #1f1f1f !important;
  text-align: left !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method:last-child {
  border-bottom: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method.is-selected {
  background: #f4f8fc !important;
  box-shadow: inset 0 0 0 1px #1773c9 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method__radio {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 50% !important;
  background: #fff !important;
  position: relative !important;
  pointer-events: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method.is-selected .kalele-shipping-method__radio {
  border-color: #1773c9 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method.is-selected .kalele-shipping-method__radio::after {
  content: "" !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: 50% !important;
  background: #1773c9 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: #1f1f1f !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method__label .amount {
  float: right !important;
  margin-left: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review tr.woocommerce-shipping-totals.shipping.kalele-shipping-native-proxied {
  display: none !important;
}
@media (max-width: 768px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods { margin-top: 20px !important; }
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method { padding: 12px !important; }
}

/* ==========================================================
 * v1.4.98 — Ajuste visual Métodos de envío estilo La Confianza
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review tr.woocommerce-shipping-totals.shipping {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods {
  margin-top: 22px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods__title {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-methods__list {
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method {
  min-height: 56px !important;
  padding: 12px 13px !important;
  gap: 10px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method__label {
  display: block !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method__label .amount {
  float: right !important;
  margin-left: 14px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-shipping-method.is-selected {
  background: #f2f7fd !important;
  box-shadow: inset 0 0 0 1px #1773c9 !important;
}

/* ==========================================================
 * v1.4.99 — Envío visible únicamente en Entrega (izquierda)
 * Mantiene el markup/radios nativos en #order_review para que WooCommerce
 * conserve cálculo y AJAX, pero los oculta visualmente en el resumen derecho.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr.shipping,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table ul#shipping_method {
  display: none !important;
  visibility: hidden !important;
}

/* ==========================================================
 * v1.5.00 — Resumen derecho del envío seleccionado
 * Estilo compacto tipo La Confianza; no contiene controles.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr.kalele-shipping-summary-row {
  display: table-row !important;
  visibility: visible !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr.kalele-shipping-summary-row th,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr.kalele-shipping-summary-row td {
  display: table-cell !important;
  visibility: visible !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  border: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr.kalele-shipping-summary-row td {
  text-align: right !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* ==========================================================
 * v1.5.01 — Pago estilo La Confianza, funcional vía proxy
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy {
  margin-top: 28px !important;
  width: 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__title {
  margin: 0 0 3px !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #111 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__secure {
  margin: 0 0 12px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #707070 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__list {
  overflow: hidden !important;
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
  background: #fff !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__method {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  gap: 10px !important;
  border: 0 !important;
  border-bottom: 1px solid #e6e6e6 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__method:last-child { border-bottom: 0 !important; }
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__method.is-selected {
  background: #eef6ff !important;
  box-shadow: inset 0 0 0 1px #1687df !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__radio {
  position: relative !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  border: 1px solid #c9c9c9 !important;
  border-radius: 50% !important;
  background: #fff !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__method.is-selected .kalele-payment-proxy__radio {
  border-color: #1687df !important;
  background: #1687df !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__method.is-selected .kalele-payment-proxy__radio::after {
  content: '' !important; position: absolute !important; inset: 4px !important; border-radius: 50% !important; background: #fff !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__label {
  flex: 1 1 auto !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__logos {
  display: inline-flex !important; align-items: center !important; gap: 5px !important; margin-left: auto !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__logos img {
  display: block !important; width: auto !important; height: 22px !important; max-width: 38px !important; object-fit: contain !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__sinpe {
  margin-left: auto !important; font-size: 12px !important; font-weight: 600 !important; color: #454545 !important; text-transform: none !important;
}
/* Los gateways nativos permanecen activos en DOM, pero la selección visible está a la izquierda. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods.kalele-payment-native-proxied {
  position: absolute !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important;
  clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important;
  white-space: nowrap !important; margin: -1px !important; padding: 0 !important; border: 0 !important;
}
/* Derecha: solo marcas, sin radios/textos duplicados. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kalele-payment-marks {
  display: flex !important; align-items: center !important; gap: 24px !important;
  margin: 22px 0 26px !important; padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kalele-payment-marks .kalele-payment-proxy__logos {
  display: contents !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kalele-payment-marks img {
  width: auto !important; height: 34px !important; max-width: 54px !important; object-fit: contain !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kalele-payment-marks__sinpe {
  display: inline-flex !important; align-items: center !important; min-height: 34px !important;
  font-size: 13px !important; font-style: italic !important; font-weight: 700 !important; color: #173d73 !important; white-space: nowrap !important;
}
@media (max-width: 921px) {
  body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy { margin-top: 22px !important; }
  body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kalele-payment-marks { gap: 14px !important; flex-wrap: wrap !important; }
}


/* ==========================================================
 * v1.5.02 — Pago con la misma geometría que Métodos de envío
 * Solo presentación del proxy; gateways nativos siguen siendo la fuente funcional.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__title {
  margin: 0 0 3px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__secure {
  margin: 0 0 10px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__list {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid #dedede !important;
  border-radius: 10px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) button.kalele-payment-proxy__method {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 12px 13px !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  white-space: normal !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__logos {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  gap: 6px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__logos img {
  height: 22px !important;
  max-width: 40px !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__sinpe {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  font-size: 12px !important;
}

/* ==========================================================
 * v1.5.03 — Pago: ancho idéntico a Métodos de envío
 * Ajuste exclusivamente geométrico. No altera gateways ni lógica de pago.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .kalele-shipping-methods + .kalele-payment-proxy,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout section.kalele-payment-proxy {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  align-self: stretch !important;
  flex: 0 0 100% !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout .kalele-payment-proxy__list {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
}

/* ==========================================================
 * v1.5.04 — Pago: ocupar las dos columnas del grid de Entrega
 * Causa v1.5.03: width:100% se calculaba dentro de una sola columna
 * del grid. Este ajuste replica el span real de Métodos de envío.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-delivery-grid > .kalele-payment-proxy {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}


/* ==========================================================
 * v1.5.05 — Recuperar información nativa del gateway seleccionado
 * El contenido sigue proviniendo del payment_box de WooCommerce.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__details {
  display: none;
  width: 100%;
  margin: 0 !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  border-top: 1px solid #dedede !important;
  background: #f7f7f7 !important;
  color: #444 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__details p {
  margin: 0 0 8px !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-payment-proxy__details p:last-child { margin-bottom: 0 !important; }


/* v1.5.06 — Comprobante SINPE integrado en el panel gris del método. */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-sinpe-upload {
  margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid #dedede !important;
  display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-sinpe-upload__title {
  width: 100% !important; font-size: 12px !important; font-weight: 600 !important; color: #222 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-sinpe-upload__button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-height: 34px !important; padding: 0 14px !important; border: 1px solid #d7d7d7 !important; border-radius: 6px !important;
  background: #fff !important; color: #222 !important; font-size: 11px !important; font-weight: 600 !important; cursor: pointer !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-sinpe-upload__status { font-size: 11px !important; color: #666 !important; }
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-sinpe-upload.is-ready .kalele-sinpe-upload__status { color: #1f6f43 !important; font-weight: 600 !important; }


/* v1.5.07 — Selector real de archivo para comprobante SINPE. */
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-sinpe-upload__input {
  position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; overflow: hidden !important; pointer-events: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) button.kalele-sinpe-upload__button {
  display: inline-flex !important; width: auto !important; min-width: 132px !important; margin: 0 !important; text-transform: none !important; letter-spacing: 0 !important;
}

/* ==========================================================
 * v1.5.09 — Un único botón Finalizar pedido debajo de Pago
 * El botón nativo queda oculto en #payment y el CTA visual
 * dispara ese mismo botón, preservando toda la lógica Woo.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-place-order-cta {
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  grid-column: 1 / -1 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-place-order-cta__button {
  display: block !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  border: 1px solid #6f1d1b !important;
  border-radius: 7px !important;
  background: #6f1d1b !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-place-order-cta__button:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-place-order-cta__button:focus {
  background: #64180f !important;
  border-color: #64180f !important;
  color: #fff !important;
}


/* ==========================================================
 * v1.5.10 — Validación checkout estilo La Confianza
 * Los errores se muestran junto al campo; el bloque global no
 * ocupa la columna del resumen. No cambia reglas de validación.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-notices-wrapper > .woocommerce-error {
  display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-field-error input,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-field-error textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-field-error select,
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-field-error .select2-selection--single {
  border-color: #e22120 !important;
  box-shadow: 0 0 0 1px #e22120 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .kalele-checkout-field-error {
  display: block !important;
  width: 100% !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: #e22120 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}


/* ==========================================================
 * v1.5.11 — Cierre checkout / errores limpios + resumen arriba
 * Oculta únicamente los mensajes nativos duplicados junto a
 * campos; conserva el mensaje Kalele rojo y la validación Woo.
 * En desktop alinea el resumen desde el inicio de la columna.
 * ========================================================== */
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row > .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row > .woocommerce-error-message,
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row .woocommerce-error:not(.kalele-checkout-field-error),
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row .woocommerce-error-message:not(.kalele-checkout-field-error) {
  display: none !important;
}

@media (min-width: 922px) {
  body.woocommerce-checkout:not(.fc-checkout-page):not(.woocommerce-order-received) form.checkout.woocommerce-checkout {
    grid-template-areas: "customer review" !important;
    grid-template-rows: auto !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
    display: none !important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order {
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
