/*
 * Triwuu - WooCommerce order flow
 * Estilos limpios para carrito, checkout y pedido recibido.
 * Mantiene la base del tema y solo ajusta la presentación de WooCommerce.
 */
:root{
  --triwuu-green:#006b37;
  --triwuu-green-dark:#004b28;
  --triwuu-green-soft:#effaf4;
  --triwuu-ink:#1f2522;
  --triwuu-muted:#65706a;
  --triwuu-line:#dfe7e2;
  --triwuu-card:#ffffff;
  --triwuu-radius:10px;
  --triwuu-shadow:0 12px 30px rgba(0,0,0,.055);
}

/* Base común: no desplazar títulos ni contenedores */
body.woocommerce-cart article.container-site,
body.woocommerce-checkout article.container-site,
body.woocommerce-order-received article.container-site{
  width:min(100% - 32px,1120px)!important;
  max-width:1120px!important;
  margin-inline:auto!important;
  padding-top:30px!important;
  padding-bottom:56px!important;
}

body.woocommerce-cart article.container-site > header,
body.woocommerce-checkout article.container-site > header,
body.woocommerce-order-received article.container-site > header{
  max-width:none!important;
  margin:0 0 22px!important;
}

body.woocommerce-cart h1,
body.woocommerce-checkout h1,
body.woocommerce-order-received h1{
  margin:0!important;
  padding:0!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  color:var(--triwuu-ink)!important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-order-received .entry-content{
  max-width:none!important;
  margin:0!important;
  width:100%!important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Avisos y cupón */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  margin:0 0 20px!important;
  padding:13px 18px 13px 46px!important;
  border:1px solid rgba(0,107,55,.22)!important;
  border-left:4px solid var(--triwuu-green)!important;
  border-radius:var(--triwuu-radius)!important;
  background:#fff!important;
  color:var(--triwuu-ink)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.035)!important;
  line-height:1.35!important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{
  left:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:var(--triwuu-green)!important;
}

/* Checkout clásico en dos columnas: izquierda datos, derecha pedido/recogida/pago */
body.woocommerce-checkout form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 390px!important;
  gap:28px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review{
  min-width:0!important;
  background:var(--triwuu-card)!important;
  border:1px solid var(--triwuu-line)!important;
  border-radius:var(--triwuu-radius)!important;
  box-shadow:var(--triwuu-shadow)!important;
}

body.woocommerce-checkout #customer_details{
  padding:24px!important;
}

body.woocommerce-checkout #order_review{
  padding:0!important;
  overflow:hidden!important;
}

body.woocommerce-checkout #order_review_heading{
  grid-column:2!important;
  margin:0 0 10px!important;
  padding:0!important;
  font-size:22px!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  color:var(--triwuu-ink)!important;
}

body.woocommerce-checkout #customer_details .col2-set,
body.woocommerce-checkout .col2-set{
  display:block!important;
  width:100%!important;
}
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2{
  float:none!important;
  width:100%!important;
  margin:0!important;
}
body.woocommerce-checkout .col2-set .col-2{
  margin-top:24px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(0,65,35,.1)!important;
}

body.woocommerce-checkout h3,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3{
  margin:0 0 18px!important;
  font-size:22px!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
  color:var(--triwuu-ink)!important;
}

/* Formularios */
body.woocommerce-checkout .form-row{
  margin:0 0 16px!important;
  padding:0!important;
}
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last{
  width:calc(50% - 8px)!important;
}
body.woocommerce-checkout .form-row-first{float:left!important;clear:left!important;}
body.woocommerce-checkout .form-row-last{float:right!important;clear:none!important;}
body.woocommerce-checkout .form-row-wide{clear:both!important;width:100%!important;}

body.woocommerce-checkout label{
  display:block!important;
  margin:0 0 7px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:var(--triwuu-ink)!important;
}
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%!important;
  min-height:44px!important;
  height:auto!important;
  border:1px solid #cfdad4!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--triwuu-ink)!important;
  padding:10px 12px!important;
  font-size:14px!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
