.ply-sidebar-only{display:block;width:100%;min-width:0;--ply-accent:#2424ff}
.ply-sidebar-only [hidden]{display:none!important}.ply-sidebar-only .ply-sidebar{width:100%;margin:0;min-width:0}.ply-sidebar-only button{cursor:pointer}
/* Compact blue sidebar, with circular selectors and independently scrollable lists. */
.ply-sidebar{color:var(--ply-accent);font-family:'Lexend Giga',Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:.04em}
.ply-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.ply-filter-heading strong{text-transform:uppercase;font-size:10px;letter-spacing:.1em}
.ply-filter .ply-filter-heading button{padding:2px 0;border:0;background:none;color:inherit;text-decoration:underline;font-family:inherit;font-size:9px;line-height:1.6}
.ply-search{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.09em}
.ply-filter .ply-search input{display:block;box-sizing:border-box;width:100%;height:auto;min-height:36px;line-height:1.4;margin:7px 0 16px;padding:8px 9px;border:1px solid #b7b7ff;background:transparent;border-radius:0;color:var(--ply-accent);font-family:Arial,sans-serif;font-size:12px;letter-spacing:0;text-transform:none}
.ply-search input::placeholder{color:#7272a6}
.ply-sidebar details{border-top:1px solid #b6b6ff;padding:15px 0 16px}
.ply-sidebar summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:700;line-height:1.6;text-transform:uppercase;letter-spacing:.1em}
.ply-sidebar summary::-webkit-details-marker{display:none}
.ply-sidebar summary::after{content:'+';font-family:Arial,sans-serif;font-size:15px;line-height:1}
.ply-sidebar details[open]>summary::after{content:'\2212'}
.ply-options{max-height:180px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d1d1de transparent;margin-top:11px;padding:2px 4px 2px 0}
.ply-options::-webkit-scrollbar{width:4px}.ply-options::-webkit-scrollbar-thumb{background:#d1d1de;border-radius:4px}
.ply-options .ply-option{display:flex;align-items:flex-start;gap:5px;padding:3px 0;cursor:pointer;line-height:1.45;text-transform:uppercase;font-size:12px;letter-spacing:.06em;position:relative}
.ply-filter .ply-option>input[type=checkbox]{appearance:none;-webkit-appearance:none;width:11px;height:11px;min-width:11px;padding:0;margin:0;border:1px solid var(--ply-accent);border-radius:50%;background:transparent;box-shadow:none;flex-shrink:0;position:relative;top:1px;cursor:pointer}
.ply-filter .ply-option>input[type=checkbox]:checked{background:var(--ply-accent);box-shadow:inset 0 0 0 2px #fff}
.ply-option-name{overflow-wrap:anywhere}.ply-options small{font-size:7px;letter-spacing:0;line-height:1.7;white-space:nowrap;margin-left:1px}
/* Real color swatches. Accessible names and counts remain in each label. */
.ply-options.ply-swatches{display:flex;flex-wrap:wrap;gap:7px;max-height:120px;padding:4px 4px 5px 3px}
.ply-swatches .ply-color-option{display:block;width:15px;height:15px;padding:0;flex:0 0 15px;position:relative}
.ply-filter .ply-color-option>input[type=checkbox]{position:absolute;inset:0;top:0;width:100%;height:100%;opacity:0;z-index:1;margin:0}
.ply-swatch{display:block;width:15px;height:15px;box-sizing:border-box;border:1px solid #6565ea;border-radius:50%;background:var(--ply-swatch);position:relative}
.ply-color-option input:checked+.ply-swatch{outline:2px solid var(--ply-accent);outline-offset:2px}
.ply-color-option input:focus-visible+.ply-swatch{outline:2px dashed var(--ply-accent);outline-offset:3px}
.ply-color-option .ply-option-name,.ply-color-option small{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ply-active{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.ply-active:empty{display:none}
.ply-filter .ply-chip{border:1px solid #b6b6ff;background:transparent;color:var(--ply-accent);border-radius:3px;padding:5px 6px;font:9px/1.5 Arial,sans-serif;max-width:100%;text-align:left;overflow-wrap:anywhere}
.ply-mobile-toggle{display:none}

/* Loading overlays only the existing Elementor loop; its card styles and columns stay unchanged. */
.ply-loading-status{display:inline-flex;align-items:center;gap:7px;color:#d93e30;font:11px/1.5 Arial,sans-serif;margin:0 0 12px}
.ply-loading-spinner{display:inline-block;flex:0 0 15px;box-sizing:border-box;width:15px;height:15px;border:2px solid #f1c6c0;border-top-color:#e94735;border-radius:50%;animation:ply-spin .7s linear infinite}
.ply-loading-host{position:relative}
.ply-grid-loading{opacity:0!important;pointer-events:none}
.ply-external-loader{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--ply-loading-columns,3),minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:30px;overflow:hidden;pointer-events:none;z-index:2}
.ply-skeleton-card{position:relative;overflow:hidden;min-width:0;align-self:start}
.ply-skeleton-card::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#ffffffa6 45%,#ffffffa6 55%,transparent 80%);transform:translateX(-110%);animation:ply-shimmer 1.4s ease-in-out infinite}
.ply-skeleton-image{aspect-ratio:1;background:#eae6e0;border-radius:2px}
.ply-skeleton-summary{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:11px 12px;padding-top:14px}
.ply-skeleton-line,.ply-skeleton-price,.ply-skeleton-button{display:block;height:11px;background:#e8e3dc;border-radius:3px}.ply-skeleton-price{height:14px;width:32px;justify-self:end}.ply-skeleton-short{width:85%}.ply-skeleton-button{height:17px;border-radius:12px}
.ply-sidebar-only .ply-error{padding:12px;background:#fff0eb;margin:12px 0;color:#8a240f;font:12px/1.5 Arial,sans-serif}.ply-sidebar-only :focus-visible{outline:2px solid var(--ply-accent);outline-offset:3px}
@keyframes ply-spin{to{transform:rotate(360deg)}}@keyframes ply-shimmer{to{transform:translateX(110%)}}
@media(max-width:767px){.ply-sidebar-only .ply-mobile-toggle{display:block;width:100%;padding:10px;border:1px solid var(--ply-accent);border-radius:0;background:transparent;color:var(--ply-accent);font-size:11px}.ply-sidebar-only .ply-sections{display:none}.ply-sidebar-only.ply-filters-open .ply-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:16px}.ply-options{max-height:160px}}
@media(prefers-reduced-motion:reduce){.ply-loading-spinner,.ply-skeleton-card::after{animation:none}.ply-skeleton-card::after{display:none}}

.ply-sidebar-only .ply-diagnostic{display:block;margin-top:8px;font:11px/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.ply-sidebar .ply-pinned{padding:14px 0 20px;border-bottom:1px solid #b7b7ff;margin-bottom:18px}.ply-sidebar .ply-pinned .ply-options{margin-top:0;max-height:none;overflow:visible}.ply-pinned-heading{font:700 14px/1.6 inherit;color:inherit;text-transform:uppercase;margin:0 0 10px}.ply-sidebar .ply-pinned .ply-option{padding:4px 0}
@media(max-width:767px){.ply-sidebar-only .ply-sections{display:block}.ply-sidebar-only:not(.ply-filters-open) .ply-sections>details{display:none}.ply-sidebar-only.ply-filters-open .ply-sections{display:block}}
.ply-pinned-heading{font-family:inherit;font-size:14px;font-weight:700;line-height:1.6}
/* Native modal drawer keeps focus and touch scrolling inside the filters. */
.ply-mobile-dialog:not([open]){display:none}.ply-mobile-dialog{--ply-drawer-bg:#faf8f0;position:fixed;inset:0 0 0 auto;margin:0;width:min(90vw,390px);max-width:none;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--ply-drawer-bg);color:var(--ply-accent);box-shadow:-12px 0 60px #11112f24;box-sizing:border-box;overflow:hidden}.ply-mobile-dialog[open]{display:flex;flex-direction:column;animation:ply-drawer-in .28s cubic-bezier(.2,.75,.25,1)}.ply-mobile-dialog::backdrop{background:#12122666;backdrop-filter:blur(3px);animation:ply-backdrop-in .22s ease}.ply-mobile-dialog.ply-closing{animation:ply-drawer-out .22s ease forwards}.ply-mobile-dialog.ply-closing::backdrop{animation:ply-backdrop-out .22s ease forwards}.ply-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 16px;border-bottom:1px solid #deddf5;font:600 14px/1.5 Arial,sans-serif;flex-shrink:0}.ply-filter .ply-drawer-close{display:grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;background:transparent;color:var(--ply-accent);border:1px solid #d8d6f2;border-radius:50%;font:26px/1 Arial,sans-serif}.ply-sidebar-only .ply-mobile-dialog .ply-sidebar{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:22px;scrollbar-width:thin}.ply-mobile-dialog .ply-filter-heading strong{display:none}.ply-mobile-dialog .ply-filter-heading{justify-content:flex-end}.ply-filter .ply-drawer-done{flex-shrink:0;margin:14px 22px max(18px,env(safe-area-inset-bottom));padding:15px 20px;background:var(--ply-accent);border:1px solid var(--ply-accent);border-radius:30px;color:#fff;font:600 13px/1.4 Arial,sans-serif;letter-spacing:.02em}.ply-sidebar-only .ply-mobile-dialog .ply-sections>details{display:block}.ply-sidebar-only .ply-mobile-dialog .ply-sections{display:block;margin-top:0}.ply-mobile-dialog .ply-options{max-height:210px}.ply-mobile-dialog .ply-option{min-height:28px;align-items:center}.ply-mobile-dialog .ply-option>input[type=checkbox]{width:14px;height:14px;min-width:14px}.ply-mobile-dialog .ply-color-option{min-height:0}.ply-filter-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;box-sizing:border-box;background:var(--ply-accent);border-radius:20px;color:white;font:600 11px/1 Arial,sans-serif}
@media(max-width:767px){.ply-sidebar-only .ply-mobile-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:10px 18px;margin:0 0 16px;border:1px solid #c9c7f1;border-radius:28px;background:#faf8f0;color:var(--ply-accent);font:600 13px/1.5 Arial,sans-serif;box-shadow:0 3px 12px #2424ff08}.ply-mobile-toggle svg{width:21px;height:21px;flex-shrink:0}.ply-mobile-toggle:active{transform:scale(.98)}}
@keyframes ply-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes ply-drawer-out{to{transform:translateX(100%)}}@keyframes ply-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes ply-backdrop-out{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.ply-mobile-dialog[open],.ply-mobile-dialog::backdrop,.ply-mobile-dialog.ply-closing,.ply-mobile-dialog.ply-closing::backdrop{animation:none}.ply-mobile-toggle:active{transform:none}}
.ply-mobile-dialog .ply-error{flex-shrink:0;max-height:20vh;overflow:auto;margin:8px 22px}
