/* =====================================================================
   Oitijhya — content.css
   Typography & elements for CMS content rendered into $content_for_layout
   (page bodies, notices, results, profiles). Scoped under .oj-content.
   ===================================================================== */

.oj-content{ font-size:16.5px; color:var(--oj-ink); }

.oj-content h1{ font-family:var(--oj-display); font-weight:600; font-size:34px; margin:0 0 14px; color:var(--oj-navy); }
.oj-content h2{ font-family:var(--oj-display); font-weight:600; font-size:26px; margin:28px 0 12px; color:var(--oj-navy);
  padding-bottom:8px; border-bottom:1px solid var(--oj-line); }
.oj-content h3{ font-family:var(--oj-display); font-weight:600; font-size:21px; margin:22px 0 10px; color:var(--oj-navy-700); }
.oj-content h4{ font-family:var(--oj-body); font-weight:700; font-size:15px; letter-spacing:.04em; text-transform:uppercase; margin:18px 0 8px; color:var(--oj-gold-deep); }
.oj-content h1:lang(bn),.oj-content h2:lang(bn),.oj-content h3:lang(bn){ font-family:var(--oj-bn); }
.oj-content p{ margin:0 0 15px; }
.oj-content a{ color:var(--oj-navy-700); text-decoration:underline; text-underline-offset:2px; text-decoration-color:var(--oj-gold); }
.oj-content a:hover{ color:var(--oj-gold-deep); }
.oj-content :lang(bn){ font-family:var(--oj-bn); }
.oj-content :lang(ar){ font-family:var(--oj-ar); direction:rtl; }
.oj-content code{ background:var(--oj-ivory-2); padding:2px 7px; border-radius:3px; font-size:.9em; color:var(--oj-navy-700); }

/* Editorial drop cap on the opening paragraph (Latin scripts only) */
.oj-content > p:first-of-type:not([lang="bn"]):not(:lang(bn))::first-letter{
  font-family:var(--oj-display); font-weight:600; font-size:3.4em; line-height:.82;
  float:left; margin:.04em .1em -.02em 0; color:var(--oj-gold-deep); }

/* Lists */
.oj-content ul{ list-style:none; margin:0 0 16px; padding-left:6px; }
.oj-content ul > li{ position:relative; padding-left:22px; margin:7px 0; }
.oj-content ul > li::before{ content:""; position:absolute; left:3px; top:10px; width:6px; height:6px;
  background:var(--oj-gold); transform:rotate(45deg); }
.oj-content ol{ margin:0 0 16px; padding-left:22px; }
.oj-content ol > li{ margin:7px 0; }
.oj-content ol > li::marker{ color:var(--oj-gold-deep); font-family:var(--oj-display); font-weight:700; }

/* Blockquote — a considered pull-quote */
.oj-content blockquote{ margin:22px 0; padding:6px 0 6px 22px; border-left:3px solid var(--oj-gold);
  font-family:var(--oj-display); font-style:italic; font-size:20px; color:var(--oj-navy-700); }

/* Images */
.oj-content img{ border-radius:4px; }
.oj-content figure{ margin:20px 0; }
.oj-content figcaption{ color:var(--oj-muted); font-family:var(--oj-display); font-style:italic; font-size:14px; margin-top:6px; text-align:center; }

/* Tables — results, mark sheets, rosters */
.oj-content table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14.5px;
  border:1px solid var(--oj-line); }
.oj-content thead th{ background:var(--oj-navy); color:#fff; text-align:left; font-family:var(--oj-body);
  font-weight:600; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; padding:11px 14px; }
.oj-content tbody td, .oj-content tbody th{ padding:10px 14px; border-top:1px solid var(--oj-line); vertical-align:top; }
.oj-content tbody tr:nth-child(even){ background:var(--oj-ivory-2); }
.oj-content tbody tr:hover{ background:#eee6d2; }

/* Definition-style profile rows */
.oj-content dl{ display:grid; grid-template-columns:180px 1fr; gap:0; margin:16px 0; border-top:1px solid var(--oj-line); }
.oj-content dt{ font-weight:600; color:var(--oj-navy-700); padding:9px 12px 9px 0; border-bottom:1px solid var(--oj-line); }
.oj-content dd{ margin:0; padding:9px 0; border-bottom:1px solid var(--oj-line); }

/* Bare CakePHP scaffold forms */
.oj-content input[type="text"], .oj-content input[type="email"], .oj-content input[type="password"],
.oj-content input[type="number"], .oj-content input[type="date"], .oj-content select, .oj-content textarea{
  width:100%; max-width:420px; padding:11px 13px; font:inherit; color:var(--oj-ink);
  background:#fff; border:1px solid var(--oj-line); border-radius:4px; outline:none; }
.oj-content textarea{ max-width:100%; }
.oj-content input:focus, .oj-content select:focus, .oj-content textarea:focus{
  border-color:var(--oj-gold); box-shadow:0 0 0 3px rgba(200,162,74,.20); }
.oj-content label{ display:block; font-weight:600; margin:14px 0 5px; color:var(--oj-navy-700);
  font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; }

.oj-content input[type="submit"], .oj-content button:not(.btn):not(.btnSearchGo):not(.btnSearchDD), .oj-content .submit input{
  display:inline-block; cursor:pointer; font-family:var(--oj-body); font-weight:600; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
  background:var(--oj-navy); color:#fff; border:1px solid var(--oj-navy); padding:11px 24px; border-radius:4px; margin-top:10px;
  transition:background .18s ease; }
.oj-content input[type="submit"]:hover, .oj-content .submit input:hover{ background:var(--oj-navy-700); }

.oj-content .error-message, .oj-content .error{ color:var(--oj-wine); font-size:13px; margin:4px 0 0; }

@media (max-width:575px){
  .oj-content{ font-size:16px; }
  .oj-content dl{ grid-template-columns:1fr; }
  .oj-content dt{ padding-bottom:0; border-bottom:0; }
  .oj-content dd{ padding-top:2px; }
}