body.woocommerce-checkout textarea{min-height:104px!important;resize:vertical!important;}
body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus{
  outline:none!important;
  border-color:var(--triwuu-green)!important;
  box-shadow:0 0 0 3px rgba(0,107,55,.12)!important;
}
body.woocommerce-checkout .select2-container .select2-selection__rendered{
  padding-left:0!important;
  line-height:22px!important;
}

/* Tabla resumen */
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-order-received .woocommerce-table,
body.woocommerce-order-received .shop_table{
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  background:#fff!important;
  table-layout:fixed!important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-order-received .woocommerce-table th,
body.woocommerce-order-received .woocommerce-table td,
body.woocommerce-order-received .shop_table th,
body.woocommerce-order-received .shop_table td{
  padding:13px 16px!important;
  border:0!important;
  border-bottom:1px solid var(--triwuu-line)!important;
  vertical-align:middle!important;
  font-size:14px!important;
  line-height:1.35!important;
  word-break:normal!important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
body.woocommerce-order-received .woocommerce-table thead th,
body.woocommerce-order-received .shop_table thead th{
  background:#f7faf8!important;
  color:var(--triwuu-muted)!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th:first-child,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:first-child{width:62%!important;}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child{text-align:right!important;}
body.woocommerce-checkout .cart-subtotal th,
body.woocommerce-checkout .cart-subtotal td,
body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td{
  font-weight:900!important;
}

/* Recogida en tienda: integrada dentro de la columna derecha sin romper el layout */
body.woocommerce-checkout .triwuu-pickup-checkout,
body.woocommerce-checkout .tpr-pickup-checkout{
  margin:18px!important;
  padding:18px!important;
  border:1px solid rgba(0,107,55,.18)!important;
  border-radius:var(--triwuu-radius)!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .triwuu-pickup-badge,
body.woocommerce-checkout .tpr-pickup-badge{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin:0 0 10px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:var(--triwuu-green-soft)!important;
  color:var(--triwuu-green-dark)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.woocommerce-checkout .triwuu-pickup-checkout h3,
body.woocommerce-checkout .tpr-pickup-checkout h3{
  margin:0 0 8px!important;
  font-size:20px!important;
  line-height:1.15!important;
}
body.woocommerce-checkout .triwuu-pickup-checkout p,
body.woocommerce-checkout .tpr-pickup-checkout p{
  margin:0 0 14px!important;
  color:var(--triwuu-muted)!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body.woocommerce-checkout .triwuu-pickup-checkout .form-row,
body.woocommerce-checkout .tpr-pickup-checkout .form-row{
  float:none!important;
  clear:both!important;
  width:100%!important;
  margin-bottom:14px!important;
}
body.woocommerce-checkout .triwuu-pickup-checkout select,
body.woocommerce-checkout .tpr-pickup-checkout select{
  min-height:42px!important;
  font-size:13px!important;
}

/* Pagos y botón */
body.woocommerce-checkout .woocommerce-checkout-payment{
  margin:0!important;
  padding:18px!important;
  background:#f4f1f7!important;
  border:0!important;
  border-radius:0!important;
}
body.woocommerce-checkout .wc_payment_methods{
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
}
body.woocommerce-checkout .wc_payment_method{
  margin:0 0 10px!important;
  padding:14px!important;
  border:1px solid rgba(31,37,34,.1)!important;
  border-radius:10px!important;
  background:#fff!important;
}
body.woocommerce-checkout .payment_box{
  margin:12px 0 0!important;
  padding:12px!important;
  border-radius:8px!important;
  background:#f8faf8!important;
  color:var(--triwuu-muted)!important;
}
body.woocommerce-checkout .place-order{
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button.button,
body.woocommerce-checkout a.button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--triwuu-green-dark)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(0,75,40,.18)!important;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button.button:hover,
body.woocommerce-checkout a.button:hover{
  background:#003d21!important;
  color:#fff!important;
}

/* Carrito en bloques: respetar WooCommerce Blocks, solo mejorar presentación y CTA */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-cart__main{
  padding-right:28px!important;
}
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar{
  border:1px solid var(--triwuu-line)!important;
  border-radius:var(--triwuu-radius)!important;
  background:#fff!important;
  padding:18px!important;
  box-shadow:var(--triwuu-shadow)!important;
}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart a.wc-block-cart__submit-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:9px!important;
  background:var(--triwuu-green-dark)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(0,75,40,.18)!important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover{
  background:#003d21!important;
  color:#fff!important;
}

/* Pedido recibido */
body.woocommerce-order-received .woocommerce-order-overview{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 0 26px!important;
  padding:0!important;
  border:1px solid var(--triwuu-line)!important;
  border-radius:var(--triwuu-radius)!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:var(--triwuu-shadow)!important;
}
body.woocommerce-order-received .woocommerce-order-overview li{
  min-width:0!important;
  margin:0!important;
  padding:18px!important;
  border:0!important;
  border-right:1px solid var(--triwuu-line)!important;
  list-style:none!important;
  font-size:12px!important;
  color:var(--triwuu-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-weight:900!important;
}
body.woocommerce-order-received .woocommerce-order-overview li:last-child{border-right:0!important;}
body.woocommerce-order-received .woocommerce-order-overview strong{
  display:block!important;
  margin-top:6px!important;
  color:var(--triwuu-ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  word-break:break-word!important;
}
body.woocommerce-order-received section.woocommerce-order-details,
body.woocommerce-order-received section.woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-order > p.woocommerce-notice{
  margin-bottom:26px!important;
  padding:22px!important;
  border:1px solid var(--triwuu-line)!important;
  border-radius:var(--triwuu-radius)!important;
  background:#fff!important;
  box-shadow:var(--triwuu-shadow)!important;
}
body.woocommerce-order-received .woocommerce-order > p.woocommerce-notice{
  background:var(--triwuu-green-soft)!important;
  border-color:rgba(0,107,55,.22)!important;
  color:var(--triwuu-green-dark)!important;
  font-weight:900!important;
}

@media (max-width:980px){
  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-checkout #order_review_heading{
    grid-column:auto!important;
    margin-top:4px!important;
  }
  body.woocommerce-cart .wc-block-components-main,
  body.woocommerce-cart .wc-block-cart__main{
    padding-right:0!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:640px){
  body.woocommerce-cart article.container-site,
  body.woocommerce-checkout article.container-site,
  body.woocommerce-order-received article.container-site{
    width:min(100% - 22px,1120px)!important;
    padding-top:24px!important;
  }
  body.woocommerce-checkout #customer_details{
    padding:18px!important;
  }
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last{
    float:none!important;
    width:100%!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li{
    border-right:0!important;
    border-bottom:1px solid var(--triwuu-line)!important;
  }
}

/* ======================================================================
   V4 - Checkout profesional: respeta la base del tema y corrige el layout
   ====================================================================== */
body.woocommerce-checkout article.container-site,
body.woocommerce-cart article.container-site,
body.woocommerce-order-received article.container-site{
  width:min(100% - 40px,1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.woocommerce-checkout article.container-site > header,
body.woocommerce-cart article.container-site > header,
body.woocommerce-order-received article.container-site > header{
  margin:0 0 24px!important;
}

body.woocommerce-checkout h1,
body.woocommerce-cart h1,
body.woocommerce-order-received h1{
  font-size:clamp(34px,3.1vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-info{
  max-width:100%!important;
  margin:0 0 20px!important;
  padding:14px 18px 14px 48px!important;
  display:block!important;
  white-space:normal!important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info:before,
body.woocommerce-checkout .woocommerce-info:before{
  left:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}

/* La estructura real del checkout clásico es: customer_details + heading + order_review.
   Fijamos explícitamente cada zona para que no salte debajo ni se descuadre. */
body.woocommerce-checkout form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 430px)!important;
  column-gap:28px!important;
  row-gap:10px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.woocommerce-checkout #customer_details{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  clear:none!important;
  float:none!important;
  padding:24px!important;
}
body.woocommerce-checkout #order_review_heading{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  width:100%!important;
  margin:0 0 8px!important;
  padding:0!important;
  clear:none!important;
  float:none!important;
  font-size:22px!important;
  line-height:1.15!important;
}
body.woocommerce-checkout #order_review{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  clear:none!important;
  float:none!important;
  display:block!important;
  padding:0!important;
  background:#fff!important;
}

/* Datos de facturación: dos columnas solo donde aporta claridad. */
body.woocommerce-checkout #customer_details h3{
  text-align:left!important;
  margin-bottom:18px!important;
}
body.woocommerce-checkout #customer_details .form-row-first,
body.woocommerce-checkout #customer_details .form-row-last{
  width:calc(50% - 9px)!important;
  max-width:none!important;
}
body.woocommerce-checkout #customer_details .form-row-wide{
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-checkout #customer_details input.input-text,
body.woocommerce-checkout #customer_details select,
body.woocommerce-checkout #customer_details textarea,
body.woocommerce-checkout #customer_details .select2-container{
  max-width:100%!important;
}

/* Resumen de pedido siempre visible y legible */
body.woocommerce-checkout #order_review table.shop_table,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table{
  display:table!important;
  width:100%!important;
  table-layout:auto!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid var(--triwuu-line)!important;
}
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td{
  padding:13px 16px!important;
  font-size:13px!important;
  line-height:1.35!important;
  vertical-align:top!important;
}
body.woocommerce-checkout #order_review table.shop_table th:first-child,
body.woocommerce-checkout #order_review table.shop_table td:first-child{
  width:auto!important;
  text-align:left!important;
}
body.woocommerce-checkout #order_review table.shop_table th:last-child,
body.woocommerce-checkout #order_review table.shop_table td:last-child{
  width:36%!important;
  text-align:right!important;
  white-space:normal!important;
}
body.woocommerce-checkout #order_review .product-name{
  word-break:normal!important;
}

/* Recogida: que destaque como paso de elección, no como una tabla rara */
body.woocommerce-checkout #order_review .triwuu-pickup-checkout,
body.woocommerce-checkout #order_review .tpr-pickup-checkout{
  margin:16px!important;
  padding:18px!important;
  text-align:left!important;
  border:1px solid rgba(0,107,55,.20)!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfffd 100%)!important;
  border-radius:12px!important;
}
body.woocommerce-checkout #order_review .triwuu-pickup-checkout h3,
body.woocommerce-checkout #order_review .tpr-pickup-checkout h3{
  text-align:left!important;
  font-size:20px!important;
  margin:0 0 8px!important;
}
body.woocommerce-checkout #order_review .triwuu-pickup-checkout p,
body.woocommerce-checkout #order_review .tpr-pickup-checkout p{
  text-align:left!important;
  max-width:none!important;
}
body.woocommerce-checkout #order_review .triwuu-pickup-checkout .form-row,
body.woocommerce-checkout #order_review .tpr-pickup-checkout .form-row{
  width:100%!important;
  float:none!important;
  clear:both!important;
}
body.woocommerce-checkout #order_review .triwuu-pickup-checkout select,
body.woocommerce-checkout #order_review .tpr-pickup-checkout select,
body.woocommerce-checkout #order_review .triwuu-pickup-checkout input,
body.woocommerce-checkout #order_review .tpr-pickup-checkout input{
  width:100%!important;
  max-width:100%!important;
}

