@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
:root{--nxrs-primary: #000000;--nxrs-accent: #003aee;--nxrs-bg: #ffffff;--nxrs-text: #333333;--nxrs-text-muted: #888888;--nxrs-border: #e0e0e0;--nxrs-shadow: rgba(0, 0, 0, .1);--nxrs-radius: 8px;--nxrs-radius-sm: 4px;--nxrs-transition: .2s ease;--nxrs-overlay-backdrop: rgba(0, 0, 0, .6);--nxrs-overlay-z: 99999;--nxrs-filters-width: 250px;--nxrs-gap: 16px;--nxrs-gap-sm: 8px;--nxrs-gap-lg: 24px;--nxrs-skeleton-base: #f0f0f0;--nxrs-skeleton-highlight: #e0e0e0}body.nxrsearch-open{overflow:hidden}.nxrs-overlay__backdrop{position:fixed;inset:0;background:var(--nxrs-overlay-backdrop);z-index:calc(var(--nxrs-overlay-z) - 1);opacity:0;transition:opacity var(--nxrs-transition);pointer-events:none}.nxrs-overlay{position:fixed;inset:0;z-index:var(--nxrs-overlay-z);display:flex;align-items:flex-start;justify-content:center;padding:var(--nxrs-gap-lg);pointer-events:none;opacity:0;transition:opacity var(--nxrs-transition)}.nxrs-overlay.nxrs-overlay--open,.nxrs-overlay.nxrs-overlay--open .nxrs-overlay__backdrop{opacity:1;pointer-events:auto}.nxrs-overlay__container{position:relative;z-index:var(--nxrs-overlay-z);background:var(--nxrs-bg);color:var(--nxrs-text);border-radius:var(--nxrs-radius);box-shadow:0 20px 60px #0000004d,0 4px 16px #00000026;width:100%;max-width:1400px;max-height:calc(100vh - var(--nxrs-gap-lg) * 2);display:flex;flex-direction:column;overflow:hidden}.nxrs-overlay__header{display:flex;align-items:center;gap:var(--nxrs-gap-sm);padding:var(--nxrs-gap) var(--nxrs-gap-lg);border-bottom:1px solid var(--nxrs-border);flex-shrink:0}.nxrs-search-box{flex:1;display:flex;align-items:center;gap:var(--nxrs-gap-sm);background:#f5f5f5;border:1.5px solid var(--nxrs-border);border-radius:var(--nxrs-radius);padding:0 var(--nxrs-gap-sm);transition:border-color var(--nxrs-transition),box-shadow var(--nxrs-transition)}.nxrs-search-box:focus-within{border-color:var(--nxrs-accent)!important;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 0 0 1px var(--nxrs-accent) !important}.nxrs-search-icon{color:var(--nxrs-text-muted);flex-shrink:0}.nxrs-search-box__input{text-align:center;flex:1;border:none;background:transparent;outline:none;font-size:1rem;color:var(--nxrs-text);padding:12px 0;min-width:0}.nxrs-search-box__input::placeholder{color:var(--nxrs-text-muted)}.nxrs-search-box__clear{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--nxrs-text-muted);padding:4px;border-radius:var(--nxrs-radius-sm);flex-shrink:0;transition:color var(--nxrs-transition),background var(--nxrs-transition)}.nxrs-search-box__clear:hover{color:var(--nxrs-text);background:var(--nxrs-border)}.nxrs-search-box__shortcut{font-family:inherit;font-size:11px;line-height:1;padding:3px 6px;background:var(--nxrs-border);border-radius:var(--nxrs-radius-sm);color:var(--nxrs-text-muted);white-space:nowrap;flex-shrink:0;border:1px solid rgb(198.5,198.5,198.5)}.nxrs-overlay__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;cursor:pointer;border-radius:var(--nxrs-radius-sm);color:var(--nxrs-text-muted);transition:color var(--nxrs-transition),background var(--nxrs-transition);flex-shrink:0}.nxrs-overlay__close:hover{color:var(--nxrs-text);background:var(--nxrs-border)}.nxrs-overlay__close:focus-visible{outline:2px solid var(--nxrs-accent);outline-offset:2px}.nxrs-overlay__body{display:flex;flex:1;min-height:0;overflow:hidden}.nxrs-overlay__main{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:var(--nxrs-gap-lg);gap:var(--nxrs-gap);min-width:0;scrollbar-width:thin;scrollbar-color:var(--nxrs-border) transparent}.nxrs-overlay__main::-webkit-scrollbar{width:6px}.nxrs-overlay__main::-webkit-scrollbar-track{background:transparent}.nxrs-overlay__main::-webkit-scrollbar-thumb{background:var(--nxrs-border);border-radius:3px}.nxrs-status{font-size:.8rem;color:var(--nxrs-text-muted);min-height:1.2em}.nxrs-overlay__footer{display:flex;align-items:center;justify-content:flex-end;padding:var(--nxrs-gap-sm) var(--nxrs-gap-lg);border-top:1px solid var(--nxrs-border);flex-shrink:0}.nxrs-overlay__powered{font-size:.75rem;color:var(--nxrs-text-muted)}.nxrs-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--nxrs-gap-sm);padding:var(--nxrs-gap-lg);color:var(--nxrs-text-muted);text-align:center}.nxrs-error p{margin:0;font-size:.9rem}.nxrs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--nxrs-gap-sm);padding:calc(var(--nxrs-gap-lg) * 2);text-align:center;color:var(--nxrs-text-muted)}.nxrs-empty svg{opacity:.4}.nxrs-empty__text{margin:0;font-size:1rem;font-weight:600;color:var(--nxrs-text)}.nxrs-empty__suggestion{margin:0;font-size:.875rem}.nxrs-status{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:0}.nxrs-status:empty{display:none}.nxrs-status__count{font-size:.85rem;color:var(--nxrs-text-muted);font-weight:500}.nxrs-status__time{font-weight:400;opacity:.6}.nxrs-sort{appearance:none;-webkit-appearance:none;background:#f5f5f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--nxrs-border);border-radius:var(--nxrs-radius-sm);padding:6px 32px 6px 12px;font-size:.8rem;color:var(--nxrs-text);cursor:pointer;transition:border-color var(--nxrs-transition)}.nxrs-sort:hover,.nxrs-sort:focus{border-color:var(--nxrs-accent);outline:none}.nxrs-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--nxrs-gap);align-content:start}.nxrs-product{display:flex;flex-direction:column;border:1px solid var(--nxrs-border);border-radius:var(--nxrs-radius);overflow:hidden;text-decoration:none;color:var(--nxrs-text);background:var(--nxrs-bg);transition:box-shadow var(--nxrs-transition),border-color var(--nxrs-transition),transform var(--nxrs-transition);cursor:pointer;outline:none}.nxrs-product:hover,.nxrs-product:focus-visible{box-shadow:0 4px 20px var(--nxrs-shadow);border-color:var(--nxrs-accent);transform:translateY(-2px)}.nxrs-product--active{box-shadow:0 4px 20px var(--nxrs-shadow);border-color:var(--nxrs-accent);outline:2px solid var(--nxrs-accent);outline-offset:-2px}.nxrs-product__image img{width:100%;height:100%;border-radius:8px;object-fit:cover;transition:transform .3s ease;display:block}.nxrs-product__image:hover img{transform:none}.nxrs-product__no-image{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,#f0f0f0,#f0f0f0 5px,#e8e8e8 5px 10px)}.nxrs-product__info{display:flex;flex-direction:column;gap:4px;padding:var(--nxrs-gap-sm) var(--nxrs-gap-sm) var(--nxrs-gap) var(--nxrs-gap-sm);flex:1}.nxrs-product__name{margin:0;font-size:.85rem;font-weight:600;line-height:1.3;color:var(--nxrs-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nxrs-product__ref{font-size:.72rem;color:var(--nxrs-text-muted);letter-spacing:.02em}.nxrs-product__manufacturer{font-size:.75rem;color:var(--nxrs-text-muted);font-style:italic}.nxrs-product__price{font-size:1rem;font-weight:700;color:var(--nxrs-primary);margin-top:auto}.nxrs-product__stock{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--nxrs-radius-sm);display:inline-block;align-self:flex-start}.nxrs-product__stock--in{background:#e8f5e9;color:#2e7d32}.nxrs-product__stock--out{background:#fce4ec;color:#c62828}.nxrs-product--skeleton{pointer-events:none;cursor:default}.nxrs-product--skeleton:hover,.nxrs-product--skeleton:focus-visible{box-shadow:none;border-color:var(--nxrs-border);transform:none}.nxrs-skeleton{background:linear-gradient(90deg,var(--nxrs-skeleton-base) 25%,var(--nxrs-skeleton-highlight) 50%,var(--nxrs-skeleton-base) 75%);background-size:200% 100%;animation:nxrs-shimmer 1.4s infinite ease-in-out;border-radius:var(--nxrs-radius-sm)}.nxrs-skeleton.nxrs-product__image{aspect-ratio:1/1;border-radius:0}.nxrs-skeleton--title{height:14px;width:90%;margin-top:4px}.nxrs-skeleton--text{height:11px;width:75%}.nxrs-skeleton--short{width:50%}.nxrs-popular{display:flex;flex-direction:column;gap:var(--nxrs-gap-lg)}.nxrs-popular__section{display:flex;flex-direction:column;gap:var(--nxrs-gap-sm)}.nxrs-popular h5{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--nxrs-text-muted);font-weight:600;display:flex;align-items:center;gap:6px}.nxrs-popular h5 svg{opacity:.6}.nxrs-popular__bestsellers h5{color:var(--nxrs-accent)}.nxrs-popular__bestsellers h5 svg{opacity:.8}.nxrs-popular__grid{margin-top:var(--nxrs-gap-sm)}.nxrs-popular__tags{display:flex;flex-wrap:wrap;gap:var(--nxrs-gap-sm)}.nxrs-popular__tag{display:inline-flex;align-items:center;padding:6px 14px;background:#f5f5f5;border:1px solid var(--nxrs-border);border-radius:100px;font-size:.85rem;color:var(--nxrs-text);cursor:pointer;transition:background var(--nxrs-transition),border-color var(--nxrs-transition),color var(--nxrs-transition)}.nxrs-popular__tag:hover{background:var(--nxrs-accent);border-color:var(--nxrs-accent);color:#fff}.nxrs-popular__tag:focus-visible{outline:2px solid var(--nxrs-accent);outline-offset:2px}.nxrs-load-more{display:flex;justify-content:center;padding:var(--nxrs-gap) 0}.nxrs-spinner{width:32px;height:32px;border:3px solid var(--nxrs-border);border-top-color:var(--nxrs-accent);border-radius:50%;animation:nxrs-spin .6s linear infinite}@keyframes nxrs-spin{to{transform:rotate(360deg)}}.nxrs-filters{width:var(--nxrs-filters-width);flex-shrink:0;border-right:1px solid var(--nxrs-border);overflow-y:auto;padding:var(--nxrs-gap-lg) var(--nxrs-gap);display:flex;flex-direction:column;gap:var(--nxrs-gap-lg);scrollbar-width:thin;scrollbar-color:var(--nxrs-border) transparent}.nxrs-filters::-webkit-scrollbar{width:4px}.nxrs-filters::-webkit-scrollbar-thumb{background:var(--nxrs-border);border-radius:2px}.nxrs-filters:empty{display:none}.nxrs-filter-group{display:flex;flex-direction:column;gap:var(--nxrs-gap-sm)}.nxrs-filter-group__title{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--nxrs-text-muted);font-weight:700;padding-bottom:var(--nxrs-gap-sm);border-bottom:1px solid var(--nxrs-border)}.nxrs-filter-group__items{display:flex;flex-direction:column;gap:2px}.nxrs-filter-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 8px;background:none;border:none;border-radius:var(--nxrs-radius-sm);cursor:pointer;font-size:.85rem;color:var(--nxrs-text);text-align:left;transition:background var(--nxrs-transition),color var(--nxrs-transition)}.nxrs-filter-item>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nxrs-filter-item:hover{background:#f5f5f5;color:var(--nxrs-primary)}.nxrs-filter-item:focus-visible{outline:2px solid var(--nxrs-accent);outline-offset:0}.nxrs-filter-item.active{background:#003aee0f;color:var(--nxrs-accent);font-weight:600}.nxrs-filter-item.active .nxrs-filter-count{background:var(--nxrs-accent);color:#fff}.nxrs-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;background:var(--nxrs-border);border-radius:100px;font-size:.7rem;font-weight:600;color:var(--nxrs-text-muted);flex-shrink:0;margin-left:var(--nxrs-gap-sm);transition:background var(--nxrs-transition),color var(--nxrs-transition)}.nxrs-price-display{display:flex;align-items:center;justify-content:space-between;gap:var(--nxrs-gap-sm);font-size:.85rem;font-weight:600;color:var(--nxrs-text)}.nxrs-price-sep{color:var(--nxrs-text-muted)}.nxrs-price-slider{position:relative;height:36px;display:flex;align-items:center}.nxrs-price-track{position:absolute;left:0;right:0;height:4px;background:var(--nxrs-border);border-radius:2px}.nxrs-price-range{position:absolute;height:4px;background:var(--nxrs-accent);border-radius:2px}.nxrs-price-input{position:absolute;width:100%;height:4px;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;margin:0}.nxrs-price-input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--nxrs-accent);border:2px solid #fff;box-shadow:0 1px 4px #00000040;cursor:pointer;pointer-events:all;position:relative;z-index:1}.nxrs-price-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--nxrs-accent);border:2px solid #fff;box-shadow:0 1px 4px #00000040;cursor:pointer;pointer-events:all}.nxrs-price-input--max{z-index:2}.nxrs-price-reset{background:none;border:1px solid var(--nxrs-border);border-radius:var(--nxrs-radius-sm);padding:4px 10px;font-size:.72rem;color:var(--nxrs-text-muted);cursor:pointer;align-self:flex-start;margin-top:2px;transition:color var(--nxrs-transition),border-color var(--nxrs-transition)}.nxrs-price-reset:hover{color:var(--nxrs-accent);border-color:var(--nxrs-accent)}.nxrs-filter-toggle{display:none;align-items:center;gap:var(--nxrs-gap-sm);padding:8px 16px;background:var(--nxrs-primary);color:#fff;border:none;border-radius:var(--nxrs-radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--nxrs-transition)}.nxrs-filter-toggle:hover,.nxrs-filter-toggle.active{background:var(--nxrs-accent)}.nxrs-filter-toggle:focus-visible{outline:2px solid var(--nxrs-accent);outline-offset:2px}@keyframes nxrs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes nxrs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nxrs-slide-up-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes nxrs-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.nxrs-overlay[data-animation=fade],.nxrs-overlay[data-animation=fade] .nxrs-overlay__container{transition:opacity .22s ease}.nxrs-overlay[data-animation=fade]:not(.nxrs-overlay--open){opacity:0}.nxrs-overlay[data-animation=fade].nxrs-overlay--open{opacity:1}.nxrs-overlay[data-animation=slide-up]{transition:opacity .25s ease}.nxrs-overlay[data-animation=slide-up] .nxrs-overlay__container{transition:opacity .25s ease,transform .25s cubic-bezier(.22,.61,.36,1)}.nxrs-overlay[data-animation=slide-up]:not(.nxrs-overlay--open){opacity:0}.nxrs-overlay[data-animation=slide-up]:not(.nxrs-overlay--open) .nxrs-overlay__container{opacity:0;transform:translateY(24px)}.nxrs-overlay[data-animation=slide-up].nxrs-overlay--open{opacity:1}.nxrs-overlay[data-animation=slide-up].nxrs-overlay--open .nxrs-overlay__container{opacity:1;transform:translateY(0)}.nxrs-overlay[data-animation=scale]{transition:opacity .22s ease}.nxrs-overlay[data-animation=scale] .nxrs-overlay__container{transition:opacity .22s ease,transform .22s cubic-bezier(.22,.61,.36,1);transform-origin:top center}.nxrs-overlay[data-animation=scale]:not(.nxrs-overlay--open){opacity:0}.nxrs-overlay[data-animation=scale]:not(.nxrs-overlay--open) .nxrs-overlay__container{opacity:0;transform:scale(.95)}.nxrs-overlay[data-animation=scale].nxrs-overlay--open{opacity:1}.nxrs-overlay[data-animation=scale].nxrs-overlay--open .nxrs-overlay__container{opacity:1;transform:scale(1)}.nxrs-results .nxrs-product{animation:nxrs-fade-in .2s ease both}.nxrs-results .nxrs-product:nth-child(1){animation-delay:0s}.nxrs-results .nxrs-product:nth-child(2){animation-delay:.03s}.nxrs-results .nxrs-product:nth-child(3){animation-delay:.06s}.nxrs-results .nxrs-product:nth-child(4){animation-delay:.09s}.nxrs-results .nxrs-product:nth-child(5){animation-delay:.12s}.nxrs-results .nxrs-product:nth-child(6){animation-delay:.15s}.nxrs-results .nxrs-product:nth-child(7){animation-delay:.18s}.nxrs-results .nxrs-product:nth-child(8){animation-delay:.21s}.nxrs-results .nxrs-product:nth-child(9){animation-delay:.24s}.nxrs-results .nxrs-product:nth-child(10){animation-delay:.27s}.nxrs-results .nxrs-product:nth-child(11){animation-delay:.3s}.nxrs-results .nxrs-product:nth-child(12){animation-delay:.33s}@media (prefers-reduced-motion: reduce){.nxrs-overlay,.nxrs-overlay .nxrs-overlay__container,.nxrs-results .nxrs-product,.nxrs-skeleton{animation:none!important;transition:none!important}}@media (max-width: 767px){.nxrs-overlay{padding:0;align-items:flex-start}.nxrs-overlay__container{border-radius:0;max-height:100dvh;height:100dvh;max-width:100%}.nxrs-overlay__header{padding:var(--nxrs-gap-sm) var(--nxrs-gap)}.nxrs-search-box__input{padding:14px 0;font-size:1rem}.nxrs-overlay__close{width:44px;height:44px}.nxrs-filters{display:none;position:fixed;inset:auto 0 0;width:100%;max-height:60vh;border-right:none;border-top:2px solid var(--nxrs-border);border-radius:var(--nxrs-radius) var(--nxrs-radius) 0 0;padding:var(--nxrs-gap-lg) var(--nxrs-gap);background:var(--nxrs-bg);z-index:calc(var(--nxrs-overlay-z) + 1);box-shadow:0 -4px 24px #00000026;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.22,.61,.36,1)}.nxrs-filters.nxrs-filters--drawer-open{display:flex;transform:translateY(0)}.nxrs-filter-toggle{display:inline-flex;position:fixed;bottom:var(--nxrs-gap);left:50%;transform:translate(-50%);z-index:var(--nxrs-overlay-z);box-shadow:0 4px 16px #0003}.nxrs-results{grid-template-columns:repeat(2,1fr);gap:var(--nxrs-gap-sm)}.nxrs-product__name{font-size:.8rem}.nxrs-product__price{font-size:.9rem}.nxrs-overlay__main{padding:var(--nxrs-gap) var(--nxrs-gap)}.nxrs-popular__tag{padding:8px 16px;font-size:.9rem}.nxrs-filter-item{padding:10px 8px;font-size:.9rem}.nxrs-search-box__shortcut{display:none}.nxrs-overlay__footer{padding:var(--nxrs-gap-sm)}}@media (min-width: 768px) and (max-width: 1023px){.nxrs-overlay{padding:var(--nxrs-gap);align-items:flex-start}.nxrs-overlay__container{max-height:calc(100vh - var(--nxrs-gap) * 2)}.nxrs-filters{width:200px}.nxrs-results{grid-template-columns:repeat(3,1fr)}.nxrs-filter-group__title{font-size:.7rem}}@media (min-width: 1024px){.nxrs-filters{width:var(--nxrs-filters-width)}.nxrs-results{grid-template-columns:repeat(5,1fr)}.nxrs-overlay{padding:var(--nxrs-gap);padding-top:4vh;align-items:flex-start}.nxrs-overlay__container{max-height:90vh}}@media (min-width: 1400px){.nxrs-overlay__container{max-width:1500px}.nxrs-results{grid-template-columns:repeat(5,1fr)}}
.nxrs-product__image img:hover {
	border-radius: 8px;
}
.nxrs-results-section-header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  padding: 2px 0 8px;
  margin-top: 4px;
}

