@charset "UTF-8";
/* Nidoo CSS architecture bundle.
 * WooCommerce filter side panel formerly emitted inline by snippet 28.
 * Loaded only on product archives/search.
 */
/* ─── Reset sidebar layout: full width content ─── */
.ast-woo-shop-archive #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* Hide all secondary sidebars from the layout flow */
.ast-woo-shop-archive #secondary,
.ast-woo-shop-archive .widget-area.secondary {
  display: none !important;
}

/* Hide duplicate WooCommerce sidebar (Astra renders both WP sidebar + Woo sidebar) */
.ast-woo-shop-archive .ast-woo-container + .widget-area.secondary {
  display: none !important;
}

/* ─── Toggle button ─── */
.nidoo-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--ast-global-color-0, var(--nidoo-primary));
  color: #000;
  border: 1px solid var(--nidoo-primary);
  border-radius: var(--nidoo-radius-md, 12px);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  z-index: 9990;
  margin-bottom: 20px;
}

.nidoo-filter-toggle:hover {
  filter: brightness(0.95);
}

.nidoo-filter-toggle:active {
  transform: scale(0.97);
}

.nidoo-filter-toggle svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* ─── Filter count badge ─── */
.nidoo-filter-toggle .nidoo-filter-count {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: var(--nidoo-white);
  color: #000;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.nidoo-filter-toggle .nidoo-filter-count.nidoo-has-filters {
  display: inline-flex;
}

/* ─── Overlay ─── */
.nidoo-filter-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.nidoo-filter-overlay.nidoo-active {
  opacity: 1;
  visibility: visible;
}

/* ─── Side panel ─── */
.nidoo-filter-panel {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 340px;
  max-width: 85vw;
  height: 100dvh;
  background: var(--nidoo-white);
  z-index: 9999;
  transform: translateX(-100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.nidoo-filter-panel.nidoo-active {
  transform: translateX(0);
}

/* ─── Panel header ─── */
.nidoo-filter-panel-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top, 0px));
  border-bottom: 1px solid #eee;
  position: sticky;
  top: 0;
  background: var(--nidoo-white);
  z-index: 1;
}

body.admin-bar .nidoo-filter-panel-header {
  padding-top: 44px;
}

@media (max-width: 782px) {
  body.admin-bar .nidoo-filter-panel-header {
    padding-top: 58px;
  }
}
.nidoo-filter-close {
  padding: 10px 20px;
  background: transparent;
  border: 2px solid var(--ast-global-color-0, var(--nidoo-primary));
  color: var(--ast-global-color-0, var(--nidoo-primary));
  border-radius: 8px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
}

.nidoo-filter-close:hover {
  background: var(--ast-global-color-0, var(--nidoo-primary));
  color: var(--nidoo-on-primary);
}

/* ─── Panel body (filters) ─── */
.nidoo-filter-panel-body {
  padding: 20px;
  flex: 1;
  overflow-y: auto;
}

.nidoo-filter-panel-body .widget {
  margin-bottom: 24px;
}

.nidoo-filter-panel-body .widget-title {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

/* ─── WOOF overrides inside panel ─── */
.nidoo-filter-panel-body .woof {
  padding: 0 !important;
}

.nidoo-filter-panel-body .woof_container {
  margin-bottom: 20px !important;
}

.nidoo-filter-panel-body .woof_container h4 {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
}

/* ─── Panel footer ─── */
.nidoo-filter-panel-footer {
  padding: 16px 20px;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #eee;
  position: sticky;
  bottom: 0;
  background: var(--nidoo-white);
}

.nidoo-filter-reset-btn {
  display: block;
  width: 100%;
  padding: 12px;
  background: transparent;
  border: 2px solid var(--ast-global-color-0, var(--nidoo-primary));
  color: var(--ast-global-color-0, var(--nidoo-primary));
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: background 0.2s, color 0.2s;
}

.nidoo-filter-reset-btn:hover {
  background: var(--ast-global-color-0, var(--nidoo-primary));
  color: var(--nidoo-on-primary);
}

/* ─── Prevent iOS zoom on input focus ─── */
.nidoo-filter-panel-body input[type="text"],
.nidoo-filter-panel-body input[type="search"],
.nidoo-filter-panel-body input[type="number"],
.nidoo-filter-panel-body input[type="email"],
.nidoo-filter-panel-body input[type="tel"],
.nidoo-filter-panel-body input[type="url"],
.nidoo-filter-panel-body input[type="password"],
.nidoo-filter-panel-body select,
.nidoo-filter-panel-body textarea,
.nidoo-filter-panel-body .woof select,
.nidoo-filter-panel-body .woof input[type="text"],
.nidoo-filter-panel-body .woof input[type="search"] {
  font-size: 16px !important;
}

/* ─── WOOF buttons: outline style matching panel buttons ─── */
.nidoo-filter-panel-body .woof_button,
.nidoo-filter-panel-body .woof_submit_search_form_container button,
.nidoo-filter-panel-body .woof_price3_search_container .woof_button,
.nidoo-filter-panel-body input[type="button"][name="woof_reset_btn"],
.nidoo-filter-panel-body .woof_price3_search_container button,
.nidoo-filter-panel-body .woof_price_search_container button,
.nidoo-filter-panel-body .widget_price_filter button {
  background: transparent !important;
  border: 2px solid var(--ast-global-color-0, var(--nidoo-primary)) !important;
  color: var(--ast-global-color-0, var(--nidoo-primary)) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.nidoo-filter-panel-body .woof_button:hover,
.nidoo-filter-panel-body .woof_submit_search_form_container button:hover,
.nidoo-filter-panel-body .woof_price3_search_container .woof_button:hover,
.nidoo-filter-panel-body input[type="button"][name="woof_reset_btn"]:hover,
.nidoo-filter-panel-body .woof_price3_search_container button:hover,
.nidoo-filter-panel-body .woof_price_search_container button:hover,
.nidoo-filter-panel-body .widget_price_filter button:hover {
  background: var(--ast-global-color-0, var(--nidoo-primary)) !important;
  color: var(--nidoo-on-primary) !important;
}

/* ─── WOOF price filter spacing ─── */
.nidoo-filter-panel-body .price_slider_amount .button,
.nidoo-filter-panel-body .price_slider_amount button {
  background: transparent !important;
  border: 2px solid var(--ast-global-color-0, var(--nidoo-primary)) !important;
  color: var(--ast-global-color-0, var(--nidoo-primary)) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  margin: 0 12px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
}

.nidoo-filter-panel-body .price_slider_amount .button:hover,
.nidoo-filter-panel-body .price_slider_amount button:hover {
  background: var(--ast-global-color-0, var(--nidoo-primary)) !important;
  color: var(--nidoo-on-primary) !important;
}

/* ── No special alignment: button flows naturally on the left ── */
/* ─── Mobile: button shows more prominently ─── */
@media (max-width: 921px) {
  .nidoo-filter-toggle {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 15px;
  }
  .nidoo-filter-panel {
    width: 85vw;
  }
}
