.right-panel {display:none}
.right-panel.open {display:block;position:fixed;top:0;right:0;width:min(100%,380px);height:100vh;overflow-y:auto;overflow-x:hidden;background:#fff;z-index:1050;padding:0}
.availability-backdrop {position:fixed;inset:0;background:rgba(0,0,0,0.5);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}
.availability-backdrop.open {opacity:1;pointer-events:auto}
.availability-modal {color:#111}
.availability-modal .am-header {position:sticky;top:0;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 16px;z-index:2}
.availability-modal .am-title {font-weight:700;font-size:18px}
.availability-modal .am-subtitle {text-wrap-mode:nowrap;font-size:16px;font-weight:700}
.availability-modal .am-close {background:transparent;border:0;color:#fff;font-size:22px;line-height:1;width:32px;height:32px;cursor:pointer}
.availability-modal .am-body {padding:16px}
.availability-modal .am-footer {position:sticky;bottom:0;background:#fff;padding:12px 16px 20px;display:flex;flex-direction:column;gap:12px;border-top:1px solid #000}
.availability-modal .am-info {padding:1rem;border:2px solid #111}
.availability-modal .am-btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;border:2px solid #111;background:#fff;color:#111;width:100%;cursor:pointer}
.availability-modal .am-btn-primary {background:#111;color:#fff}
.availability-modal .am-btn-secondary {font-weight:700}
.availability-modal .am-btn-tertiary {color:#fff;background-color:#2a5eea;border:none}
.availability-modal .am-link {border:0;background:transparent;color:#2a5eea;height:auto;font-weight:600}
.availability-modal .am-alert .error,
.availability-modal .am-alert .info {padding:10px 12px;border-radius:6px;font-size:14px}
.availability-modal .am-alert .error {background:#ffe9e9;color:#a40000}
.availability-modal .am-alert .info {background:#eef5ff;color:#143c7a}
.availability-modal .am-clothes {padding:14px 0}
.availability-modal .am-clothes-body {display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.availability-modal .am-clothes-title {font-weight:600;font-size:16px;position:relative;display:block;cursor:pointer}
.availability-modal .am-clothes-head {display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.availability-modal .am-checkbox-line {display:flex;gap:10px;align-items:center}
.availability-modal .am-checkbox-line .clothes-checkbox {position:absolute;opacity:0;width:0;height:0}
.availability-modal .clothes-checkbox + .am-clothes-title::after {content:'';position:absolute;left:7px;top:7px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity 0.15s ease-in-out}
.availability-modal .clothes-checkbox:checked + .am-clothes-title::after {opacity:1;margin-top:-1px}
.availability-modal .clothes-checkbox:checked + .am-clothes-title::before {background-color:#000;border-color:#000}
.availability-modal .clothes-checkbox + .am-clothes-title::before {content:'';display:inline-block;width:18px;height:18px;border-radius:3px;margin-right:8px;background-color:#e0e0e0;border:1px solid #c0c0c0;vertical-align:middle;transition:background-color 0.15s ease-in-out;margin-top:-2px}
.availability-modal .am-size-chart {color:#2a5eea;font-size:12px;text-decoration:none}
.availability-modal .am-field {margin-bottom:10px}
.availability-modal .am-label {display:block;font-size:12px;color:#666;margin-bottom:6px}
.availability-modal .am-select {width:100%;height:40px;padding:0 36px 0 12px;border:2px solid;appearance:none;background:#fff}
.availability-modal .am-select:disabled {background:#f7f7f7;color:#999}
.availability-modal .am-select-wrap {position:relative}
.availability-modal .am-select-caret {position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#666;pointer-events:none}
.availability-modal .clothes-parameter-wrapper.error .am-select {border-color:#e53935}
.availability-modal .am-geo-card {border:2px solid #111;padding:14px 14px 14px 30px;background:#fafafa}
.availability-modal .am-geo-title {font-weight:600;font-size:14px;margin:0 0 8px}
.availability-modal .am-geo-text {font-size:13px;color:#444;margin:0 0 12px}
.availability-modal .am-geo-actions {display:flex;gap:10px}
.availability-modal .am-row {display:flex;gap:12px}
.availability-modal .am-row--between {justify-content:space-between;margin:1rem 0;align-items:center}
.availability-modal .am-card {border:1px solid #e6e6e6;border-radius:8px;padding:14px;background:#fff}
.availability-modal .am-branches {display:flex;flex-direction:column;gap:12px}
.availability-modal .am-branch-title {font-size:16px;font-weight:700;margin:0 0 4px}
.availability-modal .am-branch-address {margin:0 0 10px;font-size:13px;color:#767e8a}
.availability-modal .am-branch-line {display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;font-size:13px}
.availability-modal .am-branch-item {color:#111}
.availability-modal .am-cta {margin:12px 0 8px}
.availability-modal .am-status {font-size:12px;font-weight:600;padding:4px 8px;white-space:nowrap}
.availability-modal .am-status--ok {color:#2f7a45}
.availability-modal .am-status--low {color:#b66a16}
.availability-modal .am-status--none {color:#e7010c}
.availability-modal .am-selected {background-color:#f9fafb;color:#767e8a;padding:1rem .5rem}