@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inika:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@400;700&display=swap');

.logo {
    font-family: "Bebas Neue", serif;
    letter-spacing: -1.5px;
}

.title {
    font-family: "PT Sans", serif;
}

html,
body {
    font-family: "Inika", serif; /* Keep the typewriter-like style */
    font-size: 18px !important; /* Ensure the font size is 18px */
    line-height: 1.4 !important; /* Ensure the line height is 1.4 */
}

.fs-14 {
    font-size: 14px;
}

.fs-15 {
    font-size: 15px;
}

.fw-500 {
    font-weight: 500;
}

.infscroll h1 {
    font-size: 22px;
    font-family: "PT Sans", serif;
}

/* Give breathing room around left-floated editor images */
img.note-float-left {
  margin: 0 1rem 0.75rem 0 !important;
}

img.note-float-right { margin: 0 0 0.75rem 1rem !important; }

.article-body::after { content: ""; display: block; clear: both; }

/* Header font hierarchy with specificity to override Bootstrap */
h1 {
    font-size: 36px !important; /* Largest header */
    font-family: "PT Sans", serif !important;
    font-weight: 700 !important;
}

h2 {
    font-size: 30px !important; /* Slightly smaller than h1 */
    font-family: "PT Sans", serif !important;
    font-weight: 700 !important;
}

h3 {
    font-size: 24px !important; /* Smaller than h2 */
    font-family: "PT Sans", serif !important;
    font-weight: 700 !important;
}

h4 {
    font-size: 20px !important; /* Smaller than h3 */
    font-family: "PT Sans", serif !important;
    font-weight: 500 !important;
}

h5 {
    font-size: 18px !important; /* Smaller than h4 */
    font-family: "PT Sans", serif !important;
    font-weight: 500 !important;
}

h6 {
    font-size: 16px !important; /* Smallest header */
    font-family: "PT Sans", serif !important;
    font-weight: 500 !important;
}

/* Optional: Add spacing between headers and content */
h1, h2, h3, h4, h5, h6 {
    margin-top: 1.5rem !important;
    margin-bottom: 0.75rem !important;
}

/* ===== Blog post content (Summernote output) ===== */
/* Wrap your rendered post HTML with <div class="post-body">...</div> */

.blogger h1 {
  letter-spacing: -0.6px;
}

.post-body {
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
  line-height: 1.55;
}

.post-body * {
  text-align: justify !important;
}

.post-body h1 {
  font-size: 24px !important;
  font-weight: 700 !important;
}

.post-body h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
}

.post-body ul,
.post-body ol,
.post-body li {
  font-size: inherit !important;   /* fix oversized lists */
  line-height: inherit;
}

/* Keep article text visually straight on both sides */
.post-body p,
.post-body li,
.post-body div {
  text-align: justify !important;
  text-justify: inherit;
  font-size: inherit;
}

/* Also justify post preview snippets on list/search/tag pages */
.infscroll .card-text,
.infscroll .card-text small {
  text-align: justify !important;
  text-justify: inter-word;
  display: block;
}

/* Nested lists spacing */
.post-body ul,
.post-body ol { 
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}
.post-body ul ul,
.post-body ol ol { margin-top: .25rem; }

/* Markdown table defaults for imported posts */
.post-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  display: block;
  overflow-x: auto;
}

.post-body th,
.post-body td {
  border: 1px solid #dfe3e6;
  padding: 0.5rem 0.75rem;
  vertical-align: top;
  text-align: left !important;
}

/* MathJax readability: keep formulas left-aligned and scrollable if long */
.post-body mjx-container,
.post-body mjx-container * {
  text-align: left !important;
}

.post-body mjx-container[display="true"] {
  margin: 1rem 0;
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
}

/* Proposal/agreement callout boxes (reusable across all posts) */
:root {
  --proposal-bg: #e9f9ea;
  --proposal-border: #c9e8cc;
  --note-bg: #fff8d9;
  --note-border: #f0de8a;
}

