/* ══════════════════════════════════════════════════════════════
   MUDMUNE · la tienda con WooCommerce
   Todo con los tokens del prototipo v7: la bolsa lateral es hermana
   de la ficha, y bolsa, compra, confirmación y cuenta viven en la
   misma pantalla de sección, con el arte de la Tienda detrás.
   Las hojas de WooCommerce no se cargan: todo se dibuja aquí.
   ══════════════════════════════════════════════════════════════ */

/* ── la insignia de la bolsa late al cambiar ─────────────────── */
.badge.late{animation:late .5s var(--ease);}
@keyframes late{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}

/* ══ LA BOLSA ═════════════════════════════════════════════════ */
.bolsa-velo{position:fixed;inset:0;z-index:96;background:rgba(6,7,20,.7);opacity:0;pointer-events:none;transition:opacity .4s;}
.bolsa-velo.on{opacity:1;pointer-events:auto;}
.bolsa{
  position:fixed;inset:0 0 0 auto;width:min(27rem,100vw);z-index:97;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--surface2) 0%,var(--surface) 28%);
  border-left:1px solid var(--line);
  transform:translateX(101%);transition:transform .48s var(--ease);
}
.bolsa.on{transform:none;box-shadow:-1rem 0 4rem rgba(0,0,0,.6);}
.bolsa::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0);transform-origin:left;
}
.bolsa.carga::after{animation:cargando 1s var(--ease) infinite;}
@keyframes cargando{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}51%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
.bl-cab{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1.5rem clamp(1.1rem,4vw,1.7rem) 1rem;border-bottom:1px solid var(--line);
}
.bl-cab h2{font-size:1.55rem;margin-top:.2rem;text-transform:none;letter-spacing:.01em;}
.bl-cab .eyebrow{color:var(--gold);}
.bl-avisos:empty{display:none;}
.bl-avisos{padding:.8rem clamp(1.1rem,4vw,1.7rem) 0;}
.bl-error{
  font-size:.82rem;color:#FFD7D7;background:rgba(214,69,80,.14);border:1px solid rgba(214,69,80,.4);
  border-radius:.6rem;padding:.6rem .8rem;
}
.bl-lista{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.6rem clamp(1.1rem,4vw,1.7rem);scrollbar-width:thin;}
.bolsa.carga .bl-lista,.bolsa.carga .bl-pie{opacity:.55;pointer-events:none;transition:opacity .2s;}
.bl-i{
  display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;align-items:center;
  padding:.95rem 0;border-bottom:1px solid var(--line);animation:fadein .35s var(--ease);
}
.bl-i:last-child{border-bottom:0;}
.bl-t{
  width:5rem;aspect-ratio:1;border-radius:.7rem;background-size:cover;background-position:50%;
  background-color:var(--surface2);box-shadow:0 .6rem 1.4rem rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.08);
  transition:transform .3s var(--ease);
}
.bl-t:hover{transform:translateY(-2px) scale(1.03);}
.bl-tx{display:grid;gap:.2rem;min-width:0;}
.bl-tx b{font-size:.98rem;line-height:1.2;}
.bl-tx em{font-style:normal;font-size:.74rem;color:var(--ink-3);}
.bl-fila{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.45rem;}
.bl-cant{
  display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:2rem;
  background:rgba(12,14,36,.45);
}
.bl-cant button{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;color:var(--ink-2);font-size:1rem;transition:.2s;}
.bl-cant button:hover:not(:disabled){color:var(--ink);background:rgba(244,243,251,.08);}
.bl-cant button:disabled{opacity:.3;cursor:default;}
.bl-cant button[data-quita]:hover{color:#FF9AA2;}
.bl-cant svg{width:.9rem;height:.9rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.bl-cant span{min-width:1.6rem;text-align:center;font-weight:700;font-size:.86rem;font-variant-numeric:tabular-nums;}
.bl-linea{font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums;}
.bl-vacia{display:grid;justify-items:center;text-align:center;gap:1rem;padding:3.5rem 1rem;color:var(--ink-2);}
.bl-vacia .estr{width:1.8rem;height:1.8rem;opacity:.8;}
.bl-vacia p{font-size:.92rem;line-height:1.6;}
.bl-pie{
  padding:1.1rem clamp(1.1rem,4vw,1.7rem) 1.4rem;border-top:1px solid var(--line);
  display:grid;gap:.7rem;background:rgba(12,14,36,.55);backdrop-filter:blur(12px);
}
.bl-pie:empty{display:none;}
.bl-sub{display:flex;justify-content:space-between;align-items:baseline;}
.bl-sub span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.bl-sub b{font-size:1.4rem;font-variant-numeric:tabular-nums;}
.bl-nota{font-size:.78rem;color:var(--ink-3);}
.bl-comprar{justify-content:center;padding:.95rem 1.5rem;}
.bl-seguir{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:.4rem;transition:color .25s;}
.bl-seguir:hover{color:var(--ink);}

/* ══ EL AVISO FLOTANTE ════════════════════════════════════════ */
.aviso-flot{
  position:fixed;left:50%;bottom:1.6rem;z-index:120;transform:translate(-50%,1.2rem);opacity:0;pointer-events:none;
  display:inline-flex;align-items:center;gap:.55rem;max-width:calc(100vw - 2rem);
  padding:.75rem 1.2rem;border-radius:2rem;font-size:.84rem;font-weight:600;
  background:rgba(12,14,36,.94);backdrop-filter:blur(16px);border:1px solid rgba(227,178,60,.55);
  box-shadow:0 1rem 2.6rem rgba(0,0,0,.55);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.aviso-flot.on{opacity:1;transform:translate(-50%,0);}
body.player-on .aviso-flot{bottom:7.4rem;}

.btn:disabled,.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none;}

/* ══ BOLSA · COMPRA · CUENTA (la pantalla) ═══════════════════ */
.pantalla.comercio{display:block;padding:0;}
.pantalla.comercio::before{
  background:
    radial-gradient(120% 90% at 50% 30%,rgba(12,14,36,.8) 0%,rgba(12,14,36,.93) 55%,rgba(12,14,36,.99) 100%),
    linear-gradient(180deg,rgba(12,14,36,.9),var(--ground));
}
.com-scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.com-in{max-width:68rem;margin-inline:auto;padding:calc(var(--head-h) + 2.2rem) var(--pad) 4rem;display:grid;gap:clamp(1.4rem,3vw,2.2rem);}
.com-cab{display:grid;gap:.55rem;justify-items:start;}
.com-cab .dest-t{max-width:none;}
.com-pasos{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-top:.6rem;}
.com-pasos li{
  display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .95rem .4rem .45rem;border-radius:2rem;
  border:1px solid var(--line);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
}
.com-pasos i{
  width:1.45rem;height:1.45rem;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.7rem;
  border:1px solid var(--line);
}
.com-pasos li.act{color:var(--ink);border-color:rgba(227,178,60,.6);background:rgba(227,178,60,.08);}
.com-pasos li.act i{background:var(--gold);color:#1a1405;border-color:var(--gold);}
.com-pasos li.hecho{color:var(--ink-2);}
.com-pasos li.hecho i{background:rgba(244,243,251,.12);color:var(--ink);}
.com-seguir{display:flex;justify-content:flex-start;}

/* ── base de todo lo que pinta WooCommerce ── */
.com-tx{color:var(--ink-2);font-size:.95rem;}
.com-tx a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(227,178,60,.6);text-underline-offset:.2em;transition:color .2s;}
.com-tx a:hover{color:var(--gold);}
.com-tx h2,.com-tx h3{color:var(--ink);font-size:.8rem;letter-spacing:.12em;margin:0 0 1rem;}
.com-tx p{line-height:1.6;}
.com-tx p + p{margin-top:.6rem;}
.com-tx .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.com-tx .clear{clear:both;}
.com-tx mark{background:none;color:var(--gold);font-weight:700;}
.com-tx small{color:var(--ink-3);}
.com-tx strong{color:var(--ink);}
.com-tx .amount{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;}
.com-tx del .amount{color:var(--ink-3);font-weight:400;}
.com-tx ins{text-decoration:none;}

/* tarjetas: la superficie del sitio */
.com-tx .woocommerce-cart-form,
.com-tx .cart-collaterals .cart_totals,
.com-tx #customer_details,
.com-tx #order_review,
.com-tx .woocommerce-order,
.com-tx .woocommerce-MyAccount-content,
.com-tx .woocommerce-form-login,
.com-tx .woocommerce-form-register,
.com-tx .woocommerce-ResetPassword,
.com-tx .wc-empty-cart-message,
.com-tx .return-to-shop,
.com-tx form.checkout_coupon{
  background:rgba(22,26,62,.72);backdrop-filter:blur(14px);
  border:1px solid var(--line);border-radius:1.1rem;padding:clamp(1.1rem,3vw,1.8rem);
}

/* ── botones: los mismos del sitio ── */
.com-tx .button,.com-tx button.button,.com-tx input.button,.com-tx a.button,
.com-tx #place_order,.com-tx .checkout-button,.com-tx .woocommerce-Button,
.com-tx button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8rem 1.5rem;border-radius:2rem;border:1px solid var(--line);background:none;color:var(--ink);
  font:700 .775rem/1.2 inherit;font-family:inherit;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;transition:.3s var(--ease);white-space:nowrap;
}
.com-tx .button:hover,.com-tx button[type=submit]:hover{background:rgba(244,243,251,.09);border-color:var(--ink-2);transform:translateY(-1px);color:var(--ink);}
.com-tx .button.alt,.com-tx #place_order,.com-tx .checkout-button,
.com-tx .woocommerce-form-login__submit,.com-tx .woocommerce-form-register__submit{
  background:var(--gold);color:#1a1405;border-color:var(--gold);
}
.com-tx .button.alt:hover,.com-tx #place_order:hover,.com-tx .checkout-button:hover{background:#f0c24d;border-color:#f0c24d;color:#1a1405;}
.com-tx #place_order{width:100%;padding:1.05rem 1.5rem;font-size:.84rem;margin-top:1rem;box-shadow:0 1rem 2.4rem rgba(227,178,60,.18);}
.com-tx .button:disabled,.com-tx .button.disabled{opacity:.4;cursor:not-allowed;transform:none;}
.com-tx .checkout-button{width:100%;padding:1rem 1.5rem;}

/* ── campos ── */
.com-tx .form-row{display:grid;gap:.35rem;margin:0 0 1rem;}
.com-tx .form-row label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.com-tx .form-row label .required{color:var(--gold);text-decoration:none;border:0;}
.com-tx .form-row label .optional{text-transform:none;letter-spacing:0;font-weight:400;}
.com-tx input[type=text],.com-tx input[type=email],.com-tx input[type=tel],.com-tx input[type=password],
.com-tx input[type=number],.com-tx input[type=search],.com-tx textarea,.com-tx select{
  width:100%;padding:.8rem 1rem;border-radius:.7rem;border:1px solid var(--line);
  background:rgba(12,14,36,.6);color:var(--ink);font:inherit;font-size:.95rem;
  transition:border-color .25s,box-shadow .25s,background .25s;appearance:none;-webkit-appearance:none;
}
.com-tx select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9BCDA' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;background-size:1rem;padding-right:2.6rem;
}
.com-tx select option{background:var(--surface);color:var(--ink);}
.com-tx textarea{min-height:6rem;resize:vertical;}
.com-tx input::placeholder,.com-tx textarea::placeholder{color:var(--ink-3);opacity:.8;}
.com-tx input:focus,.com-tx textarea:focus,.com-tx select:focus{
  outline:none;border-color:var(--gold);background:rgba(12,14,36,.85);box-shadow:0 0 0 3px rgba(227,178,60,.16);
}
.com-tx .woocommerce-invalid input,.com-tx .woocommerce-invalid select{border-color:#D64550;}
.com-tx .woocommerce-validated input{border-color:rgba(32,110,141,.7);}
.com-tx input[type=checkbox],.com-tx input[type=radio]{accent-color:var(--gold);width:1.05rem;height:1.05rem;vertical-align:-.15rem;margin-right:.45rem;}
.com-tx .woocommerce-form__label-for-checkbox{text-transform:none!important;letter-spacing:0!important;font-weight:600!important;color:var(--ink-2)!important;font-size:.88rem!important;display:inline-flex!important;align-items:center;cursor:pointer;}
.com-tx .woocommerce-input-wrapper{display:block;}
.com-tx .form-row-first,.com-tx .form-row-last{width:auto;}
@media(min-width:40rem){
  .com-tx .woocommerce-billing-fields__field-wrapper,
  .com-tx .woocommerce-shipping-fields__field-wrapper,
  .com-tx .woocommerce-address-fields__field-wrapper,
  .com-tx .woocommerce-EditAccountForm{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem;}
  .com-tx .form-row-wide,.com-tx #billing_address_1_field,.com-tx #billing_address_2_field,
  .com-tx #shipping_address_1_field,.com-tx #shipping_address_2_field,
  .com-tx .woocommerce-EditAccountForm fieldset,.com-tx .woocommerce-EditAccountForm > p:last-of-type,
  .com-tx .woocommerce-EditAccountForm .clear{grid-column:1/-1;}
}
.com-tx fieldset{border:1px solid var(--line);border-radius:.9rem;padding:1rem 1.2rem .4rem;margin:.6rem 0 1rem;}
.com-tx legend{padding:0 .4rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}
.com-tx .show-password-input{display:none;}

/* ── avisos de WooCommerce ── */
.com-tx .woocommerce-notices-wrapper:empty{display:none;}
.com-tx .woocommerce-message,.com-tx .woocommerce-info,.com-tx .woocommerce-error,
.com-tx .wc-block-components-notice-banner{
  list-style:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;
  padding:.9rem 1.1rem;border-radius:.8rem;margin:0 0 1.1rem;font-size:.88rem;color:var(--ink);
  border:1px solid rgba(32,110,141,.6);background:rgba(32,110,141,.16);
}
.com-tx .woocommerce-error{border-color:rgba(214,69,80,.55);background:rgba(214,69,80,.14);flex-direction:column;align-items:flex-start;}
.com-tx .woocommerce-error li{list-style:none;}
.com-tx .woocommerce-message{border-color:rgba(227,178,60,.5);background:rgba(227,178,60,.1);}
.com-tx .woocommerce-message .button,.com-tx .woocommerce-info .button{order:2;padding:.5rem 1rem;font-size:.68rem;}
.com-tx .woocommerce-form-coupon-toggle .woocommerce-info{border-style:dashed;background:none;}

/* ── la bolsa en grande (carrito) ── */
.com-tx .woocommerce{display:grid;gap:1.4rem;}
@media(min-width:62rem){
  .com-tx .woocommerce:has(.woocommerce-cart-form){grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);align-items:start;}
  .com-tx .woocommerce:has(.woocommerce-cart-form) > .woocommerce-notices-wrapper{grid-column:1/-1;}
}
.com-tx table.shop_table{width:100%;border-collapse:collapse;font-size:.9rem;}
.com-tx table.shop_table th{
  text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
  padding:.7rem .6rem;border-bottom:1px solid var(--line);
}
.com-tx table.shop_table td{padding:.9rem .6rem;border-bottom:1px solid var(--line);vertical-align:middle;}
.com-tx table.shop_table tr:last-child td{border-bottom:0;}
.com-tx table.cart .product-thumbnail img{width:4.4rem;height:4.4rem;object-fit:cover;border-radius:.6rem;box-shadow:0 .5rem 1.2rem rgba(0,0,0,.4);}
.com-tx table.cart .product-name a{color:var(--ink);font-weight:700;text-decoration:none;}
.com-tx table.cart .product-remove a{
  display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;border:1px solid var(--line);
  color:var(--ink-3)!important;text-decoration:none;font-size:1.1rem;transition:.2s;
}
.com-tx table.cart .product-remove a:hover{border-color:#D64550;color:#FF9AA2!important;}
.com-tx table.cart .quantity input{width:4.4rem;text-align:center;padding:.55rem .4rem;}
.com-tx table.cart td.actions{padding-top:1.2rem;}
.com-tx table.cart td.actions .coupon{display:inline-flex;gap:.5rem;flex-wrap:wrap;margin-right:.6rem;}
.com-tx table.cart td.actions .coupon input{width:11rem;}
.com-tx table.cart td.actions > .button{float:right;}
@media(max-width:44rem){
  .com-tx table.shop_table_responsive thead{display:none;}
  .com-tx table.shop_table_responsive tr{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;padding:.9rem 0;border-bottom:1px solid var(--line);}
  .com-tx table.shop_table_responsive td{border:0;padding:.2rem 0;display:flex;justify-content:space-between;gap:1rem;}
  .com-tx table.shop_table_responsive td::before{content:attr(data-title);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
  .com-tx table.shop_table_responsive td.product-thumbnail,.com-tx table.shop_table_responsive td.product-remove{grid-row:span 1;}
  .com-tx table.shop_table_responsive td.product-thumbnail::before,.com-tx table.shop_table_responsive td.product-remove::before,
  .com-tx table.shop_table_responsive td.actions::before{display:none;}
  .com-tx table.shop_table_responsive td.product-name,.com-tx table.shop_table_responsive td.actions{grid-column:1/-1;}
  .com-tx table.cart td.actions > .button{float:none;width:100%;margin-top:.6rem;}
}
.com-tx .cart_totals h2{margin-bottom:.6rem;}
.com-tx .cart_totals table th{width:40%;}
.com-tx .cart_totals .order-total .amount{font-size:1.35rem;}
.com-tx .wc-proceed-to-checkout{margin-top:1rem;}
.com-tx .woocommerce-shipping-destination{font-size:.8rem;color:var(--ink-3);margin-top:.4rem;}
.com-tx .shipping-calculator-button{font-size:.78rem;}
.com-tx #shipping_method{list-style:none;display:grid;gap:.4rem;}
.com-tx .wc-empty-cart-message{text-align:center;padding:2.4rem 1.4rem;}
.com-tx .cart-empty{border:0!important;background:none!important;justify-content:center;font-size:1.05rem;color:var(--ink-2);}
.com-tx .return-to-shop{background:none;border:0;padding:0;text-align:center;}

/* ── finalizar compra ── */
.com-tx form.checkout{display:grid;gap:1.4rem;}
@media(min-width:62rem){
  .com-tx form.checkout{grid-template-columns:minmax(0,1.35fr) minmax(20rem,1fr);align-items:start;}
  .com-tx form.checkout > .woocommerce-NoticeGroup{grid-column:1/-1;}
  .com-tx #order_review_heading{display:none;}
  .com-tx #order_review{position:sticky;top:1rem;}
}
.com-tx #customer_details{display:grid;gap:1.4rem;}
.com-tx #customer_details .col-1,.com-tx #customer_details .col-2{width:auto;float:none;}
.com-tx #ship-to-different-address{font-size:.8rem;margin:.4rem 0 1rem;}
.com-tx #order_review::before{
  content:"Tu pedido";display:block;margin-bottom:1rem;
  font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
}
.com-tx .woocommerce-checkout-review-order-table .product-name{color:var(--ink);}
.com-tx .woocommerce-checkout-review-order-table .product-quantity{color:var(--gold);font-weight:700;}
.com-tx .woocommerce-checkout-review-order-table tfoot th{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.com-tx .woocommerce-checkout-review-order-table .order-total .amount{font-size:1.45rem;color:var(--ink);}
.com-tx .woocommerce-checkout-payment{margin-top:1.2rem;}
.com-tx ul.payment_methods{list-style:none;display:grid;gap:.6rem;padding:0;margin:0;}
.com-tx ul.payment_methods > li{
  border:1px solid var(--line);border-radius:.9rem;padding:.85rem 1rem;background:rgba(12,14,36,.45);
  transition:border-color .25s,background .25s;
}
.com-tx ul.payment_methods > li:has(input:checked){border-color:rgba(227,178,60,.6);background:rgba(227,178,60,.07);}
.com-tx ul.payment_methods label{font-weight:700;color:var(--ink);cursor:pointer;font-size:.92rem;}
.com-tx .payment_box{margin-top:.6rem;font-size:.84rem;color:var(--ink-2);line-height:1.55;}
.com-tx .payment_box p{margin:0;}
.com-tx .woocommerce-terms-and-conditions-wrapper{margin-top:1rem;font-size:.8rem;color:var(--ink-3);}
.com-tx .woocommerce-privacy-policy-text p{font-size:.78rem;color:var(--ink-3);}
.com-tx .blockUI.blockOverlay{background:rgba(12,14,36,.6)!important;border-radius:1rem;}
.com-tx form.checkout_coupon{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;}
.com-tx form.checkout_coupon p:first-child{flex:1 0 100%;}
.com-tx form.checkout_coupon .form-row{margin:0;flex:1 1 12rem;}
.com-tx .woocommerce-account-fields,.com-tx .woocommerce-additional-fields{margin-top:1rem;}

/* ── pedido recibido ── */
.com-tx .woocommerce-order{display:grid;gap:1.4rem;}
.com-tx .woocommerce-thankyou-order-received{
  font-size:1.1rem;color:var(--ink);line-height:1.5;padding:1rem 1.2rem;border-radius:.9rem;
  border:1px solid rgba(227,178,60,.5);background:rgba(227,178,60,.08);
}
.com-tx ul.woocommerce-order-overview{
  list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem;padding:0;margin:0;
}
.com-tx ul.woocommerce-order-overview li{
  display:grid;gap:.3rem;padding:.9rem 1rem;border-radius:.8rem;border:1px solid var(--line);background:rgba(12,14,36,.45);
  font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);
}
.com-tx ul.woocommerce-order-overview li strong{font-size:.95rem;letter-spacing:.01em;text-transform:none;color:var(--ink);}
.com-tx .wc-bacs-bank-details-heading{margin-top:.4rem;}
.com-tx ul.wc-bacs-bank-details{list-style:none;display:grid;gap:.5rem;padding:0;}
.com-tx ul.wc-bacs-bank-details li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid var(--line);font-size:.85rem;}
.com-tx .wc-bacs-bank-details-account-name{color:var(--ink);font-size:.95rem;margin-top:.6rem;}
.com-tx .woocommerce-customer-details address{
  font-style:normal;line-height:1.7;padding:1rem 1.2rem;border-radius:.8rem;border:1px solid var(--line);background:rgba(12,14,36,.45);
}
.com-tx .woocommerce-columns--addresses{display:grid;gap:1rem;}
@media(min-width:44rem){.com-tx .woocommerce-columns--addresses{grid-template-columns:1fr 1fr;}}

