@media (max-width: 768px) {
  header#masthead.site-header {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  header#masthead.site-header > .col-full {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header#masthead.site-header .site-branding,
  header#masthead.site-header .storefront-primary-navigation {
    display: none !important;
  }

  header#masthead.site-header #necami-topbar[data-necami-version="2"] {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 82px !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 70px !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 0 !important;
  }

  header#masthead.site-header #necami-ham {
    position: relative !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0 !important;
    color: #111827 !important;
  }

  header#masthead.site-header #necami-ham::before,
  header#masthead.site-header #necami-ham::after,
  header#masthead.site-header #necami-ham > span {
    content: "" !important;
    position: absolute !important;
    left: 8px !important;
    width: 24px !important;
    height: 2px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: #111827 !important;
    transform: none !important;
  }

  header#masthead.site-header #necami-ham::before { top: 11px !important; }
  header#masthead.site-header #necami-ham > span { top: 19px !important; }
  header#masthead.site-header #necami-ham::after { top: 27px !important; }

  header#masthead.site-header #necami-topbar-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 54px !important;
    margin: 0 !important;
  }

  header#masthead.site-header #necami-topbar-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 170px !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }

  header#masthead.site-header #necami-topbar-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    width: 82px !important;
  }

  header#masthead.site-header #necami-topbar-account,
  header#masthead.site-header #necami-topbar-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111827 !important;
    text-decoration: none !important;
  }

  header#masthead.site-header #necami-topbar-account svg,
  header#masthead.site-header #necami-topbar-cart svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
  }

  header#masthead.site-header > .col-full > .site-search {
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    width: auto !important;
    height: 46px !important;
    margin: 0 12px 12px !important;
    padding: 0 !important;
  }

  header#masthead.site-header .site-search .woocommerce-product-search {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
  }

  header#masthead.site-header .site-search input.search-field {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    padding: 0 44px 0 42px !important;
    border: 1px solid #cfd6df !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 14px !important;
  }

  #necami-panel {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: min(86vw, 330px) !important;
    height: 100dvh !important;
    margin: 0 !important;
    background: #fff !important;
    z-index: 100001 !important;
    overflow-y: auto !important;
    transform: translateX(-105%) !important;
    transition: transform .25s ease !important;
    box-shadow: 8px 0 30px rgba(15, 23, 42, .22) !important;
  }

  #necami-panel.open {
    left: 0 !important;
    transform: translateX(0) !important;
  }

  #necami-overlay {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    background: rgba(15, 23, 42, .48) !important;
    z-index: 100000 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity .25s ease, visibility .25s ease !important;
  }

  #necami-overlay.open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #necami-panel-hdr {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 17px 18px !important;
    border-bottom: 2px solid #0b84ff !important;
    background: #fff !important;
    color: #0b1220 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
  }

  #necami-panel-x {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0b1220 !important;
    font-size: 28px !important;
    line-height: 1 !important;
  }

  #necami-panel-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #necami-panel-list li {
    margin: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
  }

  #necami-panel-list a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 15px 18px !important;
    color: #172033 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }

  #necami-panel-list a svg {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 auto !important;
    color: #8b95a5 !important;
  }

  body.necami-menu-open {
    overflow: hidden !important;
  }

  .necami-announcement-bar {
    padding: 7px 10px !important;
  }

  .necami-announcement-bar .necami-announcement-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3px !important;
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .necami-announcement-bar .necami-announcement-text::before,
  .necami-announcement-bar .necami-announcement-text::after {
    content: none !important;
    display: none !important;
  }

  .necami-announcement-bar .necami-promo-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .necami-announcement-bar .necami-promo-icon {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    background-color: #fff !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  .necami-announcement-bar .necami-promo-shipping .necami-promo-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 6h15v10H1zM16 9h4l3 3v4h-7zM4 19a2 2 0 1 0 4 0 2 2 0 0 0-4 0zm12 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1 6h15v10H1zM16 9h4l3 3v4h-7zM4 19a2 2 0 1 0 4 0 2 2 0 0 0-4 0zm12 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0z'/%3E%3C/svg%3E") !important;
  }

  .necami-announcement-bar .necami-promo-discount .necami-promo-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2s1 4-2 7c-2 2-3 4-3 6a4 4 0 0 0 8 0c0-2-1-3-2-4 4 2 6 5 6 8a8 8 0 1 1-16 0c0-4 2-7 5-10 0 3 1 5 4 5-2-3-1-7 0-12z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2s1 4-2 7c-2 2-3 4-3 6a4 4 0 0 0 8 0c0-2-1-3-2-4 4 2 6 5 6 8a8 8 0 1 1-16 0c0-4 2-7 5-10 0 3 1 5 4 5-2-3-1-7 0-12z'/%3E%3C/svg%3E") !important;
  }

  .necami-announcement-bar .necami-promo-shipping .necami-promo-icon {
    background-color: #ffd43b !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .18));
  }

  .necami-announcement-bar .necami-promo-discount .necami-promo-icon {
    background-color: #ff6b2c !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .18));
  }

  .necami-announcement-bar .necami-promo-emoji {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
    font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-style: normal !important;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .18));
  }

  /* Respaldo global: conserva los mismos emojis en categorías y páginas internas. */
  .necami-announcement-bar .necami-announcement-text:not([data-necami-v2="1"])::before,
  .necami-announcement-bar .necami-announcement-text:not([data-necami-v2="1"])::after {
    padding-left: 0 !important;
    background: none !important;
    font-family: inherit !important;
  }

  .necami-announcement-bar .necami-announcement-text:not([data-necami-v2="1"])::before {
    content: "🚚  Envío gratis en Lima desde S/199" !important;
  }

  .necami-announcement-bar .necami-announcement-text:not([data-necami-v2="1"])::after {
    content: "🔥  10% OFF en tu primera compra · Código NECAMI10" !important;
  }
}

