/* =========================================================
   ZAPATERÍA LUPITA - REDISEÑO TOTAL WOOCOMMERCE v35
   Aplica a tienda, producto, carrito, finalizar compra y mi cuenta
   ========================================================= */

:root{
  --zl-red:#c5162e;
  --zl-red-2:#9b1022;
  --zl-ink:#151b2d;
  --zl-muted:#667085;
  --zl-cream:#f8f2ee;
  --zl-card:#ffffff;
  --zl-line:rgba(21,27,45,.10);
  --zl-shadow:0 24px 70px rgba(15,23,42,.12);
  --zl-radius:28px;
  --zl-green:#19b75d;
}

body.zl-v35-total{
  background:linear-gradient(180deg,#fff 0%,#f8f2ee 100%) !important;
  color:var(--zl-ink) !important;
}

/* Oculta completamente el look viejo del tema en WooCommerce */
body.zl-v35-total header.site-header,
body.zl-v35-total #masthead,
body.zl-v35-total .site-header,
body.zl-v35-total .main-header,
body.zl-v35-total .mobile-header,
body.zl-v35-total .entry-header,
body.zl-v35-total .page-header,
body.zl-v35-total .woocommerce-products-header,
body.zl-v35-total .content-title-style-above,
body.zl-v35-total .page-title-wrap{
  display:none !important;
}

body.zl-v35-total .site,
body.zl-v35-total #page,
body.zl-v35-total .site-main,
body.zl-v35-total #primary,
body.zl-v35-total .content-area,
body.zl-v35-total .entry-content-wrap,
body.zl-v35-total .content-bg,
body.zl-v35-total article,
body.zl-v35-total .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Admin bar no tapa tanto */
body.admin-bar.zl-v35-total .zl-v35-topbar{
  margin-top:32px;
}

/* Header nuevo */
.zl-v35-topbar{
  width:100%;
  background:linear-gradient(90deg,var(--zl-red),#e33c50);
  color:#fff;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  padding:8px 16px;
  font-weight:850;
  font-size:13px;
  letter-spacing:.02em;
  box-sizing:border-box;
}

.zl-v35-topbar a{
  color:#fff !important;
  text-decoration:none !important;
  font-weight:950;
}

.zl-v35-header{
  max-width:1180px;
  margin:0 auto;
  padding:20px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  box-sizing:border-box;
}

.zl-v35-logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--zl-ink) !important;
  text-decoration:none !important;
}

.zl-v35-logo-mark{
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--zl-red),var(--zl-red-2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  font-size:18px;
  box-shadow:0 14px 30px rgba(197,22,46,.24);
}

.zl-v35-logo strong{
  display:block;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:27px;
  line-height:1;
  letter-spacing:-.5px;
}

.zl-v35-logo em{
  display:block;
  margin-top:6px;
  font-style:normal;
  color:var(--zl-red);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:950;
}

.zl-v35-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.zl-v35-nav a{
  color:var(--zl-ink) !important;
  background:#fff;
  text-decoration:none !important;
  font-weight:950;
  border:1px solid var(--zl-line);
  border-radius:999px;
  padding:11px 15px;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  transition:.15s ease;
}

.zl-v35-nav a:hover,
.zl-v35-nav a.zl-v35-cart-link{
  background:var(--zl-ink);
  color:#fff !important;
  transform:translateY(-1px);
}

.zl-v35-nav a.zl-v35-active{
  background:#b91d3d !important;
  color:#fff !important;
  border-color:#b91d3d !important;
}

.zl-v35-nav a.zl-v35-cart-link.zl-v35-active{
  background:#7a0d22 !important;
}

.zl-v35-cart-link b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  min-width:22px;
  height:22px;
  border-radius:50%;
  background:var(--zl-red);
  color:#fff;
  font-size:12px;
}

/* Contenedores Woo */
body.zl-v35-total .woocommerce,
body.zl-v35-total.woocommerce-page .site-main,
body.zl-v35-total .wp-block-woocommerce-cart,
body.zl-v35-total .wp-block-woocommerce-checkout,
body.zl-v35-total .wc-block-components-sidebar-layout{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:22px 18px 60px !important;
  box-sizing:border-box !important;
}

/* Título visual nuevo */
body.zl-v35-total .entry-title,
body.zl-v35-total .page-title,
body.zl-v35-total h1{
  color:var(--zl-ink) !important;
  font-weight:950 !important;
  letter-spacing:-1px !important;
}

