.elementor-kit-5{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#2F3345;--e-global-color-text:#1F1F1F;--e-global-color-accent:#2B6CA3;--e-global-color-fd583a9:#0B1220;--e-global-color-0e79421:#0EA5E9;--e-global-color-4b13454:#FF3B6B;--e-global-color-fdf0d74:#F3F6FB;--e-global-color-6573829:#000000;--e-global-color-05cf2b3:#0F172A;--e-global-color-b9c045c:#64748B;--e-global-color-060ae86:#E6EEF7;--e-global-color-f4c61e8:#22C55E;--e-global-color-0c23e44:#F59E0B;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:15px;--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:15px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:500;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-165f71c-font-family:"Manrope";--e-global-typography-165f71c-font-size:15px;--e-global-typography-165f71c-font-weight:500;background-color:#F2F5F9;font-family:"Inter", Sans-serif;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-0e79421 );font-family:"Inter", Sans-serif;color:var( --e-global-color-fdf0d74 );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-radius:14px 14px 14px 14px;padding:14px 18px 14px 018px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-fd583a9 );color:var( --e-global-color-primary );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-radius:14px 14px 14px 14px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{font-family:"Inter", Sans-serif;}.elementor-kit-5 h1{font-family:"Inter", Sans-serif;}.elementor-kit-5 h2{font-family:"Inter", Sans-serif;}.elementor-kit-5 h3{font-family:"Inter", Sans-serif;}.elementor-kit-5 h4{font-family:"Inter", Sans-serif;}.elementor-kit-5 h5{font-family:"Inter", Sans-serif;}.elementor-kit-5 h6{font-family:"Inter", Sans-serif;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{color:#0F172A;accent-color:var( --e-global-color-0e79421 );background-color:var( --e-global-color-fdf0d74 );box-shadow:0px 0px 4px 0px rgba(0,0,0,0.5);border-style:solid;border-color:#E6EEF7;border-radius:12px 12px 12px 12px;padding:012px 14px 12px 014px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1168px;}.e-con{--container-max-width:1168px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   ForSailors UI (Elementor + WooCommerce) — Global CSS
   Pegar en: Elementor > Site Settings > Custom CSS
   ========================================================= */

/* Fonts (si Elementor bloquea @import, luego lo metemos por Custom Code <head>) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&display=swap');

:root{
  --fs-font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --fs-bg: #f4f7fb;
  --fs-surface: #ffffff;
  --fs-surface-2: #f0f5ff;

  --fs-text: #0f172a;
  --fs-muted: #64748b;
  --fs-border: #e3e8f2;

  --fs-navy: #0b1220;
  --fs-navy-2: #111c30;

  --fs-primary: #0ea5e9;
  --fs-primary-600: #0284c7;

  --fs-accent: #ff2d55;   /* borde “rosita” */
  --fs-success: #22c55e;
  --fs-warning: #f59e0b;
  --fs-danger: #ef4444;

  --fs-radius: 18px;
  --fs-radius-sm: 12px;

  --fs-shadow: 0 14px 34px rgba(15, 23, 42, .10);
  --fs-shadow-soft: 0 10px 26px rgba(15, 23, 42, .08);

  --fs-container: 1320px; /* ancho general (más “amplio”) */
}