.nxrs-results-section-header:first-child {
  margin-top: 0;
}

.nxrs-results-section-header--exact {
  color: var(--nxrs-accent);
  border-bottom: 1px solid var(--nxrs-accent);
  opacity: .9;
}

.nxrs-results-section-header--related {
  color: var(--nxrs-text-muted);
  border-bottom: 1px solid var(--nxrs-border);
}

.nxrs-product--exact {
  border-color: var(--nxrs-accent);
  box-shadow: 0 0 0 2px var(--nxrs-accent), 0 4px 16px rgba(0,0,0,.1);
  position: relative;
}

.nxrs-product--exact:hover,
.nxrs-product--exact:focus-visible {
  box-shadow: 0 0 0 2px var(--nxrs-accent), 0 6px 24px rgba(0,0,0,.14);
  transform: translateY(-2px);
}

.nxrs-product__exact-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--nxrs-accent);
  background: color-mix(in srgb, var(--nxrs-accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--nxrs-accent) 30%, transparent);
  border-radius: var(--nxrs-radius-sm);
  padding: 2px 6px;
  margin-bottom: 2px;
  order: -1;
  align-self: flex-start;
}

@supports not (background: color-mix(in srgb, red 10%, transparent)) {
  .nxrs-product__exact-badge {
    background: rgba(0, 58, 238, .08);
    border-color: rgba(0, 58, 238, .25);
  }
}