/* Pagos: caja clara debajo del resumen */
body.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  margin:0!important;
  padding:18px!important;
  border-top:0!important;
  background:#f6f3f8!important;
}
body.woocommerce-checkout #order_review .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout #order_review .woocommerce-privacy-policy-text{
  color:#3f4944!important;
  font-size:13px!important;
  line-height:1.55!important;
  margin:0 0 16px!important;
}
body.woocommerce-checkout #place_order{
  width:100%!important;
  min-height:50px!important;
  border-radius:10px!important;
  background:#004b28!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Carrito Blocks: CTA verde con el mismo estilo del checkout */
body.woocommerce-cart .wc-block-cart__submit-container a,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart a.wc-block-components-button,
body.woocommerce-cart .wc-block-components-button:not(.is-link){
  background:#004b28!important;
  color:#fff!important;
  border-radius:10px!important;
  min-height:50px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(0,75,40,.18)!important;
}
body.woocommerce-cart .wc-block-cart__submit-container a span,
body.woocommerce-cart .wc-block-cart__submit-button span,
body.woocommerce-cart a.wc-block-components-button span{
  color:#fff!important;
}

@media (max-width:1100px){
  body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

@media (max-width:700px){
  body.woocommerce-checkout article.container-site,
  body.woocommerce-cart article.container-site,
  body.woocommerce-order-received article.container-site{
    width:min(100% - 24px,1180px)!important;
  }
  body.woocommerce-checkout #customer_details{
    padding:18px!important;
  }
  body.woocommerce-checkout #customer_details .form-row-first,
  body.woocommerce-checkout #customer_details .form-row-last{
    width:100%!important;
    float:none!important;
    clear:both!important;
  }
}

