.catalog-controls { margin-top: 24px; }
.catalog-controls-nav { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 6px; padding: 6px; border: 1px solid var(--glass-rim, #d8e1ee); border-radius: 999px; background: var(--glass-surface, #f0f4fa); box-shadow: var(--glass-shadow, 0 4px 16px #0a25400c); }
.catalog-controls-nav button { min-height: 46px; border: 0; border-radius: 999px; background: transparent; color: var(--navy, #0a2540); font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; }
.catalog-controls-nav button[aria-pressed=true] { color: #fff; background: var(--blue, #1f6fff); box-shadow: 0 4px 12px #1f6fff30; }
.catalog-controls-nav button[aria-expanded=true] { background: #e2ebfa; }
.catalog-controls-nav button:focus-visible, .catalog-size-panel select:focus-visible { outline: 3px solid var(--blue, #1f6fff); outline-offset: 3px; }
.catalog-size-panel { margin-top: 14px; padding: 24px; border: 1px solid var(--glass-rim, #d8e1ee); border-radius: 24px; background: var(--glass-surface, #fff); box-shadow: var(--glass-shadow, 0 8px 24px #0a25400c); }
.catalog-size-panel h3 { margin: 0; font-size: 20px; letter-spacing: -.5px; }
.catalog-size-panel [role=status] { font-size: 13px; margin: 10px 0 18px; }
.catalog-size-fields { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; }
.catalog-size-fields label { display: flex; min-width: 0; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 600; }
.catalog-size-fields select { width: 100%; min-width: 0; min-height: 48px; padding: 10px 32px 10px 12px; border: 1px solid #b8c4d2; border-radius: 12px; background: #fff; color: var(--navy, #0a2540); font-size: 16px; }
.catalog-size-note { font-size: 13px; line-height: 1.7; margin: 16px 0; overflow-wrap: anywhere; }
.catalog-size-panel button { min-height: 46px; }
@media (hover:hover) { .catalog-controls-nav button:hover { box-shadow: inset 0 0 0 1px #1f6fff55; } }
@media (max-width:767px) { .catalog-controls-nav { gap: 3px; } .catalog-controls-nav button { font-size: 13px; } .catalog-size-panel { padding: 20px; } .catalog-size-fields { grid-template-columns: minmax(0,1fr); } .catalog-size-panel .primary-button { width: 100%; } }