*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
  margin:0;
  font-family: var(--fs-font);
  color: var(--fs-text);
  background: var(--fs-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img{ max-width:100%; height:auto; display:block; }
a{ color: inherit; text-decoration:none; }
a:hover{ text-decoration:none; }

:focus-visible{
  outline: 3px solid rgba(14,165,233,.35);
  outline-offset: 2px;
  border-radius: 10px;
}

/* Material Symbols helper */
.material-symbols-outlined{
  font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  font-size: 20px;
  line-height: 1;
  vertical-align: middle;
}

/* =========================================================
   Utilities (clases para usar en Advanced > CSS Classes)
   ========================================================= */

.fs-page{ padding: 26px 0 56px; }

.fs-container{
  max-width: var(--fs-container);
  margin: 0 auto;
  padding: 0 18px;
}

.fs-stack{ display:flex; flex-direction:column; gap:16px; }
.fs-row{ display:flex; gap:16px; align-items:center; }
.fs-between{ display:flex; justify-content:space-between; align-items:center; gap:16px; }
.fs-center{ display:flex; justify-content:center; align-items:center; gap:12px; }

.fs-card{
  background: var(--fs-surface);
  border: 1px solid var(--fs-border);
  border-radius: var(--fs-radius);
  box-shadow: var(--fs-shadow-soft);
}

.fs-card-pad{ padding: 22px; }
.fs-card-pad-lg{ padding: 28px; }

.fs-soft{
  background: linear-gradient(135deg, rgba(14,165,233,.14), rgba(255,45,85,.10));
  border: 1px solid rgba(227,232,242,.9);
  border-radius: var(--fs-radius);
}

.fs-divider{ height:1px; background: var(--fs-border); width:100%; }

.fs-h1{ font-size: 42px; line-height: 1.05; margin:0; letter-spacing:-.02em; }
.fs-h2{ font-size: 28px; line-height: 1.15; margin:0; letter-spacing:-.01em; }
.fs-h3{ font-size: 18px; line-height: 1.25; margin:0; }
.fs-p{ margin:0; color: var(--fs-muted); line-height: 1.5; }

.fs-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--fs-border);
  background: rgba(255,255,255,.85);
  font-weight: 600;
  color: #1f2a44;
  font-size: 12px;
}

/* Buttons */
.fs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 700;
  border: 1px solid var(--fs-border);
  background: var(--fs-surface);
  color: var(--fs-text);
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  user-select:none;
}
.fs-btn:hover{ transform: translateY(-1px); box-shadow: var(--fs-shadow-soft); }
.fs-btn:active{ transform: translateY(0); box-shadow:none; }

.fs-btn-primary{
  background: var(--fs-primary);
  border-color: rgba(2,132,199,.25);
  color: #fff !important; /* texto blanco, como pediste */
}
.fs-btn-primary:hover{ background: var(--fs-primary-600); }

.fs-btn-dark{
  background: var(--fs-navy);
  border-color: rgba(255,45,85,.65);
  box-shadow: 0 0 0 2px rgba(255,45,85,.15);
  color:#fff;
}
.fs-btn-dark:hover{ background: var(--fs-navy-2); }

.fs-btn-ghost{
  background: transparent;
  border-color: transparent;
  color: var(--fs-muted);
}
.fs-btn-ghost:hover{
  border-color: var(--fs-border);
  background: rgba(255,255,255,.7);
}

/* Inputs */
.fs-input, .fs-select, .fs-textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid var(--fs-border);
  padding: 12px 14px;
  background: #fff;
  color: var(--fs-text);
  transition: border-color .12s ease, box-shadow .12s ease;
  font-size: 14px;
}
.fs-textarea{ min-height: 120px; resize: vertical; }
.fs-input:focus, .fs-select:focus, .fs-textarea:focus{
  outline:none;
  border-color: rgba(14,165,233,.6);
  box-shadow: 0 0 0 4px rgba(14,165,233,.14);
}

/* =========================================================
   Header / Footer (si los construyes con clases fs-*)
   ========================================================= */

.fs-top-info{
  background: #ffffff;
  border-bottom: 1px solid var(--fs-border);
  padding: 10px 0;
  font-size: 13px;
  color: var(--fs-muted);
}
.fs-top-info .fs-container{ display:flex; justify-content:center; gap:26px; flex-wrap:wrap; }
.fs-top-info .item{ display:inline-flex; align-items:center; gap:8px; }
.fs-top-info .item .material-symbols-outlined{ font-size: 18px; color: var(--fs-primary); }

.fs-top-nav{
  background: #2f2f2f;
  color:#fff;
  padding: 14px 0;
}
.fs-top-nav .fs-container{
  display:flex;
  justify-content:center;
  gap:26px;
  font-weight: 500;
}
.fs-top-nav a{ opacity:.9; }
.fs-top-nav a:hover{ opacity:1; text-decoration:underline; text-underline-offset: 6px; }

