/* ==========================================================================
   V2 · COMPRA — carrito lateral, carrito, pago y gracias (sólo ?vista=v2)
   --------------------------------------------------------------------------
   Carga DESPUÉS de v2.css (inc/portada-v2.php). Todo cuelga de `.rv-v2`: la
   tienda viva no lleva esa clase y no ve nada de esto.

   Marca: negro, magenta #D6006E, rubor #FCF1F6, Playfair + Jost, esquinas 2px.
   Lo único que levanta la voz en el pago es la tarjeta recomendada; todo lo
   demás se calla para que se lea el total y el botón.
   ========================================================================== */

/* -- comunes -------------------------------------------------------------- */
.rv-v2 .screen-reader-text:not(:focus):not(:active){
  position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;border:0
}
.rv-v2 .v2-wa-ico{width:18px;height:18px;fill:currentColor;flex-shrink:0}

/* -- carrito lateral ------------------------------------------------------ */
.rv-v2 .sidecart__tot.v2lat-ahorro{margin-bottom:6px}
.rv-v2 .sidecart__tot.v2lat-ahorro span{color:var(--magenta-osc)}
.rv-v2 .sidecart__tot.v2lat-ahorro b{font-size:.95rem;color:var(--magenta-osc)}
.rv-v2 .v2lat-pago{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;margin:12px 0 0;font-size:.74rem;color:var(--gris)}
.rv-v2 .v2lat-pago > span{display:inline-flex;align-items:center;gap:6px;margin-right:4px}
.rv-v2 .v2lat-pago img{height:19px;width:auto;border-radius:2px}
.rv-v2 .v2lat-pago svg,.rv-v2 .v2pagos svg,.rv-v2 .v2confia svg:not(.v2-wa-ico){width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}