.nxrs-results-section-header--indirect {
  color: var(--nxrs-text-muted);
  border-bottom: 1px dashed var(--nxrs-border);
  opacity: .75;
}

.nxrs-filter-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding-bottom: var(--nxrs-gap-sm);
  border-bottom: 1px solid var(--nxrs-border);
  user-select: none;
}

.nxrs-filter-group__header:hover .nxrs-filter-group__title {
  color: var(--nxrs-primary);
}

.nxrs-filter-group__header .nxrs-filter-group__title {
  border-bottom: none;
  padding-bottom: 0;
  margin: 0;
  flex: 1;
}

.nxrs-filter-group__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--nxrs-text-muted);
  border-radius: var(--nxrs-radius-sm);
  flex-shrink: 0;
  transition: color var(--nxrs-transition), background var(--nxrs-transition);
  padding: 0;
}

.nxrs-filter-group__toggle:hover {
  color: var(--nxrs-primary);
  background: rgba(0,0,0,.04);
}

.nxrs-filter-group__toggle svg {
  transition: transform .2s ease;
}

.nxrs-filter-group__toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.nxrs-filter-group__items,
.nxrs-filter-group__collapsible {
  overflow: hidden;
  transition: none;
}

.nxrs-filter-group__items:not([style*="display: none"]),
.nxrs-filter-group__collapsible:not([style*="display: none"]) {
  margin-top: var(--nxrs-gap-sm);
}

