/* Archive layout and responsive filter drawer. */
.elementor.elementor-110 .elementor-element.elementor-element-d549324 {
  display: grid; grid-template-columns: minmax(220px,280px) minmax(0,1fr); gap: 36px;
  align-items: start; overflow: visible;
}
.elementor.elementor-110 .elementor-element.elementor-element-45e220a { width: 100%; min-width: 0; padding: 0; position: sticky; top: var(--iyd-filter-top,140px); align-self: start; }
.elementor.elementor-110 .elementor-element.elementor-element-4306506 { width: 100%; min-width: 0; }
.elementor.elementor-110 .mobile-filter:not(.elementor-sticky__spacer) {
  position: relative !important; inset: auto !important;
  width: 100% !important; margin: 0 !important; max-height: calc(100dvh - var(--iyd-filter-top,140px) - 20px);
  overflow-y: auto; overflow-x: hidden; padding: 0 8px 6px 0; scrollbar-width: thin;
}
.elementor.elementor-110 .mobile-filter.elementor-sticky__spacer,
.elementor.elementor-110 .elementor-element-29efd59.elementor-sticky__spacer { display: none !important; }
.mobile-filter-panel {
  position: fixed; inset: auto 0 0; width: 100%; height: 90dvh; max-height: 90dvh;
  display: flex; flex-direction: column; flex-wrap: nowrap; min-height: 0; margin: 0;
  background: #FFFFFF; color: #231E20; border-radius: 16px 16px 0 0; z-index: 10050;
  transform: translateY(105%); visibility: hidden; pointer-events: none; overflow: hidden;
  transition: transform 240ms cubic-bezier(.2,.7,.2,1), visibility 240ms;
}
.mobile-filter-panel.open { transform: translateY(0); visibility: visible; pointer-events: auto; }
.filter-panel-header { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 16px; padding: 16px 24px; border-bottom: 1px solid #EFEDEE; }
.filter-panel-header h3 { margin: 0; color: #231E20; font: 600 20px/1.2 Sora,sans-serif; }
.filter-close-btn { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; display: flex; align-items: center; justify-content: center; background: transparent; color: #231E20; border: 0; border-radius: 4px; font: 400 28px/1 Sora,sans-serif; cursor: pointer; }
.filter-close-btn:hover,.filter-close-btn:focus { color: #231E20; background: #FFFAE6; }
.filter-panel-content { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: 22px 24px 0; }
.filter-panel-content .wpc-filter-layout-submit-button { padding-bottom: max(22px,env(safe-area-inset-bottom)) !important; }
.mobile-filter-panel .mobile-filter { position: static !important; inset: auto !important; display: block !important; width: 100% !important; max-height: none !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
.mobile-filter-panel .wpc-filter-set-widget-title,
.mobile-filter-panel .wpc-filters-open-button-container,
.mobile-filter-panel .wpc-widget-close-container { display: none !important; }
.mobile-filter-panel .wpc-filters-widget-content { position: static !important; display: block !important; transform: none !important; max-height: none !important; height: auto !important; width: 100% !important; overflow: visible !important; padding: 0 !important; }
.mobile-filter-panel .wpc-filters-widget-containers-wrapper { display: block !important; padding: 0 !important; }
.filter-panel-overlay { position: fixed; inset: 0; background: rgba(35,30,32,.5); z-index: 10049; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 200ms,visibility 200ms; }
.filter-panel-overlay.show { opacity: 1; visibility: visible; pointer-events: auto; }
.filter-panel-trigger,.sort-panel-trigger { min-height: 52px; padding: 10px 16px; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; border: 0; border-radius: 0; background: #FECE00; color: #231E20; font: 600 15px/1.3 Sora,sans-serif; cursor: pointer; }
.filter-panel-trigger:hover,.sort-panel-trigger:hover { background: #FECE00; color: #231E20; }
.filter-panel-trigger .mobile-icon,.sort-panel-trigger .mobile-icon { width: 24px; height: 24px; display: inline-flex; align-items: center; }
.filter-panel-trigger .mobile-icon svg,.sort-panel-trigger .mobile-icon svg { width: 24px; height: 24px; }
.filter-panel-trigger:focus-visible,.sort-panel-trigger:focus-visible,.filter-close-btn:focus-visible { outline: 3px solid #102B40; outline-offset: -4px; }
@media (min-width:1025px) {
  .elementor.elementor-110 .elementor-element-29efd59,.mobile-filter-panel,.filter-panel-overlay { display: none !important; }
}
@media (max-width:1024px) {
  .elementor.elementor-110 .elementor-element.elementor-element-d549324 { grid-template-columns: minmax(0,1fr); gap: 0; }
  .elementor.elementor-110 .elementor-element-45e220a { display: none !important; }
  .elementor.elementor-110 .elementor-element-29efd59:not(.elementor-sticky__spacer) { position: fixed !important; inset: auto 0 0 !important; width: 100% !important; margin: 0 !important; padding: 0 0 env(safe-area-inset-bottom) !important; z-index: 900; border-top: 2px solid #231E20; background: #FECE00; }
  .elementor.elementor-110 .elementor-element-29efd59 > .e-con-inner { display: block; width: 100%; padding: 0; }
  .elementor.elementor-110 .elementor-element-c042d09 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 0; padding: 0; }
  .elementor.elementor-110 .elementor-element-c042d09 > .elementor-widget { width: 100% !important; min-width: 0; }
  .filter-panel-trigger { border-right: 1px solid #231E20; }
  .elementor.elementor-110 .elementor-element-4306506 { margin-bottom: 64px; }
  .mobile-sort-panel { bottom: 0 !important; transform: translateY(105%); visibility: hidden; pointer-events: none; z-index: 10050; transition: transform 240ms,visibility 240ms; }
  .mobile-sort-panel.open { transform: translateY(0); visibility: visible; pointer-events: auto; }
  .panel-overlay { z-index: 10049; }
}
@media (prefers-reduced-motion:reduce) { .mobile-filter-panel,.filter-panel-overlay,.mobile-sort-panel { transition: none; } }
/* Keep both toolbar controls identical, including pointer and keyboard states. */
#open-filter-panel,#open-sort-panel,
#open-filter-panel:hover,#open-sort-panel:hover,
#open-filter-panel:focus,#open-sort-panel:focus,
#open-filter-panel:active,#open-sort-panel:active {
  background: #FECE00; color: #231E20; font: 600 15px/1.3 Sora,sans-serif;
  text-transform: none; letter-spacing: normal; gap: 8px; border-radius: 0;
}
#open-filter-panel .mobile-icon,#open-sort-panel .mobile-icon { width: 24px !important; height: 24px !important; flex: 0 0 24px; margin: 0 !important; }
#open-filter-panel:focus:not(:focus-visible),#open-sort-panel:focus:not(:focus-visible) { outline: none; }

