/* otatel public checks (/check/**) — layout additions on top of otatel.css. No inline styles (CSP). */
.ot-skip { position: absolute; left: -999px; top: 8px; background: var(--ot-surface); padding: 8px 12px; border-radius: 8px; }
.ot-skip:focus { left: 8px; z-index: 10; }
.ot-grid--2 { grid-template-columns: 1fr; }
.ot-grid--3 { grid-template-columns: 1fr; }
@media (min-width: 720px) { .ot-grid--2 { grid-template-columns: 1fr 1fr; } .ot-grid--3 { grid-template-columns: 1fr 1fr 1fr; } }
.ot-form { display: grid; gap: 18px; margin-top: 24px; }
.ot-form .ot-card { display: block; }
.ot-form h2 { font-size: 1.15rem; margin: 0 0 12px; padding: 0; }
.ot-form h2::before { display: none; }
.ot-form h4 { margin: 16px 0 6px; font-size: 0.95rem; }
.ot-form label { display: block; font-size: 0.95rem; margin: 6px 0; }
.ot-form label > span { display: block; font-weight: 600; margin-bottom: 4px; }
.ot-form input[type="number"], .ot-form input[type="datetime-local"], .ot-form select {
  width: 100%; padding: 10px 12px; border: 1px solid var(--ot-border); border-radius: var(--ot-radius);
  background: var(--ot-surface); color: var(--ot-text); font: inherit; }
.ot-form input:focus, .ot-form select:focus { outline: none; border-color: var(--ot-primary); box-shadow: 0 0 0 3px var(--ot-primary-soft); }
.ot-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400; }
.ot-check input { margin-top: 5px; accent-color: var(--ot-primary); width: 16px; height: 16px; flex: 0 0 auto; }
.ot-check > span { display: inline !important; font-weight: 400 !important; }
.ot-check .ot-small { display: block !important; }
.ot-form__actions { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.ot-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; margin: 8px 0 12px; }
.ot-table th, .ot-table td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--ot-border); }
.ot-table th { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ot-muted); }
.ot-table input { width: 100%; min-width: 6rem; padding: 6px 8px; }
.ot-card--result { margin-bottom: 8px; display: block; }
.ot-card--result h3 { margin: 18px 0 6px; font-size: 1.02rem; }
.ot-verdict { margin: 4px 0 6px; padding: 0; font-size: 1.6rem; }
.ot-verdict::before { display: none; }
.ot-verdict--in { color: var(--ot-primary); }
.ot-verdict--out { color: var(--ot-muted); }
.ot-verdict--neutral { color: var(--ot-text); }
.ot-verdict__de { margin: 0 0 12px; color: var(--ot-muted); }
.ot-kv { display: grid; grid-template-columns: 1fr; gap: 4px 16px; margin: 0; }
@media (min-width: 720px) { .ot-kv { grid-template-columns: 14rem 1fr; } }
.ot-kv dt { font-weight: 600; color: var(--ot-muted); font-size: 0.9rem; }
.ot-kv dd { margin: 0 0 8px; }
.ot-chip { display: inline-block; background: var(--ot-primary-soft); color: var(--ot-primary); border-radius: 999px; padding: 3px 10px; font-size: 0.85rem; font-weight: 600; margin: 2px 4px 2px 0; }
.ot-reasons { padding-left: 1.3rem; }
.ot-reasons li { margin: 4px 0; }
.ot-cite { color: var(--ot-muted); font-family: var(--ot-mono); font-size: 0.8rem; white-space: nowrap; }
.ot-review { margin: 6px 0 0; padding-left: 1.2rem; }
.ot-review li { margin: 4px 0; }
.ot-plain { list-style: none; padding: 0; margin: 0; }
.ot-plain li { margin: 3px 0; }
.ot-small { font-size: 0.85rem; }
.ot-mono { font-family: var(--ot-mono); }
.ot-footer__inner { display: grid; gap: 16px; padding: 28px 16px; }
.ot-footer__brand { font-weight: 800; font-size: 1.1rem; color: #fff; }
.ot-footer__tag, .ot-footer__author, .ot-footer__note { margin: 4px 0; font-size: 0.9rem; }
.ot-footer__links { display: flex; gap: 14px; flex-wrap: wrap; }
details summary { cursor: pointer; color: var(--ot-primary); font-weight: 600; margin: 12px 0 6px; }
@media print { .ot-header, .ot-footer, .ot-form { display: none !important; } .ot-card { box-shadow: none; border-color: #999; } }