/* ── mi cuenta ── */
.com-tx .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:1fr;}
@media(min-width:52rem){
  .com-tx .woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:14rem minmax(0,1fr);align-items:start;}
}
.com-tx .woocommerce-MyAccount-navigation ul{list-style:none;display:grid;gap:.25rem;padding:0;margin:0;}
.com-tx .woocommerce-MyAccount-navigation a{
  display:block;padding:.65rem 1rem;border-radius:2rem;text-decoration:none;color:var(--ink-2);
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.25s var(--ease);
}
.com-tx .woocommerce-MyAccount-navigation a:hover{color:var(--ink);background:rgba(244,243,251,.06);}
.com-tx .woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:var(--ground);}
.com-tx .u-columns{display:grid;gap:1.2rem;}
@media(min-width:52rem){.com-tx .u-columns{grid-template-columns:1fr 1fr;}}
.com-tx .woocommerce-form-login .form-row:last-of-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;}
.com-tx .lost_password{font-size:.82rem;}
.com-tx .woocommerce-Addresses{display:grid;gap:1rem;}
@media(min-width:44rem){.com-tx .woocommerce-Addresses{grid-template-columns:1fr 1fr;}}
.com-tx .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.com-tx .woocommerce-orders-table__cell-order-actions .button{padding:.45rem .9rem;font-size:.66rem;}
.com-tx .woocommerce-pagination{display:flex;gap:.6rem;margin-top:1rem;}