/* Carrito Blocks: destacar exclusivamente la insignia de ahorro.
 * El contenedor padre incluye "sale-badge" en el nombre de su clase, por lo que
 * no debe recibir el fondo corporativo: el precio total ha de permanecer normal.
 */
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper >
.wc-block-components-product-badge.wc-block-components-sale-badge,
body.woocommerce-cart .wc-block-cart-item__total
.wc-block-components-product-badge.wc-block-components-sale-badge.triwuu-cart-saving-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin:5px 0 0 auto!important;
  padding:4px 8px!important;
  border:1px solid var(--triwuu-green)!important;
  border-radius:5px!important;
  background-color:var(--triwuu-green)!important;
  background-image:none!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-align:center!important;
  box-shadow:none!important;
  opacity:1!important;
}

body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper >
.wc-block-components-product-badge.wc-block-components-sale-badge *,
body.woocommerce-cart .wc-block-cart-item__total
.wc-block-components-product-badge.wc-block-components-sale-badge.triwuu-cart-saving-badge *{
  background:transparent!important;
  color:#fff!important;
  opacity:1!important;
}

/* Mantiene una separación visual entre «Ahorra» y el importe. WooCommerce
 * renderiza el texto y la cantidad como nodos flex distintos, por lo que el
 * espacio escrito en el HTML puede desaparecer en el carrito por bloques. */
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper >
.wc-block-components-product-badge.wc-block-components-sale-badge >
.wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-item__total
.wc-block-components-product-badge.wc-block-components-sale-badge.triwuu-cart-saving-badge >
.wc-block-formatted-money-amount{
  margin-inline-start:4px!important;
}