.fs-header-main{
  background: #ffffff;
  border-bottom: 1px solid var(--fs-border);
  padding: 16px 0;
}
.fs-header-main .fs-container{
  display:grid;
  grid-template-columns: 260px 1fr 340px;
  gap: 18px;
  align-items:center;
}
.fs-brand{
  display:flex; align-items:center; gap:14px;
}
.fs-brand .logo{
  width:54px; height:54px;
  border-radius: 14px;
  background: var(--fs-navy);
  display:grid; place-items:center;
  color:#fff;
  font-weight:800;
}
.fs-brand .name{ font-weight: 800; letter-spacing:-.01em; }
.fs-brand .tag{ font-size:12px; color: var(--fs-muted); letter-spacing:.06em; text-transform:uppercase; margin-top:2px; }

.fs-search{
  display:flex; gap:12px; align-items:center;
  background: #ffffff;
  border: 1px solid var(--fs-border);
  border-radius: 16px;
  padding: 10px 12px;
}
.fs-search .material-symbols-outlined{ color: var(--fs-muted); }
.fs-search input{
  border:0; outline:0; background:transparent;
  width:100%;
  font-size: 14px;
}
.fs-actions{
  display:flex; justify-content:flex-end; align-items:center; gap:18px;
  white-space: nowrap;
}
.fs-action{
  display:inline-flex; align-items:center; gap:8px;
  color: var(--fs-text);
  font-weight: 600;
}
.fs-action .material-symbols-outlined{ color: var(--fs-muted); }
.fs-cart-pill{
  display:inline-flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--fs-border);
  background: #fff;
}
.fs-cart-badge{
  width: 30px; height: 30px;
  border-radius: 999px;
  display:grid; place-items:center;
  background: rgba(15,23,42,.06);
  font-weight:800;
}