@media(prefers-reduced-motion:reduce){
  .bolsa,.bolsa-velo,.aviso-flot{transition:none;}
  .bl-i,.badge.late{animation:none;}
}

/* ══ EL BUSCADOR: productos con su precio ════════════════════ */
.busq-res a{text-decoration:none;cursor:pointer;}
.bq-precio{margin-left:auto;flex:0 0 auto;font-size:.9rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:.8rem;}
.bq-precio small{font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--ink-3);}
.bq-precio.no{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}

/* ligas al pie de la bolsa */
.bl-ligas{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.1rem;}
.bl-ligas a,.bl-ligas button{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:.35rem 0;transition:color .25s;}
.bl-ligas a:hover,.bl-ligas button:hover{color:var(--ink);}

/* ══ LAS PÁGINAS DE LA COMPRA · detalles propios ═════════════ */
.com-lede{color:var(--ink-2);font-size:1rem;max-width:36rem;}
.com-in{gap:clamp(1.2rem,2.6vw,1.9rem);}

/* garantías */
.com-confianza{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem;}
.com-confianza li{
  display:flex;align-items:center;gap:.7rem;padding:.95rem 1.1rem;border-radius:.9rem;
  border:1px solid var(--line);background:rgba(12,14,36,.5);font-size:.86rem;color:var(--ink-2);
}
.com-confianza .estr{width:1rem;height:1rem;}

