/* Spacious public catalogue controls; native form/details work without JavaScript. */
.public-shell .catalog-layout.catalog-layout--refined { grid-template-columns: 304px minmax(0,1fr); gap: 30px; align-items: start; }
.public-shell .main .filters.catalog-filters { padding: 0; border: 1px solid #dee7ee; border-radius: 18px; background: #f5f8fb; overflow: hidden; }
.public-shell .catalog-filters details { margin: 0; }
.public-shell .catalog-filters summary { list-style: none; }
.public-shell .catalog-filters summary::-webkit-details-marker { display: none; }
.public-shell .catalog-filter-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px; margin: 0; background: #eaf1f7; color: #172d42; font-size: 18px; font-weight: 650; letter-spacing: -.4px; }
.catalog-filter-summary>span:first-child { display: inline-flex; align-items: center; gap: 10px; }
.catalog-filter-summary .ui-icon { color: #526f87; }
.filter-panel-toggle { transition: transform .15s; }
.catalog-filter-panel[open]>.catalog-filter-summary .filter-panel-toggle { transform: rotate(180deg); }
.public-shell .catalog-filters form { display: block; padding: 0 22px 22px; }
.public-shell .catalog-filters .filter-intro { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 6px 10px; padding: 18px 0; }
.public-shell .catalog-filters .filter-intro p { font-size: 12px; margin: 0; color: #5e6c79; }
.public-shell .catalog-filters a { color: #9b4b10; font-size: 12px; text-decoration: none; }
.public-shell .catalog-filters a:hover { text-decoration: underline; text-underline-offset: 3px; }
.filter-active { padding: 4px 0 18px; }
.filter-section-label { display: block; color: #607386; font-size: 10px; font-weight: 650; letter-spacing: 1px; margin-bottom: 10px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.public-shell .catalog-filters .filter-chip { display: inline-flex; justify-content: space-between; align-items: center; gap: 10px; max-width: 100%; padding: 7px 10px; background: #fff2e7; border: 1px solid #f0d6c0; border-radius: 8px; color: #834315; font-size: 11px; line-height: 1.5; min-height: 34px; }
.filter-chip>span:first-child { overflow-wrap: anywhere; }
.filter-chip>span:last-child { font-size: 18px; line-height: 1; }
.public-shell .catalog-filters .filter-group { border-top: 1px solid #dfe7ee; }
.public-shell .catalog-filters .filter-group>summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 19px 0; margin: 0; color: #263f53; font-weight: 650; font-size: 14px; }
.filter-group>summary>span { color: #738698; transition: transform .15s; }
.filter-group[open]>summary>span { transform: rotate(180deg); }
.filter-group-content { display: grid; gap: 17px; padding: 0 0 22px; }
.public-shell .catalog-filters label { display: grid; gap: 8px; margin: 0; color: #4c6274; font-size: 12px; font-weight: 550; line-height: 1.5; }
.public-shell .catalog-filters :is(select,input:not([type=checkbox])) { width: 100%; min-width: 0; margin: 0; min-height: 46px; padding: 11px 12px; background-color: #fff; color: #263f53; border: 1px solid #cfdae3; border-radius: 9px; font-size: 13px; font-weight: 400; line-height: 1.5; box-shadow: 0 1px 2px #172d4203; }
.public-shell .catalog-filters select { padding-right: 30px; text-overflow: ellipsis; }
.public-shell .catalog-filters input::placeholder { color: #627282; opacity: 1; font-size: 12px; }
.public-shell .catalog-filters :is(select,input):hover { border-color: #9eb1c1; }
.public-shell .catalog-filters .filter-help { color: #56697a; font-size: 11px; line-height: 1.65; margin: 0; }
.filter-price-fields { display: grid; grid-template-columns: minmax(0,1fr) 12px minmax(0,1fr); gap: 8px; align-items: end; }
.filter-price-fields>span { align-self: end; padding-bottom: 13px; color: #8496a5; font-size: 12px; }
.public-shell .catalog-filters .filter-price-fields input { padding: 11px 9px; }
.public-shell .catalog-filters .filter-checkbox { display: flex; flex-wrap: nowrap; gap: 10px; align-items: flex-start; font-size: 12px; font-weight: 400; cursor: pointer; }
.public-shell .catalog-filters .filter-checkbox input { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin: 1px 0 0; accent-color: #a64b00; }
.filter-actions { border-top: 1px solid #dfe7ee; padding-top: 18px; }
.public-shell .catalog-filters .filter-actions .button { width: 100%; min-height: 48px; margin: 0; font-size: 13px; }
.public-shell .catalog-filters [data-catalog-status] { margin: 12px 0 0; font-size: 11px; line-height: 1.6; color: #526b7d; overflow-wrap: anywhere; }
.public-shell .catalog-filters [data-catalog-status]:empty { margin: 0; }
.public-shell [data-catalog-results] { min-width: 0; }
@media(min-width:1101px) {
    .public-shell .catalog-filters { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c2d1de #f5f8fb; }
}
@media(min-width:761px) and (max-width:1100px) {
    .public-shell .catalog-layout.catalog-layout--refined { grid-template-columns: 280px minmax(0,1fr); gap: 20px; }
    .public-shell .catalog-filters form { padding: 0 18px 18px; }
    .public-shell .catalog-filter-summary { padding: 20px 18px; }
    .public-shell .catalog-layout--refined .product-grid.product-grid--configured { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .public-shell .catalog-layout.catalog-layout--refined { grid-template-columns: minmax(0,1fr); gap: 22px; }
    .public-shell .catalog-filter-summary { padding: 18px 20px; font-size: 16px; }
    .public-shell .catalog-filters form { padding: 0 20px 20px; }
    .public-shell .catalog-filters .filter-group-content { grid-template-columns: minmax(0,1fr); gap: 16px; }
    .public-shell .catalog-filters label { font-size: 13px; }
    .public-shell .catalog-filters :is(select,input:not([type=checkbox])) { font-size: 16px; min-height: 48px; }
    .public-shell .catalog-filters .filter-price-fields input { font-size: 16px; }
    .public-shell .catalog-filters .filter-price-fields { max-width: 100%; }
}
@media(prefers-reduced-motion:reduce) { .filter-panel-toggle,.filter-group>summary>span { transition: none; } }