/* Botones */
body.zl-v35-total .button,
body.zl-v35-total button.button,
body.zl-v35-total input.button,
body.zl-v35-total .single_add_to_cart_button,
body.zl-v35-total .checkout-button,
body.zl-v35-total .wc-block-components-button,
body.zl-v35-total button[type="submit"],
body.zl-v35-total .wp-element-button{
  background:linear-gradient(135deg,var(--zl-red),var(--zl-red-2)) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:999px !important;
  min-height:48px !important;
  padding:13px 22px !important;
  font-weight:950 !important;
  text-decoration:none !important;
  box-shadow:0 14px 28px rgba(197,22,46,.25) !important;
}

body.zl-v35-total .button:hover,
body.zl-v35-total button.button:hover,
body.zl-v35-total .wc-block-components-button:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}

/* Inputs */
body.zl-v35-total input,
body.zl-v35-total textarea,
body.zl-v35-total select,
body.zl-v35-total .select2-selection,
body.zl-v35-total .wc-block-components-text-input input,
body.zl-v35-total .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{
  border:1px solid var(--zl-line) !important;
  border-radius:16px !important;
  min-height:48px !important;
  background:#fff !important;
  color:var(--zl-ink) !important;
  box-shadow:none !important;
}

body.zl-v35-total label,
body.zl-v35-total .wc-block-components-text-input label{
  color:var(--zl-ink) !important;
  font-weight:850 !important;
}

/* =========================================================
   TIENDA / CATÁLOGO
   ========================================================= */

body.zl-v35-total.woocommerce-shop .woocommerce::before,
body.zl-v35-total.tax-product_cat .woocommerce::before{
  content:"Tienda en línea";
  display:block;
  font-size:clamp(44px,6vw,76px);
  line-height:.95;
  letter-spacing:-2px;
  font-weight:950;
  color:var(--zl-ink);
  margin:22px 0 10px;
}

body.zl-v35-total.woocommerce-shop .woocommerce::after,
body.zl-v35-total.tax-product_cat .woocommerce::after{
  content:"Elige modelo, color y talla. Agrega al carrito y calcula envío antes de pagar.";
  display:block;
  color:var(--zl-muted);
  font-size:18px;
  margin:-54px 0 34px;
  max-width:620px;
}

body.zl-v35-total ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
}

body.zl-v35-total ul.products::before,
body.zl-v35-total ul.products::after{
  display:none !important;
}

body.zl-v35-total ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid var(--zl-line) !important;
  border-radius:var(--zl-radius) !important;
  box-shadow:var(--zl-shadow) !important;
  overflow:hidden !important;
  padding:0 0 22px !important;
  transition:.15s ease !important;
}

body.zl-v35-total ul.products li.product:hover{
  transform:translateY(-4px);
}