/* la bolsa en grande: cada pieza, una tarjeta */
.com-tx table.cart{display:block;}
.com-tx table.cart thead{display:none;}
.com-tx table.cart tbody{display:grid;gap:.7rem;}
.com-tx table.cart tr.cart_item{
  display:grid;grid-template-columns:5.2rem minmax(0,1fr) auto auto 2rem;gap:.4rem 1.2rem;align-items:center;
  padding:.9rem 1rem;border-radius:1rem;border:1px solid var(--line);background:rgba(12,14,36,.42);
  transition:border-color .25s;
}
.com-tx table.cart tr.cart_item:hover{border-color:var(--line-2,rgba(244,243,251,.22));}
.com-tx table.cart tr.cart_item td{border:0;padding:0;display:block;}
.com-tx table.cart tr.cart_item td::before{display:none;}
.com-tx table.cart .product-thumbnail{grid-column:1;grid-row:1/3;}
.com-tx table.cart .product-thumbnail img{width:5.2rem;height:5.2rem;}
.com-tx table.cart .product-name{grid-column:2;font-size:1rem;line-height:1.25;}
.com-tx table.cart .product-price{grid-column:2;grid-row:2;font-size:.8rem;color:var(--ink-3);}
.com-tx table.cart .product-price .amount{font-weight:400;color:var(--ink-3);}
.com-tx table.cart .product-quantity{grid-column:3;grid-row:1/3;}
.com-tx table.cart .product-subtotal{grid-column:4;grid-row:1/3;font-size:1.05rem;text-align:right;min-width:6rem;}
.com-tx table.cart .product-remove{grid-column:5;grid-row:1/3;}
.com-tx table.cart tr:not(.cart_item){display:block;}
.com-tx table.cart td.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding:.4rem 0 0;border:0;}
.com-tx table.cart td.actions .coupon{margin:0;}
.com-tx table.cart td.actions .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.com-tx table.cart td.actions > .button{float:none;}
.com-tx table.cart button[name="update_cart"]{opacity:.55;}
.com-tx table.cart button[name="update_cart"]:not(:disabled){opacity:1;}
@media(max-width:44rem){
  .com-tx table.cart tr.cart_item{grid-template-columns:4.4rem minmax(0,1fr) 2rem;}
  .com-tx table.cart .product-thumbnail{grid-row:1/4;}
  .com-tx table.cart .product-thumbnail img{width:4.4rem;height:4.4rem;}
  .com-tx table.cart .product-quantity{grid-column:2;grid-row:3;}
  .com-tx table.cart .product-subtotal{grid-column:2/4;grid-row:3;align-self:center;}
  .com-tx table.cart .product-remove{grid-column:3;grid-row:1;}
  .com-tx table.cart td.actions .coupon{width:100%;}
  .com-tx table.cart td.actions .coupon input{flex:1;width:auto;}
}
.com-tx .cart-collaterals .cart_totals{position:sticky;top:1rem;}
.com-tx .cart_totals table.shop_table tr{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);}
.com-tx .cart_totals table.shop_table tr:last-child{border-bottom:0;}
.com-tx .cart_totals table.shop_table th,.com-tx .cart_totals table.shop_table td{border:0;padding:.8rem 0;}
.com-tx .cart_totals table.shop_table td{text-align:right;}
.com-tx .cart_totals table.shop_table td::before{display:none;}
.com-tx .cart_totals .order-total th{color:var(--ink);font-size:.8rem;}