@media (max-width: 380px) {
  header#masthead.site-header #necami-topbar[data-necami-version="2"] {
    grid-template-columns: 40px minmax(0, 1fr) 76px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  header#masthead.site-header #necami-topbar-logo img {
    max-width: 145px !important;
  }

  .necami-announcement-bar .necami-announcement-text {
    font-size: 10px !important;
  }
}

/* NECAMI v2.1: hamburger de tres líneas y buscador móvil independiente */
@media (max-width: 768px) {
  header#masthead.site-header #necami-ham::before,
  header#masthead.site-header #necami-ham::after,
  header#masthead.site-header #necami-ham > span {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  header#masthead.site-header #necami-mobile-search {
    display: block !important;
    width: 100% !important;
    padding: 0 12px 12px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
  }

  header#masthead.site-header #necami-mobile-search form {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
  }

  header#masthead.site-header #necami-mobile-search input[type="search"] {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 14px 0 43px !important;
    border: 1px solid #cbd3de !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #263241 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  header#masthead.site-header #necami-mobile-search input[type="search"]::placeholder {
    color: #697586 !important;
    opacity: 1 !important;
  }

  header#masthead.site-header #necami-mobile-search .necami-search-icon {
    position: absolute !important;
    top: 14px !important;
    left: 15px !important;
    z-index: 2 !important;
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid #7b8797 !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }

  header#masthead.site-header #necami-mobile-search .necami-search-icon::after {
    content: "" !important;
    position: absolute !important;
    right: -5px !important;
    bottom: -3px !important;
    display: block !important;
    width: 7px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: #7b8797 !important;
    transform: rotate(45deg) !important;
  }

  header#masthead.site-header > .col-full > .site-search {
    display: none !important;
  }
}

