/* ============================================================
   MEDICAL RECOVERY — WooCommerce
   Cubre tanto el marcado clásico (.products li.product) como los
   bloques de producto, porque la tienda usa los dos según la página.
   ============================================================ */

/* ---------- Rejilla de productos ---------- */
.woocommerce ul.products,
.wc-block-grid__products,
.wp-block-woocommerce-product-template{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1.2rem;
  margin:0; padding:0; list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ content:none; }

.woocommerce ul.products li.product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template .wc-block-product{
  width:100%; margin:0; float:none; text-align:left;
  background:var(--mr-blanco);
  border:1px solid var(--mr-linea);
  border-radius:var(--mr-r-md);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .35s var(--mr-ease), box-shadow .35s var(--mr-ease), border-color .35s var(--mr-ease);
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wp-block-woocommerce-product-template .wc-block-product:hover{
  transform:translateY(-5px);
  box-shadow:var(--mr-sombra-md);
  border-color:var(--mr-linea-fuerte);
}

/* Imagen sobre panel azul: las fotos vienen con fondo blanco recortado */
.woocommerce ul.products li.product a img,
.wc-block-grid__product-image img,
.wp-block-woocommerce-product-template .wc-block-components-product-image img{
  margin:0;
  background:linear-gradient(160deg, #E9F4FA, var(--mr-panel));
  padding:1.5rem;
  aspect-ratio:4/3;
  object-fit:contain;
  mix-blend-mode:multiply;
  transition:transform .5s var(--mr-ease);
}
.woocommerce ul.products li.product:hover a img{ transform:scale(1.05); }

/* El título va dentro del enlace del producto: sin esto hereda el azul de los enlaces. */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product a:hover,
.wc-block-grid__product-link{ color:var(--mr-navy); text-decoration:none; }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{
  font-family:var(--wp--preset--font-family--texto);
  font-size:1.08rem; font-weight:600; line-height:1.25; letter-spacing:0;
  padding:1.2rem 1.3rem 0; margin:0;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price{
  font-family:var(--wp--preset--font-family--display);
  font-size:1.4rem; font-weight:600; color:var(--mr-navy);
  padding:.5rem 1.3rem 0; margin:0; display:block;
}
.woocommerce ul.products li.product .price del{ color:var(--mr-tinta-suave); font-size:1rem; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart .wp-block-button__link{
  display:flex; align-items:center; justify-content:center; text-align:center;
  margin:.9rem 1.3rem 1.4rem;
  min-height:46px; line-height:1.25; padding:.55rem 1rem;
  border-radius:999px; border:1.5px solid var(--mr-linea-fuerte);
  background:transparent; color:var(--mr-navy);
  font-weight:600; font-size:.95rem; text-align:center; box-shadow:none;
  transition:background-color .25s var(--mr-ease), color .25s var(--mr-ease), border-color .25s var(--mr-ease);
}
.woocommerce ul.products li.product .button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover{
  background:var(--mr-marca); border-color:var(--mr-marca); color:#fff; transform:none;
}
.woocommerce ul.products li.product .button.added::after{ display:none; }

/* Etiquetas de oferta y agotado */
.woocommerce span.onsale,
.wc-block-grid__product-onsale{
  position:absolute; top:.9rem; left:.9rem; right:auto;
  min-height:0; min-width:0; padding:.32rem .75rem; margin:0; line-height:1.4;
  background:var(--mr-marca); color:#fff; border-radius:999px;
  font-family:var(--wp--preset--font-family--texto);
  font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
}
.woocommerce ul.products li.product{ position:relative; }
.woocommerce .out-of-stock-label{
  background:var(--mr-tinta-suave); color:#fff;
}

/* ---------- Cabecera de la tienda ---------- */
.woocommerce .woocommerce-result-count{ color:var(--mr-tinta-suave); font-size:.92rem; }
.woocommerce .woocommerce-ordering select,
.woocommerce select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce textarea{
  min-height:50px; padding:.65rem 1rem;
  border:1px solid var(--mr-linea-fuerte); border-radius:var(--mr-r-sm);
  background:var(--mr-blanco); color:var(--mr-navy); font:inherit;
}

/* Paginación */
.woocommerce nav.woocommerce-pagination ul{ border:0; gap:.4rem; display:flex; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:46px; min-height:46px; display:grid; place-items:center;
  border-radius:50%; border:1px solid var(--mr-linea); background:var(--mr-blanco);
  color:var(--mr-navy); font-weight:600;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--mr-marca); border-color:var(--mr-marca); color:#fff;
}

/* ---------- Ficha de producto ---------- */
.woocommerce div.product{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .summary{ width:100%; float:none; margin:0; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells,
.woocommerce div.product .woocommerce-notices-wrapper{ grid-column:1 / -1; }

.woocommerce div.product .woocommerce-product-gallery__image img{
  border-radius:var(--mr-r-lg);
  background:linear-gradient(160deg, #E9F4FA, var(--mr-panel));
  padding:2rem;
  mix-blend-mode:multiply;
}
.woocommerce div.product .product_title{
  font-family:var(--wp--preset--font-family--display);
  font-size:clamp(1.9rem, 3.4vw, 2.6rem); line-height:1.1; letter-spacing:-.02em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--wp--preset--font-family--display);
  font-size:2rem; font-weight:600; color:var(--mr-navy);
}
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--mr-tinta-suave); }
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button{
  min-height:54px; padding:0 1.8rem; border-radius:999px;
  background:var(--mr-marca); color:#fff; font-weight:600; font-size:1.02rem;
  box-shadow:0 12px 26px -14px rgba(2,89,138,.9);
  transition:background-color .25s var(--mr-ease), transform .25s var(--mr-ease);
}
.woocommerce div.product form.cart .button:hover{ background:var(--mr-marca-profundo); transform:translateY(-2px); }
.woocommerce .quantity input.qty{
  min-height:54px; width:76px; text-align:center;
  border:1px solid var(--mr-linea-fuerte); border-radius:var(--mr-r-sm); background:var(--mr-blanco);
}

/* Renta mensual junto al precio de venta */
.mr-renta{
  display:flex; flex-direction:column; gap:.15rem;
  margin:0 0 1.2rem; padding:.9rem 1.1rem;
  background:var(--mr-cyan-lavado); border-radius:var(--mr-r-md);
  border-left:4px solid var(--mr-cyan); width:fit-content;
}
.mr-renta__etiqueta{
  font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--mr-marca-profundo);
}
.mr-renta__monto{
  font-family:var(--wp--preset--font-family--display);
  font-size:1.55rem; font-weight:600; line-height:1.15; color:var(--mr-navy);
}
.mr-renta__monto small{
  font-family:var(--wp--preset--font-family--texto);
  font-size:.85rem; font-weight:500; color:var(--mr-tinta-suave);
}
.mr-cotizar{ display:inline-flex; margin-top:1rem; }

/* Pestañas */
.woocommerce div.product .woocommerce-tabs ul.tabs{ padding:0; margin:0 0 1.5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-bottom-color:var(--mr-linea); }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:0; margin:0 1.5rem 0 0; padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ content:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:.8rem 0; font-weight:600; color:var(--mr-tinta-suave);
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--mr-navy); border-bottom-color:var(--mr-cyan);
}