/* Triwuu v1.0.129 — métodos de pago: radio, nombre y logotipo en una sola fila.
 * Se utiliza grid en lugar de flex para impedir que reglas de WooCommerce o
 * de las pasarelas asignen al label una fila completa. La caja descriptiva
 * permanece debajo y ocupa todo el ancho del método.
 */
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method,
body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
    "triwuu-payment-radio triwuu-payment-label"
    "triwuu-payment-box triwuu-payment-box"!important;
  align-items:center!important;
  column-gap:10px!important;
  row-gap:0!important;
}

body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type="radio"],
body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type="radio"],
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > input[type="radio"]{
  grid-area:triwuu-payment-radio!important;
  align-self:center!important;
  justify-self:start!important;
  display:block!important;
  position:static!important;
  inset:auto!important;
  float:none!important;
  clear:none!important;
  flex:none!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  vertical-align:middle!important;
  accent-color:var(--triwuu-green)!important;
}

body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label,
body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > label,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > label{
  grid-area:triwuu-payment-label!important;
  align-self:center!important;
  justify-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px 8px!important;
  float:none!important;
  clear:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1.35!important;
  cursor:pointer!important;
}

body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img,
body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > label img,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > label img{
  display:inline-block!important;
  flex:0 1 auto!important;
  width:auto!important;
  max-width:min(150px,55%)!important;
  max-height:34px!important;
  margin:0!important;
  vertical-align:middle!important;
  object-fit:contain!important;
}

