/* ==========================================================================
   Journal & Publications redesign
   Расширения над redesign.css + competition-detail.css для:
   - /zhurnal/        (каталог публикаций)
   - /publikaciya/... (детальная статья)
   - /opublikovat/    (форма подачи)
   ========================================================================== */

/* ---------- HERO веер свидетельств о публикации ---------- */
.diploma-item .pub-cert-svg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.pub-cert-card {
  width: 100%;
  aspect-ratio: 1 / 1.414;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px 14px;
  position: relative;
}
.pub-cert-card .inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}
.pub-cert-card .t1 {
  font: 700 11px/1.1 var(--font-sans);
  letter-spacing: .14em;
  color: #1c2046;
}
.pub-cert-card .t2 {
  font: 600 9px/1.1 var(--font-sans);
  letter-spacing: .14em;
  color: #5a608a;
}
.pub-cert-card .name {
  font: 700 12.5px/1.2 var(--font-sans);
  color: #1e2a78;
  margin-top: 6px;
}
.pub-cert-card .work {
  font: 500 9.5px/1.25 var(--font-text);
  color: #3a3f6b;
  margin-top: 2px;
  font-style: italic;
}
.pub-cert-card .org {
  font: 400 8.5px/1.2 var(--font-text);
  color: #6a6f8e;
  margin-top: 6px;
}
.pub-cert-card .qr {
  width: 28px; height: 28px;
  border: 1.5px solid #b9bedc;
  border-radius: 4px;
  margin-top: 6px;
  background:
    linear-gradient(45deg, #1c2046 25%, transparent 25%) 0 0/6px 6px,
    linear-gradient(-45deg, #1c2046 25%, transparent 25%) 0 0/6px 6px,
    #fff;
}

/* ---------- HERO catalog «Журнал» ---------- */
.rd-hero-art-journal {
  position: relative;
  aspect-ratio: .82/1;
  max-width: 540px;
  justify-self: end;
  width: 100%;
}
.rd-hero-art-journal .hero-diploma { padding: 0; }

/* Float-карточки на hero журнала */
.rd-fc-jr-1 { top: -2%; right: -4%; animation: rdFloaty 6s var(--ease-out) infinite alternate; }
.rd-fc-jr-2 { bottom: 4%; left: -6%; animation: rdFloaty 7s var(--ease-out) .8s infinite alternate; }

/* ---------- Карточка публикации в каталоге ---------- */
.rd-card.pub-card { gap: 10px; }
.rd-card.pub-card .pub-meta-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12.5px;
  color: var(--ink-500);
  margin-top: auto;
}
.rd-card.pub-card .pub-meta-line .meta-views {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.rd-card.pub-card .pub-author {
  font-size: 13px;
  color: var(--ink-700);
  font-weight: 600;
  position: relative;
  z-index: 1;
}

/* ---------- Sort bar ---------- */
.rd-sort-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 0 18px;
  border-bottom: 1px solid var(--ink-100);
  margin-bottom: 18px;
}
.rd-sort-bar .results-count { color: var(--ink-500); font-size: 14px; }
.rd-sort-bar .sort-options { display: flex; gap: 6px; align-items: center; }
.rd-sort-bar .sort-label { color: var(--ink-500); font-size: 13px; margin-right: 6px; }
.rd-sort-bar .sort-option {
  font-size: 13px;
  color: var(--ink-700);
  padding: 6px 12px;
  border-radius: var(--r-pill);
  border: 1px solid var(--ink-200);
  background: #fff;
  text-decoration: none;
  transition: all .2s var(--ease-out);
}
.rd-sort-bar .sort-option:hover { border-color: var(--indigo-300); color: var(--indigo-700); }
.rd-sort-bar .sort-option.active {
  background: var(--indigo-600);
  color: #fff;
  border-color: var(--indigo-600);
}

/* ---------- Pagination (rd-стиль) ---------- */
.rd-pagination {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
  margin-top: 32px;
  flex-wrap: wrap;
}
.rd-pagination .page-link {
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-700);
  border: 1px solid var(--ink-200);
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  transition: all .2s var(--ease-out);
}
.rd-pagination .page-link:hover { border-color: var(--indigo-300); color: var(--indigo-700); }
.rd-pagination .page-link.active {
  background: var(--indigo-600);
  color: #fff;
  border-color: var(--indigo-600);
}
.rd-pagination .page-dots { color: var(--ink-400); padding: 0 6px; }