.nxrs-filters__header {
  padding-bottom: var(--nxrs-gap-sm);
  margin-bottom: var(--nxrs-gap-sm);
  border-bottom: 2px solid var(--nxrs-primary);
  flex-shrink: 0;
}

.nxrs-filters__title {
  margin: 0;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--nxrs-primary);
}

.nxrs-popular__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--nxrs-gap-sm);
}

.nxrs-popular__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px 7px 8px;
    background: #f5f5f5;
    border: 1px solid var(--nxrs-border);
    border-radius: 100px;
    font-size: .85rem;
    color: var(--nxrs-text);
    cursor: pointer;
    transition: background var(--nxrs-transition), border-color var(--nxrs-transition), color var(--nxrs-transition), transform var(--nxrs-transition);
    text-align: left;
}

.nxrs-popular__tag:hover {
    background: var(--nxrs-accent);
    border-color: var(--nxrs-accent);
    color: #fff;
    transform: translateY(-1px);
}

.nxrs-popular__tag:hover .nxrs-popular__tag-num {
    background: rgba(255,255,255,.25);
    color: #fff;
}

.nxrs-popular__tag:hover .nxrs-popular__tag-icon svg {
    stroke: #fff;
}

.nxrs-popular__tag:focus-visible {
    outline: 2px solid var(--nxrs-accent);
    outline-offset: 2px;
}

