/* =====================================================================
   BizTorq — "Is the market open today?"  (extends market-detail-v3.css)
   ===================================================================== */
.ot{--maybe:#9a6a00;--part:#7a5bd6;--unk:#6B6486}
.ot-sr,.ot-hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Hero answer ---------- */
.ot-title{max-width:18ch;font-size:clamp(32px,4.6vw,56px)}
.ot-answer{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:0 0 14px}
.ot-answer__word{font-size:clamp(44px,7vw,84px);font-weight:900;letter-spacing:-.04em;line-height:1}
.ot-answer__date{font-size:16px;color:rgba(255,255,255,.7);font-weight:600}
.ot-answer.is-open .ot-answer__word{color:#5ff0a0}
.ot-answer.is-part .ot-answer__word{color:#c9b8ff}
.ot-answer.is-maybe .ot-answer__word{color:var(--gold-l)}
.ot-answer.is-shut .ot-answer__word{color:#ff8a8f}
.ot-answer.is-unknown .ot-answer__word{color:rgba(255,255,255,.75)}
.ot-lead{font-size:17px}
.ot-clock{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;font-variant-numeric:tabular-nums}
.ot-clock small{font-size:13px;font-weight:600;color:rgba(255,255,255,.6)}

/* ---------- 14-day calendar ---------- */
.ot-cal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.ot-cal__day{display:grid;align-content:start;gap:2px;padding:12px 10px;border-radius:var(--r);border:1px solid var(--line);background:#fff;min-height:104px}
.ot-cal__dow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ot-cal__date{font-size:15px;font-weight:700;color:var(--ink)}
.ot-cal__word{font-size:14px;margin-top:6px}
.ot-cal__why{font-size:11.5px;line-height:1.35;color:var(--muted)}
.ot-cal__day.is-open{background:#effaf3;border-color:#c9ecd7}.ot-cal__day.is-open .ot-cal__word{color:var(--open)}
.ot-cal__day.is-part{background:#f3effd;border-color:#ddd3fa}.ot-cal__day.is-part .ot-cal__word{color:var(--part)}
.ot-cal__day.is-maybe{background:#fdf6e6;border-color:#f0dfb1}.ot-cal__day.is-maybe .ot-cal__word{color:var(--maybe)}
.ot-cal__day.is-shut{background:#fdf0f0;border-color:#f3d0d2}.ot-cal__day.is-shut .ot-cal__word{color:var(--shut)}
.ot-cal__day.is-unknown .ot-cal__word{color:var(--unk)}
.ot-cal__day.is-today{box-shadow:0 0 0 2px var(--ink)}

/* ---------- Notices ---------- */
.ot-notices{display:grid;gap:12px}
.ot-notice{padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--violet);border-radius:var(--r);background:#fff}
.ot-notice--closed{border-left-color:var(--shut)}
.ot-notice--open{border-left-color:var(--open)}
.ot-notice--hours{border-left-color:var(--gold)}
.ot-notice__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}
.ot-notice__dates{font-weight:700;font-size:14px;color:var(--ink)}
.ot-notice h3{margin:0 0 6px;font-size:18px;color:var(--ink)}
.ot-notice p{margin:0 0 8px;line-height:1.6;font-size:15px}
.ot-notice__who{font-weight:600;color:var(--ink)}
.ot-notice__src{font-size:13px;color:var(--muted)}
.ot-tag{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}
.ot-tag--ok{background:#e4f6ec;color:var(--open)}
.ot-tag--wait{background:#fbf0d4;color:var(--maybe)}
.ot-tag--live{background:var(--ink);color:#fff}

/* ---------- Market table ---------- */
.ot-table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ot-table{width:100%;border-collapse:collapse;font-size:15px}
.ot-table th{text-align:left;font-size:13px;color:var(--muted);font-weight:600;padding:12px 16px;background:var(--mist);border-bottom:1px solid var(--line)}
.ot-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.ot-table tr:last-child td{border-bottom:0}
.ot-table tr[hidden]{display:none}
.ot-mname{font-weight:700;color:var(--ink)!important;text-decoration:none}
.ot-mname:hover{color:var(--violet)!important;text-decoration:underline}
.ot-sub{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ot-hours{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}
.ot-pill{display:inline-block;white-space:nowrap;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px}
.ot-pill.is-open{background:#e4f6ec;color:var(--open)}
.ot-pill.is-shut{background:#fbe9ea;color:var(--shut)}
.ot-pill.is-maybe{background:#fbf0d4;color:var(--maybe)}
.ot-pill.is-unknown{background:var(--mist);color:var(--unk)}

/* ---------- Alerts form ---------- */
.ot-alert p{margin:0 0 12px;line-height:1.55;font-size:15px}
.ot-form{display:grid;gap:10px}
.ot-form label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}
.ot-form input,.ot-form select{min-height:44px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.ot-form input:focus,.ot-form select:focus{outline:none;border-color:var(--violet)}
.ot-ok{padding:12px;border-radius:10px;background:#e4f6ec;color:var(--open);font-weight:600}
.ot-err{padding:10px 12px;border-radius:10px;background:#fbe9ea;color:var(--shut);font-weight:600}

@media (max-width:640px){
  .ot-cal{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ot-cal__day{min-height:92px;padding:10px 8px}
  .ot-table td,.ot-table th{padding:12px 10px}
  .ot-table th:nth-child(2),.ot-table td:nth-child(2){display:none}
}
