/* ═══════════════════════════════════════════════════════════
   VICORSA — plantillas de tienda
   Estandariza catálogo, ficha, carrito, cuenta, búsqueda y 404
   con el mismo lenguaje visual de la portada.
   ═══════════════════════════════════════════════════════════ */

/* ── encabezado de página, igual en todas ─────────────────── */
.vic-cab{background:var(--vic-papel);border-bottom:1px solid var(--vic-linea);
  padding:126px 0 40px;margin-bottom:56px}
.vic-cab-in{max-width:1200px;margin:0 auto;padding:0 28px}
.vic-cab .vic-pill{margin-bottom:16px}
.vic-cab h1{font-size:clamp(1.9rem,3.6vw,2.9rem)!important;margin:0;letter-spacing:-.04em}
.vic-cab p{margin-top:12px;color:var(--vic-mute);font-size:1.02rem;max-width:60ch}
.vic-migas{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;
  color:var(--vic-mute);margin-bottom:14px}
.vic-migas a{color:var(--vic-mute);text-decoration:none}
.vic-migas a:hover{color:var(--vic-azul)}
.vic-migas svg{opacity:.5;flex:0 0 auto}

/* ── contenedor general de la tienda ──────────────────────── */
.woocommerce-page main,.woocommerce main{max-width:1200px;margin:0 auto;padding:0 28px 96px}
.woocommerce-page .vic-cab,.woocommerce .vic-cab{max-width:none;padding-left:0;padding-right:0}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{margin-bottom:22px}
.woocommerce .woocommerce-result-count{color:var(--vic-mute);font-size:14px}
.woocommerce .woocommerce-ordering select{border:1px solid var(--vic-linea);border-radius:999px;
  padding:9px 16px;font:inherit;font-size:14px;color:var(--vic-tinta);background:var(--vic-papel)}

/* ── CARRITO ──────────────────────────────────────────────── */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:32px;align-items:start}
.woocommerce-cart form.woocommerce-cart-form{margin:0!important;background:var(--vic-papel);
  border:1px solid var(--vic-linea);border-radius:32px;padding:8px 26px;overflow:hidden}
.woocommerce-cart table.shop_table{border:0!important;border-radius:0!important;margin:0!important;
  width:100%;border-collapse:collapse}
.woocommerce-cart table.shop_table th{border:0!important;border-bottom:1px solid var(--vic-linea)!important;
  padding:18px 8px!important;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--vic-mute);font-weight:700;text-align:left}
.woocommerce-cart table.shop_table td{border:0!important;border-bottom:1px solid var(--vic-linea)!important;
  padding:20px 8px!important;vertical-align:middle}
.woocommerce-cart table.shop_table tr:last-child td{border-bottom:0!important}
.woocommerce-cart td.product-thumbnail{width:84px}
.woocommerce-cart td.product-thumbnail img{width:72px!important;height:72px;border-radius:14px;
  background:var(--vic-soft);object-fit:contain;padding:16px}
.woocommerce-cart td.product-name a{color:var(--vic-tinta);font-weight:700;letter-spacing:-.02em;
  text-decoration:none;font-size:15px}
.woocommerce-cart td.product-name a:hover{color:var(--vic-azul)}
.vic-cart-min{display:block;font-size:12px;color:var(--vic-mute);margin-top:3px}
.woocommerce-cart td.product-price,.woocommerce-cart td.product-subtotal{
  font-variant-numeric:tabular-nums;color:var(--vic-tinta)}
.woocommerce-cart td.product-subtotal{font-weight:800}
.woocommerce-cart td.product-quantity input.qty{width:78px;padding:10px 8px;border:1px solid var(--vic-linea);
  border-radius:999px;text-align:center;font:inherit;font-weight:700;color:var(--vic-tinta)}
/* la equis roja de WooCommerce */
.woocommerce-cart a.remove{color:var(--vic-mute)!important;font-size:0!important;width:28px;height:28px;
  border-radius:50%;background:var(--vic-fondo);display:inline-flex;align-items:center;justify-content:center;
  position:relative;transition:background .2s,color .2s}