/* Footer */
.fs-footer{
  background: var(--fs-navy);
  color: rgba(255,255,255,.86);
  padding: 44px 0 26px;
  margin-top: 56px;
}
.fs-footer a{ color: rgba(255,255,255,.82); }
.fs-footer a:hover{ color: #fff; text-decoration:underline; text-underline-offset:6px; }

.fs-footer-grid{
  display:grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 22px;
}
.fs-footer h4{
  margin:0 0 12px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}
.fs-footer p{ margin:0; color: rgba(255,255,255,.70); line-height:1.6; }
.fs-footer ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.fs-social{
  display:flex; gap:12px; align-items:center;
}
.fs-social a{
  width:44px; height:44px; border-radius: 12px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.fs-social a:hover{
  background: rgba(255,255,255,.12);
}

.fs-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 26px;
  padding-top: 18px;
  font-size: 12px;
  color: rgba(255,255,255,.62);
  display:flex; justify-content:center;
}

/* =========================================================
   Catalog / Products (para loops y grids)
   ========================================================= */

.fs-grid-products{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.fs-product{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 100%;
}
.fs-product .img{
  border-radius: 16px;
  border: 1px solid var(--fs-border);
  background: linear-gradient(180deg, rgba(14,165,233,.18), rgba(255,45,85,.12));
  aspect-ratio: 1 / 1;
  display:grid;
  place-items:center;
  color: rgba(15,23,42,.65);
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size: 11px;
}
.fs-product .body{ padding: 12px 2px 0; display:flex; flex-direction:column; gap:6px; }
.fs-product .brand{ font-size: 11px; color: var(--fs-muted); letter-spacing:.08em; text-transform:uppercase; }
.fs-product .title{ font-weight: 800; font-size: 13px; line-height:1.25; }
.fs-product .price-row{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top: 2px; }
.fs-product .price{ font-weight: 900; }
.fs-product .stars{ color: #f59e0b; font-size: 12px; letter-spacing: 1px; }
.fs-product .tag{
  position:absolute;
  top: 12px; left: 12px;
  background: var(--fs-accent);
  color:#fff;
  font-weight:900;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
}

/* Wrapper si quieres tag sobre imagen */
.fs-product-wrap{ position:relative; }

/* =========================================================
   Checkout / Cart base (si usas HTML propio o overrides)
   ========================================================= */

.fs-checkout-grid{
  display:grid;
  grid-template-columns: 1.35fr .75fr;
  gap: 18px;
  align-items:start;
}
.fs-panel{ padding: 22px; }
.fs-panel h3{ margin:0 0 10px; }
.fs-panel .sub{ margin:0 0 16px; color: var(--fs-muted); font-size: 13px; }

.fs-field-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.fs-radio{
  display:flex; align-items:flex-start; gap:10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--fs-border);
  background:#fff;
}
.fs-radio input{ margin-top: 3px; }
.fs-radio .t{ font-weight:800; }
.fs-radio .d{ margin-top: 2px; color: var(--fs-muted); font-size: 13px; }

.fs-order-item{
  display:flex; gap:12px; align-items:center;
  padding: 12px 0;
  border-bottom: 1px solid var(--fs-border);
}
.fs-order-item:last-child{ border-bottom:0; }
.fs-order-item .thumb{
  width: 54px; height: 54px;
  border-radius: 14px;
  border: 1px solid var(--fs-border);
  background: linear-gradient(180deg, rgba(14,165,233,.18), rgba(255,45,85,.12));
  display:grid; place-items:center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing:.12em;
  text-transform: uppercase;
  color: rgba(15,23,42,.65);
}
.fs-order-item .meta{ flex:1; }
.fs-order-item .meta .name{ font-weight:800; font-size: 13px; line-height: 1.2; }
.fs-order-item .meta .small{ color: var(--fs-muted); font-size: 12px; margin-top: 2px; }
.fs-order-item .price{ font-weight:900; }

.fs-total-row{ display:flex; justify-content:space-between; align-items:center; padding: 6px 0; color: var(--fs-muted); }
.fs-total-row strong{ color: var(--fs-text); }
.fs-total-grand{
  display:flex; justify-content:space-between; align-items:flex-end;
  padding-top: 12px;
}
.fs-total-grand .label{ font-weight:800; }
.fs-total-grand .value{ font-weight: 950; font-size: 22px; }

/* =========================================================
   WooCommerce basic styling (para que lo nativo se parezca)
   ========================================================= */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  border-radius: 14px !important;
  padding: 12px 16px !important;
  font-weight: 800 !important;
  background: var(--fs-primary) !important;
  color: #fff !important;
  border: 1px solid rgba(2,132,199,.25) !important;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background: var(--fs-primary-600) !important;
  transform: translateY(-1px);
  box-shadow: var(--fs-shadow-soft);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea{
  border-radius: 14px !important;
  border: 1px solid var(--fs-border) !important;
  padding: 12px 14px !important;
}

.woocommerce table.shop_table{
  border-radius: var(--fs-radius) !important;
  overflow:hidden;
  border: 1px solid var(--fs-border) !important;
  background:#fff;
}
.woocommerce table.shop_table th{
  background: #f6f9ff;
  border-bottom: 1px solid var(--fs-border) !important;
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment{
  border-radius: var(--fs-radius) !important;
  border: 1px solid var(--fs-border) !important;
  background:#fff !important;
  padding: 18px !important;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1100px){
  :root{ --fs-container: 1100px; }
  .fs-grid-products{ grid-template-columns: repeat(4, 1fr); }
  .fs-header-main .fs-container{
    grid-template-columns: 220px 1fr 300px;
  }
}

@media (max-width: 860px){
  .fs-grid-products{ grid-template-columns: repeat(2, 1fr); }
  .fs-footer-grid{ grid-template-columns: 1fr 1fr; }
  .fs-checkout-grid{ grid-template-columns: 1fr; }
  .fs-field-grid-2{ grid-template-columns: 1fr; }

  .fs-header-main .fs-container{
    grid-template-columns: 1fr;
  }
  .fs-actions{ justify-content:flex-start; flex-wrap:wrap; }
  .fs-top-nav .fs-container{ gap:14px; flex-wrap:wrap; }
}

@media (max-width: 520px){
  .fs-h1{ font-size: 34px; }
  .fs-card-pad-lg{ padding: 22px; }
  .fs-footer-grid{ grid-template-columns: 1fr; }
}
/* =========================
   Home — Skin de shortcodes Woo (scoped)
   ========================= */

.fs-home .woocommerce ul.products{
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
}

.fs-home .woocommerce ul.products li.product{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 14px !important;
  background: var(--fs-surface) !important;
  border: 1px solid var(--fs-border) !important;
  border-radius: var(--fs-radius) !important;
  box-shadow: var(--fs-shadow-soft) !important;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.fs-home .woocommerce ul.products li.product:hover{
  transform: translateY(-2px);
  box-shadow: var(--fs-shadow) !important;
  border-color: rgba(11,20,36,.14) !important;
}

.fs-home .woocommerce ul.products li.product a{
  text-decoration: none !important;
}

.fs-home .woocommerce ul.products li.product a img{
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 16px !important;
  border: 1px solid var(--fs-border) !important;
  margin: 0 0 12px 0 !important;
}

.fs-home .woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  color: var(--fs-text) !important;
  padding: 0 !important;
  margin: 0 0 8px 0 !important;
  min-height: 34px;
}

.fs-home .woocommerce ul.products li.product .price{
  font-weight: 1000 !important;
  color: var(--fs-text) !important;
  margin: 0 0 10px 0 !important;
}

.fs-home .woocommerce ul.products li.product .star-rating{
  margin: 0 0 10px 0 !important;
}

.fs-home .woocommerce ul.products li.product a.button{
  width: 100% !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  font-weight: 900 !important;
  background: var(--fs-primary) !important;
  color: #fff !important;
  border: 1px solid rgba(2,132,199,.25) !important;
}

.fs-home .woocommerce ul.products li.product a.button:hover{
  background: var(--fs-primary-600) !important;
}

.fs-home .woocommerce span.onsale{
  background: var(--fs-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-weight: 1000 !important;
  border: 0 !important;
  min-height: unset !important;
  line-height: 1 !important;
}

/* Responsive */
@media (max-width: 1280px){
  .fs-home .woocommerce ul.products{ grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 1024px){
  .fs-home .woocommerce ul.products{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px){
  .fs-home .woocommerce ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
/* ================================
   ForSailors — Grid uniforme + Cards alineadas
   (Elementor WooCommerce Products widget)
================================ */

/* 1) Convertimos la parrilla en GRID real (misma altura por fila) */
.elementor-widget-woocommerce-products ul.products{
  display: grid !important;
  gap: 22px !important;
  margin: 0 !important;
}

/* Mantener columnas según clase de WooCommerce */
.elementor-widget-woocommerce-products ul.products.columns-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.elementor-widget-woocommerce-products ul.products.columns-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.elementor-widget-woocommerce-products ul.products.columns-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.elementor-widget-woocommerce-products ul.products.columns-5{ grid-template-columns: repeat(5, minmax(0,1fr)); }
.elementor-widget-woocommerce-products ul.products.columns-6{ grid-template-columns: repeat(6, minmax(0,1fr)); }

/* Responsive (ajústalo si quieres) */
@media (max-width: 1024px){
  .elementor-widget-woocommerce-products ul.products{
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}
@media (max-width: 767px){
  .elementor-widget-woocommerce-products ul.products{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

/* Quitamos floats/anchos legacy para que el GRID mande */
.elementor-widget-woocommerce-products ul.products li.product{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

/* 2) Card en columna + “empujar” precio/botón abajo */
.elementor-widget-woocommerce-products ul.products li.product{
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.elementor-widget-woocommerce-products ul.products li.product a.woocommerce-LoopProduct-link{
  display: flex !important;
  flex-direction: column !important;
}

/* Imagen: misma altura siempre (evita saltos) */
.elementor-widget-woocommerce-products ul.products li.product a img{
  height: 170px !important;
  width: 100% !important;
  object-fit: contain !important;
}

/* Título: máximo 2 líneas, el resto se corta */
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title{
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 2.8em; /* reserva espacio para 2 líneas */
}

/* Precio: lo empujamos hacia abajo (y reservamos altura) */
.elementor-widget-woocommerce-products ul.products li.product .price{
  margin-top: auto !important;   /* clave: baja precio + botón */
  min-height: 2.2em;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 8px;
}

/* Botón: mismo alto y centrado aunque cambie el texto */
.elementor-widget-woocommerce-products ul.products li.product a.button{
  margin-top: 12px !important;
  width: 100% !important;
  min-height: 44px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 10px 14px !important;
}

/* Badge de oferta: que no “empuje” nada */
.elementor-widget-woocommerce-products ul.products li.product .onsale{
  position: absolute !important;
}/* End custom CSS */