.nxrs-popular__tag-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--nxrs-border);
    border-radius: 100px;
    font-size: .7rem;
    font-weight: 700;
    color: var(--nxrs-text-muted);
    flex-shrink: 0;
    transition: background var(--nxrs-transition), color var(--nxrs-transition);
    line-height: 1;
}

.nxrs-popular__tag-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    opacity: .45;
    transition: opacity var(--nxrs-transition);
}

.nxrs-popular__tag:hover .nxrs-popular__tag-icon {
    opacity: .8;
}

.nxrs-popular__tag-label {
    font-weight: 500;
}

.nxrs-sidebar-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem 2rem;
    transition: opacity .3s ease, transform .3s ease;
    overflow: hidden;
}

.nxrs-sidebar-banner--hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    height: 0;
    padding: 0;
    overflow: hidden;
}

.nxrs-sidebar-banner__inner {
    text-align: center;
    max-width: 200px;
}

.nxrs-sidebar-banner__icon {
    margin-bottom: 1.5rem;
    color: var(--nxrs-primary, #003aee);
    opacity: .9;
    animation: nxrs-banner-pulse 3s ease-in-out infinite;
}

@keyframes nxrs-banner-pulse {
    0%, 100% { transform: scale(1);   opacity: .9; }
    50%       { transform: scale(1.06); opacity: 1;  }
}

.nxrs-sidebar-banner__icon svg {
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 3px 10px rgba(0,0,0,.1));
}

