/* ============================================================
   PLS Pharma — WooCommerce (catálogo + ficha de producto)
   Catálogo informativo: sin venta en línea todavía, imágenes y
   precios pendientes del cliente. La presentación asume ese estado.
   ============================================================ */

/* ------------------------------------------------------------
   Catálogo (Tienda)
   ------------------------------------------------------------ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff; border:1px solid var(--pls-line);
  border-radius:var(--pls-radius);
  overflow:hidden; box-shadow:var(--pls-shadow-sm);
  padding-bottom:1.15rem; position:relative;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:var(--pls-shadow);
  border-color:var(--pls-blue-tint-2);
}

/* Marco de la imagen: fondo tintado con arco superior, para que una foto
   sobre blanco (o el placeholder) tenga separación y carácter. */
.woocommerce ul.products li.product .woo-entry-image,
.woocommerce ul.products li.product .woocommerce-loop-product__link{
  display:block; background:#fff;
  border-radius:90px 90px 14px 14px;
  padding:1.6rem 1.4rem 1.3rem; margin:0 0 1rem;
  overflow:hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link{ padding:0; background:none; }
/* OceanWP duplica la imagen (una suelta + otra dentro de la lista): ocultar la copia. */
.woocommerce ul.products li.product .woo-entry-inner .image-wrap{ display:none; }
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .woo-entry-image img{
  width:100%; aspect-ratio:1/1; object-fit:contain;
  margin:0; background:none; border-radius:76px 76px 6px 6px;
  mix-blend-mode:multiply; /* funde el blanco de las fotos de caja con el tinte */
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woo-entry-title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  font-family:var(--pls-sans); font-size:1.18rem; line-height:1.25;
  color:var(--pls-ink); padding:0 1.15rem; font-weight:700; margin:0;
  min-height:calc(1.18rem * 1.25 * 2); /* reserva 2 líneas para nivelar las tarjetas */
}

/* OceanWP mete slots que aquí sobran: el rating y el hueco de precio vacío. */
.woocommerce ul.products li.product .woo-entry-inner .rating,
.woocommerce ul.products li.product .woo-entry-inner .price-wrap:empty{ display:none; }

/* Descripción corta como subtítulo (OceanWP ya la coloca tras el título). */
.woocommerce ul.products li.product .woo-entry-inner .woo-desc{
  padding:.3rem 1.15rem 0; margin:0;
  font-family:var(--pls-sans); font-size:1.3rem; line-height:1.5; color:var(--pls-body);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  min-height:calc(1.1rem * 1.5 * 3); /* reserva 3 líneas para nivelar las tarjetas */
}
.woocommerce ul.products li.product .woo-entry-inner .woo-desc p{ margin:0; }

/* Marca (etiqueta roja, texto blanco) — reemplaza la línea/categoría azul */
.woocommerce ul.products li.product .woo-entry-inner .pls-marca{
  list-style:none; padding:.15rem 1.15rem 0; margin:0 0 .2rem;
}
.woocommerce ul.products li.product .woo-entry-inner .pls-marca span{
  display:inline-block; vertical-align:middle;
  font-family:var(--pls-sans); font-weight:700; font-size:.7rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--pls-white); background:var(--pls-red);
  padding:.34em .72em; border-radius:5px; line-height:1.1;
}

/* Presentación (bajo la descripción corta) */
.woocommerce ul.products li.product .woo-entry-inner .pls-pres{
  list-style:none; padding:.35rem 1.15rem 0; margin:.2rem 0 10px;
  font-family:var(--pls-sans); font-size:.95rem; line-height:1.4;
  font-weight:600; color:var(--pls-muted);
  text-transform:uppercase; letter-spacing:.06em;
}
.woocommerce ul.products li.product .woo-entry-inner .category{
  padding:0 1.15rem; margin:.1rem 0 .15rem;
}
.woocommerce ul.products li.product .woo-entry-inner .category a{
  font-family:var(--pls-sans); font-size:.68rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--pls-blue); text-decoration:none;
}

