/* ============================================================
   Camino único de compra — estilos que SOLO se cargan con el interruptor
   TNR_TIENDA_CAMINO_UNICO encendido (functions.php, handle `tnr-camino-unico`).
   Van aparte de style.css a propósito: esa hoja se sirve con `ver=filemtime`
   y tocarla cambiaría el HTML servido con el interruptor apagado.
   Usa los tokens de style.css (--blue, --ink, --line, --radius…).
   ============================================================ */

/* ---------- Portada: tres pasos ---------- */
.pasos__lista--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){ .pasos__lista--3{ grid-template-columns:1fr; gap:20px; } }

/* ---------- Ficha ---------- */
.detail__assure--2{ grid-template-columns:repeat(2,1fr); }
.detail__info .detail__condiciones{ margin:10px 0 18px; }
@media (max-width:520px){ .detail__assure--2{ grid-template-columns:1fr; } }

/* Caja de compra: «Cómprala ya» es EL botón; «Haz una oferta» es secundario y va separado. */
.reserve__body a.tnr-compra-boton{
  display:flex; align-items:center; justify-content:center; width:100%;
  background:var(--blue); color:#fff; border-radius:var(--radius-sm);
  font-family:var(--font-body); font-weight:700; font-size:16px; line-height:1.2;
  padding:16px 22px; margin:0 0 12px; text-decoration:none;
  box-shadow:0 6px 18px rgba(40,137,184,.28); transition:background .15s;
}
.reserve__body a.tnr-compra-boton:hover{ background:var(--blue-dark); color:#fff; }
.reserve__body a.tnr-compra-boton:focus-visible{ outline:3px solid var(--blue-dark); outline-offset:2px; }
.reserve__body .tnr-oferta-desplegable{ margin:0 0 16px; padding:0; border-bottom:0; }
.reserve__body .tnr-oferta-boton{
  background:#fff; color:var(--blue-dark); border:1.5px solid var(--blue); padding:12.5px 22px;
}
.reserve__body .tnr-oferta-boton:hover{ background:#eef7fb; color:var(--blue-deep); }
.reserve__body .tnr-oferta-desplegable[open]{ padding-bottom:16px; border-bottom:1px solid var(--line); }
.reserve__body .tnr-oferta-ok, .reserve__body .tnr-oferta-aviso{ margin:0 0 16px; }

.tnr-ficha-entrega{
  display:flex; align-items:flex-start; gap:9px; margin:0 0 16px;
  font-size:13.5px; line-height:1.5; color:var(--ink-2);
}
.tnr-ficha-entrega svg{ flex:none; width:17px; height:17px; margin-top:1px; color:var(--blue); }

/* «¿Prefieres verla antes o tienes dudas? Escríbenos»: enlace discreto que despliega el formulario. */
.tnr-info-desplegable{ border-top:1px solid var(--line); padding-top:14px; }
.tnr-info-enlace{
  display:inline-block; list-style:none; cursor:pointer;
  font-size:13.5px; font-weight:600; color:var(--blue-dark);
  text-decoration:underline; text-underline-offset:3px;
}
.tnr-info-enlace::-webkit-details-marker{ display:none; }
.tnr-info-enlace::marker{ content:''; }
.tnr-info-enlace:hover{ color:var(--blue-deep); }
.tnr-info-enlace:focus-visible{ outline:3px solid var(--blue-soft); outline-offset:3px; border-radius:4px; }
.tnr-info-desplegable[open] > .tnr-info-enlace{ margin-bottom:16px; }
.reserve__body .tnr-info-desplegable .tnr-reservar-form button{
  background:#fff; color:var(--blue-dark); border:1.5px solid var(--blue);
}
.reserve__body .tnr-info-desplegable .tnr-reservar-form button:hover{ background:#eef7fb; }
.reserve__body .tnr-reservada{ margin:0; }
.reserve__body .tnr-info-desplegable .tnr-reserva-error{ margin:0 0 14px; }

/* ---------- Condiciones ---------- */
.condicion--ancha{ grid-column:1 / -1; }

/* ============================================================
   CHECKOUT · PÁGINA DE PAGO · GRACIAS
   Mismo lenguaje que la ficha: tarjetas blancas, campos redondeados,
   botón primario azul. Solo CSS sobre el marcado clásico de WooCommerce.
   ============================================================ */
.woocommerce-checkout .site-main > .wrap.section,
.woocommerce-account .site-main > .wrap.section,
.woocommerce-cart .site-main > .wrap.section{ padding-top:40px; }
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
.woocommerce-cart .entry-title{ font-family:var(--font-head); font-weight:900; font-size:clamp(26px,5vw,36px); margin:0 0 22px; }
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content,
.woocommerce-cart .entry-content{ max-width:none; line-height:1.55; }

/* Avisos de WooCommerce */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message{
  list-style:none; margin:0 0 20px; padding:14px 18px; border:1px solid var(--line); border-top:1px solid var(--line);
  border-left:4px solid var(--blue); border-radius:var(--radius-sm); background:#fff; color:var(--ink); font-size:14.5px; line-height:1.5;
}
.woocommerce-checkout .woocommerce-error,
.woocommerce-account .woocommerce-error,
.woocommerce-cart .woocommerce-error{ border-left-color:#c94b4b; background:#fdf3f3; }
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before{ content:none; }
.woocommerce-checkout .woocommerce-error li{ margin:0; padding:0; }
.woocommerce-checkout .woocommerce-error li + li{ margin-top:6px; }

/* ----- Rejilla: datos a la izquierda, resumen y pago a la derecha ----- */
.woocommerce-checkout form.checkout{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); grid-template-rows:auto auto auto 1fr; gap:0 40px; align-items:start;
}
.woocommerce-checkout form.checkout > *{ grid-column:1 / -1; min-width:0; }
/* Fila 1: avisos (los inserta el JS del checkout). Los datos ocupan las filas 2-4; la 4 (1fr) absorbe lo que
   sobra para que «Tu pedido» y su caja queden juntos arriba aunque el formulario sea más alto. */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{ grid-row:1; }
.woocommerce-checkout form.checkout > #customer_details{ grid-column:1; grid-row:2 / span 3; }
.woocommerce-checkout form.checkout > #order_review_heading{ grid-column:2; grid-row:2; }
.woocommerce-checkout form.checkout > #order_review{ grid-column:2; grid-row:3; }
@media (max-width:900px){
  .woocommerce-checkout form.checkout{ display:block; }
}

.woocommerce-checkout #customer_details.col2-set{ width:100%; float:none; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{ float:none; width:100%; max-width:none; padding:0; }
.woocommerce-checkout #customer_details .col-1{
  background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card); padding:24px 24px 12px;
}
.woocommerce-checkout #customer_details .col-2{ margin-top:18px; }
.woocommerce-checkout #customer_details .col-2:empty{ display:none; }
.woocommerce-checkout .woocommerce-additional-fields{
  background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card); padding:20px 24px 10px;
}
.woocommerce-checkout .woocommerce-additional-fields > h3{ display:none; }
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{
  font-family:var(--font-head); font-weight:900; font-size:20px; letter-spacing:-.01em; color:var(--ink); margin:0 0 16px;
}
.woocommerce-checkout #order_review_heading{ margin-top:0; }
@media (max-width:900px){ .woocommerce-checkout #order_review_heading{ margin-top:28px; } }

/* ----- Campos ----- */
.woocommerce-checkout .woocommerce form .form-row,
.woocommerce-account .woocommerce form .form-row{ display:block; float:none; width:100%; margin:0 0 14px; padding:0; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{ grid-column:1 / -1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first{ grid-column:1; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last{ grid-column:2; }
@media (max-width:520px){
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last{ grid-column:1 / -1; }
}
.woocommerce-checkout .woocommerce form .form-row label,
.woocommerce-account .woocommerce form .form-row label{ display:block; font-size:13px; font-weight:700; color:var(--ink-2); margin:0 0 6px; line-height:1.3; }
.woocommerce-checkout .woocommerce form .form-row label .optional{ font-weight:500; color:var(--gray); }
.woocommerce-checkout .woocommerce form .form-row .required,
.woocommerce-account .woocommerce form .form-row .required{ color:#c94b4b; text-decoration:none; border:0; }
.woocommerce-checkout .woocommerce form .form-row .woocommerce-input-wrapper{ display:block; width:100%; }
.woocommerce-checkout .woocommerce form .form-row input.input-text,
.woocommerce-checkout .woocommerce form .form-row textarea,
.woocommerce-checkout .woocommerce form .form-row select,
.woocommerce-account .woocommerce form .form-row input.input-text{
  display:block; width:100%; box-sizing:border-box; font-family:var(--font-body); font-size:16px; line-height:1.3; color:var(--ink);
  background:#fff; border:1px solid #cfd8de; border-radius:10px; padding:12px 13px; margin:0;
  transition:border-color .15s, box-shadow .15s; -webkit-appearance:none; appearance:none;
}
.woocommerce-checkout .woocommerce form .form-row textarea{ min-height:84px; resize:vertical; }
.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .woocommerce form .form-row textarea:focus,
.woocommerce-checkout .woocommerce form .form-row select:focus,
.woocommerce-account .woocommerce form .form-row input.input-text:focus{ outline:0; border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }
.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid select{ border-color:#c94b4b; box-shadow:0 0 0 3px rgba(201,75,75,.12); }
.woocommerce-checkout .woocommerce form .form-row.woocommerce-validated input.input-text{ border-color:#cfd8de; }
.woocommerce-checkout .checkout-inline-error-message{ font-size:12.5px; color:#b13a3a; margin:5px 0 0; }
/* select2 (país / provincia) con el aspecto de los demás campos */
.woocommerce-checkout .select2-container{ width:100% !important; }
.woocommerce-checkout .select2-container .select2-selection--single{
  height:auto; border:1px solid #cfd8de; border-radius:10px; padding:10.5px 34px 10.5px 13px; background:#fff;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{ padding:0; line-height:1.3; font-size:16px; color:var(--ink); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{ top:50%; right:8px; transform:translateY(-50%); }
.woocommerce-checkout .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single{ border-color:var(--blue); box-shadow:0 0 0 3px var(--blue-soft); }

/* ----- Resumen del pedido ----- */
.woocommerce-checkout #order_review{
  background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-pop); padding:8px 22px 22px;
}
@media (min-width:901px){ .woocommerce-checkout form.checkout > #order_review{ position:sticky; top:96px; } }
.woocommerce-checkout table.shop_table,
.woocommerce-checkout table.shop_table thead,
.woocommerce-checkout table.shop_table tbody,
.woocommerce-checkout table.shop_table tfoot{ display:block; width:100%; margin:0; border:0; border-radius:0; background:transparent; }
.woocommerce-checkout table.shop_table{ font-size:14.5px; border-collapse:separate; }
.woocommerce-checkout table.shop_table tr{
  display:flex; align-items:flex-start; justify-content:space-between; gap:6px 14px; flex-wrap:wrap;
  padding:13px 0; border-bottom:1px solid var(--line-2);
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{ display:block; border:0 !important; padding:0; background:transparent; text-align:left; line-height:1.45; min-width:0; }
.woocommerce-checkout table.shop_table thead tr{ padding:12px 0 10px; }
.woocommerce-checkout table.shop_table thead th{ font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gray); }
.woocommerce-checkout table.shop_table thead th.product-quantity{ display:none; }
.woocommerce-checkout table.shop_table td.product-name{ flex:1 1 0; color:var(--ink); font-weight:600; }
.woocommerce-checkout table.shop_table td.product-name a{ color:var(--ink); }
.woocommerce-checkout table.shop_table .product-quantity{ color:var(--gray); font-weight:500; white-space:nowrap; }
.woocommerce-checkout table.shop_table td.product-total,
.woocommerce-checkout table.shop_table td.product-subtotal,
.woocommerce-checkout table.shop_table tfoot td{ margin-left:auto; text-align:right; max-width:100%; }
.woocommerce-checkout table.shop_table tfoot th{ font-weight:600; color:var(--ink-2); }
.woocommerce-checkout table.shop_table tfoot tr:last-child{ border-bottom:0; padding-top:16px; align-items:baseline; }
.woocommerce-checkout table.shop_table tfoot tr:last-child th{ font-family:var(--font-head); font-weight:900; font-size:17px; color:var(--ink); }
.woocommerce-checkout table.shop_table tfoot tr:last-child td > .amount,
.woocommerce-checkout table.shop_table tfoot tr:last-child td > strong{ font-family:var(--font-head); font-weight:900; font-size:24px; color:var(--blue-dark); }
.woocommerce-checkout table.shop_table .includes_tax{ display:block; font-size:12px; font-weight:500; color:var(--gray); }
.woocommerce-checkout table.shop_table .shipped_via{ display:block; font-size:12.5px; font-weight:500; color:var(--gray); }
.woocommerce-checkout table.shop_table .woocommerce-price-suffix{ font-size:12px; font-weight:500; color:var(--gray); }

/* Entrega: dos opciones grandes y claras, a todo el ancho del resumen */
.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals{ display:block; padding:0 0 16px; }
.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals > th{
  padding:16px 0 10px; font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gray);
}
.woocommerce-checkout table.shop_table tr.woocommerce-shipping-totals > td{ margin:0; text-align:left; }
.woocommerce-checkout ul#shipping_method{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.woocommerce-checkout ul#shipping_method li{ margin:0; padding:0; position:relative; text-indent:0; }
.woocommerce-checkout ul#shipping_method li input[type=radio]{
  position:absolute; left:15px; top:50%; width:18px; height:18px; margin:-9px 0 0; accent-color:var(--blue); cursor:pointer;
}
.woocommerce-checkout ul#shipping_method li label{
  display:block; margin:0; padding:15px 16px 15px 46px; border:1.5px solid #cfd8de; border-radius:12px; background:#fff;
  font-size:15px; font-weight:700; line-height:1.35; color:var(--ink); cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s;
}
.woocommerce-checkout ul#shipping_method li label:hover{ border-color:var(--blue); }
.woocommerce-checkout ul#shipping_method li input[type=radio]:checked + label{
  border-color:var(--blue); background:#eef7fb; box-shadow:0 0 0 3px var(--blue-soft);
}
.woocommerce-checkout ul#shipping_method li input[type=radio]:focus-visible + label{ outline:3px solid var(--blue-dark); outline-offset:2px; }
.woocommerce-checkout .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-shipping-calculator{ display:none; }

/* Aviso de los 30 minutos y casilla de condiciones (los pinta tnr-compra-ocasion) */
.woocommerce-checkout .tnr-compra-checkout{ margin:16px 0 0; }
body .tnr-compra-aviso{
  display:block; margin:0 0 14px; padding:12px 14px 12px 42px; position:relative;
  background:#eef7fb; border:1px solid rgba(40,137,184,.25); border-radius:12px;
  font-size:14px; line-height:1.45; color:var(--blue-deep); font-weight:600;
}
body .tnr-compra-aviso::before{
  content:''; position:absolute; left:14px; top:13px; width:18px; height:18px; border-radius:50%;
  border:2px solid var(--blue); box-sizing:border-box;
  background:
    linear-gradient(var(--blue),var(--blue)) 50% 28%/2px 6px no-repeat,
    linear-gradient(var(--blue),var(--blue)) 64% 50%/5px 2px no-repeat;
}
.woocommerce-checkout .tnr-compra-condiciones{ margin:0 0 4px; }
.woocommerce-checkout .woocommerce form .form-row.tnr-compra-condiciones label.checkbox{
  display:flex; gap:10px; align-items:flex-start; margin:0; font-size:14px; font-weight:500; color:var(--ink); line-height:1.45; cursor:pointer;
}
.woocommerce-checkout .tnr-compra-condiciones input[type=checkbox]{ flex:none; width:19px; height:19px; margin:1px 0 0; accent-color:var(--blue); }
.woocommerce-checkout .tnr-compra-condiciones a{ color:var(--blue-dark); text-decoration:underline; text-underline-offset:2px; }

/* ----- Pago ----- */
.woocommerce-checkout #payment{ background:transparent; border-radius:0; margin:16px 0 0; }
.woocommerce-checkout #payment ul.payment_methods{
  list-style:none; margin:0; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--paper);
}
.woocommerce-checkout #payment ul.payment_methods li{ margin:0; padding:0; line-height:1.4; }
.woocommerce-checkout #payment ul.payment_methods li > label{ display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:15px; font-weight:700; color:var(--ink); margin:0; }
.woocommerce-checkout #payment ul.payment_methods li img{ display:inline-block; max-height:22px; width:auto; margin:0; }
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{ margin:0 8px 0 0; accent-color:var(--blue); }
.woocommerce-checkout #payment div.payment_box{
  margin:12px 0 0; padding:12px 14px; background:#fff; border:1px solid var(--line); border-radius:10px; font-size:13.5px; color:var(--ink-2);
}
.woocommerce-checkout #payment div.payment_box::before{ content:none; display:none; }
.woocommerce-checkout #payment div.payment_box p{ margin:0; }
.woocommerce-checkout #payment div.payment_box p + p{ margin-top:8px; }
.woocommerce-checkout #payment div.form-row.place-order{ margin:16px 0 0; padding:0; }
.woocommerce-checkout .woocommerce-privacy-policy-text{ font-size:12.5px; line-height:1.5; color:var(--gray); margin:0 0 14px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p{ margin:0; }
.woocommerce-checkout .woocommerce-privacy-policy-text a{ color:var(--blue-dark); text-decoration:underline; }
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #order_review #place_order{
  display:block; float:none; width:100%; background:var(--blue); color:#fff; border:0; border-radius:var(--radius-sm);
  font-family:var(--font-body); font-weight:700; font-size:16.5px; line-height:1.2; padding:17px 22px; cursor:pointer;
  box-shadow:0 6px 18px rgba(40,137,184,.28); transition:background .15s;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #order_review #place_order:hover{ background:var(--blue-dark); }
.woocommerce-checkout #place_order:focus-visible{ outline:3px solid var(--blue-dark); outline-offset:2px; }

/* ----- Página de pago (order-pay) y de gracias (order-received) ----- */
.woocommerce-order-pay .entry-content > .woocommerce,
.woocommerce-order-received .entry-content > .woocommerce{ max-width:760px; }
.woocommerce-checkout ul.order_details{
  list-style:none; margin:0 0 22px; padding:6px 20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px;
  background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card);
}
.woocommerce-checkout ul.order_details::before,
.woocommerce-checkout ul.order_details::after{ content:none; display:none; }
.woocommerce-checkout ul.order_details li{
  float:none; margin:0; padding:14px 0; border:0; border-bottom:1px solid var(--line-2);
  font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gray); line-height:1.4;
}
.woocommerce-checkout ul.order_details li strong{
  display:block; margin-top:3px; font-family:var(--font-body); font-size:15.5px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--ink); overflow-wrap:anywhere;
}
.woocommerce-checkout ul.order_details li:last-child,
.woocommerce-checkout ul.order_details li:nth-last-child(2):nth-child(odd){ border-bottom:0; }
@media (max-width:520px){
  .woocommerce-checkout ul.order_details{ grid-template-columns:1fr; }
  .woocommerce-checkout ul.order_details li:nth-last-child(2):nth-child(odd){ border-bottom:1px solid var(--line-2); }
}
.woocommerce-order-pay #order_review{ max-width:760px; }
.woocommerce-order-pay .tnr-compra-aviso{ max-width:760px; box-sizing:border-box; }
.woocommerce-order-pay .entry-content > .woocommerce > p{ font-size:15px; color:var(--ink-2); margin:0 0 16px; }
.woocommerce-order-pay .entry-content > .woocommerce a.button.cancel,
.woocommerce-order-pay a.button.cancel{
  display:inline-block; margin-top:14px; background:#fff; color:var(--ink-2); border:1px solid var(--line); border-radius:var(--radius-sm);
  font-weight:700; font-size:14px; padding:11px 18px; box-shadow:none;
}
.woocommerce-order-pay a.button.cancel{ color:var(--ink-2) !important; } /* PayTPV le pone color:white en línea */
.woocommerce-order-pay #ifr-paytpv-container{ background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card); padding:16px; max-width:760px; box-sizing:border-box; overflow:hidden; }
.woocommerce-order-pay #ifr-paytpv-container iframe{ width:100%; max-width:100%; }
.woocommerce-order-pay #paycomet-cancel{ margin:0; }
.woocommerce-order-pay a.button.cancel:hover{ background:#fff; color:var(--ink); border-color:var(--gray); }

.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-notice--success{
  margin:0 0 18px; padding:16px 18px; background:var(--st-nueva-bg); border:1px solid #b6e0bd; border-radius:14px;
  font-family:var(--font-head); font-weight:800; font-size:18px; color:var(--st-nueva-fg); line-height:1.35;
}
body .tnr-compra-ahora{
  margin:0 0 22px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--blue);
  border-radius:14px; box-shadow:var(--shadow-card);
}
body .tnr-compra-ahora h2{ font-family:var(--font-head); font-weight:900; font-size:18px; margin:0 0 6px; color:var(--ink); }
body .tnr-compra-ahora p{ margin:0; font-size:15px; line-height:1.55; color:var(--ink-2); }
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{
  margin:0 0 22px; padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card);
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title{ font-family:var(--font-head); font-weight:900; font-size:18px; margin:0 0 8px; }
.woocommerce-order-received .woocommerce-customer-details .col2-set .col-1,
.woocommerce-order-received .woocommerce-customer-details .col2-set .col-2{ float:none; width:100%; }
.woocommerce-order-received .woocommerce-customer-details .col2-set .col-2{ margin-top:18px; }
.woocommerce-order-received .woocommerce-customer-details address{
  font-style:normal; font-size:14.5px; line-height:1.6; color:var(--ink-2); border:0; padding:0; margin:0;
}
.woocommerce-order-received .woocommerce-customer-details address p{ margin:4px 0 0; }
.woocommerce-order-received table.shop_table a{ color:var(--ink); }
.woocommerce-order-received table.shop_table tfoot td{ max-width:70%; }

