.oboc{font-family:inherit;color:#28313d;max-width:1280px;margin:auto}.oboc *{box-sizing:border-box}.oboc-heading{text-align:center;margin:12px 0 20px}.oboc-heading h2{font-size:1.7rem;margin:0 0 8px}.oboc-heading p{margin:0;color:#566173}.oboc-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 22px;margin:20px 0 25px}.oboc-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:14px}.oboc-dot{width:29px;height:29px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:white;font-size:15px}.oboc-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.oboc-month{padding:14px;background:white;border:1px solid #e4e5e9;border-radius:12px;box-shadow:0 3px 11px #152a4a12;min-width:0}.oboc-month h3{font-size:15px;text-align:center;text-transform:uppercase;background:#f3f4f6;padding:12px;margin:0 0 8px;border-radius:6px}.oboc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.oboc-weekday{background:#52545a;color:white;font-weight:700;text-align:center;padding:9px 0;font-size:11px;border-radius:4px}.oboc-day{font:inherit;background:#f4f6f9;color:#202b38;border:1px solid #e7eaf0;border-radius:5px;min-width:0;min-height:49px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:3px;font-size:13px}.oboc-day:hover,.oboc-day:focus-visible{outline:2px solid #2186d7;outline-offset:1px}.oboc-day-unset{background:#fff;color:#777}.oboc-chips{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;min-height:5px}.oboc-chip{width:8px;height:8px;border-radius:50%}.oboc-modal[hidden]{display:none!important}.oboc-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:15px}.oboc-backdrop{position:absolute;inset:0;background:#10203bbb}.oboc-dialog{position:relative;background:#fff;width:min(100%,540px);max-height:85vh;overflow:auto;border-radius:14px;padding:24px;box-shadow:0 15px 55px #0003}.oboc-dialog h3{font-size:22px;margin:0 36px 18px 0}.oboc-close{position:absolute;right:14px;top:12px;border:0;background:#f2f3f6;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:24px}.oboc-detail-row{display:flex;align-items:center;gap:12px;border-top:1px solid #eee;padding:13px 0}.oboc-detail-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:20px;flex-shrink:0}.oboc-detail-name{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.oboc-detail-name small{color:#5b6472;overflow-wrap:anywhere}.oboc-hours{font-weight:600;white-space:nowrap;font-size:13px}.oboc-disclaimer{font-size:12px;color:#626c7a;margin:12px 0 0}.oboc-modal-open{overflow:hidden}@media(max-width:980px){.oboc-months{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.oboc-months{grid-template-columns:1fr}.oboc-month{padding:10px}.oboc-day{min-height:52px}.oboc-legend{gap:10px}.oboc-detail-row{gap:8px}.oboc-hours{font-size:12px}}

/* v1.1: compact, flat day buttons and mouse-hover opening times */
.oboc-day{min-height:43px;border-radius:7px;box-shadow:none!important;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}
.oboc-day:hover,.oboc-day.oboc-hovered{background:#e6f2fc;border-color:#80bdec;transform:translateY(-1px)}
.oboc-day:focus-visible{outline:2px solid #2186d7;outline-offset:2px}
.oboc-hover-preview[hidden]{display:none!important}
.oboc-hover-preview{position:fixed;z-index:999998;width:min(310px,calc(100vw - 16px));background:#fff;color:#28313d;border:1px solid #dce5ed;border-radius:12px;padding:13px 14px;box-shadow:0 8px 26px #152a4a30;pointer-events:none;font-family:inherit;font-size:13px;box-sizing:border-box}
.oboc-preview-title{display:block;font-size:14px;margin-bottom:8px}
.oboc-preview-line{display:flex;align-items:center;gap:7px;border-top:1px solid #edf0f3;padding:6px 0}
.oboc-preview-icon{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;font-size:13px}
.oboc-preview-hours{margin-left:auto;font-weight:600;font-size:12px;white-space:nowrap}
@media(max-width:650px){.oboc-day{min-height:47px}}
@media(hover:none){.oboc-hover-preview{display:none!important}.oboc-day:hover{transform:none}}