/* bolsa vacía */
.com-tx .wc-empty-cart-message{display:grid;justify-items:center;gap:.8rem;}
.com-tx .wc-empty-cart-message::before{
  content:"";width:3.2rem;height:3.2rem;border-radius:50%;border:1px solid rgba(227,178,60,.5);
  background:rgba(227,178,60,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E3B23C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7Z'/%3E%3Cpath d='M9 7V5a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/1.3rem no-repeat;
}
.com-tx .cart-empty.woocommerce-info{padding:0;margin:0;font-size:1.1rem;}
.com-tx .cart-empty.woocommerce-info::before{display:none;}
.com-tx .return-to-shop .button{background:var(--gold);color:#1a1405;border-color:var(--gold);}
.pantalla.comercio.modo-bolsa .com-seguir{display:none;}

/* mi cuenta */
.com-tx .u-columns > div{
  background:rgba(22,26,62,.72);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:1.1rem;padding:clamp(1.1rem,3vw,1.8rem);
}
.com-tx .u-columns .woocommerce-form-login,.com-tx .u-columns .woocommerce-form-register{background:none;border:0;padding:0;backdrop-filter:none;}
.com-tx .woocommerce-MyAccount-navigation{
  background:rgba(22,26,62,.72);border:1px solid var(--line);border-radius:1.1rem;padding:.6rem;
}
.com-tx .woocommerce-MyAccount-navigation-link--customer-logout a{color:#FF9AA2;}
.com-tx .woocommerce-MyAccount-content > p:first-child{font-size:1rem;}
.com-tx .woocommerce-MyAccount-content mark{background:none;color:var(--gold);}
.pantalla.comercio.modo-cuenta .com-seguir{justify-content:flex-start;}

/* gracias */
.pantalla.comercio.modo-gracias .dest-t{color:var(--gold);}

/* los avisos de WooCommerce: el ícono y el texto juntos */
.com-tx .woocommerce-message,.com-tx .woocommerce-info,.com-tx .wc-block-components-notice-banner{justify-content:flex-start;}
.com-tx .woocommerce-message .button,.com-tx .woocommerce-info .button{margin-left:auto;}

/* ══ ESCRÍBENOS · el formulario de contacto ══════════════════ */
.cto-abre{color:var(--gold)!important;font-weight:700;}
.ficha .cto-top{height:9rem;background-size:cover;background-position:50% 60%;}
.cto-form{display:grid;gap:1rem;margin-top:.4rem;}
.cto-c{display:grid;gap:.4rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:0;}
.cto-c input,.cto-c textarea{
  width:100%;padding:.8rem 1rem;border-radius:.7rem;border:1px solid var(--line);background:rgba(12,14,36,.55);
  color:var(--ink);font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;transition:border-color .25s,box-shadow .25s;
}
.cto-c textarea{resize:vertical;min-height:7rem;line-height:1.55;}
.cto-c input:focus,.cto-c textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,178,60,.16);}
.cto-c.mal input,.cto-c.mal textarea{border-color:#D64550;}
.cto-c legend{margin-bottom:.4rem;}
.cto-mot{display:flex;flex-wrap:wrap;gap:.4rem;}
.cto-mot label{cursor:pointer;}
.cto-mot input{position:absolute;opacity:0;pointer-events:none;}
.cto-mot span{
  display:inline-block;padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--line);
  font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:none;color:var(--ink-2);transition:.25s var(--ease);
}
.cto-mot input:checked + span{background:var(--ink);color:var(--ground);border-color:var(--ink);}
.cto-mot input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px;}
.cto-trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cto-err{font-size:.84rem;color:#FFD7D7;background:rgba(214,69,80,.14);border:1px solid rgba(214,69,80,.4);border-radius:.6rem;padding:.6rem .8rem;}
.cto-env{justify-content:center;padding:.95rem 1.5rem;}
.cto-env.carga{opacity:.6;pointer-events:none;}
.cto-nota{font-size:.76rem;color:var(--ink-3);}
.cto-nota a{color:var(--ink-2);text-decoration:underline;}

/* ══ EL MENÚ CON LIGAS REALES (mismo estilo que los botones del prototipo) ══ */
nav.main a{
  font-size:.775rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-2);padding:.45rem 0;white-space:nowrap;position:relative;transition:color .3s;
}
nav.main a::after{
  content:"";position:absolute;left:0;right:0;bottom:.1rem;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
nav.main a:hover,nav.main a[aria-current="page"]{color:var(--ink);}
nav.main a[aria-current="page"]::after{transform:scaleX(1);}
a.brand{display:flex;align-items:center;gap:.6rem;flex:0 0 auto;}

/* ══ LA PÁGINA DE RESULTADOS ═════════════════════════════════ */
.pantalla.resultados{display:block;padding:0;}
.res-caja{display:flex;gap:.5rem;width:min(34rem,100%);margin-top:.5rem;}
.res-caja input{
  flex:1;min-width:0;padding:.8rem 1.1rem;border-radius:2rem;border:1px solid var(--line);background:rgba(12,14,36,.6);
  color:var(--ink);font:inherit;font-size:.95rem;transition:border-color .25s,box-shadow .25s;
}
.res-caja input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,178,60,.16);}
.res-cuenta{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.res-cuenta:empty{display:none;}
.res-tabs button small{opacity:.6;margin-left:.2rem;font-size:.66rem;}
.res-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(12.5rem,44vw),1fr));gap:1.4rem clamp(.8rem,2vw,1.4rem);}
.res-rejilla .rp-c{width:auto;animation:fadein .4s var(--ease) both;}
.res-precio{margin-top:.15rem;}
.res-precio .bq-precio{padding:0;margin:0;font-size:.86rem;}
.res-vacio{display:grid;justify-items:start;gap:1rem;color:var(--ink-2);max-width:32rem;}
.res-vacio .estr{width:1.6rem;height:1.6rem;}
.busq-todos{
  margin-top:.6rem;padding:.8rem 1rem;border-radius:.7rem;border:1px dashed var(--line);
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  text-align:center;transition:.25s var(--ease);
}
.busq-todos:hover{background:rgba(227,178,60,.08);border-color:rgba(227,178,60,.5);}