/* ----- «Mi cuenta» (solo entrar): formulario con el mismo aspecto ----- */
.woocommerce-account .entry-content > .woocommerce{ max-width:460px; }
.woocommerce-account .entry-content > .woocommerce > h2{ font-family:var(--font-head); font-weight:900; font-size:20px; margin:0 0 14px; }
.woocommerce-account form.woocommerce-form-login{
  margin:0; padding:22px 22px 18px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-card);
}
.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme{ display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:500; margin:0 0 12px; }
.woocommerce-account form.woocommerce-form-login .lost_password{ margin:12px 0 0; font-size:13.5px; }
.woocommerce-account form.woocommerce-form-login .lost_password a{ color:var(--blue-dark); text-decoration:underline; }

/* ----- Carrito (el flujo de una bici no pasa por él, pero el icono de la cabecera lleva aquí) ----- */
.woocommerce-cart table.shop_table{
  width:100%; margin:0 0 24px; border:1px solid var(--line); border-radius:18px; border-collapse:separate; border-spacing:0;
  background:#fff; box-shadow:var(--shadow-card); overflow:hidden; font-size:15px;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{ border:0; border-top:1px solid var(--line-2); padding:14px 16px; vertical-align:middle; line-height:1.45; }
.woocommerce-cart table.shop_table thead th{
  border-top:0; background:var(--paper); font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--gray);
}
.woocommerce-cart table.shop_table td.product-name a{ color:var(--ink); font-weight:700; text-decoration:none; }
.woocommerce-cart table.shop_table td.product-thumbnail img{ width:64px; height:auto; border-radius:8px; }
.woocommerce-cart table.shop_table td.product-remove a.remove{ color:#b13a3a !important; font-size:22px; line-height:1; text-decoration:none; }
.woocommerce-cart table.shop_table td.product-subtotal{ font-weight:700; color:var(--ink); }
.woocommerce-cart table.shop_table td.actions{ background:var(--paper); }
.woocommerce-cart table.shop_table td.actions .button[disabled]{ opacity:.45; }
.woocommerce-cart .tnr-linea-talla, .woocommerce-checkout .tnr-linea-talla{ font-weight:500; color:var(--gray); white-space:nowrap; }
.woocommerce-cart .cart-collaterals{ width:100%; }
.woocommerce-cart .cart-collaterals .cart_totals{ float:none; width:100%; max-width:560px; margin-left:auto; }
.woocommerce-cart .cart_totals > h2{ font-family:var(--font-head); font-weight:900; font-size:20px; margin:0 0 12px; }
.woocommerce-cart .cart_totals table.shop_table{ margin-bottom:16px; box-shadow:var(--shadow-pop); }
.woocommerce-cart .cart_totals table.shop_table tr:first-child th,
.woocommerce-cart .cart_totals table.shop_table tr:first-child td{ border-top:0; }
.woocommerce-cart .cart_totals table.shop_table th{ width:32%; font-weight:600; color:var(--ink-2); vertical-align:top; }
.woocommerce-cart .cart_totals tr.order-total td strong{ font-family:var(--font-head); font-weight:900; font-size:22px; color:var(--blue-dark); }
.woocommerce-cart .cart_totals .includes_tax{ display:block; font-size:12px; font-weight:500; color:var(--gray); }
.woocommerce-cart ul#shipping_method{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.woocommerce-cart ul#shipping_method li{ margin:0; padding:0; display:flex; gap:9px; align-items:flex-start; text-indent:0; }
.woocommerce-cart ul#shipping_method li input[type=radio]{ flex:none; width:17px; height:17px; margin:3px 0 0; accent-color:var(--blue); }
.woocommerce-cart ul#shipping_method li label{ margin:0; font-weight:600; color:var(--ink); line-height:1.4; }
/* Carrito de UNA unidad de ocasión (clase del body, la pone functions.php): la dirección se pide en el checkout, y
   con una unidad única no pintan nada la columna «Cantidad» ni «Actualizar carrito». Un producto normal conserva
   cantidad editable, «Actualizar carrito» y la calculadora de envío. */
body.tnr-carrito-unidad.woocommerce-cart .woocommerce-shipping-destination,
body.tnr-carrito-unidad.woocommerce-cart .woocommerce-shipping-calculator{ display:none; }
body.tnr-carrito-unidad.woocommerce-cart table.cart th.product-quantity,
body.tnr-carrito-unidad.woocommerce-cart table.cart td.product-quantity,
body.tnr-carrito-unidad.woocommerce-cart table.cart button[name=update_cart]{ display:none !important; }
body.tnr-carrito-unidad.woocommerce-cart table.cart td.actions:not(:has(.coupon)){ display:none !important; }
/* …y en el resumen del checkout sobra el «× 1». */
body.tnr-carrito-unidad.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{ display:none; }
.woocommerce-cart .wc-proceed-to-checkout{ padding:0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block; width:100%; box-sizing:border-box; margin:0; text-align:center; background:var(--blue); color:#fff; border-radius:var(--radius-sm);
  font-family:var(--font-body); font-weight:700; font-size:16.5px; line-height:1.2; padding:17px 22px; box-shadow:0 6px 18px rgba(40,137,184,.28);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ background:var(--blue-dark); color:#fff; }
@media (max-width:768px){
  .woocommerce-cart table.shop_table_responsive tr{ display:block; }
  .woocommerce-cart table.shop_table_responsive tr td{ display:flex; justify-content:space-between; gap:14px; text-align:right; background:transparent !important; }
  .woocommerce-cart table.shop_table_responsive tr td::before{ float:none; flex:none; font-weight:700; color:var(--ink-2); text-align:left; }
  .woocommerce-cart table.shop_table_responsive tr td.product-remove{ justify-content:flex-end; border-top:0; padding-bottom:0; }
  .woocommerce-cart table.shop_table_responsive tr td.product-thumbnail{ display:none; }
  /* Una bici se compra de una en una: sin campo de cantidad visible, la fila «Cantidad» sobra. */
  .woocommerce-cart table.shop_table_responsive tr td.product-quantity:not(:has(input.qty:not([type=hidden]))){ display:none; }
  .woocommerce-cart table.shop_table_responsive tr td.actions{ display:block; }
  .woocommerce-cart table.shop_table_responsive tr td.actions .button{ width:100%; }
  .woocommerce-cart .cart_totals table.shop_table th{ width:auto; }
  .woocommerce-cart .cart_totals table.shop_table_responsive tr td ul#shipping_method{ text-align:left; }
}

/* ----- Revisión 2 ----- */
/* La talla no se separa de su punto: en pantallas estrechas va en línea propia y sin él. */
@media (max-width:560px){
  .woocommerce-cart .tnr-linea-talla, .woocommerce-checkout .tnr-linea-talla{ display:block; white-space:normal; }
  .woocommerce-cart .tnr-linea-talla__sep, .woocommerce-checkout .tnr-linea-talla__sep{ display:none; }
}
/* Página de pago: la fila «Entrega:» alinea etiqueta e importe arriba, con el «vía …» debajo; el botón, al ancho de la tabla. */
.woocommerce-order-pay #order_review table.shop_table tfoot tr{ flex-wrap:nowrap; align-items:flex-start; gap:12px; }
.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child{ align-items:baseline; }
.woocommerce-order-pay #order_review table.shop_table tfoot th{ flex:none; }
.woocommerce-order-pay #order_review table.shop_table tfoot td{ flex:1 1 0; min-width:0; }
.woocommerce-order-pay #order_review table.shop_table tfoot td small.shipped_via{ display:block; margin-top:2px; }
body.woocommerce-order-pay #payment div.form-row{ padding:0; margin:16px 0 0; }
body.woocommerce-order-pay #payment .woocommerce-privacy-policy-text{ margin:0 0 12px; }
body.woocommerce-order-pay #payment #place_order{ display:block; float:none; width:100%; box-sizing:border-box; }
/* Ficha: «Cómprala ya» es el único botón primario de la caja; «Enviar oferta» va de contorno. */
.reserve__body .tnr-oferta-form button[type=submit].button{
  background:#fff; color:var(--blue-dark); border:1.5px solid var(--blue); box-shadow:none;
}
.reserve__body .tnr-oferta-form button[type=submit].button:hover{ background:#eef7fb; color:var(--blue-deep); }
/* Listado: una bici reservada no ofrece acción: su «botón» es un estado apagado, sin flecha (la tarjeta sigue enlazando a la ficha). */
ul.products li.product.outofstock .card .card__cta,
ul.products li.product.outofstock .card:hover .card__cta{
  background:var(--paper); color:var(--gray); border:1px solid var(--line); box-shadow:none; transform:none; cursor:default;
}
ul.products li.product.outofstock .card .card__cta svg{ display:none; }