/* ---------- Section heading с CTA-кнопкой справа ---------- */
.rd-section-head .head-cta { margin-left: auto; }

/* ---------- Empty state ---------- */
.rd-empty-state {
  text-align: center;
  padding: 60px 24px;
  border: 1.5px dashed var(--ink-200);
  border-radius: 20px;
  background: #fff;
}
.rd-empty-state .ic {
  width: 64px; height: 64px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: var(--indigo-50);
  color: var(--indigo-700);
  display: flex; align-items: center; justify-content: center;
}
.rd-empty-state h3 { font: 700 22px var(--font-sans); margin-bottom: 8px; color: var(--ink-900); }
.rd-empty-state p { color: var(--ink-500); margin-bottom: 22px; }
.rd-empty-state .actions { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

/* ---------- Audience filter override (страница журнала) ---------- */
.journal-page .audience-filter,
.zhurnal-redesign .audience-filter {
  background: #fff;
  border: 1px solid var(--ink-200);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 18px;
}

/* ==========================================================================
   PUBLICATION DETAIL
   ========================================================================== */

.pub-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 32px;
  align-items: start;
}

.pub-article {
  background: #fff;
  border: 1px solid var(--ink-200);
  border-radius: 20px;
  padding: 32px;
  box-shadow: var(--sh-1);
}

.pub-article .pub-type {
  display: inline-flex;
  align-items: center;
  font: 600 12px var(--font-sans);
  padding: 6px 12px;
  border-radius: var(--r-pill);
  background: var(--indigo-50);
  color: var(--indigo-700);
  border: 1px solid var(--indigo-100);
  margin-bottom: 16px;
}
.pub-article h1 {
  font: 800 32px/1.2 var(--font-sans);
  color: var(--ink-900);
  margin-bottom: 18px;
  letter-spacing: -.01em;
}

.pub-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--ink-100);
}
.pub-meta .author-block { display: flex; gap: 12px; align-items: center; }
.pub-meta .author-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--indigo-500), var(--indigo-700));
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font: 700 17px var(--font-sans);
}
.pub-meta .author-info { display: flex; flex-direction: column; }
.pub-meta .author-name { font: 600 14px var(--font-sans); color: var(--ink-900); }
.pub-meta .author-org { font-size: 12.5px; color: var(--ink-500); }
.pub-meta .meta-stats { display: flex; gap: 18px; flex-wrap: wrap; color: var(--ink-500); font-size: 13.5px; }
.pub-meta .meta-stats .meta-item { display: inline-flex; gap: 6px; align-items: center; }

.pub-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; }
.pub-tag {
  display: inline-flex;
  align-items: center;
  font: 600 12px var(--font-sans);
  padding: 5px 11px;
  border-radius: var(--r-pill);
  background: var(--indigo-50);
  color: var(--indigo-700);
  border: 1px solid var(--indigo-100);
  text-decoration: none;
  transition: all .2s var(--ease-out);
}
.pub-tag:hover { background: var(--indigo-100); border-color: var(--indigo-300); }

.pub-annotation {
  background: linear-gradient(135deg, #f4f6ff 0%, #ecefff 100%);
  border: 1px solid var(--indigo-100);
  border-radius: 16px;
  padding: 22px 26px;
  margin-bottom: 28px;
}
.pub-annotation h2 {
  font: 700 14px var(--font-sans);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--indigo-700);
  margin-bottom: 10px;
}
.pub-annotation p {
  font: 400 16px/1.6 var(--font-text);
  color: var(--ink-800);
  margin: 0;
}

.pub-body {
  font: 400 16px/1.7 var(--font-text);
  color: var(--ink-800);
}
.pub-body p { margin-bottom: 16px; }
.pub-body h2 { font: 700 24px/1.3 var(--font-sans); margin: 28px 0 14px; color: var(--ink-900); }
.pub-body h3 { font: 700 20px/1.3 var(--font-sans); margin: 22px 0 12px; color: var(--ink-900); }
.pub-body ul, .pub-body ol { margin: 12px 0 18px 24px; }
.pub-body li { margin-bottom: 6px; }
.pub-body--empty { color: var(--ink-500); font-style: italic; }