/* NECAMI v3: encabezado y menú desplegable según referencia */
@media (max-width: 768px) {
  header#masthead.site-header {
    z-index: 100001 !important;
    overflow: visible !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .10) !important;
  }

  header#masthead.site-header #necami-topbar[data-necami-version="2"] {
    grid-template-columns: 46px minmax(0, 1fr) 88px !important;
    gap: 8px !important;
    min-height: 82px !important;
    padding: 10px 14px 8px !important;
  }

  header#masthead.site-header #necami-ham {
    width: 44px !important;
    height: 44px !important;
  }

  header#masthead.site-header #necami-ham::before,
  header#masthead.site-header #necami-ham::after,
  header#masthead.site-header #necami-ham > span {
    left: 7px !important;
    width: 29px !important;
    height: 3px !important;
    background: #0b1220 !important;
  }

  header#masthead.site-header #necami-ham::before { top: 11px !important; }
  header#masthead.site-header #necami-ham > span { top: 20px !important; }
  header#masthead.site-header #necami-ham::after { top: 29px !important; }

  header#masthead.site-header #necami-topbar-logo {
    height: 62px !important;
  }

  header#masthead.site-header #necami-topbar-logo img {
    width: auto !important;
    max-width: 185px !important;
    max-height: 62px !important;
  }

  header#masthead.site-header #necami-topbar-right {
    width: 88px !important;
    gap: 8px !important;
  }

  header#masthead.site-header #necami-topbar-account,
  header#masthead.site-header #necami-topbar-cart {
    position: relative !important;
    width: 38px !important;
    height: 44px !important;
  }

  header#masthead.site-header #necami-topbar-account svg,
  header#masthead.site-header #necami-topbar-cart svg {
    width: 28px !important;
    height: 28px !important;
    stroke-width: 1.9 !important;
  }

  header#masthead.site-header #necami-topbar-cart-count {
    position: absolute !important;
    top: -3px !important;
    right: -4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 21px !important;
    height: 21px !important;
    border-radius: 50% !important;
    background: #0765f5 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  header#masthead.site-header #necami-mobile-search {
    padding: 0 12px 14px !important;
  }

  header#masthead.site-header #necami-mobile-search form,
  header#masthead.site-header #necami-mobile-search input[type="search"] {
    height: 52px !important;
  }

  header#masthead.site-header #necami-mobile-search input[type="search"] {
    padding-left: 48px !important;
    border-color: #cbd3de !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  header#masthead.site-header #necami-mobile-search .necami-search-icon {
    top: 15px !important;
    left: 16px !important;
    width: 19px !important;
    height: 19px !important;
  }

  header#masthead.site-header #necami-panel {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
    left: 0 !important;
    display: block !important;
    width: min(84%, 340px) !important;
    height: auto !important;
    max-height: calc(100vh - 190px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    background: #fff !important;
    z-index: 100003 !important;
    box-shadow: 8px 14px 28px rgba(15, 23, 42, .18) !important;
    transform: translateY(-8px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
  }

  header#masthead.site-header #necami-panel.open {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  #necami-overlay {
    z-index: 100000 !important;
    background: rgba(15, 23, 42, .52) !important;
  }

  header#masthead.site-header #necami-panel-list {
    margin: 0 !important;
    padding: 8px 0 !important;
  }

  header#masthead.site-header #necami-panel-list li {
    border: 0 !important;
  }

  header#masthead.site-header #necami-panel-list a {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 52px !important;
    padding: 8px 18px !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
  }

  header#masthead.site-header #necami-panel-list a:active {
    background: #f1f5f9 !important;
  }

  header#masthead.site-header #necami-panel-list .necami-cat-icon {
    width: 24px !important;
    height: 24px !important;
    color: #0b1220 !important;
  }

  header#masthead.site-header #necami-panel-list .necami-cat-chevron {
    width: 17px !important;
    height: 17px !important;
    color: #7b8797 !important;
  }
}

@media (max-width: 380px) {
  header#masthead.site-header #necami-topbar[data-necami-version="2"] {
    grid-template-columns: 42px minmax(0, 1fr) 82px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  header#masthead.site-header #necami-topbar-logo img {
    max-width: 160px !important;
  }
}

/* NECAMI v3.1: controles táctiles sin borde morado */
@media (max-width: 768px) {
  header#masthead.site-header #necami-ham,
  header#masthead.site-header #necami-topbar-logo,
  header#masthead.site-header #necami-topbar-account,
  header#masthead.site-header #necami-topbar-cart,
  header#masthead.site-header #necami-panel-list a {
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    touch-action: manipulation !important;
  }

  header#masthead.site-header #necami-ham:focus,
  header#masthead.site-header #necami-ham:focus-visible,
  header#masthead.site-header #necami-ham:active,
  header#masthead.site-header #necami-topbar-logo:focus,
  header#masthead.site-header #necami-topbar-logo:focus-visible,
  header#masthead.site-header #necami-topbar-account:focus,
  header#masthead.site-header #necami-topbar-account:focus-visible,
  header#masthead.site-header #necami-topbar-cart:focus,
  header#masthead.site-header #necami-topbar-cart:focus-visible,
  header#masthead.site-header #necami-panel-list a:focus,
  header#masthead.site-header #necami-panel-list a:focus-visible {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  header#masthead.site-header #necami-mobile-search input[type="search"]:focus,
  header#masthead.site-header #necami-mobile-search input[type="search"]:focus-visible {
    outline: none !important;
    border-color: #9aa5b3 !important;
    box-shadow: none !important;
  }
}