.woocommerce-cart a.remove::after{content:"";position:absolute;width:11px;height:11px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat}
.woocommerce-cart a.remove:hover{background:#FBEEDC;color:#B26B00!important}
/* botón de actualizar */
.woocommerce-cart td.actions{padding:20px 8px!important}
.woocommerce-cart td.actions .button{border-radius:999px!important;background:var(--vic-papel)!important;
  color:var(--vic-tinta)!important;border:1px solid var(--vic-linea)!important;font-weight:600;
  padding:12px 22px!important}
.woocommerce-cart td.actions .button:disabled{opacity:.45}
.woocommerce-cart td.actions .button:hover:not(:disabled){border-color:var(--vic-azul)!important;
  color:var(--vic-azul)!important}
/* totales */
.woocommerce-cart .cart-collaterals{width:100%!important;float:none!important;margin:0!important}
.woocommerce-cart .cart_totals{width:100%!important;float:none!important;background:var(--vic-papel);
  border:1px solid var(--vic-linea);border-radius:32px;padding:28px 26px;position:sticky;top:96px}
.woocommerce-cart .cart_totals h2{font-size:1.15rem!important;margin:0 0 18px!important}
.woocommerce-cart .cart_totals table{border:0!important;margin:0 0 20px!important;width:100%}
.woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{border:0!important;
  padding:12px 0!important;background:none!important;border-bottom:1px solid var(--vic-linea)!important}
.woocommerce-cart .cart_totals th{color:var(--vic-mute);font-weight:500;font-size:14px;text-align:left}
.woocommerce-cart .cart_totals td{text-align:right;font-weight:800;color:var(--vic-tinta);
  font-variant-numeric:tabular-nums}
.woocommerce-cart .cart_totals tr.order-total td{font-size:1.4rem;letter-spacing:-.04em}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{border-bottom:0!important}
.vic-wa-checkout{text-decoration:none!important}
.vic-wa-checkout:hover{text-decoration:none!important}
/* carrito vacío */
.cart-empty{text-align:center;font-size:1.1rem;color:var(--vic-mute)}
.return-to-shop{text-align:center;margin-top:20px}

/* ── CUENTA ───────────────────────────────────────────────── */
.woocommerce-account .woocommerce{max-width:900px;margin:0 auto}
.woocommerce-account form.login,.woocommerce-account form.register{
  border:1px solid var(--vic-linea)!important;border-radius:32px!important;padding:32px!important;
  background:var(--vic-papel)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text{border:1px solid var(--vic-linea);border-radius:14px;
  padding:13px 16px;font:inherit;color:var(--vic-tinta);background:var(--vic-papel)}
.woocommerce form .form-row label{font-size:13.5px;font-weight:600;color:var(--vic-tinta)}
.woocommerce .button,.woocommerce input.button,.woocommerce button.button{
  border-radius:999px!important;background:var(--vic-azul);color:#fff;font-weight:600;padding:13px 26px}
.woocommerce .button:hover{background:var(--vic-azul-osc);color:#fff}

/* ── avisos ───────────────────────────────────────────────── */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:20px!important;border:1px solid var(--vic-linea)!important;border-top:0!important;
  background:var(--vic-papel)!important;color:var(--vic-tinta)!important;
  padding:16px 20px 16px 52px!important;margin-bottom:22px!important;position:relative}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{
  left:20px!important;top:18px!important;font-size:16px!important}
.woocommerce-message{border-left:3px solid var(--vic-teal)!important}
.woocommerce-info{border-left:3px solid var(--vic-azul)!important}
.woocommerce-error{border-left:3px solid #B26B00!important}
.woocommerce-message .button,.woocommerce-info .button{float:right;padding:8px 18px!important;font-size:13px}

/* ── búsqueda y 404 ───────────────────────────────────────── */
.search-results main,.error404 main{max-width:1200px;margin:0 auto;padding:0 28px 96px}
.error404 .wp-block-query-title,.search .wp-block-query-title{font-size:2rem!important}

/* ── paginación ───────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul{border:0!important;gap:8px;display:flex;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0!important}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--vic-linea);border-radius:999px;
  min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:var(--vic-papel);color:var(--vic-tinta);font-weight:600;font-size:14px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--vic-azul);color:#fff;
  border-color:var(--vic-azul)}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--vic-azul);color:var(--vic-azul)}

@media(max-width:900px){
  
  .woocommerce-cart .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .cart_totals{position:static}
  .vic-cab{padding:104px 0 30px;margin-bottom:34px}
}
@media(max-width:600px){
  .woocommerce-cart form.woocommerce-cart-form{padding:4px 14px;border-radius:24px}
  .woocommerce-cart table.shop_table th{display:none}
  .woocommerce-cart table.shop_table td{padding:12px 4px!important;display:block;text-align:left}
  .woocommerce-cart table.shop_table tr{display:grid;grid-template-columns:84px 1fr auto;
    gap:0 12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--vic-linea)}
  .woocommerce-cart td.product-remove{grid-column:3;grid-row:1}
  .woocommerce-cart td.product-thumbnail{grid-column:1;grid-row:1/3}
  .woocommerce-cart td.product-name{grid-column:2;grid-row:1}
  .woocommerce-cart td.product-price{display:none!important}
  .woocommerce-cart td.product-quantity{grid-column:2;grid-row:2}
  .woocommerce-cart td.product-subtotal{grid-column:3;grid-row:2;text-align:right}
  .woocommerce-cart td.actions{grid-column:1/-1;display:block}
}

/* ── el título de la página duplica mi encabezado ──────────── */
.woocommerce-cart .wp-block-post-title,
.woocommerce-account .wp-block-post-title,
.woocommerce-shop .wp-block-post-title,
.post-type-archive-product .wp-block-post-title{display:none!important}

/* ── WooCommerce usa floats y rompen la rejilla del carrito ── */
.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
.woocommerce-cart .woocommerce > .cart-collaterals,
.woocommerce-cart .cart-collaterals > .cart_totals{
  float:none!important;width:auto!important;max-width:none!important}
.woocommerce-cart .woocommerce::after,
.woocommerce-cart .woocommerce::before{display:none!important}
.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)!important}
.woocommerce-cart table.shop_table{table-layout:auto;width:100%!important}
.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1/-1}
/* el encabezado debe abarcar las dos columnas */
.woocommerce-cart .woocommerce > .vic-cab{grid-column:1/-1;margin:-96px 0 34px;
  border-radius:0;padding-top:126px}

/* el encabezado dentro del contenido, no como banda suelta */
.entry-content > .vic-cab,.woocommerce > .vic-cab{
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}

/* ── el encabezado debe ir de borde a borde ────────────────── */
.woocommerce-cart .woocommerce > .vic-cab,
.entry-content > .vic-cab{
  position:relative;left:50%;right:50%;margin-left:-50vw!important;margin-right:-50vw!important;
  width:100vw!important;max-width:100vw!important;margin-top:0!important;margin-bottom:48px!important;
  padding-top:126px;padding-bottom:40px}
/* que el contenido de la tienda no quede encajonado */
.woocommerce-cart .entry-content,
.woocommerce-account .entry-content,
.woocommerce-shop .entry-content{max-width:1200px!important;width:100%}
.woocommerce-cart .woocommerce{max-width:1200px;margin:0 auto;width:100%}

/* ── el nombre se partía en cinco renglones ────────────────── */
.woocommerce-cart td.product-name{min-width:220px}
.woocommerce-cart table.shop_table{table-layout:auto}
.woocommerce-cart th.product-name{width:44%}
.woocommerce-cart th.product-price,.woocommerce-cart td.product-price{white-space:nowrap}
.woocommerce-cart th.product-subtotal,.woocommerce-cart td.product-subtotal{white-space:nowrap}

/* ── migas de pan visibles ─────────────────────────────────── */
.vic-cab .vic-migas{margin-bottom:16px}
.vic-cab .vic-migas span{color:var(--vic-tinta);font-weight:600}

/* En una rejilla los hijos no bajan de su ancho de contenido
   (min-width:auto). Sin esto la tabla se sale de su columna. */
.woocommerce-cart .woocommerce > *{min-width:0}
.woocommerce-cart form.woocommerce-cart-form{overflow-x:auto}
.woocommerce-cart table.shop_table{min-width:520px}
.woocommerce-cart .woocommerce{gap:24px;align-items:start}
.woocommerce-cart td.product-thumbnail{padding-right:14px!important}
.woocommerce-cart td.product-name{padding-left:0!important}

/* ── carrito en UNA columna ────────────────────────────────
   Pelear con los floats de WooCommerce en dos columnas dejaba
   la tabla saliéndose de su celda. Con una columna el ancho es
   el del contenedor y no hay nada que desbordar. */
.woocommerce-cart .woocommerce{display:block!important}
.woocommerce-cart form.woocommerce-cart-form{margin-bottom:24px!important;
  padding:8px 26px!important;overflow-x:auto}
.woocommerce-cart table.shop_table{min-width:0!important;width:100%!important}
.woocommerce-cart .cart-collaterals{width:100%!important;max-width:520px;margin-left:auto!important}
.woocommerce-cart .cart_totals{width:100%!important;position:static}
.woocommerce-cart .cart_totals table{width:100%!important;table-layout:fixed}
.woocommerce-cart .cart_totals th{width:50%}
.woocommerce-cart .cart_totals td{width:50%;overflow-wrap:anywhere}


/* migas de WooCommerce duplicadas */
.single-product .woocommerce-breadcrumb{display:none!important}
/* el aspect-ratio forzaba el ancho de toda la fila */
.single-product .woocommerce-product-gallery{aspect-ratio:auto;min-height:360px}

/* ═══ FICHA DE PRODUCTO (plantilla de BLOQUES) ═══════════════
   WooCommerce moderno arma la ficha con wp-block-columns, no
   con el marcado clásico. Todo se estiliza sobre esos bloques. */
.single-product .vic-migas{max-width:1200px;margin:118px auto 22px;padding:0 28px}
.single-product main > .wp-block-columns{max-width:1200px;margin:0 auto 40px;padding:0 28px;
  gap:48px!important;align-items:flex-start}
.single-product main > .wp-block-columns > .wp-block-column:first-child{flex-basis:46%!important}
.single-product main > .wp-block-columns > .wp-block-column:last-child{flex-basis:54%!important;min-width:0}

/* galería: tarjeta con el emblema como marcador, no a 600px */
.wp-block-woocommerce-product-image-gallery{background:var(--vic-soft);border:1px solid var(--vic-linea);
  border-radius:32px;overflow:hidden;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.woocommerce-product-gallery{width:100%!important;margin:0!important;float:none!important;
  display:flex;align-items:center;justify-content:center}
.woocommerce-product-gallery__wrapper{margin:0;display:flex;align-items:center;justify-content:center;width:100%}
.woocommerce-product-gallery img{width:30%!important;max-width:160px;height:auto!important;
  opacity:.2;object-fit:contain;margin:0 auto}
.woocommerce-product-gallery__trigger{display:none!important}

/* título y precio */
.single-product .wp-block-post-title{font-size:clamp(1.7rem,3vw,2.4rem)!important;
  margin:0 0 14px!important;letter-spacing:-.04em;line-height:1.1}
.single-product .wc-block-components-product-price{font-size:2rem!important;font-weight:800!important;
  color:var(--vic-tinta)!important;letter-spacing:-.045em;display:block;margin-bottom:2px}
.single-product .wc-block-components-product-price .woocommerce-Price-amount{color:var(--vic-tinta)}
.single-product .vic-por-pieza{font-size:13px;color:var(--vic-mute);margin:0 0 18px}

/* botón de añadir */
.single-product .wp-block-add-to-cart-form,.single-product form.cart{margin:22px 0 0!important;
  display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.single-product form.cart .quantity input.qty{width:92px;padding:13px 12px;border:1px solid var(--vic-linea);
  border-radius:999px;text-align:center;font:inherit;font-weight:700;color:var(--vic-tinta);background:var(--vic-papel)}
.single-product form.cart button.button,
.single-product .wc-block-components-product-button__button{border-radius:999px!important;
  background:var(--vic-azul)!important;color:#fff!important;font-weight:600!important;
  padding:14px 30px!important;border:0!important;flex:1;max-width:300px}
.single-product form.cart button.button:hover{background:var(--vic-azul-osc)!important}

/* datos y aviso legal */
.single-product .vic-datos{list-style:none;margin:18px 0;padding:16px 0;display:flex;flex-wrap:wrap;
  gap:12px 32px;border-top:1px solid var(--vic-linea);border-bottom:1px solid var(--vic-linea)}
.single-product .vic-legal{margin-top:26px}
.single-product .stock{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  font-size:12.5px;font-weight:700;background:#DFF6F0;color:var(--vic-teal-osc);margin:0 0 6px!important}
.single-product .stock::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.single-product .stock.out-of-stock{background:#FBEEDC;color:#B26B00}

/* descripción, pestañas y relacionados a todo lo ancho */
.single-product .woocommerce-tabs,.single-product .related,.single-product .upsells,
.single-product .wp-block-post-content{max-width:1200px;margin-left:auto;margin-right:auto;padding:0 28px}
.single-product .woocommerce-breadcrumb{display:none!important}

@media(max-width:900px){
  .single-product main > .wp-block-columns{flex-direction:column;gap:26px!important}
  .single-product main > .wp-block-columns > .wp-block-column{flex-basis:100%!important}
  .single-product .vic-migas{margin-top:100px}
}
/* "Descripción" salía dos veces: pestaña y encabezado */
.single-product .woocommerce-Tabs-panel--description > h2:first-child{display:none}
/* metadatos del producto en línea y discretos */
.single-product .product_meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:22px!important;
  padding-top:18px;border-top:1px solid var(--vic-linea);font-size:12.5px;color:var(--vic-mute)}
.single-product .product_meta > span{display:block}

/* el marcador de WooCommerce salía a 530px y desbordaba la rejilla */
img.woocommerce-placeholder{max-width:100%!important;width:100%!important;height:auto!important;
  object-fit:contain}
.woocommerce ul.products li.product .vic-pr-img img.woocommerce-placeholder{
  width:38%!important;max-width:74px!important;opacity:.16}
.woocommerce ul.products li.product img{max-width:100%}

/* ── catálogo con las tarjetas de la portada ───────────────── */
.vic-catalogo{padding-bottom:96px}
.vic-catalogo-in{max-width:1200px;margin:0 auto;padding:0 28px}
.vic-conteo{color:var(--vic-mute);font-size:14px;margin-bottom:22px}
.vic-pag{display:flex;justify-content:center;gap:8px;margin-top:48px}
.vic-pag .page-numbers{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--vic-linea);border-radius:999px;background:var(--vic-papel);
  color:var(--vic-tinta);font-weight:600;font-size:14px;text-decoration:none}
.vic-pag .page-numbers.current{background:var(--vic-azul);color:#fff;border-color:var(--vic-azul)}
.vic-pag a.page-numbers:hover{border-color:var(--vic-azul);color:var(--vic-azul)}
.vic-vacio-cat{text-align:center;padding:60px 20px;color:var(--vic-mute)}
.vic-vacio-cat .btn{display:inline-block;margin-top:18px;padding:13px 24px;border-radius:999px;
  background:var(--vic-teal);color:#04241E;font-weight:700;text-decoration:none}

/* ═══ MÓVIL DE VERDAD (≤600px) ═══════════════════════════════
   La tabla del carrito no cabe: se convierte en tarjetas
   apiladas y los totales dejan de ser tabla. */
@media(max-width:600px){
  .vic-cab{padding:96px 0 26px!important;margin-bottom:26px!important}
  .vic-cab h1{font-size:1.6rem!important}
  .vic-cab p{font-size:14px}
  .vic-cab-in,.vic-catalogo-in{padding:0 16px}
  .vic-migas{font-size:12px;gap:6px}

  /* ── carrito: la tabla pasa a tarjetas ── */
  .woocommerce-cart form.woocommerce-cart-form{padding:0!important;border:0!important;
    background:none!important;overflow:visible!important}
  .woocommerce-cart table.shop_table{min-width:0!important;display:block;width:100%!important}
  .woocommerce-cart table.shop_table thead{display:none!important}
  .woocommerce-cart table.shop_table tbody{display:block}
  .woocommerce-cart table.shop_table tr.cart_item{display:grid!important;
    grid-template-columns:64px minmax(0,1fr);gap:6px 12px;align-items:center;position:relative;
    background:var(--vic-papel);border:1px solid var(--vic-linea);border-radius:20px;
    padding:14px!important;margin-bottom:12px}
  .woocommerce-cart table.shop_table tr.cart_item td{display:block;border:0!important;
    padding:0!important;width:auto!important}
  .woocommerce-cart td.product-thumbnail{grid-column:1;grid-row:1/4;align-self:start}
  .woocommerce-cart td.product-thumbnail img{width:64px!important;height:64px;padding:12px}
  .woocommerce-cart td.product-name{grid-column:2;grid-row:1;font-size:14px;padding-right:30px!important}
  .woocommerce-cart td.product-name a{font-size:14px}
  .woocommerce-cart td.product-remove{position:absolute;top:10px;right:10px;z-index:2}
  .woocommerce-cart td.product-price{grid-column:2;grid-row:2;font-size:13px;color:var(--vic-mute)}
  .woocommerce-cart td.product-quantity{grid-column:2;grid-row:2;display:flex!important;
    align-items:center;gap:10px}
  .woocommerce-cart td.product-quantity::after{content:"piezas";font-size:12px;color:var(--vic-mute)}
  .woocommerce-cart td.product-quantity input.qty{width:70px;padding:8px}
  .woocommerce-cart td.product-subtotal{grid-column:2;grid-row:3;text-align:right;
    font-size:16px;white-space:nowrap;font-weight:800}
  /* ocultar etiquetas "Producto:" "Cantidad:" que mete WooCommerce responsive */
  .woocommerce-cart table.shop_table td::before{display:none!important}
  .woocommerce-cart tr:not(.cart_item){display:block;border:0!important}
  .woocommerce-cart td.actions{display:block!important;padding:0 0 4px!important;text-align:right}
  .woocommerce-cart td.actions .button{width:auto;font-size:13px;padding:9px 16px!important;
    background:transparent!important;border:1px solid var(--vic-linea)!important}
  .woocommerce-cart tr:not(.cart_item){background:none!important;border:0!important;padding:0!important}

  /* ── totales: dejar de ser tabla ── */
  .woocommerce-cart .cart-collaterals{max-width:none!important;margin-top:20px!important}
  .woocommerce-cart .cart_totals{padding:22px 18px;border-radius:24px}
  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals tbody{display:block!important;table-layout:auto!important;width:100%!important}
  .woocommerce-cart .cart_totals tr{display:flex!important;justify-content:space-between;
    align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--vic-linea)}
  .woocommerce-cart .cart_totals tr:last-child{border-bottom:0}
  .woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{display:block!important;
    width:auto!important;padding:0!important;border:0!important;white-space:nowrap!important;
    text-align:right;overflow-wrap:normal!important}
  .woocommerce-cart .cart_totals th{text-align:left;flex:0 0 auto}
  .woocommerce-cart .cart_totals tr.order-total td{font-size:1.25rem}
  .vic-wa-checkout{font-size:14px!important;padding:14px 16px!important;white-space:normal;
    line-height:1.3;text-align:center}

  /* ── ficha ── */
  .single-product .vic-migas{margin:96px auto 16px;padding:0 16px}
  .single-product main > .wp-block-columns{padding:0 16px;gap:20px!important}
  .single-product .vic-datos{gap:10px 20px}
  .single-product .wp-block-post-title{font-size:1.5rem!important}
  .single-product .wc-block-components-product-price{font-size:1.6rem!important}
  .single-product form.cart{flex-wrap:wrap}
  .single-product form.cart button.button{max-width:none;width:100%;flex:1 1 100%}
}
@media(max-width:600px){
  /* el nombre y el botón de WhatsApp se salían de su caja */
  .woocommerce-cart td.product-name{overflow-wrap:anywhere}
  .woocommerce-cart td.product-name a{display:block;overflow-wrap:anywhere}
  .vic-wa-checkout{width:100%;box-sizing:border-box;overflow-wrap:anywhere}
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout{padding:0!important}
  .woocommerce-cart td.product-remove a.remove{width:26px;height:26px}
}

/* ── los botones de tarjeta y los marcadores se salían ─────── */
.woocommerce ul.products li.product a.button{box-sizing:border-box!important;width:100%!important;
  max-width:100%!important;margin-left:0!important;margin-right:0!important;overflow-wrap:anywhere}
.related ul.products li.product img,.upsells ul.products li.product img,
.woocommerce ul.products li.product img.woocommerce-placeholder{
  max-width:100%!important;box-sizing:border-box}
.related .vic-pr-img,.upsells .vic-pr-img{overflow:hidden}
.woocommerce-cart td.product-name{max-width:100%;box-sizing:border-box}
@media(max-width:600px){
  .woocommerce ul.products{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .woocommerce ul.products li.product .vic-pr-txt{padding:12px!important}
  .woocommerce ul.products li.product a.button{font-size:12.5px!important;padding:9px 6px!important}
}

/* el mini-carrito de bloques está oculto pero medía 360px */
.wc-block-mini-cart,.wp-block-woocommerce-mini-cart{display:none!important}
/* los relacionados usan el marcado de bloques: acotar la imagen */
/* NO poner width:auto aquí: pisaba el tope de arriba y el marcador
   se iba a 436px dentro de una caja de 303px. */
.related .wc-block-grid__product-image,.upsells .wc-block-grid__product-image{
  background:var(--vic-soft);border-radius:16px;overflow:hidden;aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center}
.related .wc-block-grid__product-image img,.upsells .wc-block-grid__product-image img{
  width:34%!important;max-width:70px!important;opacity:.18}

/* ── TOPE ÚNICO para el marcador de producto ───────────────
   Aparece en el catálogo, en relacionados y en el carrito, y
   cada contexto usa un marcado distinto. Una sola regla global. */
img.woocommerce-placeholder{max-width:100%!important;height:auto!important;
  box-sizing:border-box!important;object-fit:contain!important}
/* en tarjeta: chiquito y tenue */
.vic-pr-img img.woocommerce-placeholder{width:38%!important;max-width:74px!important;opacity:.16}
/* en relacionados (marcado de bloques, el padre no tiene clase) */
.related img.woocommerce-placeholder,.upsells img.woocommerce-placeholder{
  width:34%!important;max-width:80px!important;opacity:.18;display:block;margin:0 auto}
.related a,.upsells a{display:block;max-width:100%;overflow:hidden}
/* mini-carrito de bloques: fuera, no lo usamos */
.wc-block-mini-cart,.wp-block-woocommerce-mini-cart,
.wc-block-mini-cart__button,.wc-block-mini-cart__badge{display:none!important;width:0!important}
@media(max-width:600px){
  /* la equis quedaba encima de "mínimo 10 pz" */
  .woocommerce-cart td.product-remove{top:8px;right:8px}
  .woocommerce-cart td.product-name{padding-right:34px!important}
  .woocommerce-cart td.product-name .vic-cart-min{padding-right:6px}
}
@media(max-width:600px){
  .woocommerce-cart .vic-cart-min{display:block;padding-right:0;margin-top:2px}
  .woocommerce-cart td.product-name a{padding-right:6px}
}
@media(max-width:600px){
  .woocommerce-cart td.product-name{min-width:0;max-width:100%;overflow:hidden}
  .woocommerce-cart td.product-name a{max-width:100%;display:block}
}
/* el botón de WhatsApp se salía 48px de la tarjeta de totales */
.woocommerce-cart .wc-proceed-to-checkout{padding:0!important;margin:0!important}
.woocommerce-cart .vic-wa-checkout{box-sizing:border-box!important;width:100%!important;
  max-width:100%!important;margin:0!important}