body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box,
body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > .payment_box,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > .payment_box{
  grid-area:triwuu-payment-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:12px 0 0!important;
}

body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:focus-visible,
body.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:focus-visible,
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:focus-visible,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:focus-visible{
  outline:2px solid var(--triwuu-green)!important;
  outline-offset:3px!important;
}

/* ======================================================================
   Triwuu v1.0.140 · Página de gracias
   Jerarquía más clara, resumen compacto y contenido en dos columnas.
   ====================================================================== */
body.woocommerce-order-received .woocommerce-order{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr)!important;
  gap:24px!important;
  align-items:start!important;
  width:100%!important;
}

/* Confirmación principal: evita el icono gigante y el exceso de altura. */
body.woocommerce-order-received .woocommerce-order >
.woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order >
p.woocommerce-notice.woocommerce-notice--success{
  grid-column:1 / -1!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:92px!important;
  margin:0!important;
  padding:22px 24px 22px 88px!important;
  overflow:hidden!important;
  border:1px solid rgba(0,107,55,.2)!important;
  border-left:5px solid var(--triwuu-green)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#fff 0%,var(--triwuu-green-soft) 100%)!important;
  color:var(--triwuu-green-dark)!important;
  font-size:clamp(22px,2.5vw,31px)!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  box-shadow:0 14px 32px rgba(0,75,40,.08)!important;
}
body.woocommerce-order-received .woocommerce-order >
.woocommerce-thankyou-order-received::before,
body.woocommerce-order-received .woocommerce-order >
p.woocommerce-notice.woocommerce-notice--success::before{
  content:"✓"!important;
  position:absolute!important;
  top:50%!important;
  left:24px!important;
  display:grid!important;
  width:46px!important;
  height:46px!important;
  place-items:center!important;
  transform:translateY(-50%)!important;
  border-radius:50%!important;
  background:var(--triwuu-green-dark)!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:27px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(0,75,40,.2)!important;
}

/* Datos rápidos del pedido. */
body.woocommerce-order-received .woocommerce-order-overview{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(115deg,var(--triwuu-green-dark) 0%,var(--triwuu-green) 100%)!important;
  box-shadow:0 16px 34px rgba(0,75,40,.14)!important;
}
body.woocommerce-order-received .woocommerce-order-overview li{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:106px!important;
  margin:0!important;
  padding:21px 20px!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.2)!important;
  background:transparent!important;
  color:rgba(255,255,255,.76)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  line-height:1.3!important;
  list-style:none!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
body.woocommerce-order-received .woocommerce-order-overview li:last-child{
  border-right:0!important;
}
body.woocommerce-order-received .woocommerce-order-overview strong{
  display:block!important;
  margin-top:8px!important;
  color:#fff!important;
  font-size:clamp(17px,1.8vw,21px)!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
  line-height:1.2!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}

/* La tarjeta del plugin ocupa el ancho completo antes del detalle. */
body.woocommerce-order-received .tpr-thankyou-pickup{
  grid-column:1 / -1!important;
  margin:0!important;
}