.pub-cta-card {
  margin-top: 32px;
  padding: 28px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--indigo-600), var(--indigo-700));
  color: #fff;
  text-align: center;
}
.pub-cta-card h3 { font: 700 22px var(--font-sans); margin-bottom: 8px; color: #fff; }
.pub-cta-card p { color: rgba(255,255,255,.85); margin-bottom: 16px; }
.pub-cta-card .rd-btn { background: #fff; color: var(--indigo-700); }
.pub-cta-card .rd-btn:hover { background: #fff; color: var(--indigo-800, #14256e); }

/* Sidebar */
.pub-sidebar { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 88px; }
.pub-side-card {
  background: #fff;
  border: 1px solid var(--ink-200);
  border-radius: 16px;
  padding: 18px 20px;
}
.pub-side-card h3 {
  font: 700 14px var(--font-sans);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-500);
  margin-bottom: 14px;
}
.pub-side-card .author-profile { display: flex; gap: 12px; align-items: center; }
.pub-side-card .author-avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--indigo-500), var(--indigo-700));
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font: 700 22px var(--font-sans);
}
.pub-side-card .author-name { font: 600 15px var(--font-sans); color: var(--ink-900); display: block; }
.pub-side-card .author-org { font-size: 13px; color: var(--ink-500); display: block; }

.related-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.related-list a {
  display: block;
  padding: 10px;
  border: 1px solid var(--ink-100);
  border-radius: 12px;
  text-decoration: none;
  transition: all .2s var(--ease-out);
}
.related-list a:hover { border-color: var(--indigo-300); background: var(--indigo-50); }
.related-list .related-title { font: 600 13.5px/1.35 var(--font-sans); color: var(--ink-900); display: block; margin-bottom: 4px; }
.related-list .related-author { font-size: 12px; color: var(--ink-500); }

.share-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.share-btn {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  font: 700 12px var(--font-sans);
  text-decoration: none;
  border: 1px solid var(--ink-200);
  background: #fff;
  color: var(--ink-700);
  cursor: pointer;
  transition: all .2s var(--ease-out);
}
.share-btn:hover { transform: translateY(-2px); border-color: var(--indigo-300); color: var(--indigo-700); }
.share-btn.vk:hover { color: #07f; border-color: #07f; }
.share-btn.telegram:hover { color: #2ca5e0; border-color: #2ca5e0; }
.share-btn.ok:hover { color: #ee8208; border-color: #ee8208; }

/* ==========================================================================
   SUBMIT PUBLICATION (форма подачи)
   ========================================================================== */

.rd-submit-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr);
  gap: 32px;
  align-items: start;
}

/* Generator promo (баннер сверху) */
.rd-gen-promo {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 24px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  border: 1px solid #fbd5a5;
  text-decoration: none;
  margin-bottom: 24px;
  transition: all .2s var(--ease-out);
}
.rd-gen-promo:hover { transform: translateY(-2px); box-shadow: var(--sh-2); }
.rd-gen-promo .ic {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rd-gen-promo .body { flex: 1; min-width: 0; }
.rd-gen-promo .badge {
  display: inline-block;
  font: 600 11px var(--font-sans);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #b45309;
  margin-bottom: 4px;
}
.rd-gen-promo h2 { font: 700 19px var(--font-sans); color: var(--ink-900); margin-bottom: 4px; }
.rd-gen-promo p { font-size: 14px; color: var(--ink-700); margin: 0; }
.rd-gen-promo .arrow {
  flex-shrink: 0;
  font: 600 14px var(--font-sans);
  color: var(--indigo-700);
  white-space: nowrap;
}

/* Form card */
.rd-form-card {
  background: #fff;
  border: 1px solid var(--ink-200);
  border-radius: 20px;
  padding: 28px;
  box-shadow: var(--sh-1);
}
.rd-form-card-head { margin-bottom: 22px; }
.rd-form-card-head h2 { font: 700 24px var(--font-sans); color: var(--ink-900); margin-bottom: 6px; }
.rd-form-card-head p { color: var(--ink-500); font-size: 14.5px; }

.rd-form-section { margin-bottom: 28px; }
.rd-form-section-title {
  display: flex;
  gap: 10px;
  align-items: center;
  font: 700 17px var(--font-sans);
  color: var(--ink-900);
  margin-bottom: 16px;
}
.rd-form-section-title .n {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--indigo-600);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font: 700 13px var(--font-sans);
  flex-shrink: 0;
}

.rd-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 640px) { .rd-form-row { grid-template-columns: 1fr; } }