/* Las categorías se navegan desde el menú principal, no desde los filtros. */
.wpc-filters-section.wpc-filter-product_cat {
  display: none !important;
}

/* Filtros más compactos y legibles. */
.wpc-filters-widget-wrapper .wpc-filters-section {
  margin-bottom: 18px !important;
}

.wpc-filters-widget-wrapper .wpc-filter-header {
  margin: 0 0 7px !important;
  padding: 0 0 6px !important;
}

.wpc-filters-widget-wrapper .wpc-filter-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}

.wpc-filters-widget-wrapper .wpc-filter-content,
.wpc-filters-widget-wrapper .wpc-filters-ul-list {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.wpc-filters-widget-wrapper .wpc-checkbox-item {
  margin-bottom: 5px !important;
}

/* Ordenamiento de productos: compacto, claro y responsive. */
.woocommerce .woocommerce-ordering {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  float: right;
  width: auto !important;
  margin: 0 0 18px !important;
  padding: 9px 12px !important;
  border: 1px solid #e1e5eb !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 2px 7px rgba(11, 18, 32, .07) !important;
}

.woocommerce .woocommerce-ordering::before {
  content: "Ordenar por:";
  flex: 0 0 auto;
  color: #526071;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.woocommerce .woocommerce-ordering select.orderby {
  min-width: 155px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 34px 0 12px !important;
  border: 1px solid #d8dee7 !important;
  border-radius: 8px !important;
  background-color: #f8fafc !important;
  color: #101828 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 38px !important;
  cursor: pointer;
  box-shadow: none !important;
}

.woocommerce .woocommerce-ordering select.orderby:focus:not(:focus-visible) {
  outline: none !important;
  border-color: #d8dee7 !important;
  box-shadow: none !important;
}

.woocommerce .woocommerce-ordering select.orderby:focus-visible {
  outline: 2px solid #0b84ff !important;
  outline-offset: 2px;
  border-color: #0b84ff !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .woocommerce .woocommerce-ordering {
    display: flex !important;
    float: none !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
  }

  .woocommerce .woocommerce-ordering::before {
    font-size: 13px;
  }

  .woocommerce .woocommerce-ordering select.orderby {
    flex: 1 1 auto;
    min-width: 0 !important;
    max-width: 190px;
    height: 40px !important;
    font-size: 13px !important;
    line-height: 40px !important;
  }
}

/* "Categorías" funciona únicamente como disparador del submenú. */
.primary-navigation li.necami-categories-open > ul.sub-menu,
.primary-navigation li.necami-categories-open.focus > ul.sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  left: 0 !important;
  pointer-events: auto !important;
}

/* Elimina el borde/sombreado morado en clics y toques en todo el sitio. */
a,
button,
input,
select,
textarea,
summary,
[role="button"],
[tabindex] {
  -webkit-tap-highlight-color: transparent !important;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible),
.main-navigation a:focus:not(:focus-visible),
.main-navigation li:focus-within > a:not(:focus-visible),
.woocommerce a:focus:not(:focus-visible),
.woocommerce button:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Indicador accesible solo al navegar con teclado; nunca morado. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #0b84ff !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* ===== Catálogo: alineación, controles y tarjetas uniformes ===== */
.woocommerce.archive .storefront-breadcrumb {
  margin-bottom: 18px !important;
  padding-bottom: 0 !important;
}

.woocommerce.archive #content .col-full {
  padding-top: 0 !important;
}

.woocommerce.archive #primary,
.woocommerce.archive #secondary {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce.archive .woocommerce-products-header,
.woocommerce.archive #secondary .widget:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.woocommerce.archive .woocommerce-products-header__title,
.woocommerce.archive #secondary .widget:first-child .widget-title {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  padding-top: 0 !important;
  line-height: 1.25 !important;
}

.woocommerce.archive #main > .storefront-sorting:first-of-type {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

.woocommerce.archive #main > .storefront-sorting:first-of-type .woocommerce-notices-wrapper {
  flex: 0 0 100%;
}