/* Subtítulo (principio activo / presentación) */
.pls-loop-sub{
  display:block; padding:.3rem 1.15rem 0; margin:0;
  font-family:var(--pls-sans); font-size:.82rem; line-height:1.45;
  color:var(--pls-muted);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* Sin precio: no dejar hueco vacío */
.woocommerce ul.products li.product .price{
  padding:0 1.15rem; color:var(--pls-body); font-weight:600; margin:.35rem 0 0;
}
.woocommerce ul.products li.product .price:empty{ display:none; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

/* Etiqueta de condición de venta en la esquina de la tarjeta */
.pls-disp{
  position:absolute; right:0; top:1.1rem; z-index:3;
  font-family:var(--pls-sans); font-weight:700; font-size:.62rem; letter-spacing:.08em;
  color:#fff; padding:.45em .95em; border-radius:8px 0 0 8px;
  box-shadow:var(--pls-shadow-sm); text-transform:uppercase;
}
.pls-disp--receta-medica{ background:var(--pls-green); }
.pls-disp--otc-venta-libre,.pls-disp--venta-libre{ background:var(--pls-blue); }
.pls-disp--consultar{ background:var(--pls-navy); }

/* Botón de la tarjeta */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  display:inline-flex; align-items:center; justify-content:center;
  margin:1rem 1.15rem 0; border-radius:var(--pls-radius-pill);
  background:var(--pls-blue); color:#fff; font-weight:600; font-family:var(--pls-sans);
  border:2px solid var(--pls-blue); transition:.2s; padding:.62em 1.3em;
}
.woocommerce ul.products li.product .button:hover{ background:var(--pls-blue-dark); border-color:var(--pls-blue-dark); }
.woocommerce ul.products li.product .pls-loop-btn--info{
  background:#fff; color:var(--pls-blue-dark); border-color:var(--pls-blue);
}
.woocommerce ul.products li.product .pls-loop-btn--info:hover{ background:var(--pls-blue); color:#fff; }

/* === Ajuste a la referencia: alineación izquierda, condición como rótulo, botones fantasma === */

/* Todo el texto de la tarjeta a la izquierda (la referencia lo está). */
.woocommerce ul.products li.product .woo-entry-inner{ text-align:left; }

/* La pestaña de condición se reemplaza por un rótulo dentro del cuerpo. */
.woocommerce ul.products li.product .pls-disp{ display:none; }

/* Condición de venta: rótulo en cursiva sobre un filo de color, a la derecha. */
.woocommerce ul.products li.product .woo-entry-inner .pls-cond{
  list-style:none; margin:.2rem 1.15rem .55rem; padding:0;
  text-align:right; line-height:1; border-bottom:1px solid var(--pls-line);
}
.woocommerce ul.products li.product .woo-entry-inner .pls-cond span{
  display:inline-block; margin-bottom:-1px; padding:0 0 .5rem;
  font-family:var(--pls-sans); font-style:italic; font-weight:600;
  font-size:.72rem; letter-spacing:.03em; text-transform:uppercase;
  border-bottom:3px solid currentColor;
}
.woocommerce ul.products li.product .pls-cond--receta-medica span{ color:var(--pls-green); }
.woocommerce ul.products li.product .pls-cond--otc-venta-libre span,
.woocommerce ul.products li.product .pls-cond--venta-libre span{ color:var(--pls-blue); }
.woocommerce ul.products li.product .pls-cond--consultar span{ color:var(--pls-navy); }

/* Botones: fila con botón fantasma (flex) + flecha redonda. */
.woocommerce ul.products li.product .woo-entry-inner .btn-wrap{ padding:0; }
.woocommerce ul.products li.product .pls-loop-actions{
  display:flex; align-items:center; gap:.4rem; margin:1rem 1.15rem 15px 0;
}
/* Alinear el botón con el texto de la tarjeta y pegar el círculo al botón */
.woocommerce ul.products li.product .pls-loop-actions .pls-btn,
.woocommerce ul.products li.product .pls-loop-actions .button,
.woocommerce ul.products li.product .pls-loop-actions .pls-loop-arrow{ margin:0 !important; }
.woocommerce ul.products li.product .pls-loop-actions .button{
  flex:1 1 auto; margin:0; background:#fff; font-weight:600;
  white-space:nowrap; font-size:12px; letter-spacing:0; padding:.62em .7em;
}
.woocommerce ul.products li.product .pls-loop--info .button{
  color:var(--pls-blue-dark); border-color:var(--pls-blue);
}
.woocommerce ul.products li.product .pls-loop--info .button:hover{
  background:var(--pls-blue); color:#fff; border-color:var(--pls-blue);
}
.woocommerce ul.products li.product .pls-loop--libre .button{
  color:var(--pls-green-dark); border-color:var(--pls-green);
}
.woocommerce ul.products li.product .pls-loop--libre .button:hover{
  background:var(--pls-green); color:#fff; border-color:var(--pls-green);
}
.woocommerce ul.products li.product .pls-loop-arrow{
  flex:0 0 auto; width:2.6em; height:2.6em; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:2px solid; background:#fff; transition:.2s ease; text-decoration:none;
}
.woocommerce ul.products li.product .pls-loop-arrow svg{ width:1.05em; height:1.05em; fill:currentColor; }
.woocommerce ul.products li.product .pls-loop--info .pls-loop-arrow{ color:var(--pls-blue); border-color:var(--pls-blue); }
.woocommerce ul.products li.product .pls-loop--info .pls-loop-arrow:hover{ background:var(--pls-blue); color:#fff; }
.woocommerce ul.products li.product .pls-loop--libre .pls-loop-arrow{ color:var(--pls-green-dark); border-color:var(--pls-green); }
.woocommerce ul.products li.product .pls-loop--libre .pls-loop-arrow:hover{ background:var(--pls-green); color:#fff; }

/* Grilla del catálogo: separación de 5px entre productos (solo vista cuadrícula). */
.woocommerce ul.products.grid{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr);
  gap:5px; margin:0 !important;
}
.woocommerce ul.products.grid li.product{
  width:auto !important; float:none !important; margin:0 !important; clear:none !important;
  display:flex; flex-direction:column;
}
/* Nivelar: la fila de botones se ancla al fondo de cada tarjeta. */
.woocommerce ul.products.grid li.product .product-inner{ display:flex; flex-direction:column; flex:1 1 auto; }
.woocommerce ul.products.grid li.product .woo-entry-inner{ display:flex; flex-direction:column; flex:1 1 auto; }
.woocommerce ul.products.grid li.product .woo-entry-inner .btn-wrap{ margin-top:auto; }
@media (max-width: 768px){
  .woocommerce ul.products.grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 480px){
  .woocommerce ul.products.grid{ grid-template-columns:1fr; }
}

/* Filtros del catálogo (navegación por capas) */
.woocommerce .widget_layered_nav ul li,
.wc-block-attribute-filter li{ list-style:none; }
.widget-title,.wc-block-group__title{
  font-family:var(--pls-sans); font-weight:700; text-transform:uppercase;
  letter-spacing:.12em; font-size:.75rem; color:var(--pls-blue-deep);
  border-left:3px solid var(--pls-green); padding-left:.6rem; margin-bottom:.8rem;
}

/* ------------------------------------------------------------
   Ficha de producto (single)
   ------------------------------------------------------------ */
.single-product div.product{ display:grid; grid-template-columns:1fr 1fr; gap:3.2rem; align-items:start; }

/* Galería: mismo marco de arco tintado que las tarjetas, sticky al hacer scroll */
.single-product .woocommerce-product-gallery{
  border:0; border-radius:120px 120px var(--pls-radius) var(--pls-radius);
  padding:2.4rem 2.2rem; background:#fff; border:1px solid var(--pls-line);
  position:sticky; top:2rem;
}
.single-product .woocommerce-product-gallery img{ mix-blend-mode:multiply; }
.single-product .woocommerce-product-gallery__wrapper{ margin:0; }

.single-product .product_title{
  font-family:var(--pls-serif); font-size:2.4rem; line-height:1.1;
  color:var(--pls-blue-deep); margin:0 0 .6rem;
}
.single-product .woocommerce-product-details__short-description{
  color:var(--pls-body); font-size:2rem; line-height:1.4; margin:.4rem 0 .6rem;
}
.single-product .summary .price:empty{ display:none; }
.single-product .price{ font-size:1.9rem; color:var(--pls-ink); font-weight:600; }
.single-product .product_meta{ display:none; } /* redundante con migas + tabla */

.single-product .pls-cond-badge{
  display:inline-block; font-weight:700; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:var(--pls-blue); padding:.42em 1em; border-radius:8px; margin:.2rem 0 1.2rem;
}

/* Bloque de contacto (sustituye al carrito mientras no haya venta en línea) */
.pls-buy{
  margin:1.4rem 0 .4rem; padding:1.4rem 1.5rem;
  background:var(--pls-green-soft); border:1px solid #D7E9BE;
  border-radius:var(--pls-radius);
}
.pls-buy__nota{
  margin:0 0 1rem; color:var(--pls-ink); font-size:.95rem; line-height:1.55;
}
.pls-buy__acc{ display:flex; flex-wrap:wrap; gap:.7rem; }
.pls-buy .pls-btn{ text-decoration:none; }

/* Botón de compra nativo (si algún día se habilita la venta) */
.single-product .single_add_to_cart_button{
  background:var(--pls-green) !important; border-radius:var(--pls-radius-pill) !important;
  font-family:var(--pls-sans); font-weight:600;
}
.single-product .single_add_to_cart_button:hover{ background:var(--pls-green-dark) !important; }

/* Tabla de datos técnicos */
.pls-specs{ margin:2.8rem 0 1rem; }
.pls-specs h2{ font-family:var(--pls-serif); color:var(--pls-green-dark); font-size:1.5rem; margin-bottom:1.2rem; }
.pls-specs table{ width:100%; border-collapse:collapse; }
.pls-specs th,.pls-specs td{
  text-align:left; padding:.95rem 1rem; border-bottom:1px solid var(--pls-line); vertical-align:top;
}
.pls-specs th{
  width:22%; font-family:var(--pls-sans); font-weight:600; text-transform:uppercase;
  letter-spacing:.06em; font-size:.68rem; color:var(--pls-muted);
}
.pls-specs td{ color:var(--pls-ink); font-size:.95rem; }

/* Productos relacionados */
.single-product .related.products > h2,
.single-product .related > h2{
  font-family:var(--pls-serif); color:var(--pls-blue-deep); font-size:1.6rem; margin-bottom:1.4rem;
}
.single-product .related.products{ margin-top:3.5rem; border-top:1px solid var(--pls-line); padding-top:2.5rem; }

@media (max-width: 860px){
  .single-product div.product{ grid-template-columns:1fr; gap:1.6rem; }
  /* Permitir que las columnas encojan bajo el ancho de su contenido (evita desborde en móvil). */
  .single-product div.product > *{ min-width:0; max-width:100%; }
  .single-product .woocommerce-product-gallery,
  .single-product .summary.entry-summary{ width:100% !important; }
  .single-product .woocommerce-product-gallery{ position:static; padding:1.8rem; border-radius:70px 70px var(--pls-radius) var(--pls-radius); }
  .single-product .woocommerce-product-gallery img{ max-width:100%; height:auto; }
  .single-product .product_title{ font-size:1.9rem; }
  /* Tabla técnica: no forzar ancho; permitir scroll interno si hace falta. */
  .single-product .pls-specs{ overflow-x:auto; }
  .single-product .pls-specs table{ width:100%; }
  .single-product .pls-specs th{ width:40%; }
  .single-product .pls-specs th, .single-product .pls-specs td{ word-break:break-word; }
  .single-product .woocommerce-tabs ul.tabs{ flex-wrap:wrap; }
  .pls-buy__acc .pls-btn{ flex:1 1 100%; justify-content:center; }
}


/* ============================================================
   Ficha de producto — pestañas (Datos del producto / Descripción
   general) a todo el ancho, tipo píldora. Sin Valoraciones.
   ============================================================ */

/* El .product es un grid de 2 columnas: que las secciones de abajo
   ocupen todo el ancho en vez de repartirse en las columnas. */
.single-product .owp-product-nav-wrap{ display:none; }
.single-product div.product > .clear-after-summary,
.single-product div.product > .pls-tabs-title,
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells{ grid-column:1 / -1; }

/* Galería y resumen llenan su columna (WooCommerce las deja al 48%). */
.single-product .woocommerce-product-gallery,
.single-product .summary.entry-summary{ width:100% !important; float:none !important; margin:0 !important; }

/* Encabezado del bloque de información, encima de las pestañas. */
.single-product .pls-tabs-title{
  font-family:var(--pls-serif); color:var(--pls-green-dark);
  font-size:22px; font-weight:600; margin:1rem 0 1.3rem;
}

/* Pestañas como píldoras. */
.single-product .woocommerce-tabs{ margin:0 0 1rem; }
.single-product .woocommerce-tabs ul.tabs{
  list-style:none; margin:0 0 1.8rem; padding:0 0 1.1rem;
  border-bottom:1px solid var(--pls-line);
  display:flex; gap:.6rem; flex-wrap:wrap;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after{ display:none; }
.single-product .woocommerce-tabs ul.tabs li{
  margin:0; padding:0; background:none; border:0; border-radius:0;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ display:none; }
.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-block; padding:11px 22px; border-radius:var(--pls-radius-pill);
  font-family:var(--pls-sans); font-weight:600; font-size:14px;
  color:var(--pls-blue-dark); background:var(--pls-blue-tint);
  text-decoration:none; transition:.2s ease;
}
.single-product .woocommerce-tabs ul.tabs li a:hover{ background:var(--pls-blue-tint-2); color:var(--pls-blue-deep); }
.single-product .woocommerce-tabs ul.tabs li.active a{ background:var(--pls-blue); color:#fff; }
.single-product .woocommerce-Tabs-panel > h2{ display:none; }
.single-product .woocommerce-Tabs-panel{ color:var(--pls-body); font-size:15px; line-height:1.75; }
.single-product .woocommerce-Tabs-panel p{ margin:0 0 1rem; }
.single-product .pls-specs{ margin:0; }

/* Pie de la galería: nota referencial + recuento de imágenes. */
.single-product .pls-img-caption{
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  margin:1.6rem 0 0; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.65);
  font-family:var(--pls-sans); font-size:10px; letter-spacing:.07em;
  text-transform:uppercase; color:var(--pls-blue-deep);
}

@media (max-width: 860px){
  .single-product div.product > .pls-tabs-title{ margin-top:1.6rem; }
  .single-product .woocommerce-tabs ul.tabs li a{ padding:9px 16px; font-size:13px; }
}

/* Fix: el color de la pestaña lo pisa WooCommerce core (.woocommerce div.product
   .woocommerce-tabs ... a = (0,5,4)); hace falta más especificidad. pls-fix-tab-activa */
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--pls-blue-dark); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color:#fff; }
/* Etiquetas de la tabla, algo más legibles (root 10px de OceanWP). */
.single-product .pls-specs th{ font-size:11px; }
.single-product .pls-specs td{ font-size:14px; }

/* El color de enlace por defecto de OceanWP (#13aff0) pisa la pestaña activa
   con !important. Selector que sí casa (sin exigir ancestro .woocommerce) +
   !important para la legibilidad. pls-fix-tab-activa-2 */
.single-product div.product .woocommerce-tabs ul.tabs li a{ color:var(--pls-blue-dark) !important; }
.single-product div.product .woocommerce-tabs ul.tabs li.active a{ color:#fff !important; }

/* ============================================================
   Ficha: sección "¿Cómo adquirir nuestros productos?" (final, antes del pie)
   ============================================================ */
.pls-adq{ padding: 1rem 0 3.5rem; }
.pls-adq__wrap{ max-width: var(--pls-container, 1200px); margin: 0 auto; padding: 0 20px; }
.pls-adq__intro{
  max-width: 820px; margin: 20px auto 2.6rem; text-align: center;
  font-family: var(--pls-sans); font-size: 19px; line-height: 1.65; color: var(--pls-ink);
}
.pls-adq__intro .pls-t-blue{ color: var(--pls-blue); font-weight: 600; }
.pls-adq__intro .pls-t-green{ color: var(--pls-green); font-weight: 600; }
.pls-adq__card{
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; align-items: center;
  background: var(--pls-blue-tint); border-radius: 90px 26px 26px 26px;
  padding: 2.6rem 3rem;
}
.pls-adq__left h2{
  font-family: var(--pls-serif); color: var(--pls-green-dark);
  font-size: 26px; font-weight: 600; line-height: 1.2; margin: 0 0 1.4rem;
}
.pls-adq__btns{ display: flex; flex-direction: column; gap: .8rem; align-items: flex-start; }
.pls-adq__btn{ text-decoration: none; font-size: 14px; }
.pls-adq__btn svg{ width: 18px; height: 18px; fill: currentColor; flex: 0 0 auto; }
.pls-adq__right{ display: flex; flex-direction: column; gap: 1.5rem; text-align: right; }
.pls-adq__item h3{
  font-family: var(--pls-sans); color: var(--pls-blue); font-weight: 600;
  font-size: 16px; margin: 0 0 .35rem;
}
.pls-adq__item p{ margin: 0; color: var(--pls-body); font-size: 14px; line-height: 1.6; }
@media (max-width: 860px){
  .pls-adq__card{ grid-template-columns: 1fr; gap: 1.6rem; padding: 2rem 1.6rem; border-radius: 60px 20px 20px 20px; }
  .pls-adq__right{ text-align: left; }
  .pls-adq__intro{ font-size: 16px; }
  .pls-adq__left h2{ font-size: 22px; }
}

/* pls-adq-btn-fix: el color de enlace de OceanWP pisa el texto del botón azul. */
.pls-adq .pls-btn--blue, .pls-adq .pls-btn--blue:hover{ color:#fff !important; }
.pls-adq .pls-btn--ghost:hover{ color:#fff !important; }


/* Ficha: botones de contacto un poco más grandes */
.single-product .pls-buy .pls-btn{ font-size:1.05rem; padding:.9em 1.7em; }


/* Ficha: selector de cantidad (− 1 +) — aparece cuando el producto es comprable */
.single-product form.cart .quantity{ display:inline-flex; align-items:center; vertical-align:middle; border:1px solid var(--pls-line); border-radius:var(--pls-radius-pill); overflow:hidden; margin:0 .6rem .4rem 0; }
.single-product form.cart .quantity .pls-qty-btn{ width:2.5em; height:2.5em; border:0; background:#fff; color:var(--pls-blue-dark); font-size:1.15rem; font-weight:700; cursor:pointer; line-height:1; display:flex; align-items:center; justify-content:center; transition:.15s; }
.single-product form.cart .quantity .pls-qty-btn:hover{ background:var(--pls-blue-tint); }
.single-product form.cart .quantity input.qty{ width:2.8em; height:2.5em; text-align:center; border:0; border-left:1px solid var(--pls-line); border-right:1px solid var(--pls-line); font-family:var(--pls-sans); font-weight:600; font-size:1rem; background:#fff; -moz-appearance:textfield; }
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* ============================================================
   Ficha: banda "Información del producto / Datos técnicos"
   (antetítulo verde + título azul + pestañas, sobre azul claro)
   ============================================================ */
.single-product .pls-info-band{
  grid-column: 1 / -1;
  background: var(--pls-blue-tint);
  border-radius: 26px;
  margin: 1.6rem 0 .5rem;
}
.single-product .pls-info-band__in{ padding: 2.4rem 2.6rem 2.8rem; }
.single-product .pls-tabs-eyebrow{
  display: block; font-family: var(--pls-sans);
  font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
  color: var(--pls-green-dark); margin: 0 0 .35rem;
}
.single-product .pls-info-band .pls-tabs-title{
  font-family: var(--pls-serif); color: var(--pls-blue-deep);
  font-size: 26px; font-weight: 600; line-height: 1.15; margin: 0 0 1.5rem;
}
/* Pestañas sobre la banda: inactivas en blanco para que resalten; activa azul. */
.single-product .pls-info-band .woocommerce-tabs ul.tabs{ border-bottom-color: #CFE3EF; }
.single-product .pls-info-band .woocommerce-tabs ul.tabs li a{ background: #fff; }
.single-product .pls-info-band .woocommerce-tabs ul.tabs li a:hover{ background: #fff; }
.single-product .pls-info-band .woocommerce-tabs ul.tabs li.active a{ background: var(--pls-blue); }
/* Separadores de la tabla, legibles sobre el azul claro. */
.single-product .pls-info-band .pls-specs th,
.single-product .pls-info-band .pls-specs td{ border-bottom-color: #D3E4EF; }
@media (max-width: 860px){
  .single-product .pls-info-band__in{ padding: 1.8rem 1.4rem 2rem; }
  .single-product .pls-info-band .pls-tabs-title{ font-size: 22px; }
}

/* pls-specs-stack: en móvil la tabla técnica (th|td|th|td) no cabe; se apila
   cada campo (etiqueta encima del valor) en una sola columna. */
@media (max-width: 680px){
  .single-product .pls-specs{ overflow-x: visible; }
  .single-product .pls-specs table,
  .single-product .pls-specs tbody,
  .single-product .pls-specs tr,
  .single-product .pls-specs th,
  .single-product .pls-specs td{ display: block; width: auto; }
  .single-product .pls-specs tr{ border-bottom: 1px solid #D3E4EF; padding: .5rem 0; }
  .single-product .pls-info-band .pls-specs tr{ border-bottom-color: #CBE0EE; }
  .single-product .pls-specs th{ border: 0; padding: .7rem 0 .1rem; }
  .single-product .pls-specs td{ border: 0; padding: 0 0 .5rem; }
  .single-product .pls-specs th:empty,
  .single-product .pls-specs td:empty{ display: none; }
}

/* pls-tabs-left: WooCommerce core centra las pestañas (.woocommerce div.product
   .woocommerce-tabs ul.tabs). Mayor especificidad para alinearlas a la izquierda,
   cubriendo tanto el caso flex (justify) como inline-block (text-align). */
.single-product div.product .pls-info-band .woocommerce-tabs ul.tabs{
  display: flex; justify-content: flex-start; text-align: left;
}

/* Compra por WhatsApp: icono en los botones + botón en la tarjeta del catálogo. */
.pls-wa-buy{ text-decoration: none; }
.pls-wa-ico{ width: 18px; height: 18px; fill: currentColor; flex: 0 0 auto; }
.woocommerce ul.products li.product .pls-loop-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  margin: .5rem 1.15rem 0;
}
.woocommerce ul.products li.product .pls-loop-btn .pls-wa-ico{ width: 16px; height: 16px; }
.single-product .pls-buy .pls-wa-buy{ justify-content: center; }

/* ============================================================
   Ficha: bloque de compra (selector de cantidad + botones grandes)
   ============================================================ */
.single-product .pls-buy{ background: none; border: 0; padding: 0; margin: 1.3rem 0 0; }
.single-product .pls-buy__nota{ display: none; }
.single-product .pls-buy__qty{
  display: inline-flex; align-items: center; margin: 0 0 1rem;
  background: var(--pls-blue); border-radius: var(--pls-radius-pill); overflow: hidden;
}
.single-product .pls-qty__btn{
  width: 38px; height: 42px; border: 0; background: transparent; color: #fff;
  font-size: 20px; line-height: 1; cursor: pointer; transition: background .15s;
}
.single-product .pls-qty__btn:hover{ background: rgba(255,255,255,.18); }
.single-product .pls-qty__num{
  width: 44px; height: 42px; border: 0; background: transparent; color: #fff;
  text-align: center; font-family: var(--pls-sans); font-size: 15px; font-weight: 700;
  -moz-appearance: textfield; appearance: textfield;
}
.single-product .pls-qty__num:focus{ outline: none; }
.single-product .pls-qty__num::-webkit-outer-spin-button,
.single-product .pls-qty__num::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
.single-product .pls-buy__acc{ display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.single-product .pls-buy__acc .pls-btn{ font-size: 15px; padding: 1em 1.7em; }
.single-product .pls-buy__wa{ font-size: 16px; padding: 1.05em 2em; }
.single-product .pls-buy__wa .pls-wa-ico{ width: 20px; height: 20px; }
@media (max-width: 620px){
  .single-product .pls-buy__acc .pls-btn{ flex: 1 1 100%; justify-content: center; }
}

/* ============================================================
   pls-filtros — Catálogo: filtros (layered nav) estilo mockup
   ============================================================ */
.widget_layered_nav{ margin-bottom: 2.2rem; }
.widget_layered_nav .widget-title{
  position: relative; margin: 0 0 1rem; padding: 0 0 0 14px; border: 0;
  font-family: var(--pls-sans); font-size: 12px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--pls-green-dark);
}
.widget_layered_nav .widget-title::before{
  content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 4px;
  background: var(--pls-green); border-radius: 2px;
}
.widget_layered_nav ul.woocommerce-widget-layered-nav-list{ list-style: none; margin: 0; padding: 0; }
.widget_layered_nav .woocommerce-widget-layered-nav-list__item{
  display: flex; align-items: center; gap: .65rem; margin: 0; padding: .5rem 0; border: 0;
}
.widget_layered_nav .woocommerce-widget-layered-nav-list__item::before{
  content: ""; flex: 0 0 auto; width: 18px; height: 18px;
  border: 2px solid var(--pls-line); border-radius: 5px; background: #fff; transition: .15s ease;
}
.widget_layered_nav .woocommerce-widget-layered-nav-list__item a{
  flex: 1 1 auto; color: var(--pls-ink); text-decoration: none;
  font-family: var(--pls-sans); font-size: 15px; line-height: 1.3;
}
.widget_layered_nav .woocommerce-widget-layered-nav-list__item:hover a{ color: var(--pls-blue); }
.widget_layered_nav .woocommerce-widget-layered-nav-list__item:hover::before{ border-color: var(--pls-blue); }
.widget_layered_nav .woocommerce-widget-layered-nav-list__item .count{
  flex: 0 0 auto; color: var(--pls-muted); font-size: 13px; font-weight: 400;
}
.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen::before,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item--chosen::before{
  border-color: var(--pls-blue);
  background: var(--pls-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;
}
.widget_layered_nav .woocommerce-widget-layered-nav-list__item.chosen a,
.widget_layered_nav .woocommerce-widget-layered-nav-list__item--chosen a{ color: var(--pls-blue-deep); font-weight: 600; }
/* Filtros activos (chips) del layered_nav_filters */
.widget_layered_nav_filters ul{ list-style: none; margin: 0 0 1.4rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.widget_layered_nav_filters ul li a{
  display: inline-flex; align-items: center; gap: .3rem; font-size: 12px; font-weight: 600;
  color: var(--pls-blue-dark); background: var(--pls-blue-tint); padding: .3em .8em; border-radius: 999px; text-decoration: none;
}

/* pls-filtros-cb-fix: OceanWP añade su propio checkbox en a::before; se oculta y queda el nuestro (li::before). */
.widget_layered_nav .woocommerce-widget-layered-nav-list__item > a::before{ content: none !important; display: none !important; }


/* pls-mobile-title-top: en móvil el título va arriba de la imagen, centrado (10-09-2026) */
@media (max-width: 860px){
  .single-product div.product .summary.entry-summary{ display: contents; }
  .single-product div.product .product_title{ order: -1; grid-column: 1 / -1; text-align: center; margin: 0 0 .6rem; }
}


/* pls-cards-cuadradas (21-09-2026): tarjetas de producto de la tienda con esquinas cuadradas */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product .woo-entry-image,
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .woo-entry-image img{ border-radius:0 !important; }