/* ══ ENTRE PÁGINAS: transición suave, sin pantallazo blanco ══ */
@view-transition{navigation:auto;}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;}
html{background:var(--ground);}

/* ══ AJUSTES FINOS · bolsa en grande y resultados en móvil ══ */
.com-tx .woocommerce-cart-form{background:none;border:0;padding:0;backdrop-filter:none;}
.com-tx table.cart button[name="update_cart"]{display:none;}
.no-js .com-tx table.cart button[name="update_cart"]{display:inline-flex;}
@media(max-width:44rem){
  .com-tx table.cart tr.cart_item{grid-template-columns:4.6rem minmax(0,1fr) auto;gap:.3rem .9rem;padding:.85rem;}
  .com-tx table.cart tr.cart_item td.product-thumbnail{grid-column:1;grid-row:1/4;align-self:start;}
  .com-tx table.cart tr.cart_item td.product-thumbnail img{width:4.6rem;height:4.6rem;}
  .com-tx table.cart tr.cart_item td.product-name{grid-column:2;grid-row:1;padding-right:.4rem;}
  .com-tx table.cart tr.cart_item td.product-remove{grid-column:3;grid-row:1;justify-self:end;}
  .com-tx table.cart tr.cart_item td.product-price{grid-column:2/4;grid-row:2;}
  .com-tx table.cart tr.cart_item td.product-quantity{grid-column:2;grid-row:3;justify-self:start;}
  .com-tx table.cart tr.cart_item td.product-subtotal{grid-column:3;grid-row:3;justify-self:end;min-width:0;}
  .com-tx table.cart tr.cart_item td.product-quantity input.qty{width:3.6rem;padding:.5rem;}
  .res-rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .8rem;}
  .res-caja .btn{padding:.7rem 1rem;}
}