.woocommerce.archive #main > .storefront-sorting:first-of-type .woocommerce-result-count {
  order: 1;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 42px !important;
}

.woocommerce.archive #main > .storefront-sorting:first-of-type .woocommerce-ordering {
  order: 2;
  float: none !important;
  margin: 0 !important;
}

.woocommerce.archive ul.products + .storefront-sorting {
  display: none !important;
}

.woocommerce.archive ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  clear: both !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce.archive ul.products::before,
.woocommerce.archive ul.products::after {
  display: none !important;
  content: none !important;
}

.woocommerce.archive ul.products li.product {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid #dbe2eb !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 3px 10px rgba(11, 18, 32, .06) !important;
  text-align: center !important;
}

.woocommerce.archive ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.woocommerce.archive ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 12px !important;
  border-radius: 10px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f7f8fa !important;
}

.woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  min-height: 44px !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.woocommerce.archive ul.products li.product .price {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  min-height: 40px !important;
  margin: 0 0 4px !important;
}

.woocommerce.archive ul.products li.product .stock {
  min-height: 20px !important;
  margin: 0 0 10px !important;
  line-height: 20px !important;
}

.woocommerce.archive ul.products li.product .button {
  align-self: center !important;
  width: calc(100% - 18px) !important;
  margin: auto 9px 0 !important;
}

.woocommerce.archive ul.products li.product .onsale {
  position: absolute !important;
  z-index: 3 !important;
  top: 20px !important;
  right: 20px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e5252a !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: 0 2px 6px rgba(229, 37, 42, .28) !important;
}

@media (max-width: 1024px) {
  .woocommerce.archive ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 767px) {
  .woocommerce.archive .storefront-breadcrumb {
    margin-bottom: 12px !important;
  }

  .woocommerce.archive .woocommerce-products-header__title {
    margin-bottom: 10px !important;
    font-size: 26px !important;
  }

  .woocommerce.archive #main > .storefront-sorting:first-of-type {
    align-items: stretch !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  .woocommerce.archive #main > .storefront-sorting:first-of-type .woocommerce-result-count {
    flex: 1 1 100%;
    line-height: 1.4 !important;
  }

  .woocommerce.archive #main > .storefront-sorting:first-of-type .woocommerce-ordering {
    flex: 1 1 100%;
  }

  .woocommerce.archive ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .woocommerce.archive ul.products li.product {
    padding: 8px !important;
    border-radius: 10px !important;
  }

  .woocommerce.archive ul.products li.product .woocommerce-loop-product__title {
    min-height: 40px !important;
    font-size: 12px !important;
  }

  .woocommerce.archive ul.products li.product .price {
    min-height: 38px !important;
    font-size: 12px !important;
  }

  .woocommerce.archive ul.products li.product .onsale {
    top: 13px !important;
    right: 13px !important;
    padding: 5px 7px !important;
    font-size: 9px !important;
  }

  .woocommerce.archive ul.products li.product .button {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 359px) {
  .woocommerce.archive ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Encabezado compacto de todas las categorías. */
body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .woocommerce-products-header.necami-catalog-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "title ordering"
    "count ordering"
    "chips chips" !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 2px !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .woocommerce-products-header__title {
  grid-area: title;
  align-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-count {
  grid-area: count;
  align-self: start !important;
  float: none !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  color: #7b8492 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-ordering {
  grid-area: ordering;
  align-self: center !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .wpc-custom-selected-terms {
  grid-area: chips;
  margin: 4px 0 0 !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) #main > .storefront-sorting.necami-sorting-moved {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) #main > .storefront-sorting.necami-sorting-moved .woocommerce-notices-wrapper:empty {
  display: none !important;
}

body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) #main > .storefront-sorting.necami-sorting-moved + ul.products {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .woocommerce-products-header.necami-catalog-header {
    grid-template-columns: minmax(90px, 1fr) auto !important;
    column-gap: 8px !important;
    margin-bottom: 12px !important;
  }

  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .woocommerce-products-header__title {
    font-size: 25px !important;
  }

  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-count {
    font-size: 11px !important;
  }

  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-ordering {
    display: inline-flex !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    width: auto !important;
    padding: 6px 7px !important;
  }

  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-ordering::before {
    font-size: 11px !important;
  }

  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-ordering select.orderby {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 36px !important;
    padding-right: 24px !important;
    padding-left: 8px !important;
    font-size: 11px !important;
    line-height: 36px !important;
  }
}

