/* Scoped catalogue controls; existing product cards retain their design. */
.odf-enabled { --odf-purple:#673de6; --odf-ink:#252337; --odf-border:#ddd9e8; }
.odf-enabled .before-shop-loop,.odf-enabled .remove-filter,.odf-enabled .woocommerce-no-products-found { display:none!important; }
.odf-state { margin:12px 0 20px; outline:none; color:var(--odf-ink); }
.odf-tools { display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px;background:#fff;border:1px solid var(--odf-border);border-radius:12px; }
.odf-enabled .odf-open { display:none; }
.odf-total { font-size:14px;font-weight:600; }
.odf-enabled .odf-sort { background:#f8f7fc;border:1px solid var(--odf-border);border-radius:8px;min-height:44px;max-width:210px;padding:8px 28px 8px 12px;color:var(--odf-ink);font:inherit;font-size:13px; }
.odf-shortcuts { display:flex;gap:8px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:thin; }
.odf-shortcuts a,.odf-chip { display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:42px;padding:9px 13px;border:1px solid var(--odf-border);border-radius:24px;background:#fff;color:var(--odf-ink);font-size:13px;line-height:1.3; }
.odf-shortcuts a:hover,.odf-shortcuts a[aria-current=true] { background:#f0ebff;border-color:var(--odf-purple);color:#4b25b8; }
.odf-chips { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px; }
.odf-chips:empty { display:none; }
.odf-chip { background:#f0ebff;border-color:#d4c5ff;color:#4b25b8;min-height:36px;font-size:12px;border-radius:8px; }
.odf-chip span { font-size:20px;line-height:1; }
.odf-enabled a.odf-clear { color:#532ec4;font-size:13px;text-decoration:underline;text-underline-offset:3px;min-height:36px;display:inline-flex;align-items:center;padding:5px 2px; }
.odf-enabled .odf-feedback:empty,.odf-drawer-status:empty { display:none; }
.odf-feedback { font-size:13px;margin:10px 0 0; }
.odf-loading .primary-column>.products { opacity:.6;transition:opacity .15s; }
.odf-loading .odf-feedback,.odf-loading .odf-drawer-status { color:#532ec4; }
.odf-form { color:var(--odf-ink); }
.odf-heading { font-size:20px!important;margin:0 0 8px!important; }
.odf-help { font-size:12px;line-height:1.6;color:#686278;margin:0 0 16px; }
.odf-facet { margin:0 0 10px;border:1px solid var(--odf-border);border-radius:12px;background:#fff;overflow:hidden; }
.odf-facet summary { cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;min-height:52px;padding:12px;font-size:14px;font-weight:600; }
.odf-facet summary::-webkit-details-marker { display:none; }
.odf-facet summary::after { content:'+';font-size:20px;font-weight:400; }
.odf-facet[open] summary::after { content:'−'; }
.odf-facet summary span { margin-left:auto;font-size:11px;font-weight:400;color:#686278; }
.odf-facet-body { border-top:1px solid #eeeaf5;padding:12px; }
.odf-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow-y:auto;padding:1px; }
.odf-enabled label.odf-choice { display:flex;align-items:center;gap:7px;min-height:46px;margin:0;padding:9px 8px;border:1px solid var(--odf-border);border-radius:8px;cursor:pointer;font-size:12px;line-height:1.35;word-break:normal; }
.odf-choice:has(input:checked) { background:#f2edff;border-color:var(--odf-purple);box-shadow:inset 0 0 0 1px var(--odf-purple);color:#44229f; }
.odf-choice input { width:16px;height:16px;flex-shrink:0;accent-color:var(--odf-purple);margin:0; }
.odf-choice span { overflow-wrap:anywhere; }
.odf-choice small { margin-left:auto;color:#686278;font-size:10px; }
.odf-choice[hidden] { display:none!important; }
.odf-price-inputs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px; }
.odf-price-inputs label,.odf-search-label { font-size:12px;font-weight:600;display:block; }
.odf-enabled .odf-price-inputs input,.odf-enabled .odf-search { display:block;width:100%;height:44px;border:1px solid var(--odf-border);background:#fff;border-radius:8px;padding:8px;margin-top:5px;color:var(--odf-ink);font-size:14px; }
.odf-ranges { display:grid;gap:6px; }
.odf-ranges label { display:block;margin:0; }
.odf-enabled .odf-ranges input { width:100%;min-height:32px;accent-color:var(--odf-purple);padding:0;background:transparent; }
.odf-price small { font-size:11px;color:#686278; }
.odf-search-label { margin:0 0 10px; }
.odf-enabled .odf-desktop-apply,.odf-enabled .odf-show { width:100%;min-height:46px;border:0;border-radius:24px;background:var(--odf-purple);color:#fff;font-size:14px;font-weight:600;padding:12px;cursor:pointer; }
.odf-enabled .odf-desktop-apply:hover,.odf-enabled .odf-show:hover { background:var(--odf-purple); }
.odf-form>.odf-clear { margin:8px 0; }
.odf-drawer-head,.odf-drawer-foot { display:none; }
.odf-swipe-hint { display:block;margin-top:3px;font-size:11px;font-weight:400;color:#686278; }
.odf-empty { padding:20px;background:#fff;border:1px solid var(--odf-border);border-radius:12px;margin:0 0 20px; }
.odf-empty h2 { font-size:20px; }
.odf-enabled :is(.odf-tools,.odf-form,.odf-chips,.odf-shortcuts,.odf-drawer-head,.odf-drawer-foot) :focus-visible { outline:3px solid #9b7aff;outline-offset:3px; }
.odf-sticky[hidden] { display:none!important; }
@keyframes odf-hint { 50% { box-shadow:0 0 0 5px #673de62b; } }
@media(prefers-reduced-motion:no-preference) { .odf-enabled .odf-open.odf-hint { animation:odf-hint 1.1s ease-in-out 2; } }
@media(min-width:1200px) {
 .odf-enabled .filtered-sidebar { transform:none!important;opacity:1!important;visibility:visible!important; }
 .odf-enabled .filtered-sidebar .odf-options { grid-template-columns:1fr; }
 .odf-enabled .filtered-sidebar .widget:has(.odf-form) { margin-bottom:20px; }
}
@media(max-width:1199px) {
 .odf-enabled .content-wrapper>.primary-column { flex:0 0 100%;max-width:100%; }
 .odf-enabled .odf-open { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;white-space:nowrap;border:1px solid var(--odf-border);border-radius:8px;padding:9px 12px;background:#fff;color:var(--odf-ink);font-size:13px;font-weight:600; }
 .odf-open>span { font-size:20px; }
 .odf-total { font-size:12px; }
 .odf-tools { gap:8px;padding:8px; }
 .odf-tools .odf-sort { max-width:165px;font-size:12px; }
 .odf-enabled .filtered-sidebar { position:fixed!important;inset:0 auto 0 0!important;width:min(480px,calc(100% - 48px))!important;max-width:none!important;height:100dvh!important;height:100vh;z-index:100050!important;padding:0!important;background:#fff!important;transform:translateX(-105%)!important;opacity:0!important;visibility:hidden!important;display:flex!important;flex-direction:column; }
 .odf-enabled.odf-drawer-open .filtered-sidebar { transform:none!important;opacity:1!important;visibility:visible!important; }
 .odf-enabled .filtered-sidebar>.theiaStickySidebar { display:flex!important;flex-direction:column;position:static!important;transform:none!important;width:100%;height:100%!important;min-height:0!important; }
 .odf-enabled .filtered-sidebar .site-scroll { flex:1;min-height:0;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain;padding:16px!important; }
 .odf-enabled .filtered-sidebar .sidebar-inner { padding:0!important; }
 .odf-enabled .filtered-sidebar .site-scroll .widget:not(:has(.odf-form)) { display:none; }
 .odf-drawer-head { display:flex;align-items:center;justify-content:space-between;min-height:64px;flex-shrink:0;padding:10px 16px;border-bottom:1px solid var(--odf-border); }
 .odf-enabled .odf-close { width:44px;height:44px;padding:0;border:1px solid var(--odf-border);border-radius:10px;background:#fff;color:var(--odf-ink);font-size:28px;line-height:1;cursor:pointer; }
 .odf-drawer-foot { display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0;padding:10px 16px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--odf-border); }
 .odf-drawer-status { font-size:12px;margin:0;line-height:1.4;text-align:center; }
 .odf-enabled .odf-drawer-foot .odf-clear { min-height:32px;padding:3px; }
 .odf-enabled .odf-desktop-apply,.odf-form>.odf-clear { display:none!important; }
 .odf-form>.odf-help:last-child { margin:12px 0 0; }
 .odf-sticky { position:fixed;left:0;right:0;border-radius:0;z-index:10003;border-width:0 0 1px;box-shadow:0 3px 8px #2523370d; }
 .odf-drawer-open { overflow:hidden!important; }
 .odf-enabled.odf-drawer-open .site-mask { opacity:.45!important;visibility:visible!important;pointer-events:auto!important;z-index:100040!important; }
 .odf-enabled.odf-drawer-open .mobile-bottom-menu,.odf-enabled.odf-drawer-open .odf-sticky { visibility:hidden!important; }
}
@media(max-width:767px) {
 .odf-enabled .filtered-sidebar { width:100%!important; }
 .odf-tools .odf-total { display:none; }
 .odf-tools .odf-sort-label { margin-left:auto; }
 .odf-shortcuts { margin-bottom:0; }
}
@media(prefers-reduced-motion:reduce) { .odf-enabled .products { transition:none!important; } }