.nxrs-sidebar-banner__headline {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--nxrs-text, #333);
    margin: 0 0 .5rem;
    line-height: 1.3;
}

.nxrs-sidebar-banner__sub {
    font-size: .82rem;
    color: var(--nxrs-text, #333);
    opacity: .55;
    margin: 0 0 1.5rem;
    line-height: 1.55;
}

.nxrs-sidebar-banner__hints {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.nxrs-sidebar-banner__hints li {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .78rem;
    color: var(--nxrs-text, #333);
    opacity: .7;
}

.nxrs-sidebar-banner__hints svg {
    color: var(--nxrs-primary, #003aee);
    flex-shrink: 0;
}

.nxrs-filters.nxrs-filters--has-banner {
    display: flex;
}

.nxrs-sidebar-banner--hidden {
    display: none !important;
}

.nxrs-sidebar-banner {
    flex: 1;
    justify-content: center;
    min-height: 0;
}

.nxrs-nav-section {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--nxrs-border);
}

.nxrs-nav-section__title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .71rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--nxrs-text-muted);
}

.nxrs-nav-section__title svg {
    opacity: .55;
    flex-shrink: 0;
}

.nxrs-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nxrs-nav-link {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    padding: 9px 14px 9px 11px;
    background: var(--nxrs-bg);
    border: 1.5px solid var(--nxrs-border);
    border-radius: var(--nxrs-radius);
    text-decoration: none;
    color: var(--nxrs-text);
    cursor: pointer;
    max-width: 260px;
    transition:
        background    var(--nxrs-transition),
        border-color  var(--nxrs-transition),
        color         var(--nxrs-transition),
        box-shadow    var(--nxrs-transition),
        transform     var(--nxrs-transition);
    outline: none;
}

.nxrs-nav-link:hover {
    background:    var(--nxrs-primary);
    border-color:  var(--nxrs-primary);
    color:         #fff;
    box-shadow:    0 3px 12px rgba(0, 0, 0, .14);
    transform:     translateY(-1px);
}

.nxrs-nav-link:focus-visible {
    outline:        2px solid var(--nxrs-accent);
    outline-offset: 2px;
}

.nxrs-nav-link__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width:  36px;
    height: 36px;
    border-radius: var(--nxrs-radius-sm);
    background: rgba(0, 0, 0, .05);
    font-size: 18px;
    line-height: 1;
    color: var(--nxrs-text-muted);
    transition: background var(--nxrs-transition), color var(--nxrs-transition);
}

.nxrs-nav-link:hover .nxrs-nav-link__icon {
    background: rgba(255, 255, 255, .15);
    color: #fff;
}

.nxrs-nav-link__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.nxrs-nav-link__label {
    font-size:   .84rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: normal;
    overflow:    visible;
    overflow-wrap: anywhere;
    color: var(--nxrs-text);
    transition: color var(--nxrs-transition);
}

.nxrs-nav-link:hover .nxrs-nav-link__label {
    color: #fff;
}

.nxrs-nav-link__breadcrumb {
    font-size:   .71rem;
    color:       var(--nxrs-text-muted);
    white-space: nowrap;
    overflow:    hidden;
    text-overflow: ellipsis;
    transition:  color var(--nxrs-transition);
    line-height: 1.3;
}

.nxrs-nav-link:hover .nxrs-nav-link__breadcrumb {
    color: rgba(255, 255, 255, .75);
}

.nxrs-nav-link__badge {
    align-self:   flex-start;
    display:      inline-block;
    font-size:    .63rem;
    font-weight:  700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding:      2px 6px;
    border-radius: 100px;
    background:   rgba(0, 0, 0, .07);
    color:        var(--nxrs-text-muted);
    flex-shrink:  0;
    margin-top:   1px;
    transition:   background var(--nxrs-transition), color var(--nxrs-transition);
    line-height:  1.5;
    white-space:  nowrap;
}

.nxrs-nav-link:hover .nxrs-nav-link__badge {
    background: rgba(255, 255, 255, .2);
    color: #fff;
}

.nxrs-nav-link__row {
    display:     flex;
    align-items: center;
    gap:         6px;
}

@media (prefers-reduced-motion: reduce) {
    .nxrs-nav-link {
        transition: none !important;
        transform:  none !important;
    }
    .nxrs-nav-link__icon,
    .nxrs-nav-link__label,
    .nxrs-nav-link__breadcrumb,
    .nxrs-nav-link__badge {
        transition: none !important;
    }
}