.post-body .proposal-box,
.post-body .agreement-box {
  background: var(--proposal-bg);
  border: 1px solid var(--proposal-border);
  border-radius: 6px;
  padding: 12px 14px;
  margin: 12px 0;
}

.post-body .note-box {
  background: var(--note-bg);
  border: 1px solid var(--note-border);
  border-radius: 6px;
  padding: 12px 14px;
  margin: 12px 0;
}

/* Keep typography inside the box consistent */
.post-body .proposal-box ul,
.post-body .proposal-box ol,
.post-body .proposal-box li,
.post-body .note-box ul,
.post-body .note-box ol,
.post-body .note-box li,
.post-body .agreement-box ul,
.post-body .agreement-box ol,
.post-body .agreement-box li {
  font-size: inherit !important;
  line-height: inherit;
}

/* Make the first bold word read like a title */
.post-body .proposal-box > strong:first-child,
.post-body .note-box > strong:first-child,
.post-body .agreement-box > strong:first-child {
  display: inline-block;
  font-weight: 700;
  margin-bottom: .25rem;
}

/* ===== 3GPP Agreements page ===== */

.agr-filter-label {
  font-weight: 600;
  font-size: 14px;
  vertical-align: middle;
  display: inline-block;
  min-width: 70px;
}

.agr-topic-sidebar {
  max-height: calc(100vh - 300px);
  overflow-y: auto;
  padding-right: 4px;
}

.agr-topic-sidebar .form-check-label {
  font-size: 14px;
  line-height: 1.35;
}

.agr-topic-header {
  background: #2c3e50;
  color: #fff;
  font-family: "PT Sans", serif;
  font-weight: 700;
  font-size: 16px;
  padding: 8px 14px;
  border-radius: 4px;
  margin-bottom: 2px;
}

.agr-card {
  border-left: 4px solid #dee2e6;
  padding: 12px 14px 8px;
  margin-bottom: 2px;
  background: #fdfdfd;
}

.agr-card:hover {
  background: #f8f9fa;
}

.agr-card-meta {
  margin-bottom: 6px;
}

.agr-badge-meeting {
  background: #495057;
  font-weight: 600;
  font-size: 12px;
}

.agr-badge-type {
  font-weight: 600;
  font-size: 12px;
}

.agr-badge-agreement {
  background: var(--proposal-bg);
  color: #1a6e2e;
  border: 1px solid var(--proposal-border);
}

.agr-badge-working_assumption {
  background: #e3ecf9;
  color: #2656a3;
  border: 1px solid #b8d0ef;
}

.agr-badge-way_forward {
  background: var(--note-bg);
  color: #7a6a1f;
  border: 1px solid var(--note-border);
}

.agr-badge-other {
  background: #f0f0f0;
  color: #555;
  border: 1px solid #ccc;
}

.agr-badge-fl_summary {
  background: #f3e8f9;
  color: #6a2ea3;
  border: 1px solid #d4b8ef;
}

.agr-fl-summary {
  padding: 6px 14px;
  background: #faf7fd;
  border-left: 4px solid #d4b8ef;
  font-size: 14px;
  line-height: 1.4;
}

.agr-fl-summary-text {
  margin-left: 6px;
  font-family: "Times New Roman", Times, serif;
}

.agr-card-body {
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.5;
}

.agr-card-body p {
  margin-bottom: .35rem;
}

.agr-card-body ul,
.agr-card-body ol {
  margin-top: 0;
  margin-bottom: .35rem;
}

.agr-card-body li > p {
  margin-bottom: 0;
}

.agr-card-body table {
  width: 100%;
  border-collapse: collapse;
  margin: .5rem 0;
}

.agr-card-body th,
.agr-card-body td {
  border: 1px solid #dfe3e6;
  padding: 4px 8px;
  vertical-align: top;
  text-align: left !important;
  font-size: 15px;
}

@media (max-width: 991.98px) {
  .agr-topic-sidebar {
    max-height: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
  }
  .agr-topic-sidebar .form-check {
    margin-bottom: 0 !important;
  }
}