body.zl-v35-total ul.products li.product a img{
  width:100% !important;
  height:255px !important;
  object-fit:contain !important;
  padding:24px !important;
  margin:0 !important;
  background:linear-gradient(180deg,#fff 0%,#fbf7f4 100%) !important;
  border-bottom:1px solid var(--zl-line) !important;
}

body.zl-v35-total ul.products li.product .woocommerce-loop-product__title{
  font-size:17px !important;
  line-height:1.22 !important;
  min-height:62px !important;
  color:var(--zl-ink) !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  padding:20px 20px 7px !important;
}

body.zl-v35-total ul.products li.product .price{
  color:var(--zl-red) !important;
  font-size:22px !important;
  font-weight:950 !important;
  padding:0 20px !important;
  margin:0 0 18px !important;
}

body.zl-v35-total ul.products li.product .price del{
  color:#98a2b3 !important;
  font-size:15px !important;
}

body.zl-v35-total ul.products li.product .price ins{
  text-decoration:none !important;
}

body.zl-v35-total ul.products li.product .button{
  margin:0 20px !important;
  width:calc(100% - 40px) !important;
  text-align:center !important;
}

/* =========================================================
   PRODUCTO INDIVIDUAL
   ========================================================= */

body.zl-v35-total.single-product div.product{
  max-width:1180px !important;
  margin:24px auto 60px !important;
  padding:34px !important;
  background:#fff !important;
  border:1px solid var(--zl-line) !important;
  border-radius:34px !important;
  box-shadow:var(--zl-shadow) !important;
  box-sizing:border-box !important;
}

body.zl-v35-total.single-product div.product .woocommerce-product-gallery{
  background:linear-gradient(180deg,#fff 0%,#fbf7f4 100%) !important;
  border:1px solid var(--zl-line) !important;
  border-radius:28px !important;
  padding:24px !important;
}

body.zl-v35-total.single-product div.product .summary{
  padding:8px 0 0 28px !important;
}

body.zl-v35-total.single-product .product_title{
  font-size:clamp(30px,4vw,50px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-1px !important;
  color:var(--zl-ink) !important;
  text-transform:uppercase !important;
}

body.zl-v35-total.single-product div.product p.price,
body.zl-v35-total.single-product div.product span.price{
  color:var(--zl-red) !important;
  font-size:30px !important;
  font-weight:950 !important;
}

body.zl-v35-total.single-product div.product form.cart{
  background:#fbf7f4 !important;
  border:1px solid var(--zl-line) !important;
  border-radius:26px !important;
  padding:22px !important;
  margin-top:18px !important;
}

body.zl-v35-total.single-product table.variations th,
body.zl-v35-total.single-product table.variations td{
  display:block !important;
  width:100% !important;
  padding:0 0 10px !important;
}

body.zl-v35-total.single-product table.variations label{
  color:var(--zl-red) !important;
  font-size:12px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  font-weight:950 !important;
}

body.zl-v35-total.single-product table.variations select{
  width:100% !important;
}

/* =========================================================
   CARRITO Y CHECKOUT CLÁSICO/BLOQUES
   ========================================================= */

body.zl-v35-total.woocommerce-cart .woocommerce,
body.zl-v35-total.woocommerce-checkout .woocommerce,
body.zl-v35-total.woocommerce-account .woocommerce,
body.zl-v35-total .wc-block-components-sidebar-layout{
  background:#fff !important;
  border:1px solid var(--zl-line) !important;
  border-radius:34px !important;
  box-shadow:var(--zl-shadow) !important;
  padding:30px !important;
}

body.zl-v35-total.woocommerce-cart .entry-content::before{
  content:"Carrito";
  display:block;
  max-width:1180px;
  margin:24px auto 0;
  padding:0 18px;
  font-size:clamp(42px,5vw,68px);
  font-weight:950;
  letter-spacing:-2px;
  color:var(--zl-ink);
}

body.zl-v35-total.woocommerce-checkout .entry-content::before{
  content:"Finalizar compra";
  display:block;
  max-width:1180px;
  margin:24px auto 0;
  padding:0 18px;
  font-size:clamp(42px,5vw,68px);
  font-weight:950;
  letter-spacing:-2px;
  color:var(--zl-ink);
}

/* Checkout blocks */
body.zl-v35-total .wc-block-checkout__main,
body.zl-v35-total .wc-block-components-sidebar{
  background:#fff !important;
}

body.zl-v35-total .wc-block-components-sidebar{
  border:1px solid var(--zl-line) !important;
  border-radius:26px !important;
  padding:22px !important;
  box-shadow:0 16px 40px rgba(15,23,42,.08) !important;
}

body.zl-v35-total .wc-block-components-title,
body.zl-v35-total .wc-block-components-checkout-step__title,
body.zl-v35-total .wc-block-components-sidebar h2{
  color:var(--zl-ink) !important;
  font-weight:950 !important;
  letter-spacing:-.5px !important;
}

body.zl-v35-total .wc-block-components-order-summary-item__description,
body.zl-v35-total .wc-block-components-product-name{
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
  color:var(--zl-ink) !important;
}

body.zl-v35-total .wc-block-components-product-metadata,
body.zl-v35-total .wc-block-components-product-details{
  font-size:12px !important;
  color:var(--zl-muted) !important;
}

body.zl-v35-total .wc-block-components-order-summary-item__image img{
  object-fit:contain !important;
  background:#fbf7f4 !important;
  border-radius:14px !important;
  padding:6px !important;
}

body.zl-v35-total .wc-block-components-totals-wrapper{
  border-color:var(--zl-line) !important;
}

body.zl-v35-total .wc-block-components-radio-control__option,
body.zl-v35-total .wc-block-checkout__shipping-option,
body.zl-v35-total .wc-block-components-shipping-rates-control__package{
  border:1px solid var(--zl-line) !important;
  border-radius:18px !important;
  background:#fbf7f4 !important;
  margin-bottom:10px !important;
}

/* Tablas carrito clásico */
body.zl-v35-total table.shop_table{
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 12px !important;
}

body.zl-v35-total table.shop_table th{
  color:var(--zl-muted) !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:12px !important;
  border:0 !important;
}

body.zl-v35-total table.shop_table td{
  background:#fbf7f4 !important;
  border:0 !important;
  padding:16px !important;
}

/* Mi cuenta */
body.zl-v35-total.woocommerce-account .entry-content::before{
  content:"Mi cuenta";
  display:block;
  max-width:1180px;
  margin:24px auto 0;
  padding:0 18px;
  font-size:clamp(42px,5vw,68px);
  font-weight:950;
  letter-spacing:-2px;
  color:var(--zl-ink);
}

body.zl-v35-total .woocommerce-MyAccount-navigation{
  background:#fbf7f4 !important;
  border:1px solid var(--zl-line) !important;
  border-radius:24px !important;
  padding:16px !important;
}

body.zl-v35-total .woocommerce-MyAccount-navigation ul{
  padding:0 !important;
  margin:0 !important;
  list-style:none !important;
}

body.zl-v35-total .woocommerce-MyAccount-navigation li a{
  display:block !important;
  text-decoration:none !important;
  color:var(--zl-ink) !important;
  font-weight:850 !important;
  padding:12px 14px !important;
  border-radius:14px !important;
}

body.zl-v35-total .woocommerce-MyAccount-navigation li.is-active a,
body.zl-v35-total .woocommerce-MyAccount-navigation li a:hover{
  background:var(--zl-red) !important;
  color:#fff !important;
}

body.zl-v35-total .woocommerce-MyAccount-content{
  background:#fff !important;
  border:1px solid var(--zl-line) !important;
  border-radius:24px !important;
  padding:24px !important;
}

/* Footer nuevo */
.zl-v35-footer{
  max-width:1180px;
  margin:0 auto;
  padding:0 18px 42px;
  box-sizing:border-box;
}

.zl-v35-footer-cta{
  background:linear-gradient(135deg,var(--zl-red),var(--zl-red-2));
  color:#fff;
  border-radius:34px;
  padding:34px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px 24px;
  align-items:center;
  box-shadow:var(--zl-shadow);
}

.zl-v35-footer-cta span{
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.zl-v35-footer-cta strong{
  display:block;
  font-size:clamp(26px,4vw,44px);
  line-height:1;
  font-weight:950;
}

.zl-v35-footer-cta a{
  grid-row:1 / span 2;
  grid-column:2;
  background:#fff;
  color:var(--zl-red) !important;
  text-decoration:none !important;
  padding:14px 20px;
  border-radius:999px;
  font-weight:950;
}

.zl-v35-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:28px 0 0;
  color:var(--zl-muted);
}

.zl-v35-footer-bottom strong{
  display:block;
  color:var(--zl-ink);
  font-size:24px;
  font-family:Georgia, 'Times New Roman', serif;
}

.zl-v35-footer-bottom p{
  margin:6px 0 0;
}

.zl-v35-footer-bottom a{
  color:var(--zl-ink) !important;
  text-decoration:none !important;
  font-weight:850;
  margin-left:18px;
}

/* WhatsApp flotante viejo: mantener pero más limpio si existe */
a[href*="wa.me"],
a[href*="whatsapp"]{
  text-decoration:none !important;
}

/* Responsive */
@media(max-width:980px){
  .zl-v35-topbar{
    flex-direction:column;
    gap:4px;
    text-align:center;
  }

  .zl-v35-header{
    flex-direction:column;
    align-items:flex-start;
  }

  .zl-v35-nav{
    width:100%;
    justify-content:flex-start;
  }

  body.zl-v35-total ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .zl-v35-footer-cta{
    grid-template-columns:1fr;
  }

  .zl-v35-footer-cta a{
    grid-row:auto;
    grid-column:auto;
    justify-self:start;
  }
}

@media(max-width:700px){
  body.admin-bar.zl-v35-total .zl-v35-topbar{
    margin-top:46px;
  }

  .zl-v35-header{
    padding:16px 12px;
  }

  .zl-v35-logo strong{
    font-size:22px;
  }

  .zl-v35-nav{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .zl-v35-nav a{
    text-align:center;
    padding:11px 10px;
  }

  body.zl-v35-total .woocommerce,
  body.zl-v35-total .wc-block-components-sidebar-layout{
    padding:16px 12px 44px !important;
  }

  body.zl-v35-total.woocommerce-cart .woocommerce,
  body.zl-v35-total.woocommerce-checkout .woocommerce,
  body.zl-v35-total.woocommerce-account .woocommerce,
  body.zl-v35-total .wc-block-components-sidebar-layout{
    border-radius:22px !important;
    padding:18px !important;
  }

  body.zl-v35-total ul.products{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  body.zl-v35-total ul.products li.product a img{
    height:230px !important;
  }

  body.zl-v35-total.single-product div.product{
    padding:18px !important;
    border-radius:22px !important;
  }

  body.zl-v35-total.single-product div.product .summary{
    padding:20px 0 0 !important;
  }

  .zl-v35-footer-bottom{
    flex-direction:column;
  }

  .zl-v35-footer-bottom a{
    display:block;
    margin:8px 0 0;
  }
}

/* =========================================================
   MI CUENTA: campos de acceso/registro (antes sin estilo,
   se veían "pelones" comparados con el resto del sitio)
   ========================================================= */
body.zl-v35-total.woocommerce-account input[type="text"],
body.zl-v35-total.woocommerce-account input[type="email"],
body.zl-v35-total.woocommerce-account input[type="password"]{
  width:100% !important;
  padding:14px 16px !important;
  border:1px solid var(--zl-line) !important;
  border-radius:14px !important;
  background:#fbf7f4 !important;
  font-size:15px !important;
  margin-top:6px !important;
  box-sizing:border-box !important;
}

body.zl-v35-total.woocommerce-account input[type="text"]:focus,
body.zl-v35-total.woocommerce-account input[type="email"]:focus,
body.zl-v35-total.woocommerce-account input[type="password"]:focus{
  outline:none !important;
  border-color:#b91d3d !important;
  box-shadow:0 0 0 3px rgba(185,29,61,.12) !important;
}

body.zl-v35-total.woocommerce-account .woocommerce-form-login,
body.zl-v35-total.woocommerce-account .woocommerce-form-register,
body.zl-v35-total.woocommerce-account .u-columns{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:24px !important;
}

body.zl-v35-total.woocommerce-account .u-column1,
body.zl-v35-total.woocommerce-account .u-column2{
  float:none !important;
  width:auto !important;
  flex:1 1 320px !important;
  margin:0 !important;
}

body.zl-v35-total.woocommerce-account .u-column1,
body.zl-v35-total.woocommerce-account .u-column2{
  background:#fff !important;
  border:1px solid var(--zl-line) !important;
  border-radius:24px !important;
  padding:26px !important;
}

body.zl-v35-total.woocommerce-account .woocommerce-notices-wrapper,
body.zl-v35-total.woocommerce-account .woocommerce > p:first-child{
  display:block !important;
  margin:0 0 20px !important;
  font-size:16px !important;
}

body.zl-v35-total.woocommerce-account .woocommerce > p:first-child strong{
  display:block !important;
  font-size:22px !important;
  margin-bottom:6px !important;
}

body.zl-v35-total.woocommerce-account .form-row{
  margin-bottom:18px !important;
}

/* =========================================================
   PAGAR (CHECKOUT): opciones de pago sin estilo, la
   descripción de cada método se veía "fuera" de su caja
   ========================================================= */
body.zl-v35-total.woocommerce-checkout ul.wc_payment_methods{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

body.zl-v35-total.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method{
  background:#fbf7f4 !important;
  border:1px solid var(--zl-line) !important;
  border-radius:18px !important;
  padding:16px 18px !important;
  margin-bottom:12px !important;
}

body.zl-v35-total.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method label{
  font-weight:850 !important;
  color:var(--zl-ink) !important;
}

body.zl-v35-total.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method .payment_box{
  background:#fff !important;
  border:1px dashed var(--zl-line) !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  margin:12px 0 0 !important;
  font-size:14px !important;
  color:var(--zl-muted) !important;
}

body.zl-v35-total.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method .payment_box::before{
  display:none !important;
}

body.zl-v35-total.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method label img{
  max-height:22px !important;
  width:auto !important;
  vertical-align:middle !important;
  margin-left:6px !important;
}

/* =========================================================
   NOMBRES DE PRODUCTO LARGOS: que no rompan tarjetas, carrito
   ni el resumen del pedido en checkout
   ========================================================= */
body.zl-v35-total *{
  box-sizing:border-box !important;
}

body.zl-v35-total ul.products li.product .woocommerce-loop-product__title,
body.zl-v35-total table.shop_table td.product-name,
body.zl-v35-total table.shop_table td.product-name a,
body.zl-v35-total .cart_item .product-name,
body.zl-v35-total .wc-block-components-order-summary-item__description,
body.zl-v35-total .order_details li{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  max-width:100% !important;
  min-width:0 !important;
}

body.zl-v35-total table.shop_table{
  width:100% !important;
  table-layout:fixed !important;
}

body.zl-v35-total table.shop_table td,
body.zl-v35-total table.shop_table th{
  max-width:0 !important; /* fuerza a respetar table-layout:fixed */
  min-width:0 !important;
}

body.zl-v35-total .woocommerce-checkout-review-order-table td,
body.zl-v35-total .woocommerce-checkout-review-order-table th{
  padding:12px 10px !important;
}

/* Tarjetas de producto: que la fila de precio/botones no se encimen */
body.zl-v35-total ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
}

body.zl-v35-total ul.products li.product .button,
body.zl-v35-total ul.products li.product a.zl-v54-ver-opciones{
  margin-top:auto !important;
}

/* =========================================================
   TEXTOS DE ACCESIBILIDAD (Cargando / Hecho) que no deben
   verse a simple vista, solo para lectores de pantalla
   ========================================================= */
body.zl-v35-total .added_to_cart,
body.zl-v35-total .ajax-loading,
body.zl-v35-total .wc-block-components-loading-mask__text,
body.zl-v35-total a.added_to_cart.wc-forward{
  display:none !important;
}

body.zl-v35-total .screen-reader-text,
body.zl-v35-total .wc-block-components-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* =========================================================
   WHATSAPP FLOTANTE: que nunca tape botones de compra
   ========================================================= */
body.zl-v35-total .woocommerce-checkout #place_order,
body.zl-v35-total .woocommerce-cart .checkout-button,
body.zl-v35-total ul.products li.product .button{
  position:relative !important;
  z-index:2 !important;
}

@media (max-width:782px){
  body.zl-v35-total .woocommerce-checkout,
  body.zl-v35-total.woocommerce-cart .cart-collaterals{
    padding-bottom:90px !important; /* deja espacio libre para que WhatsApp no tape el botón final */
  }
}

/* =========================================================
   MI CUENTA: campos de texto más grandes para que el correo
   se lea completo (antes se veían chicos/cortados). Esta es
   la ÚNICA regla para estos campos en todo el plugin.
   ========================================================= */
body.zl-v35-total.woocommerce-account input.input-text,
body.zl-v35-total.woocommerce-account input[type="text"],
body.zl-v35-total.woocommerce-account input[type="email"],
body.zl-v35-total.woocommerce-account input[type="password"],
body.zl-v35-total.woocommerce-account input[type="tel"],
body.zl-v35-total.woocommerce-account select,
body.zl-v35-total.woocommerce-account textarea,
body.zl-v35-total .zl-woo-box input.input-text,
body.zl-v35-total .zl-woo-box input[type="text"],
body.zl-v35-total .zl-woo-box input[type="email"],
body.zl-v35-total .zl-woo-box input[type="password"],
body.zl-v35-total .zl-woo-box input[type="tel"],
body.zl-v35-total .zl-woo-box select,
body.zl-v35-total .zl-woo-box textarea,
.woocommerce-account input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.zl-woo-box input.input-text,
.zl-woo-box input[type="email"]{
  display:block !important;
  width:100% !important;
  font-size:17px !important;
  padding:14px 18px !important;
  height:auto !important;
  min-height:64px !important;
  line-height:1.4 !important;
  border-radius:14px !important;
  border:1.5px solid #d9b3ba !important;
  background:#fbf7f4 !important;
  color:var(--zl-ink) !important;
  box-shadow:none !important;
}

body.zl-v35-total.woocommerce-account label{
  font-size:16px !important;
  margin-bottom:8px !important;
  display:inline-block !important;
}

body.zl-v35-total.woocommerce-account input.input-text:focus,
body.zl-v35-total.woocommerce-account input[type="text"]:focus,
body.zl-v35-total.woocommerce-account input[type="email"]:focus,
body.zl-v35-total.woocommerce-account input[type="password"]:focus,
body.zl-v35-total .zl-woo-box input.input-text:focus,
.woocommerce-account input.input-text:focus,
.woocommerce-account input[type="email"]:focus,
.zl-woo-box input.input-text:focus{
  outline:none !important;
  border-color:#b91d3d !important;
  box-shadow:0 0 0 3px rgba(185,29,61,.12) !important;
}

/* =========================================================
   CHECKOUT: separación entre las opciones de pago y
   "Añade una nota a tu pedido" (antes quedaban pegados;
   luego quedó doble espacio, aquí ya con una sola separación limpia)
   ========================================================= */
body.zl-v35-total.woocommerce-checkout .woocommerce-additional-fields,
body.zl-v35-total.woocommerce-checkout #order_comments_field,
body.zl-v35-total.woocommerce-checkout .wc_checkout_comment_toggle,
body.zl-v35-total.woocommerce-checkout [class*="order-note"],
body.zl-v35-total.woocommerce-checkout [class*="add-note"]{
  display:block !important;
  margin-top:22px !important;
  padding-top:18px !important;
  border-top:1px solid var(--zl-line) !important;
}

/* =========================================================
   CARRITO: rediseño del contador de cantidad (antes se veía
   un rectángulo negro feo por default del navegador). Este
   sitio usa el Carrito de "bloques" de WooCommerce, así que
   las clases son distintas a las del carrito clásico.
   ========================================================= */
body.zl-v35-total.woocommerce-cart .wc-block-components-quantity-selector,
body.zl-v35-total .wc-block-components-quantity-selector{
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid var(--zl-line) !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:#fbf7f4 !important;
  box-shadow:none !important;
}

body.zl-v35-total .wc-block-components-quantity-selector__input{
  border:0 !important;
  background:transparent !important;
  outline:none !important;
  box-shadow:none !important;
  -moz-appearance:textfield !important;
  text-align:center !important;
  width:44px !important;
  padding:10px 0 !important;
  font-weight:850 !important;
  color:var(--zl-ink) !important;
}

body.zl-v35-total .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
body.zl-v35-total .wc-block-components-quantity-selector__input::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

body.zl-v35-total .wc-block-components-quantity-selector__button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--zl-ink) !important;
  font-weight:950 !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

body.zl-v35-total .wc-block-components-quantity-selector__button:hover{
  background:rgba(185,29,61,.10) !important;
}

/* Por si alguna vez se usa el carrito clásico en vez de bloques,
   dejamos también el soporte para esas clases (no estorba). */
body.zl-v35-total.woocommerce-cart .quantity{
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid var(--zl-line) !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:#fbf7f4 !important;
}

body.zl-v35-total.woocommerce-cart .quantity input.qty{
  border:0 !important;
  background:transparent !important;
  outline:none !important;
  box-shadow:none !important;
  -moz-appearance:textfield !important;
  text-align:center !important;
  width:44px !important;
  padding:10px 0 !important;
  font-weight:850 !important;
  color:var(--zl-ink) !important;
}

body.zl-v35-total.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
body.zl-v35-total.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

body.zl-v35-total.woocommerce-cart .quantity .plus,
body.zl-v35-total.woocommerce-cart .quantity .minus{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--zl-ink) !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

body.zl-v35-total.woocommerce-cart .quantity .plus:hover,
body.zl-v35-total.woocommerce-cart .quantity .minus:hover{
  background:rgba(185,29,61,.10) !important;
}

/* =========================================================
   AVISO "Crear cuenta o iniciar sesión" (movido desde v42,
   estilo idéntico al que ya tenía para no perder el diseño)
   ========================================================= */
body.zl-v35-total.woocommerce-account .zl-v41-login-note{
  display:block !important;
  margin:0 0 18px !important;
  padding:18px 20px !important;
  border-radius:20px !important;
  background:#fffaf5 !important;
  border:1px solid var(--zl-line) !important;
}

body.zl-v35-total.woocommerce-account .zl-v41-login-note strong{
  display:block !important;
  color:var(--zl-ink) !important;
  font-size:18px !important;
  font-weight:950 !important;
  margin-bottom:4px !important;
}

body.zl-v35-total.woocommerce-account .zl-v41-login-note span{
  display:block !important;
  color:var(--zl-muted) !important;
  font-size:14px !important;
}

/* =========================================================
   TIENDA: el botón "Ver opciones" no debe flotar encima del
   precio. La causa real: Kadence usa una caja separada
   ".product-action-wrap" que envuelve el botón, y esa caja
   (no el botón en sí) es la que queda mal posicionada.
   ========================================================= */
body.zl-v35-total ul.products li.product{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
}

body.zl-v35-total ul.products li.product .product-details,
body.zl-v35-total ul.products li.product .price,
body.zl-v35-total ul.products li.product h2,
body.zl-v35-total ul.products li.product h3,
body.zl-v35-total ul.products li.product .woocommerce-loop-product__title{
  position:static !important;
  z-index:1 !important;
}

body.zl-v35-total .product-action-wrap,
body.zl-v35-total div.product-action-wrap,
body.zl-v35-total li .product-action-wrap,
body.zl-v35-total .wc-block-grid__product-add-to-cart,
.wc-block-grid__product-add-to-cart{
  position:static !important;
  display:block !important;
  width:100% !important;
  margin-top:14px !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  top:auto !important;
  bottom:auto !important;
  left:auto !important;
  right:auto !important;
}

body.zl-v35-total a.button,
body.zl-v35-total a.add_to_cart_button,
body.zl-v35-total a.zl-v54-ver-opciones,
body.zl-v35-total a.zl52-view-options,
body.zl-v35-total .product-action-wrap a,
body.zl-v35-total .zl-woo-box a.button,
body.zl-v35-total .zl-woo-box button.button,
body.zl-v35-total .zl-woo-box input.button,
body.zl-v35-total .zl-woo-box .checkout-button,
a.zl-v54-ver-opciones,
a.zl52-view-options,
a.add_to_cart_button,
.zl-woo-box a.button,
.product-action-wrap a.add_to_cart_button{
  position:static !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:background .2s ease, color .2s ease !important;
  width:auto !important;
  min-height:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  margin:10px 0 0 !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  background:transparent !important;
  border:1.5px solid #b91d3d !important;
  color:#b91d3d !important;
  font-size:13px !important;
  font-weight:850 !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}

body.zl-v35-total a.button:hover,
body.zl-v35-total a.add_to_cart_button:hover,
body.zl-v35-total a.zl-v54-ver-opciones:hover,
body.zl-v35-total a.zl52-view-options:hover,
body.zl-v35-total .product-action-wrap a:hover,
a.add_to_cart_button:hover,
a.zl-v54-ver-opciones:hover,
a.zl52-view-options:hover{
  background:#b91d3d !important;
  color:#fff !important;
}

body.zl-v35-total a.zl-v54-ver-opciones::after,
body.zl-v35-total a.zl52-view-options::after{
  content:" →" !important;
  margin-left:4px !important;
}

/* Quita cualquier fondo/overlay semitransparente que Kadence
   agregue detrás del botón al hacer hover sobre la tarjeta.
   Cubre también el widget de "Nuevo en la tienda"/relacionados,
   que usa una estructura distinta a la del listado normal. */
body.zl-v35-total ul.products li.product::before,
body.zl-v35-total ul.products li.product::after,
body.zl-v35-total .wc-block-grid__product::before,
body.zl-v35-total .wc-block-grid__product::after,
body.zl-v35-total ul.products li.product .kb-woo-hover-icon,
body.zl-v35-total ul.products li.product .kadence-loop-hover{
  display:none !important;
}

/* =========================================================
   SELLOS DE CONFIANZA ("Compra segura"): antes se veían
   grises y planos, ahora con color para que resalten.
   ========================================================= */
.zl-shop-hero-card{
  background:#fff !important;
  border:1px solid var(--zl-line) !important;
  border-radius:22px !important;
}

.zl-shop-hero-card strong{
  color:var(--zl-ink) !important;
}

.zl-shop-hero-card span{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:12px 16px !important;
  border-radius:14px !important;
  font-weight:750 !important;
}

.zl-shop-hero-card span:nth-of-type(1){
  background:rgba(185,29,61,.08) !important;
  color:#b91d3d !important;
}

.zl-shop-hero-card span:nth-of-type(2){
  background:rgba(21,120,80,.08) !important;
  color:#157850 !important;
}

.zl-shop-hero-card span:nth-of-type(3){
  background:rgba(21,80,150,.08) !important;
  color:#155096 !important;
}

.zl-shop-hero-card span{
  border-left:4px solid currentColor !important;
}

/* =========================================================
   AVISO DE PRIVACIDAD / TÉRMINOS Y CONDICIONES: para que se
   vean con el mismo diseño de marca que el resto del sitio.
   ========================================================= */
body.zl-v35-total .zl-legal-page{
  max-width:800px !important;
  margin:0 auto !important;
  line-height:1.7 !important;
  color:var(--zl-ink) !important;
}

body.zl-v35-total .zl-legal-page h2{
  color:#b91d3d !important;
  font-size:20px !important;
  margin:32px 0 12px !important;
  padding-bottom:8px !important;
  border-bottom:2px solid var(--zl-line) !important;
}

body.zl-v35-total .zl-legal-page p{
  margin:0 0 16px !important;
}

body.zl-v35-total .zl-legal-page ul{
  margin:0 0 16px !important;
  padding-left:22px !important;
}

body.zl-v35-total .zl-legal-page li{
  margin-bottom:8px !important;
}

body.zl-v35-total .zl-legal-page strong{
  color:var(--zl-ink) !important;
}


/* La barra original de copyright de Kadence (site-footer) ya
   no hace falta: el mismo texto ahora vive directamente dentro
   de nuestro propio pie de página (.zl-v35-footer-credit), así
   que la volvemos a ocultar para no duplicar y para que no se
   vea fuera de lugar. */
body.zl-v35-total footer.site-footer,
body.zl-v35-total .site-footer{
  display:none !important;
}

body.zl-v35-total .zl-v35-footer-credit{
  text-align:center !important;
  padding:14px 20px 0 !important;
  border-top:1px solid var(--zl-line) !important;
}

body.zl-v35-total .zl-v35-footer-credit p{
  margin:0 !important;
  font-size:12px !important;
  color:#8a8a8a !important;
}