@media (max-width: 380px) {
  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-ordering::before {
    content: "Ordenar:" !important;
  }

  body:is(.tax-product_cat,.tax-product_tag,.tax-product_brand) .necami-catalog-header .necami-catalog-ordering select.orderby {
    width: 102px !important;
    min-width: 102px !important;
    max-width: 102px !important;
  }
}

/* ===== Botones comerciales y filtros amigables ===== */
.woocommerce.archive ul.products li.product .add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #087cf0 0%, #005fd1 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 4px 10px rgba(0, 95, 209, .20) !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.woocommerce.archive ul.products li.product .add_to_cart_button::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2ZM1 2v2h2l3.6 7.59-1.35 2.45A2 2 0 0 0 7 17h12v-2H7.42a.25.25 0 0 1-.22-.37L8.1 13h7.45a2 2 0 0 0 1.75-1.03L20.88 5H5.21l-.94-2H1Zm16 16c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2ZM1 2v2h2l3.6 7.59-1.35 2.45A2 2 0 0 0 7 17h12v-2H7.42a.25.25 0 0 1-.22-.37L8.1 13h7.45a2 2 0 0 0 1.75-1.03L20.88 5H5.21l-.94-2H1Zm16 16c-1.1 0-1.99.9-1.99 2S15.9 22 17 22s2-.9 2-2-.9-2-2-2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.woocommerce.archive ul.products li.product .add_to_cart_button:hover {
  background: linear-gradient(135deg, #006fe0 0%, #004eae 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(0, 78, 174, .26) !important;
  transform: translateY(-1px);
}

#secondary .widget_wpc_filters_widget,
#mobile-filter-panel .widget_wpc_filters_widget {
  box-sizing: border-box !important;
  padding: 16px 14px !important;
  border: 1px solid #e1e6ee !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 3px 12px rgba(11, 18, 32, .05) !important;
}

.wpc-filters-widget-wrapper .wpc-filters-section {
  padding: 0 2px 13px !important;
  border-bottom: 1px solid #edf0f4 !important;
}

.wpc-filters-widget-wrapper .wpc-filters-section:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.wpc-filters-widget-wrapper .wpc-filter-title {
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.wpc-filters-widget-wrapper .wpc-term-item-content-wrapper {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 30px !important;
  padding: 2px 4px !important;
  border-radius: 7px !important;
}

.wpc-filters-widget-wrapper .wpc-term-item-content-wrapper:hover {
  background: #f5f8fc !important;
}

.wpc-filters-widget-wrapper .wpc-term-item-content-wrapper > input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  margin: 0 8px 0 0 !important;
  accent-color: #087cf0;
}

.wpc-filters-widget-wrapper .wpc-term-item-content-wrapper > label {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.wpc-filters-widget-wrapper .wpc-filter-link {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-right: 8px !important;
  color: #344054 !important;
  font-size: 13px !important;
}

.wpc-filters-widget-wrapper .wpc-term-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 24px !important;
  height: 24px !important;
  margin-left: auto !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: #e8f2ff !important;
  color: #0867d8 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
}

.wpc-filters-widget-wrapper .wpc-term-count-brackets-open,
.wpc-filters-widget-wrapper .wpc-term-count-brackets-close {
  display: none !important;
}

.wpc-filters-widget-wrapper .wpc-term-count-0 .wpc-term-count {
  background: #f0f2f5 !important;
  color: #98a2b3 !important;
}

#mobile-filter-btn,
.wpc-open-close-filters-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  border: 1px solid #087cf0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0867d8 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 3px 9px rgba(8, 103, 216, .10) !important;
}

#mobile-filter-btn:hover,
.wpc-open-close-filters-button:hover {
  background: #edf6ff !important;
  color: #0057bd !important;
}