/* Detalle del pedido y dirección: dos tarjetas equilibradas. */
body.woocommerce-order-received section.woocommerce-order-details{
  grid-column:1!important;
  min-width:0!important;
  margin:0!important;
  padding:24px!important;
  overflow:hidden!important;
  border:1px solid var(--triwuu-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:var(--triwuu-shadow)!important;
}
body.woocommerce-order-received section.woocommerce-customer-details{
  grid-column:2!important;
  min-width:0!important;
  margin:0!important;
  padding:24px!important;
  border:1px solid var(--triwuu-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:var(--triwuu-shadow)!important;
}
body.woocommerce-order-received section.woocommerce-order-details > h2,
body.woocommerce-order-received section.woocommerce-customer-details > h2,
body.woocommerce-order-received .woocommerce-column__title{
  position:relative!important;
  margin:0 0 20px!important;
  padding:0 0 13px!important;
  color:var(--triwuu-ink)!important;
  font-size:clamp(22px,2.2vw,28px)!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
}
body.woocommerce-order-received section.woocommerce-order-details > h2::after,
body.woocommerce-order-received section.woocommerce-customer-details > h2::after,
body.woocommerce-order-received .woocommerce-column__title::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:54px;
  height:4px;
  border-radius:999px;
  background:var(--triwuu-green);
}
body.woocommerce-order-received section.woocommerce-order-details .shop_table{
  border:1px solid var(--triwuu-line)!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
body.woocommerce-order-received section.woocommerce-customer-details
.woocommerce-columns--addresses{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  width:100%!important;
}
body.woocommerce-order-received section.woocommerce-customer-details
.woocommerce-column{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-order-received section.woocommerce-customer-details address{
  margin:0!important;
  padding:18px!important;
  border:1px solid var(--triwuu-line)!important;
  border-radius:10px!important;
  background:#f8fbf9!important;
  color:var(--triwuu-ink)!important;
  font-size:14px!important;
  font-style:normal!important;
  line-height:1.65!important;
}
body.woocommerce-order-received section.woocommerce-customer-details address p{
  margin:10px 0 0!important;
}
body.woocommerce-order-received section.woocommerce-customer-details a{
  color:var(--triwuu-green-dark)!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

@media (max-width:920px){
  body.woocommerce-order-received .woocommerce-order{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li:nth-child(even){
    border-right:0!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li:last-child:nth-child(odd){
    grid-column:1 / -1!important;
    border-right:0!important;
  }
  body.woocommerce-order-received section.woocommerce-order-details,
  body.woocommerce-order-received section.woocommerce-customer-details{
    grid-column:1!important;
  }
}
@media (max-width:680px){
  body.woocommerce-order-received .woocommerce-order{
    gap:18px!important;
  }
  body.woocommerce-order-received .woocommerce-order >
  .woocommerce-thankyou-order-received,
  body.woocommerce-order-received .woocommerce-order >
  p.woocommerce-notice.woocommerce-notice--success{
    min-height:82px!important;
    padding:18px 17px 18px 72px!important;
    border-radius:12px!important;
    font-size:21px!important;
  }
  body.woocommerce-order-received .woocommerce-order >
  .woocommerce-thankyou-order-received::before,
  body.woocommerce-order-received .woocommerce-order >
  p.woocommerce-notice.woocommerce-notice--success::before{
    left:17px!important;
    width:40px!important;
    height:40px!important;
    font-size:23px!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview{
    grid-template-columns:1fr 1fr!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li{
    min-height:94px!important;
    padding:17px!important;
    border-right:1px solid rgba(255,255,255,.2)!important;
    border-bottom:1px solid rgba(255,255,255,.2)!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li:nth-child(even),
  body.woocommerce-order-received .woocommerce-order-overview li:last-child:nth-child(odd){
    border-right:0!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li:last-child{
    border-bottom:0!important;
  }
  body.woocommerce-order-received section.woocommerce-order-details,
  body.woocommerce-order-received section.woocommerce-customer-details{
    padding:18px!important;
    border-radius:12px!important;
  }
}
@media (max-width:430px){
  body.woocommerce-order-received .woocommerce-order-overview{
    grid-template-columns:1fr!important;
  }
  body.woocommerce-order-received .woocommerce-order-overview li{
    min-height:auto!important;
    border-right:0!important;
  }
}