@media (max-width: 767px) {
    .nxrs-nav-links {
        gap: 6px;
    }

    .nxrs-nav-link {
        padding:   8px 11px 8px 9px;
        max-width: 100%;
    }

    .nxrs-nav-link__icon {
        width:     30px;
        height:    30px;
        font-size: 16px;
    }

    .nxrs-nav-link__breadcrumb {
        display: none;
    }
}

.nxrs-featured-categories-container {
    margin-bottom: var(--nxrs-gap);
    padding: 0 var(--nxrs-gap-sm);
}

.nxrs-featured-categories {
    background: var(--nxrs-bg);
    border: 1px solid var(--nxrs-border);
    border-radius: var(--nxrs-radius);
    overflow: hidden;
}

.nxrs-featured-categories__header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(0,0,0,.02);
    border-bottom: 1px solid var(--nxrs-border);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--nxrs-text-muted);
}

.nxrs-featured-categories__header svg {
    flex-shrink: 0;
}

.nxrs-featured-categories__list {
    padding: 10px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.nxrs-featured-category {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(0,0,0,.04);
    border: 1px solid var(--nxrs-border);
    border-radius: 32px;
    cursor: pointer;
    transition: all var(--nxrs-transition);
    overflow: hidden;
}

.nxrs-featured-category:hover {
    background: var(--nxrs-primary);
    border-color: var(--nxrs-primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
}

.nxrs-featured-category:hover .nxrs-featured-category__name {
    color: #fff;
}

.nxrs-featured-category:hover .nxrs-featured-category__count {
    color: rgba(255,255,255,.8);
}

.nxrs-featured-category__name {
    font-size: .85rem;
    font-weight: 600;
    color: var(--nxrs-text);
    transition: color var(--nxrs-transition);
    white-space: nowrap;
}

.nxrs-featured-category__count {
    font-size: .7rem;
    font-weight: 500;
    color: var(--nxrs-text-muted);
    background: rgba(0,0,0,.05);
    padding: 2px 6px;
    border-radius: 20px;
    transition: all var(--nxrs-transition);
    white-space: nowrap;
}

.nxrs-featured-category:hover .nxrs-featured-category__count {
    background: rgba(255,255,255,.2);
    color: #fff;
}

.nxrs-featured-category__bar {
    display: none;
}

.nxrs-featured-category--with-bar {
    position: relative;
}

.nxrs-featured-category--with-bar .nxrs-featured-category__bar {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    background: var(--nxrs-accent);
    border-radius: 2px;
    transition: width .2s ease;
}

.nxrs-featured-category--compact {
    padding: 4px 10px;
}

.nxrs-featured-category--compact .nxrs-featured-category__count {
    font-size: .65rem;
    padding: 1px 4px;
}

.nxrs-category-toast {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--nxrs-primary);
    color: white;
    padding: 8px 16px;
    border-radius: 24px;
    font-size: .8rem;
    z-index: calc(var(--nxrs-overlay-z) + 30);
    opacity: 0;
    transition: opacity .2s ease;
    pointer-events: none;
    white-space: nowrap;
    font-weight: 500;
    box-shadow: 0 2px 10px rgba(0,0,0,.15);
}

@media (max-width: 767px) {
    .nxrs-featured-categories__list {
        gap: 6px;
        padding: 8px 10px;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }
    
    .nxrs-featured-category {
        flex-shrink: 0;
        padding: 5px 10px;
    }
    
    .nxrs-featured-category__name {
        font-size: .75rem;
        white-space: nowrap;
    }
    
    .nxrs-featured-category__count {
        font-size: .6rem;
        padding: 1px 4px;
    }
    
    .nxrs-category-toast {
        white-space: normal;
        text-align: center;
        max-width: 90%;
        font-size: .75rem;
    }
}

.nxrs-featured-category:active {
    transform: scale(0.96);
}

.nxrs-custom-message {
    background: linear-gradient(135deg, var(--nxrs-primary) 0%, var(--nxrs-accent) 100%);
    color: #fff;
    padding: 12px 16px;
    border-radius: var(--nxrs-radius);
    margin-bottom: var(--nxrs-gap);
    font-size: .9rem;
    text-align: center;
}

.nxrs-custom-message a {
    color: #fff;
    text-decoration: underline;
}

.nxrs-custom-message a:hover {
    color: rgba(255,255,255,.8);
}

.nxrs-custom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: var(--nxrs-gap);
    padding: 0 var(--nxrs-gap-sm);
}

.nxrs-custom-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--nxrs-bg);
    border: 1px solid var(--nxrs-border);
    border-radius: 40px;
    color: var(--nxrs-text);
    text-decoration: none;
    font-size: .85rem;
    font-weight: 500;
    transition: all var(--nxrs-transition);
}

