@media only screen and (max-width: 690px) {
  body.post-type-archive-product .woocommerce ul.products.columns-4 li.product,
  body.tax-product_cat .woocommerce ul.products.columns-4 li.product,
  body.woocommerce-shop .woocommerce ul.products.columns-4 li.product,
  body.woocommerce-page .woocommerce ul.products.columns-4 li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    float: none !important;
    clear: none !important;
  }

  body.post-type-archive-product .woocommerce ul.products.columns-4 li.product.first,
  body.post-type-archive-product .woocommerce ul.products.columns-4 li.product.last,
  body.tax-product_cat .woocommerce ul.products.columns-4 li.product.first,
  body.tax-product_cat .woocommerce ul.products.columns-4 li.product.last,
  body.woocommerce-shop .woocommerce ul.products.columns-4 li.product.first,
  body.woocommerce-shop .woocommerce ul.products.columns-4 li.product.last,
  body.woocommerce-page .woocommerce ul.products.columns-4 li.product.first,
  body.woocommerce-page .woocommerce ul.products.columns-4 li.product.last {
    clear: none !important;
  }
}

@media (max-width: 999px) {
  body.post-type-archive-product .fibofilters-horizontal-filters-container,
  body.tax-product_cat .fibofilters-horizontal-filters-container {
    display: none !important;
  }

  /* body.post-type-archive-product,
  body.tax-product_cat {
    padding-bottom: 148px;
  } */

  .mobile-shop-filters-trigger {
    position: fixed;
    left: 50%;
    bottom: calc(92px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
    z-index: 99998;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: #111;
    color: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  }

  body.mobile-bottom-nav-hidden .mobile-shop-filters-trigger,
  body:has(.nectar-slide-in-cart.open) .mobile-shop-filters-trigger {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(16px) !important;
  }

  .mobile-shop-filters-trigger:focus {
    outline: 2px dotted #fff;
    outline-offset: 2px;
  }

  .mobile-shop-filters-trigger__icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
  }

  .mobile-shop-filters-trigger__icon svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
  }

  .mobile-shop-filters-trigger__label {
    display: block;
    white-space: nowrap;
  }
}

@media (min-width: 1000px) {
  .mobile-shop-filters-trigger {
    display: none !important;
  }
}

/* ===== BLOQUES columna-de-dos ===== */
.columna-de-dos .woocommerce ul.products.columns-2 {
  counter-reset: top-rank;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 450px)) !important;
  justify-content: center !important;
  grid-auto-flow: row !important;
  gap: 64px 24px !important;
  width: 100% !important;
  overflow: visible !important;
}

.columna-de-dos .woocommerce ul.products.columns-2::before,
.columna-de-dos .woocommerce ul.products.columns-2::after,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2::before,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2::after {
  content: none !important;
  display: none !important;
}

.columna-de-dos .woocommerce ul.products.columns-2 > li.product,
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.material,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex: none !important;
  order: 0 !important;
  margin: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  clear: none !important;
  grid-column: auto / auto !important;
  box-sizing: border-box !important;
  counter-increment: top-rank;
}

.columna-de-dos .woocommerce ul.products.columns-2 > li.product.first,
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.last,
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.material.first,
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.material.last,
.columna-de-dos .woocommerce ul.products.columns-2 > li.product:nth-child(2n),
.columna-de-dos .woocommerce ul.products.columns-2 > li.product:nth-child(2n+1),
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.material:nth-child(2n),
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.material:nth-child(2n+1),
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.first,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.last,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material.first,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material.last,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product:nth-child(2n),
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product:nth-child(2n+1),
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material:nth-child(2n),
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material:nth-child(2n+1) {
  margin-right: 0 !important;
  clear: none !important;
  grid-column: auto / auto !important;
}

.columna-de-dos .woocommerce ul.products.columns-2 > li.product::after,
.columna-de-dos .woocommerce ul.products.columns-2 > li.product.material::after,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product::after,
body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material::after {
  content: "Top " counter(top-rank);
  position: absolute;
  top: -34px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
  display: inline-block;
  padding: 0;
  background: transparent;
  color: #111;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: 0.3px;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}

@media only screen and (max-width: 999px) {
  .columna-de-dos .woocommerce ul.products.columns-2 > li.product,
  .columna-de-dos .woocommerce ul.products.columns-2 > li.product.material,
  body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product,
  body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }
}

@media only screen and (max-width: 690px) {
  .columna-de-dos .woocommerce ul.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 42px 12px !important;
  }

  .columna-de-dos .woocommerce ul.products.columns-2 > li.product,
  .columna-de-dos .woocommerce ul.products.columns-2 > li.product.material,
  body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product,
  body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .columna-de-dos .woocommerce ul.products.columns-2 > li.product::after,
  .columna-de-dos .woocommerce ul.products.columns-2 > li.product.material::after,
  body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product::after,
  body.woocommerce:not(.single-product) .columna-de-dos ul.products.columns-2 > li.product.material::after {
    top: -24px;
    left: 50%;
    padding: 0;
    font-size: 18px;
  }
}

/* ===== BLOQUES columna-de-tres ===== */
.columna-de-tres .woocommerce ul.products.columns-3 {
  counter-reset: top-rank;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 300px)) !important;
  justify-content: center !important;
  grid-auto-flow: row !important;
  gap: 64px 24px !important;
  width: 100% !important;
  overflow: visible !important;
}