@media (max-width: 767px) {
  #mobile-filter-btn,
  .wpc-open-close-filters-button {
    width: 100% !important;
    margin: 0 0 12px !important;
  }

  #mobile-filter-panel {
    padding: 14px !important;
    background: #f6f8fb !important;
  }

  #mobile-filter-panel .widget_wpc_filters_widget {
    padding: 14px 12px !important;
  }
}
/* NECAMI10-visible: mostrar el codigo en la barra promocional movil */
@media (max-width: 767px) {
  .necami-announcement-text { display: block !important; text-align: center !important; line-height: 1.35 !important; }
  .necami-announcement-text > strong { display: inline !important; font-weight: 800 !important; color: #fff !important; letter-spacing: .03em; white-space: nowrap; }
}

/* NECAMI-promo-2-lineas: barra promocional en dos lineas y espacio bajo el buscador */
@media (max-width: 767px) {
  html body .necami-announcement-bar .necami-announcement-text { display: block !important; text-align: center !important; line-height: 1.4 !important; }
  html body .necami-announcement-bar .necami-announcement-text > strong { display: inline !important; white-space: nowrap !important; }
  html body header#masthead.site-header { height: 148px !important; max-height: 148px !important; }
}

/* NECAMI-tienda-movil: mismo diseno de categorias en la Tienda */
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .woocommerce-products-header.necami-catalog-header { grid-template-columns: minmax(90px, 1fr) auto !important; column-gap: 8px !important; margin-bottom: 12px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .woocommerce-products-header__title { font-size: 25px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .necami-catalog-count { font-size: 11px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .necami-catalog-ordering { display: inline-flex !important; justify-content: flex-end !important; gap: 5px !important; width: auto !important; padding: 6px 7px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .necami-catalog-ordering::before { font-size: 11px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .necami-catalog-ordering select.orderby { width: 112px !important; min-width: 112px !important; max-width: 112px !important; height: 36px !important; padding-right: 24px !important; padding-left: 8px !important; font-size: 11px !important; line-height: 36px !important; } }
@media (max-width: 380px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .necami-catalog-ordering::before { content: "Ordenar:" !important; } }
@media (max-width: 380px) { html body.post-type-archive-product.woocommerce-shop .necami-catalog-header .necami-catalog-ordering select.orderby { width: 102px !important; min-width: 102px !important; max-width: 102px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop .woocommerce-products-header { min-height: 0px; padding-right: 0px; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop .woocommerce-ordering, html body.post-type-archive-product.woocommerce-shop nav.woocommerce-pagination { position: static !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop .storefront-breadcrumb { margin-bottom: 6px !important; padding: 5px 0px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary main.site-main { grid-template-columns: 1fr !important; grid-template-areas: "cat-title" "cat-count" "cat-order" "cat-products" !important; row-gap: 6px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header h1 { font-size: 27px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header + .storefront-sorting .woocommerce-ordering { width: 100% !important; max-width: none !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header + .storefront-sorting .woocommerce-result-count { margin-bottom: 0px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary ul.products { margin-top: 2px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop .storefront-breadcrumb { margin-bottom: 2px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary main.site-main { margin-top: 0px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary main.site-main { grid-template-columns: minmax(0px, 1fr) 44px !important; grid-template-areas: "cat-title mobile-filter" "cat-count cat-count" "cat-order cat-order" "cat-products cat-products" !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header { grid-area: cat-title !important; padding-right: 8px !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn { grid-area: mobile-filter !important; place-self: start end !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 42px !important; height: 42px !important; min-width: 42px !important; margin: 0px !important; padding: 0px !important; border: 1px solid rgb(216, 231, 248) !important; border-radius: 10px !important; background: rgb(238, 247, 255) !important; color: rgb(8, 124, 240) !important; font-size: 0px !important; line-height: 0 !important; box-shadow: none !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn svg { width: 22px !important; height: 22px !important; display: block !important; } }
@media (max-width: 768px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn:focus, html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn:active { outline: 0px !important; box-shadow: none !important; border-color: rgb(184, 216, 251) !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header h1 { min-height: 0px !important; font-size: 22px !important; line-height: 1.15 !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary main.site-main { display: grid !important; grid-template-columns: minmax(0px, 1fr) 38px !important; grid-template-areas: "cat-title mobile-filter" "cat-count cat-count" "cat-order cat-order" "cat-products cat-products" !important; gap: 4px 8px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header { grid-area: cat-title !important; align-self: center !important; margin: 0px !important; padding: 0px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header h1 { min-height: 0px !important; margin: 0px !important; padding: 0px !important; font-size: 22px !important; line-height: 36px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn { grid-area: mobile-filter !important; display: inline-flex !important; width: 36px !important; height: 36px !important; min-width: 36px !important; margin: 0px !important; padding: 0px !important; place-self: center end !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header + .storefront-sorting { display: contents !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header + .storefront-sorting .woocommerce-result-count { grid-area: cat-count !important; display: block !important; margin: 0px !important; padding: 0px !important; color: rgb(123, 132, 146) !important; font-size: 12px !important; line-height: 1.3 !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary main.site-main > form.woocommerce-ordering, html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-products-header + .storefront-sorting .woocommerce-ordering { grid-area: cat-order !important; display: flex !important; visibility: visible !important; opacity: 1 !important; width: 100% !important; max-width: none !important; margin: 2px 0px 4px !important; padding: 6px 8px !important; box-sizing: border-box !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-ordering select.orderby { display: block !important; flex: 1 1 auto !important; max-width: none !important; height: 36px !important; line-height: 36px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary ul.products { grid-area: cat-products !important; margin-top: 0px !important; transform: none !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn { display: flex !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0px !important; padding: 0px !important; border: 1px solid rgb(225, 229, 235) !important; border-radius: 10px !important; background: rgb(255, 255, 255) !important; color: rgb(82, 96, 113) !important; box-shadow: rgba(11, 18, 32, 0.07) 0px 2px 7px !important; font-size: 0px !important; line-height: 0 !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn svg { display: none !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn::before { content: "" !important; display: block !important; width: 20px !important; height: 20px !important; background: rgb(82, 96, 113) !important; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 .8 1.6L15 13.33V19a1 1 0 0 1-.55.89l-4 2A1 1 0 0 1 9 21v-7.67L3.2 5.6A1 1 0 0 1 3 5Zm3 1 5 6.67v6.71l2-1v-5.71L18 6H6Z'/%3E%3C/svg%3E") center center / contain no-repeat !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn:focus, html body.post-type-archive-product.woocommerce-shop #mobile-filter-btn:active { outline: 0px !important; border-color: rgb(216, 222, 231) !important; background: rgb(248, 250, 252) !important; box-shadow: rgba(11, 18, 32, 0.07) 0px 2px 7px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .storefront-breadcrumb { margin-bottom: 0px !important; padding-top: 2px !important; padding-bottom: 2px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #content { padding-top: 0px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #primary main.site-main { margin-top: 0px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .storefront-breadcrumb { margin: 0px !important; padding: 0px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .storefront-breadcrumb .col-full { padding-top: 0px !important; padding-bottom: 0px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop .storefront-breadcrumb .woocommerce-breadcrumb { margin: 0px !important; padding: 2px 0px !important; line-height: 1.35 !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #content { margin-top: -4px !important; padding-top: 0px !important; } }
@media (max-width: 767px) { html body.post-type-archive-product.woocommerce-shop #content > .col-full { padding-top: 0px !important; } }
/* NECAMI-paginacion-movil: paginacion visible en celular y selector de orden igual que categorias */
@media (max-width: 768px) {
  html body.woocommerce.archive #primary ul.products + .storefront-sorting { display: block !important; margin: 18px 0 8px !important; padding: 0 !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-result-count,
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-ordering { display: none !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; text-align: center !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination ul.page-numbers { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination ul.page-numbers li { display: block !important; margin: 0 !important; border: 0 !important; float: none !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination .page-numbers { min-width: 40px; height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
  html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-ordering select.orderby { font-size: 13px !important; padding: 0 34px 0 12px !important; height: 36px !important; line-height: 36px !important; }
}@media (max-width: 768px) {
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination { position: static !important; inset: auto !important; transform: none !important; float: none !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination ul.page-numbers li { position: static !important; }
  html body.post-type-archive-product.woocommerce-shop #primary .woocommerce-ordering select.orderby { min-height: 0 !important; max-height: 36px !important; box-sizing: border-box !important; }
}@media (max-width: 768px) {
  html body.woocommerce.archive #primary ul.products + .storefront-sorting { grid-column: 1 / -1 !important; grid-area: auto / 1 / auto / -1 !important; width: 100% !important; max-width: 100% !important; justify-self: stretch !important; }
}
@media (max-width: 768px) {
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination ul.page-numbers { gap: 5px !important; }
  html body.woocommerce.archive #primary ul.products + .storefront-sorting .woocommerce-pagination .page-numbers { min-width: 34px !important; height: 38px !important; padding: 0 6px !important; }
}