/* === Senda Vital – Tienda Clean (v2.0.0) === */
:root{--svtc-primary:#1E4639;--svtc-accent:#F3EFE5;--svtc-gold:#D7A845}
.svtc-wrap{max-width:1200px;margin:0 auto;padding:0 18px 32px}

/* HERO */
.svtc-hero{position:relative;border-radius:22px;overflow:hidden;background:var(--svtc-primary);margin:16px 0 18px}
.svtc-hero::before{content:"";position:absolute;inset:0;background-image:var(--svtc-hero);background-size:cover;background-position:center;opacity:.10}
.svtc-hero-inner{position:relative;padding:44px 24px;color:#fff}
.svtc-hero h1{margin:0 0 8px;font-size:2rem;line-height:1.2}
.svtc-hero p{margin:0 0 14px;opacity:.95}
.svtc-cta{display:inline-block;padding:.6rem 1rem;border-radius:999px;background:var(--svtc-gold);color:#1a1a1a;text-decoration:none;font-weight:800}

/* TOPBAR */
.svtc-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:8px 10px;box-shadow:0 3px 14px rgba(0,0,0,.06)}
.svtc-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.svtc-field{display:flex;flex-direction:column;gap:4px}
.svtc-field span{font-size:.8rem;color:#6b7280;line-height:1}
.svtc-field select,.svtc-field input[type="search"]{padding:.4rem .6rem;border:1px solid #e5e7eb;border-radius:10px;min-width:180px;height:36px}
.svtc-apply{padding:.45rem .8rem;border-radius:10px;border:0;background:var(--svtc-primary);color:#fff;font-weight:800;height:36px}
.svtc-cartbox{display:flex;justify-content:center;width:100%;gap:8px}
.svtc-counter{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--svtc-primary);color:#fff;font-weight:800}
.svtc-viewcart{display:inline-block;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--svtc-primary);text-decoration:none;color:var(--svtc-primary);font-weight:800;white-space:nowrap}

/* GRID */
.svtc-grid{display:grid;gap:18px;grid-template-columns:repeat(var(--svtc-cols-d,5),minmax(0,1fr))}
@media (max-width: 900px){ .svtc-grid{grid-template-columns:repeat(var(--svtc-cols-m,3),minmax(0,1fr))} }

/* CARD */
.svtc-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:14px;display:flex;flex-direction:column;gap:10px;transition:transform .15s ease,box-shadow .15s ease}
.svtc-card:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(0,0,0,.08)}
.svtc-thumb{display:block;border-radius:12px;overflow:hidden;aspect-ratio:3/4;background:#fff}
.svtc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.svtc-title{margin:0;font-size:1.02rem;line-height:1.25}
.svtc-title a{text-decoration:none;color:#101010}
.svtc-buy{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.svtc-price{font-weight:800;color:#101010;text-align:center}
.svtc-add-wrap .button{display:inline-flex !important;align-items:center;justify-content:center;background:var(--svtc-primary) !important;color:#fff !important;border:0 !important;border-radius:12px !important;padding:.6rem 1rem !important;font-weight:800 !important;text-decoration:none !important}

/* Pagination */
.svtc-pagination{display:flex;justify-content:center;margin:18px 0}
.svtc-pagination ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.svtc-pagination a,.svtc-pagination span{display:inline-block;padding:.5rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:10px;text-decoration:none;color:#111}
.svtc-pagination .current{background:var(--svtc-primary);color:#fff;border-color:var(--svtc-primary)}

/* Trust */
.svtc-trust{display:flex;justify-content:space-around;gap:12px;border-top:1px dashed #e5e7eb;margin-top:18px;padding-top:12px;color:#374151}

/* v2.0.5 — aligned product cards */
.svtc-card{display:flex;flex-direction:column}
.svtc-title{min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.svtc-price{min-height:1.3em}
.svtc-buy{margin-top:auto}
.svtc-add-wrap .button{width:100% !important}

/* v2.0.6 — ensure buttons stay inside card and align when "Ver carrito" appears */
.svtc-card{position:relative; overflow:hidden; padding-bottom:14px}
.svtc-add-wrap{display:flex; flex-direction:column; gap:6px}
.svtc-add-wrap .button{
  width:100% !important; box-sizing:border-box !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  margin:0 !important;
}
.svtc-add-wrap .added_to_cart{
  display:block !important; width:100% !important; box-sizing:border-box !important;
  text-align:center; margin:0 !important; padding:.5rem 1rem !important;
  border-radius:10px !important; border:1px solid var(--svtc-primary) !important;
  background:#fff !important; color:var(--svtc-primary) !important; font-weight:700 !important;
}
/* Normalize any Woo default margin on links/buttons inside product loops */
.woocommerce a.added_to_cart, .woocommerce a.button.added { margin:0 !important; }

/* Even more compact filters */
.svtc-topbar{gap:6px; padding:6px 8px; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.05)}
.svtc-filters{gap:6px}
.svtc-field{gap:3px}
.svtc-field span{font-size:.78rem}
.svtc-field select,.svtc-field input[type="search"]{min-width:160px; height:32px; padding:.35rem .5rem; border-radius:8px}
.svtc-apply{height:32px; padding:.35rem .7rem; border-radius:8px}

/* On small screens, hide field labels (use placeholders/semantics) to save height */
@media (max-width:480px){
  .svtc-field span{display:none}
  .svtc-field select,.svtc-field input[type="search"]{min-width:140px}
  .svtc-topbar{justify-content:center}
}

/* v2.0.7 — ultra-compact filters + centered buttons */
.svtc-filters{display:flex;flex-wrap:wrap;gap:6px}
.svtc-field{display:flex;flex-direction:row;align-items:center;gap:4px}
.svtc-field span{font-size:.75rem;color:#555;white-space:nowrap;line-height:1}
.svtc-field select,.svtc-field input[type="search"]{min-width:120px;height:30px;padding:.25rem .4rem;border-radius:6px;font-size:.85rem}
.svtc-apply{height:30px;padding:.25rem .6rem;border-radius:6px;font-size:.85rem}

/* center text in buttons */
.svtc-add-wrap .button,
.svtc-add-wrap .added_to_cart{
  text-align:center !important;
  justify-content:center !important;
  font-weight:700 !important;
}