.columna-de-tres .woocommerce ul.products.columns-3::before,
.columna-de-tres .woocommerce ul.products.columns-3::after,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3::before,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3::after {
  content: none !important;
  display: none !important;
}

.columna-de-tres .woocommerce ul.products.columns-3 > li.product,
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex: none !important;
  order: 0 !important;
  margin: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  clear: none !important;
  grid-column: auto / auto !important;
  box-sizing: border-box !important;
  counter-increment: top-rank;
}

.columna-de-tres .woocommerce ul.products.columns-3 > li.product.first,
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.last,
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material.first,
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material.last,
.columna-de-tres .woocommerce ul.products.columns-3 > li.product:nth-child(3n),
.columna-de-tres .woocommerce ul.products.columns-3 > li.product:nth-child(3n+1),
.columna-de-tres .woocommerce ul.products.columns-3 > li.product:nth-child(3n+2),
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material:nth-child(3n),
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material:nth-child(3n+1),
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material:nth-child(3n+2),
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.first,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.last,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material.first,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material.last,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product:nth-child(3n),
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product:nth-child(3n+1),
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product:nth-child(3n+2),
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material:nth-child(3n),
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material:nth-child(3n+1),
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material:nth-child(3n+2) {
  margin-right: 0 !important;
  clear: none !important;
  grid-column: auto / auto !important;
}

.columna-de-tres .woocommerce ul.products.columns-3 > li.product::after,
.columna-de-tres .woocommerce ul.products.columns-3 > li.product.material::after,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product::after,
body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material::after {
  content: "Top " counter(top-rank);
  position: absolute;
  top: -34px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 30;
  display: inline-block;
  padding: 0;
  background: transparent;
  color: #111;
  font-size: 20px;
  /* font-weight: 800; */
  letter-spacing: 0.3px;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}

@media only screen and (max-width: 999px) {
  .columna-de-tres .woocommerce ul.products.columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 48px 18px !important;
  }

  .columna-de-tres .woocommerce ul.products.columns-3 > li.product,
  .columna-de-tres .woocommerce ul.products.columns-3 > li.product.material,
  body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product,
  body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
}

@media only screen and (max-width: 690px) {
  .columna-de-tres .woocommerce ul.products.columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 42px 12px !important;
  }

  .columna-de-tres .woocommerce ul.products.columns-3 > li.product::after,
  .columna-de-tres .woocommerce ul.products.columns-3 > li.product.material::after,
  body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product::after,
  body.woocommerce:not(.single-product) .columna-de-tres ul.products.columns-3 > li.product.material::after {
    top: -24px;
    left: 50%;
    padding: 0;
    font-size: 18px;
  }
}

/* Checkout: bloque de informacion de contacto */
body.woocommerce-checkout #contact-fields.wc-block-components-checkout-step {
  position: relative;
  overflow: hidden;
  padding: 24px !important;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

body.woocommerce-checkout #contact-fields.wc-block-components-checkout-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: #ffbc11;
}

body.woocommerce-checkout #contact-fields .wc-block-components-checkout-step__heading {
  align-items: center;
  gap: 16px;
}

body.woocommerce-checkout #contact-fields .wc-block-components-title {
  color: #000000;
  font-weight: 800;
}

body.woocommerce-checkout #contact-fields .wc-block-checkout__login-prompt {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 2px solid transparent;
  border-radius: 20px;
  background: #ffbc11;
  color: #000000;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

body.woocommerce-checkout #contact-fields .wc-block-checkout__login-prompt:hover,
body.woocommerce-checkout #contact-fields .wc-block-checkout__login-prompt:focus {
  border-color: #ffbc11;
  background: rgba(255, 188, 17, 0.18);
  color: #000000;
  transform: translateY(-1px);
}

body.woocommerce-checkout #contact-fields .wc-block-components-text-input input[type="email"] {
  border: 2px solid #000000;
  border-radius: 8px;
  background: #ffffff;
  color: #000000;
}

body.woocommerce-checkout #contact-fields .wc-block-components-text-input input[type="email"]:focus {
  border-color: #ffbc11;
  box-shadow: 0 0 0 2px #000000;
  outline: 0;
}

body.woocommerce-checkout #contact-fields .wc-block-components-text-input label,
body.woocommerce-checkout #contact-fields .wc-block-components-checkbox__label {
  color: #000000;
}

body.woocommerce-checkout #contact-fields .wc-block-checkout__guest-checkout-notice {
  margin-top: 12px;
  padding: 12px 14px;
  border-left: 5px solid #ffbc11;
  border-radius: 6px;
  background: rgba(255, 188, 17, 0.14);
  color: #000000;
  font-weight: 600;
}

body.woocommerce-checkout #contact-fields .wc-block-components-checkbox__input {
  border-color: #000000;
}

body.woocommerce-checkout #contact-fields .wc-block-components-checkbox__input:checked {
  background-color: #ffbc11;
  border-color: #000000;
}

body.woocommerce-checkout #contact-fields .wc-block-components-checkbox__mark {
  fill: #000000;
}

@media only screen and (max-width: 690px) {
  body.woocommerce-checkout #contact-fields.wc-block-components-checkout-step {
    padding: 20px !important;
  }

  body.woocommerce-checkout #contact-fields .wc-block-components-checkout-step__heading {
    align-items: flex-start;
    gap: 10px;
  }
}