/* la bolsa vacía */
.com-tx .mm-bolsa-vacia{
  display:grid;justify-items:center;text-align:center;gap:.8rem;padding:clamp(2rem,6vw,3.4rem) 1.4rem;
  background:rgba(22,26,62,.72);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:1.1rem;
}
.com-tx .mm-bolsa-vacia .ico{
  width:3.4rem;height:3.4rem;border-radius:50%;border:1px solid rgba(227,178,60,.5);
  background:rgba(227,178,60,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E3B23C' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7Z'/%3E%3Cpath d='M9 7V5a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/1.35rem no-repeat;
}
.com-tx .mm-bolsa-vacia h2{font-size:1.2rem;letter-spacing:.02em;text-transform:none;margin:0;}
.com-tx .mm-bolsa-vacia p{color:var(--ink-2);max-width:26rem;}
.com-tx .mm-bolsa-vacia .button{margin-top:.4rem;}
.com-tx .mm-bolsa-vacia h2.cart-empty{font-size:1.2rem;color:var(--ink);padding:0;}
.com-tx .wc-block-components-notice-banner{flex-wrap:nowrap;align-items:center;gap:.8rem;}
.com-tx .wc-block-components-notice-banner > svg{width:1.3rem;height:1.3rem;flex:0 0 auto;fill:currentColor;}
.com-tx .wc-block-components-notice-banner__content{flex:1;min-width:0;}
.com-tx .wc-block-components-notice-banner.is-success{border-color:rgba(227,178,60,.5);background:rgba(227,178,60,.08);}
.com-tx .wc-block-components-notice-banner.is-error{border-color:rgba(214,69,80,.55);background:rgba(214,69,80,.14);}