/* -- carrito (página) ----------------------------------------------------- */
.rv-v2 .resumen .v2res-envio{margin:2px 0 16px}
.rv-v2 .resumen .v2envio{background:none;border:0;padding:0}
.rv-v2 .resumen .v2envio p{font-size:.84rem}
.rv-v2 .resumen .v2envio__barra{background:#fff;border:1px solid var(--gris-linea)}
.rv-v2 .resumen .v2res-envio__nota{margin:8px 0 14px;line-height:1.5}
.rv-v2 .v2pagos{text-align:center}
.rv-v2 .v2pagos p{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;font-size:.78rem;color:var(--gris)}
.rv-v2 .v2pagos__ico{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.rv-v2 .v2pagos__ico img{height:24px;width:auto;border-radius:2px}

/* -- pago: barra de pasos ------------------------------------------------- */
@media (max-width:600px){
  .rv-v2 .ck-pasos{flex-wrap:nowrap;gap:8px;padding-block:18px 20px}
  .rv-v2 .ck-pasos .paso:not(.paso--on){font-size:0;gap:0}
  .rv-v2 .ck-pasos .paso-sep{width:16px}
}

/* «¿Ya eres cliente?»: una línea discreta, no una franja con enlace azul. */
.rv-v2 .rv-avisos-checkout .woocommerce-form-login-toggle .woocommerce-info{
  background:none;border:0;padding:14px 0 0;margin:0;text-align:center;font-size:.84rem;color:var(--gris)
}
.rv-v2 .rv-avisos-checkout .woocommerce-form-login-toggle .woocommerce-info::before{display:none}
.rv-v2 .rv-avisos-checkout .woocommerce-form-login-toggle a{color:var(--negro);text-decoration:underline;text-underline-offset:3px;margin-left:4px}

/* -- pago: resumen plegable en el cel ------------------------------------- */
.rv-v2 .v2res-tog{display:none}
@media (max-width:900px){
  .rv-v2 .ck-res.v2res-js{padding:0;background:none;border-block:1px solid var(--gris-linea);width:100%;align-self:stretch;box-sizing:border-box}
  .rv-v2 .ck-res.v2res-js .v2res-tog{
    display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
    padding:16px 0;background:none;border:0;border-bottom:1px solid transparent;
    font:inherit;color:var(--negro);cursor:pointer;text-align:left
  }
  .rv-v2 .v2res-tog__txt{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gris-linea)}
  .rv-v2 .v2res-tog__txt::after{content:"";width:7px;height:7px;border:solid var(--negro);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
  .rv-v2 .ck-res.is-abierto .v2res-tog__txt::after{transform:rotate(-135deg) translateY(-2px)}
  .rv-v2 .v2res-tog__tot{font-family:var(--serif);font-size:1.2rem;font-weight:600}
  .rv-v2 .ck-res.v2res-js > h3{display:none}
  .rv-v2 .ck-res.v2res-js > .woocommerce-checkout-review-order-table{display:none;padding:4px 0 18px}
  .rv-v2 .ck-res.v2res-js.is-abierto > .woocommerce-checkout-review-order-table{display:block}
  .rv-v2 .ck-res.v2res-js.is-abierto .v2res-tog{border-bottom-color:var(--gris-linea)}
}
@media (prefers-reduced-motion:reduce){.rv-v2 .v2res-tog__txt::after{transition:none}}

/* -- pago: campos y errores ----------------------------------------------- */
.rv-v2 .woocommerce-checkout .woocommerce-additional-fields > h3{
  font-family:var(--sans);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;
  padding-bottom:13px;border-bottom:1px solid var(--gris-linea);margin:6px 0 22px
}
.rv-v2 .woocommerce-checkout .form-row .description{display:block;margin-top:7px;font-size:.78rem;line-height:1.5;color:var(--gris)}
.rv-v2 .woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.rv-v2 .woocommerce-checkout .form-row.woocommerce-invalid select{border-color:#B3261E}
.rv-v2 .woocommerce-checkout .form-row.woocommerce-invalid > label{color:#B3261E}
.rv-v2 .woocommerce-checkout .checkout-inline-error-message{margin:6px 0 0;font-size:.78rem;color:#B3261E}
.rv-v2 .woocommerce-NoticeGroup-checkout .woocommerce-error{
  background:none;border:0;border-left:2px solid #B3261E;border-radius:0;
  padding:4px 0 4px 34px;margin:0 0 28px;color:#7A1C16;font-size:.86rem;line-height:1.6
}

/* -- pago: envío ---------------------------------------------------------- */
/* Con un solo método Woo pinta un campo oculto y un texto suelto; la tarjeta
   V2 lo dice mejor. Si un día hay varios métodos (radios), vuelve el original. */
.rv-v2 .bloque .radio-lista:not(:has(input[type="radio"])){display:none}
.rv-v2 .bloque:has(.radio-lista input[type="radio"]) .v2envio-ck{display:none}
.rv-v2 .v2envio-ck{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;
  padding:4px 0 2px;border:0;background:none
}
.rv-v2 .v2envio-ck__ico svg{width:24px;height:24px;fill:none;stroke:var(--negro);stroke-width:1.4;display:block}
.rv-v2 .v2envio-ck__txt b{display:block;font-size:.92rem;font-weight:600}
.rv-v2 .v2envio-ck__txt small{display:block;margin-top:3px;font-size:.78rem;color:var(--gris);line-height:1.45}
.rv-v2 .v2envio-ck__precio{font-size:1rem;white-space:nowrap}
.rv-v2 .v2envio-ck__precio.es-gratis{color:var(--exito)}
.rv-v2 .v2zona{
  margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--gris-linea);
  font-size:.8rem;line-height:1.55;color:var(--gris)
}
.rv-v2 .v2zona b{color:var(--negro);font-weight:600}

/* -- pago: formas de pago ------------------------------------------------- */
.rv-v2 .woocommerce-checkout ul.wc_payment_methods > li.v2pago > label{align-items:center}
.rv-v2 .v2pago-nom{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px;row-gap:3px;flex:1;min-width:0;font-size:.92rem;color:var(--negro)}
.rv-v2 .v2pago-sub{flex-basis:100%;font-size:.78rem;color:var(--gris);line-height:1.4}
.rv-v2 .v2pago-reco{
  font-family:var(--serif);font-style:italic;font-size:.86rem;font-weight:400;
  color:var(--magenta);background:none;padding:0;line-height:1.3
}
.rv-v2 .woocommerce-checkout ul.wc_payment_methods > li.wc_payment_method:has(input:checked) .v2pago-sub{color:var(--negro-suave)}
.rv-v2 .woocommerce-checkout ul.wc_payment_methods > li.payment_method_bacs .payment_box{background:none;border:0;padding-left:0;padding-right:0}
.rv-v2 .v2bacs{margin-top:12px;padding-top:12px;border-top:1px solid var(--gris-linea)}
.rv-v2 .v2bacs > b{display:block;font-size:.82rem;margin-bottom:8px}
.rv-v2 .v2bacs ol{margin:0;padding:0;list-style:none;counter-reset:v2b;display:grid;gap:8px}
.rv-v2 .v2bacs li{counter-increment:v2b;display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:.84rem;line-height:1.45}
.rv-v2 .v2bacs li::before{
  content:counter(v2b);width:22px;display:block;
  font-family:var(--serif);font-size:1rem;line-height:1.3;color:var(--magenta)
}
.rv-v2 .v2bacs small{display:block;margin-top:10px;font-size:.76rem;color:var(--gris);line-height:1.5}

/* Total a pagar pegado al botón: con el resumen plegado, es lo que se lee. */
.rv-v2 .v2pagar-tot{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  margin:18px 0 12px;padding-top:16px;border-top:1px solid var(--gris-linea)
}
.rv-v2 .v2pagar-tot span{font-size:.86rem;color:var(--negro-suave)}
.rv-v2 .v2pagar-tot b{font-family:var(--serif);font-size:1.45rem;font-weight:600}
.rv-v2 .woocommerce-checkout .v2pagar-tot b .woocommerce-Price-amount{font:inherit}

/* -- pago: confianza bajo el botón ---------------------------------------- */
.rv-v2 .v2confia{list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--gris-linea);display:grid;gap:10px}
.rv-v2 .v2confia li{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;line-height:1.5;color:var(--gris)}
.rv-v2 .v2confia li svg{margin-top:2px;color:var(--negro)}
.rv-v2 .v2confia li .v2-wa-ico{width:15px;height:15px;color:#25D366}
.rv-v2 .v2confia a{color:var(--negro);text-decoration:underline;text-underline-offset:3px}

/* -- pago: cupón ---------------------------------------------------------- */
.rv-v2 .v2-cargando{opacity:.5;pointer-events:none}
.rv-v2 .v2-cupon-aviso .woocommerce-error,
.rv-v2 .v2-cupon-aviso .woocommerce-message{margin:-10px 0 16px;padding:10px 12px;font-size:.8rem;border-radius:2px;list-style:none}
.rv-v2 .v2-cupon-aviso .woocommerce-error{background:none;color:#7A1C16;border:0;padding:0}
.rv-v2 .v2-cupon-aviso .woocommerce-message{background:none;color:#155E3F;border:0;padding:0}
.rv-v2 .v2-cupon-aviso .woocommerce-error li{list-style:none}

/* -- gracias: transferencia en 3 pasos ------------------------------------ */
.rv-v2 .v2ty{list-style:none;margin:clamp(28px,4vw,40px) auto 0;padding:0;max-width:720px;counter-reset:v2ty}
.rv-v2 .v2ty__paso{
  counter-increment:v2ty;position:relative;padding:0 0 30px 58px;
  border-left:1px solid var(--gris-linea);margin-left:18px
}
.rv-v2 .v2ty__paso:last-child{border-left-color:transparent;padding-bottom:0}
.rv-v2 .v2ty__paso::before{
  content:counter(v2ty);position:absolute;left:-19px;top:-6px;width:38px;height:38px;
  display:grid;place-items:center;background:#fff;color:var(--magenta);font-family:var(--serif);font-size:1.6rem;font-style:italic
}
.rv-v2 .v2ty__t{font-family:var(--serif);font-size:1.3rem;font-weight:500;margin:0 0 12px;line-height:1.3}
.rv-v2 .v2ty__paso p{font-size:.9rem;line-height:1.6;color:var(--negro-suave);margin:0}
.rv-v2 .v2ty__paso p b{font-weight:600;color:var(--negro)}
.rv-v2 .v2ty__datos{background:none;padding:0;border-top:1px solid var(--negro)}
.rv-v2 .v2ty-dato{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:12px 0}
.rv-v2 .v2ty-dato{border-bottom:1px solid var(--gris-linea)}
.rv-v2 .v2ty-dato > span{font-size:.8rem;color:var(--gris)}
.rv-v2 .v2ty-dato > b{font-size:1rem;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.rv-v2 .v2ty-dato:first-child > b{font-family:var(--serif);font-size:1.35rem}
.rv-v2 .v2-copiar{
  font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.06em;
  padding:8px 14px;background:#fff;color:var(--negro);border:1px solid var(--negro);border-radius:2px;cursor:pointer
}
.rv-v2 .v2-copiar:hover{background:var(--negro);color:#fff}
.rv-v2 .v2-copiar:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}
.rv-v2 .v2-copiar[data-copiado]{border-color:var(--exito);color:var(--exito);background:#F2FAF6}
.rv-v2 .v2ty__wa{
  display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:14px 22px;
  background:var(--negro);color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.06em;border-radius:2px;text-decoration:none
}
.rv-v2 .v2ty__wa:hover{background:var(--magenta);color:#fff}
.rv-v2 .v2ty__wa:focus-visible{outline:2px solid var(--magenta);outline-offset:3px}
.rv-v2 .v2zona.mt3{max-width:720px;margin-inline:auto}
@media (max-width:560px){
  .rv-v2 .v2ty__paso{padding-left:34px;margin-left:16px}
  .rv-v2 .v2ty-dato{grid-template-columns:1fr auto;row-gap:2px}
  .rv-v2 .v2ty-dato > span{grid-column:1 / -1}
  .rv-v2 .v2ty__wa{width:100%;justify-content:center}
}

/*
 * En el cel el resumen del carrito iba PEGADO arriba (woo.css). Con ~560 px de
 * alto en una pantalla de 844 tapaba los renglones: medido el 2-oct, el enlace
 * «Eliminar» quedaba debajo del resumen y no se podía picar. En la V2 va
 * primero pero se desplaza con la página.
 */
@media (max-width:900px){
  .rv-v2 .cart-lay > aside.resumen{position:static;box-shadow:none}
}

/*
 * Criterio de Fer (2-oct): fino y editorial, sin rellenos rosas ni barras.
 * La forma de pago elegida se marca con filete negro, no con caja rosa; y en
 * el resumen del carrito el «te faltan $X» queda en texto, sin barra.
 */
.rv-v2 .woocommerce-checkout ul.wc_payment_methods > li.wc_payment_method:has(input:checked),
.rv-v2 .woocommerce-checkout ul.woocommerce-shipping-methods > li:has(input:checked){
  background:#fff;border-color:var(--negro);box-shadow:inset 0 0 0 1px var(--negro)
}
.rv-v2 .woocommerce-checkout ul.wc_payment_methods > li.wc_payment_method:focus-within{box-shadow:inset 0 0 0 1px var(--negro)}
.rv-v2 .resumen .v2envio__barra,
.rv-v2 .resumen .progreso .barra{display:none}
.rv-v2 .resumen .progreso{margin-top:4px}