.nxrs-custom-link:hover {
    background: var(--nxrs-primary);
    border-color: var(--nxrs-primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

.nxrs-custom-link .material-icons {
    font-size: 18px;
}

@media (max-width: 767px) {
    .nxrs-custom-links {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    
    .nxrs-custom-link {
        flex-shrink: 0;
        font-size: .75rem;
        padding: 6px 12px;
    }
    
    .nxrs-custom-message {
        font-size: .8rem;
        padding: 10px 12px;
    }
}

.nxrs-limit-selector {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
}

.nxrs-limit-label {
    font-size: 0.7rem;
    color: var(--nxrs-text-muted);
}

.nxrs-limit-select {
    font-size: 0.7rem;
    padding: 2px 6px;
    border: 1px solid var(--nxrs-border);
    border-radius: var(--nxrs-radius-sm);
    background: var(--nxrs-bg);
    color: var(--nxrs-text);
    cursor: pointer;
}

.nxrs-limit-select:hover {
    border-color: var(--nxrs-accent);
}

.nxrs-warning-banner {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: var(--nxrs-radius);
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 0.75rem;
    color: #856404;
    display: flex;
    align-items: center;
    gap: 8px;
}

.nxrs-warning-banner .material-icons {
    font-size: 16px;
    color: #ffc107;
}

.nxrs-product__stock--backorder {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
}

@media (max-width: 767px) {
    .nxrs-limit-selector {
        margin-left: 0;
        margin-top: 6px;
        width: 100%;
        justify-content: flex-end;
    }
    
    .nxrs-limit-select {
        font-size: 0.7rem;
        padding: 4px 8px;
    }
}

#nxrsearch-filters {
    overflow-y: scroll !important;
}

.nxrs-overlay__header {
    position: relative;
    width: 100%;
}

.nxrs-search-box {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

#nxrs-autocomplete {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    z-index: 10000 !important;
    padding: 10px !important;
    max-height: 280px !important;
    overflow-y: auto !important;
}

#nxrs-autocomplete .nxrs-autocomplete__grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
}

#nxrs-autocomplete .nxrs-autocomplete__item {
    position: relative !important;
    display: block !important;
    padding: 5px !important;
    background: #f8f9fa !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: 1px solid #eef2f6 !important;
    text-align: center;
    margin: auto;
}

#nxrs-autocomplete .nxrs-autocomplete__item:hover {
    background: #ffffff !important;
    border-color: var(--nxrs-primary, #003aee) !important;
}

#nxrs-autocomplete .nxrs-autocomplete__text {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    word-break: break-word !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

#nxrs-autocomplete .nxrs-autocomplete__text mark {
    background: transparent !important;
    color: var(--nxrs-primary, #003aee) !important;
    font-weight: 600 !important;
    padding: 0;
}

#nxrs-autocomplete .nxrs-autocomplete__badge {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 10px !important;
    right: 0 !important;
    width: 98% !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    z-index: 10000 !important;
    padding: 10px !important;
    max-height: 280px !important;
    overflow-y: auto !important;
}

@media (max-width: 640px) {
    #nxrs-autocomplete {
        padding: 8px !important;
        max-height: 260px !important;
    }
    
    #nxrs-autocomplete .nxrs-autocomplete__grid {
        grid-template-columns: repeat(auto-fill, minmax(12%, 1fr)) !important;
        gap: 6px !important;
    }
    
    #nxrs-autocomplete .nxrs-autocomplete__item {
        padding: 8px 6px 6px 10px !important;
    }
    
    #nxrs-autocomplete .nxrs-autocomplete__text {
        font-size: 10px !important;
        padding-right: 50px !important;
    }
    
    #nxrs-autocomplete .nxrs-autocomplete__badge {
        font-size: 8px !important;
        top: 4px !important;
        right: 6px !important;
        padding: 1px 5px !important;
    }
}

.nxrs-autocomplete__close-btn {
    position: absolute !important;
    top: 0px !important;
    left: 5px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border: none !important;
    color: white !important;
    font-size: 15px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10000 !important;
    transition: all 0.2s ease !important;
    opacity: 0.6 !important;
}

.nxrs-autocomplete__close-btn:hover {
    background: rgba(220, 53, 69, 0.8) !important;
    opacity: 1 !important;
    transform: scale(1.1) !important;
}

.nxrs-autocomplete__badge--product {
    background: var(--nxrs-label-product, #2c7da0);
}

.nxrs-autocomplete__badge--category {
    background: var(--nxrs-label-category, #2a9d8f);
}

.nxrs-autocomplete__badge--manufacturer {
    background: var(--nxrs-label-manufacturer, #e76f51);
}

.nxrs-autocomplete__badge {
    background: var(--nxrs-label-default;
}

/* --- Fix móvil buscador: iOS auto-zoom al enfocar el input --- */
/* iOS hace zoom al enfocar un input con font-size < 16px. Como el overlay
   auto-enfoca el buscador al abrirse, eso disparaba el "zoom raro" y dejaba
   los resultados fuera de pantalla. 16px explícitos lo evitan. */
@media (max-width: 767px) {
    .nxrs-search-box__input {
        font-size: 16px !important;
        text-align: left;
    }

    /* Cards más pequeñas para ver más productos (grid en nxrsearch-full.css) */
    .nxrs-results {
        gap: 8px;
    }
    .nxrs-product__info {
        padding: 6px;
        gap: 2px;
    }
    .nxrs-product__name {
        font-size: .72rem !important;
        line-height: 1.2;
    }
    .nxrs-product__price {
        font-size: .78rem !important;
    }
    .nxrs-product__ref,
    .nxrs-product__manufacturer {
        display: none;
    }
    .nxrs-product__stock {
        font-size: .6rem;
        padding: 1px 4px;
    }
}