.ops-online-availability { margin:16px 0; padding:16px; border:1px solid #dce3de; border-radius:12px; background:#f8faf8; }
.ops-online-availability-control { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; }
.ops-online-availability-control strong { display:block; font-size:16px; color:#202520; }
.ops-online-availability-control small { display:block; margin-top:4px; font-size:13px; color:#4b5b50; line-height:1.4; }
.ops-online-availability-control input { appearance:none; position:relative; flex:0 0 46px; width:46px; height:28px; margin:8px 0; border:1px solid #8e9992; border-radius:20px; background:#cbd2ce; cursor:pointer; }
.ops-online-availability-control input::after { content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:white; box-shadow:0 1px 3px #0002; }
.ops-online-availability-control input:checked { background:#315e47; border-color:#315e47; }
.ops-online-availability-control input:checked::after { left:21px; }
.ops-online-availability-control input:focus-visible { outline:2px solid #315e47; outline-offset:4px; }
.ops-online-availability-control input:disabled { cursor:default; }
.ops-online-availability p,.ops-online-availability details { font-size:13px; line-height:1.5; color:#526057; }
.ops-online-availability p { margin:12px 0 0; }
.ops-online-availability [role=status]:not(:empty) { display:block; margin-top:10px; color:#7c3f19; font-size:13px; }
.ops-online-availability details { margin-top:12px; }
.ops-online-availability summary { cursor:pointer; }
.ops-online-availability ul { padding-left:18px; }
.ops-online-availability li { margin:8px 0; }
.ops-online-availability-control { cursor:default; }
.ops-online-availability-copy { min-width:0; }
.ops-online-availability-title { display:flex; align-items:center; gap:6px; position:relative; }
.ops-online-availability-title .ops-online-availability-help { margin:0; flex:0 0 auto; }
.ops-online-availability-help > summary { display:grid; place-items:center; width:28px; height:28px; list-style:none; border-radius:50%; }
.ops-online-availability-help > summary::-webkit-details-marker { display:none; }
.ops-online-availability-help > summary span { display:grid; place-items:center; width:17px; height:17px; border:1px solid currentColor; border-radius:50%; font:600 12px/1 Georgia,serif; }
.ops-online-availability-help > summary:focus-visible { outline:2px solid #315e47; outline-offset:2px; }
.ops-online-availability-help > summary:hover { background:#e7ece8; }
.ops-online-availability-help > p { position:absolute; top:100%; left:0; z-index:3; width:min(320px,100%); box-sizing:border-box; margin:6px 0 0; padding:12px; border:1px solid #dce3de; border-radius:9px; background:white; box-shadow:0 4px 16px #0002; }