/* ---------- Carrito y pago ---------- */
.woocommerce table.shop_table{
  border:1px solid var(--mr-linea); border-radius:var(--mr-r-md);
  border-collapse:separate; overflow:hidden; background:var(--mr-blanco);
}
.woocommerce table.shop_table th{
  background:var(--mr-panel); color:var(--mr-navy);
  font-family:var(--wp--preset--font-family--texto); font-weight:600;
}
.woocommerce table.shop_table td{ border-top:1px solid var(--mr-linea); }
.woocommerce-cart table.cart img{ width:76px; border-radius:var(--mr-r-sm); background:var(--mr-panel); }
.woocommerce .cart_totals h2,
.woocommerce-checkout h3{ font-size:1.4rem; }
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order{
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  min-height:54px; padding:.7rem 1.8rem; border-radius:999px; line-height:1.3;
  background:var(--mr-marca); color:#fff; font-weight:600;
  transition:background-color .25s var(--mr-ease), transform .25s var(--mr-ease);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{ background:var(--mr-marca-profundo); color:#fff; transform:translateY(-2px); }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--mr-blanco); border:1px solid var(--mr-linea);
  border-radius:var(--mr-r-lg); padding:1.8rem;
}
.woocommerce form .form-row label{ font-weight:600; font-size:.92rem; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection--single{
  min-height:50px; padding:.7rem 1rem;
  border:1px solid var(--mr-linea-fuerte); border-radius:var(--mr-r-sm); background:var(--mr-blanco);
}
.woocommerce #payment ul.payment_methods{ background:var(--mr-panel); border:0; border-radius:var(--mr-r-md); }
.woocommerce #payment div.form-row{ padding:1.2rem 0 0; }

/* Avisos */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-top:0; border-left:4px solid var(--mr-marca);
  background:var(--mr-cyan-lavado); color:var(--mr-navy);
  border-radius:var(--mr-r-sm); padding:1rem 1.2rem;
}
.woocommerce-error{ border-left-color:#C0392B; background:#FBEAE7; }
.woocommerce-message::before,
.woocommerce-info::before{ color:var(--mr-marca); }

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-woocommerce-product-template{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width:900px){
  .woocommerce div.product{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .woocommerce ul.products,
  .wc-block-grid__products,
  .wp-block-woocommerce-product-template{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .woocommerce ul.products li.product a img{ padding:1rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:1rem; padding:1rem 1rem 0; }
  .woocommerce ul.products li.product .price{ padding:.4rem 1rem 0; font-size:1.2rem; }
  .woocommerce ul.products li.product .button{ margin:.8rem 1rem 1.1rem; font-size:.9rem; padding:.55rem .7rem; }
}

/* ---------- Modo cotización ---------- */
/* Sin carrito, cotizar es la acción principal: va en azul lleno. */
.woocommerce ul.products li.product .button.mr-cotizar-listado{
  background:var(--mr-marca); border-color:var(--mr-marca); color:#fff;
}
.woocommerce ul.products li.product .button.mr-cotizar-listado:hover{
  background:var(--mr-marca-profundo); border-color:var(--mr-marca-profundo); color:#fff;
}
.woocommerce div.product .mr-cotizar{
  min-height:54px; padding:.85rem 1.8rem; font-size:1.02rem;
  box-shadow:0 12px 26px -14px rgba(2,89,138,.9);
}
.woocommerce div.product .cart,
.woocommerce div.product form.cart{ display:none; }