.rd-form-group { margin-bottom: 14px; }
.rd-form-group label {
  display: block;
  font: 600 13.5px var(--font-sans);
  color: var(--ink-800);
  margin-bottom: 6px;
}
.rd-form-group .required { color: #e0244c; }
.rd-form-group .hint-text { color: var(--ink-500); font-weight: 400; font-size: 12.5px; }
.rd-form-group .form-control,
.rd-form-group input[type="text"],
.rd-form-group input[type="email"],
.rd-form-group textarea,
.rd-form-group select {
  width: 100%;
  padding: 11px 14px;
  font: 400 14.5px var(--font-text);
  color: var(--ink-900);
  background: #fff;
  border: 1.5px solid var(--ink-200);
  border-radius: 10px;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.rd-form-group .form-control:focus,
.rd-form-group input:focus,
.rd-form-group textarea:focus,
.rd-form-group select:focus {
  border-color: var(--indigo-500);
  box-shadow: 0 0 0 4px rgba(99,102,241,.12);
}
.rd-form-group .form-control.error { border-color: #e0244c; }
.rd-form-group .error-message {
  color: #e0244c;
  font-size: 12.5px;
  margin-top: 4px;
  display: none;
}
.rd-form-group .error-message.show { display: block; }
.rd-form-group .char-counter {
  text-align: right;
  font-size: 12px;
  color: var(--ink-500);
  margin-top: 4px;
}

/* File upload zone */
.rd-file-upload {
  position: relative;
  border: 2px dashed var(--ink-200);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  background: var(--ink-50, #f7f8fc);
  transition: all .2s var(--ease-out);
}
.rd-file-upload.dragover,
.rd-file-upload:hover {
  border-color: var(--indigo-400);
  background: var(--indigo-50);
}
.rd-file-upload .file-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.rd-file-upload .upload-icon {
  width: 56px; height: 56px;
  margin: 0 auto 12px;
  border-radius: 14px;
  background: #fff;
  color: var(--indigo-600);
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--ink-200);
}
.rd-file-upload .upload-text {
  font: 500 15px var(--font-sans);
  color: var(--ink-800);
  margin-bottom: 6px;
}
.rd-file-upload .upload-link { color: var(--indigo-700); font-weight: 600; }
.rd-file-upload .upload-hint { font-size: 12.5px; color: var(--ink-500); }
.rd-file-upload .file-preview {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 14px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--ink-200);
}
.rd-file-upload .file-preview .file-icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: var(--indigo-50);
  color: var(--indigo-700);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rd-file-upload .file-preview .file-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rd-file-upload .file-preview .file-name { font: 600 14px var(--font-sans); color: var(--ink-900); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-file-upload .file-preview .file-size { font-size: 12px; color: var(--ink-500); }
.rd-file-upload .file-preview .file-remove {
  background: transparent;
  border: 0;
  color: var(--ink-500);
  cursor: pointer;
  padding: 6px;
  border-radius: 8px;
}
.rd-file-upload .file-preview .file-remove:hover { background: var(--ink-100); color: #e0244c; }

/* Tag chips selector */
.rd-tag-selector {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.rd-tag-chk { display: inline-flex; cursor: pointer; }
.rd-tag-chk input { display: none; }
.rd-tag-chk .tag-label {
  display: inline-flex;
  align-items: center;
  font: 500 13px var(--font-sans);
  padding: 7px 13px;
  border-radius: var(--r-pill);
  background: #fff;
  border: 1.5px solid var(--ink-200);
  color: var(--ink-700);
  transition: all .15s var(--ease-out);
}
.rd-tag-chk:hover .tag-label { border-color: var(--indigo-300); color: var(--indigo-700); }
.rd-tag-chk input:checked + .tag-label {
  background: var(--indigo-600);
  border-color: var(--indigo-600);
  color: #fff;
}

/* Agreement / submit */
.rd-form-agreement {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 14px;
  background: var(--ink-50, #f7f8fc);
  border-radius: 12px;
  margin-bottom: 18px;
  font-size: 13px;
  color: var(--ink-700);
  line-height: 1.5;
}
.rd-form-agreement input { margin-top: 3px; flex-shrink: 0; accent-color: var(--indigo-600); }
.rd-form-agreement a { color: var(--indigo-700); text-decoration: underline; }

.rd-form-submit { display: flex; flex-direction: column; gap: 10px; }
.rd-form-submit .rd-btn { width: 100%; justify-content: center; padding: 14px 24px; font-size: 15px; }
.rd-form-submit .submit-hint { font-size: 12.5px; color: var(--ink-500); text-align: center; }
.rd-form-submit .btn-loader { display: inline-flex; align-items: center; gap: 8px; }
.rd-form-submit .spinner-small {
  width: 16px; height: 16px;
  border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: rdSpin .7s linear infinite;
}
@keyframes rdSpin { to { transform: rotate(360deg); } }

/* Right column на /opublikovat/ */
.rd-side-info { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 88px; }

/* Mockup журнала */
.rd-journal-mockup {
  background: #fff;
  border: 1px solid var(--ink-200);
  border-radius: 16px;
  padding: 14px;
  box-shadow: var(--sh-2);
}
.rd-journal-mockup .head {
  display: flex; align-items: center; gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ink-100);
}
.rd-journal-mockup .dots { display: flex; gap: 5px; }
.rd-journal-mockup .dots span { width: 9px; height: 9px; border-radius: 50%; background: var(--ink-200); }
.rd-journal-mockup .title { font: 600 12px var(--font-sans); color: var(--ink-700); }
.rd-journal-mockup .body { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; padding-top: 12px; }
.rd-journal-mockup .article-badge {
  display: inline-block;
  font: 600 10px var(--font-sans);
  padding: 3px 8px;
  background: var(--indigo-50);
  color: var(--indigo-700);
  border-radius: var(--r-pill);
  margin-bottom: 8px;
}
.rd-journal-mockup .ttl-line { height: 9px; background: var(--ink-100); border-radius: 4px; margin-bottom: 5px; }
.rd-journal-mockup .ttl-line.short { width: 60%; }
.rd-journal-mockup .meta-line { display: flex; gap: 8px; margin: 8px 0 10px; }
.rd-journal-mockup .meta-line span { height: 7px; background: var(--ink-100); border-radius: 4px; flex: 1; }
.rd-journal-mockup .text-line { height: 6px; background: var(--ink-100); border-radius: 3px; margin-bottom: 5px; }
.rd-journal-mockup .text-line.medium { width: 70%; }
.rd-journal-mockup .side-item { height: 36px; background: var(--ink-100); border-radius: 8px; margin-bottom: 8px; }

.rd-side-benefits, .rd-side-faq {
  background: #fff;
  border: 1px solid var(--ink-200);
  border-radius: 16px;
  padding: 18px 20px;
}
.rd-side-benefits h3, .rd-side-faq h3 { font: 700 16px var(--font-sans); color: var(--ink-900); margin-bottom: 12px; }
.rd-side-benefits ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.rd-side-benefits li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: var(--ink-700); }
.rd-side-benefits .ic {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--indigo-50);
  color: var(--indigo-700);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rd-side-faq details { padding: 8px 0; border-bottom: 1px solid var(--ink-100); }
.rd-side-faq details:last-child { border-bottom: 0; }
.rd-side-faq summary {
  font: 600 13.5px var(--font-sans);
  color: var(--ink-900);
  cursor: pointer;
  list-style: none;
  position: relative;
  padding-right: 22px;
}
.rd-side-faq summary::-webkit-details-marker { display: none; }
.rd-side-faq summary::after {
  content: '+';
  position: absolute;
  right: 0; top: 0;
  color: var(--indigo-700);
  font-weight: 700;
}
.rd-side-faq details[open] summary::after { content: '−'; }
.rd-side-faq p { font-size: 13px; color: var(--ink-600, #4a4f70); line-height: 1.5; margin-top: 8px; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .pub-detail-layout { grid-template-columns: 1fr; }
  .pub-sidebar { position: static; }
  .rd-submit-layout { grid-template-columns: 1fr; }
  .rd-side-info { position: static; }
  .rd-hero-art-journal { display: none; }
}
@media (max-width: 768px) {
  .pub-article { padding: 22px 18px; }
  .pub-article h1 { font-size: 26px; }
  .rd-form-card { padding: 20px; }
  .rd-gen-promo { flex-direction: column; align-items: flex-start; padding: 16px; }
}
