.av-gallery-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 2px !important;
}
.av-gallery-grid > .elementor-element { grid-row: auto !important; grid-column: auto !important; }
.av-gallery-filter-body {
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  transition: max-height .3s;
}
.av-gallery-filter-arrow { display: inline-block; color: rgb(230 231 232 / .4); transition: transform .2s; }
/* Cloned inputs no longer carry the source-specific selector that hid them. */
.av-gallery-native-checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
.av-gallery-filter-toggle .elementor-button-content-wrapper,
.av-gallery-filter-toggle .elementor-button-text { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.av-gallery-filter-label { display: inline-flex; align-items: center; gap: 8px; }
.av-gallery-filter-badge { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #F68720; color: #0E1320; font-size: 9px; font-weight: 700; line-height: 18px; letter-spacing: normal; text-align: center; }
.av-gallery-rail-clear { padding: 16px 0; font: 400 10px/1.5 Futura,sans-serif; letter-spacing: .15em; text-transform: uppercase; background: none; border: 0; color: rgb(230 231 232 / .35); cursor: pointer; }
.av-gallery-rail-clear:hover { color: #F68720; }
.av-gallery-rail-clear[hidden] { display: none !important; }
.av-gallery-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgb(232 240 255 / .1); }
.av-gallery-chips[hidden],.av-gallery-empty[hidden],.av-gallery-drawer-clear[hidden] { display: none !important; }
.av-gallery-chip {
  font: 400 10px/1.5 Futura,sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding: 16px 10px;
  color: #F68720;
  background: rgb(246 135 32 / .15);
  border: 1px solid rgb(246 135 32 / .4);
  cursor: pointer;
}
.av-gallery-chip:hover { background: rgb(246 135 32 / .25); }
.av-gallery-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 96px 0; text-align: center; gap: 24px; }
.av-gallery-empty-number { font-family: var(--app-font-clash,"Kumbh Sans"),sans-serif; font-size: 60px; font-weight: 700; color: rgb(230 231 232 / .15); line-height: .9; letter-spacing: -.025em; }
.av-gallery-empty-copy { font: 400 11px/1.5 Futura,sans-serif; letter-spacing: .25em; text-transform: uppercase; color: rgb(230 231 232 / .4); }
.av-gallery-clear-button { font: inherit; text-transform: inherit; letter-spacing: inherit; border: 1px solid rgb(246 135 32 / .4); padding: 16px 24px; background: transparent; color: #F68720; cursor: pointer; transition: border-color .15s; }
.av-gallery-clear-button:hover { border-color: #F68720; }
.av-gallery-drawer { position: fixed; inset: 0; z-index: 500; background: rgb(0 0 0 / .7); }
.av-gallery-drawer-panel { position: absolute; inset: auto 0 0; background: #181F2E; padding: 24px; max-height: 80vh; overflow-y: auto; }
.av-gallery-drawer-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.av-gallery-drawer-title { font: 400 10px/1.5 Futura,sans-serif; text-transform: uppercase; letter-spacing: .3em; color: #F68720; }
.av-gallery-drawer-actions { display: flex; align-items: center; gap: 16px; }
.av-gallery-drawer-actions button { border: 0; background: none; padding: 16px 0; font: 400 10px/1.5 Futura,sans-serif; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.av-gallery-drawer-clear { color: rgb(230 231 232 / .4); }
.av-gallery-drawer-clear:hover { color: #F68720; }
.av-gallery-drawer-done { color: rgb(230 231 232 / .5); }
.av-gallery-drawer-done:hover { color: #E6E7E8; }
.av-gallery-drawer-count { font: 400 10px/1.5 Futura,sans-serif; letter-spacing: .2em; text-transform: uppercase; color: rgb(230 231 232 / .3); margin: 0 0 20px; }
@media (min-width:768px) {
  .av-gallery-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .av-gallery-small { height: 100% !important; grid-auto-rows: 1fr !important; }
  .av-gallery-empty-number { font-size: 96px; }
  .av-gallery-drawer { display: none; }
}
