/* ═══════════════════════════════════════════════════════════════
   DailyUploads — content pages colour alignment.

   Covers FAQ, Terms, DMCA, Privacy, News, Contact and Link Checker.
   Premium and Make Money are deliberately NOT touched; they already
   have their own stylesheets.

   Everything is scoped under a du-* class because these pages reuse
   very generic names (.card is Bootstrap's, .section is also used by
   the upload page), so unscoped rules would leak site-wide.

   What was wrong: main.html styles these pages with --ink/--navy
   #10233F (navy), --muted #64748B (slate) and --blue #dc2626 (brick
   red), while the home page uses #16181b, #495057 and #e3000f. That
   is why they read as a different site.
═══════════════════════════════════════════════════════════════ */

.du-doc,
.du-contact,
.du-news,
.du-check {
  --dup-ink: #16181b;
  --dup-ink-2: #495057;
  --dup-ink-3: #6c757d;
  --dup-ink-4: #adb5bd;

  --dup-red: #e3000f;
  --dup-red-2: #ff4d57;
  --dup-red-dark: #b8000c;
  --dup-wash: #fff0f1;

  /* Matches the admin and dashboard areas: #e9ecef was too faint on white. */
  --dup-line: #ced4da;
  --dup-soft: #f8f9fb;

  --dup-sh-1: 0 1px 2px rgba(16, 18, 20, .05);
  --dup-sh-2: 0 8px 24px rgba(16, 18, 20, .07);
  --dup-sh-3: 0 18px 40px rgba(16, 18, 20, .10);
}

/* ── Page backdrop: home page's red glow, brightened ─────────── */
.du-doc-bg {
  background: radial-gradient(62% 46% at 50% 0%, rgba(227, 0, 15, .09) 0%, transparent 70%);
}

/* ═══════════════ Shared document pages ═══════════════════════
   FAQ / Terms of Service / DMCA / Privacy Policy */

.du-doc .section-eyebrow {
  color: var(--dup-red);
}

.du-doc h1,
.du-doc h2 {
  color: var(--dup-ink);
}

.du-doc .updated {
  color: var(--dup-ink-4);
}

.du-doc .lead-sub {
  color: var(--dup-ink-3);
}

.du-doc .lead-sub a {
  color: var(--dup-red);
}

.du-doc .card {
  background: #fff;
  border-color: var(--dup-line);
  box-shadow: var(--dup-sh-1);
}

/* ── Long-form body copy ────────────────────────────────────── */
.du-doc .textPage .section:not(:first-child) {
  border-top-color: var(--dup-line);
}

.du-doc .textPage .section h2 {
  color: var(--dup-ink);
}

.du-doc .textPage .section h2 .n,
.du-doc .textPage .section li::marker {
  color: var(--dup-red);
}

.du-doc .textPage .section p,
.du-doc .textPage .section li {
  color: var(--dup-ink-2);
}

/* ── Numbered steps (DMCA / Terms) ──────────────────────────── */
.du-doc .steps li {
  border-bottom-color: var(--dup-line);
  color: var(--dup-ink-2);
}

.du-doc .steps li::before {
  background: var(--dup-wash);
  color: var(--dup-red-dark);
}

/* ── Highlight blocks ───────────────────────────────────────── */
.du-doc .closing-note,
.du-doc .callout {
  background: var(--dup-wash);
  color: var(--dup-ink);
  border-left: 3px solid var(--dup-red);
}

.du-doc .callout a {
  color: var(--dup-red-dark);
}

/* the navy gradient here was the single most off-brand element;
   this is the home page's own dark-red highlight treatment */
.du-doc .contact-card {
  background:
    radial-gradient(120% 160% at 8% 0%, rgba(255, 122, 130, .22) 0%, transparent 55%),
    linear-gradient(150deg, #3a0d0d 0%, #8d0f16 55%, #b8000c 100%);
  box-shadow: 0 14px 34px rgba(227, 0, 15, .22);
}

.du-doc .back-top {
  color: var(--dup-ink-3);
}

.du-doc .back-top:hover {
  color: var(--dup-red);
}

.du-doc .foot-note {
  color: var(--dup-ink-3);
}

/* ── FAQ accordion ──────────────────────────────────────────── */
.du-doc .faqPage .accordion-item {
  box-shadow: var(--dup-sh-1);
}

.du-doc .faqPage .accordion-item:has(.accordion-button:not(.collapsed)) {
  box-shadow: 0 12px 28px rgba(227, 0, 15, .14);
}

.du-doc .faqPage .accordion-button {
  color: var(--dup-ink);
}

.du-doc .faqPage .accordion-button:not(.collapsed) {
  color: var(--dup-red);
}

.du-doc .faqPage .accordion-button .num,
.du-doc .faqPage .accordion-button .toggle-icon {
  background: var(--dup-wash);
  color: var(--dup-red);
}

.du-doc .faqPage .accordion-button:not(.collapsed) .num,
.du-doc .faqPage .accordion-button:not(.collapsed) .toggle-icon {
  background: linear-gradient(150deg, var(--dup-red-2), var(--dup-red) 55%, var(--dup-red-dark));
  color: #fff;
}

.du-doc .faqPage .accordion-body {
  color: var(--dup-ink-2);
}

.du-doc .faqPage .accordion-body a {
  color: var(--dup-red);
}

/* ═══════════════════════ Contact ═════════════════════════════ */

.du-contact .eyebrow {
  background: var(--dup-wash);
  color: var(--dup-red-dark);
}

.du-contact h1.display,
.du-contact .form-card h2 {
  color: var(--dup-ink);
}

.du-contact p.sub,
.du-contact .form-card p.hint,
.du-contact .form-footnote {
  color: var(--dup-ink-3);
}

.du-contact .form-card {
  background: #fff;
  border-color: var(--dup-line);
  box-shadow: var(--dup-sh-2);
}

.du-contact .form-label {
  color: var(--dup-ink-2);
}

.du-contact input[type="text"],
.du-contact input[type="email"],
.du-contact textarea {
  border-color: var(--dup-line);
  color: var(--dup-ink);
  background: #fff;
}

.du-contact input[type="text"]:focus,
.du-contact input[type="email"]:focus,
.du-contact textarea:focus {
  border-color: var(--dup-red-2);
  box-shadow: 0 0 0 3px rgba(227, 0, 15, .12);
  outline: none;
}

.du-contact input::placeholder,
.du-contact textarea::placeholder {
  color: var(--dup-ink-4);
}

.du-contact .submit-btn {
  background: linear-gradient(150deg, var(--dup-red-2), var(--dup-red) 52%, var(--dup-red-dark));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 12px 28px rgba(227, 0, 15, .28);
}

.du-contact .submit-btn:hover,
.du-contact .submit-btn:focus {
  background: linear-gradient(150deg, #ff5f68, #d1000e 52%, #a30009);
  color: #fff;
  box-shadow: 0 16px 34px rgba(227, 0, 15, .36);
}

.du-contact .err {
  color: var(--dup-red-dark);
}

/* ═══════════════════════ News ════════════════════════════════ */

.du-news-title {
  color: var(--dup-ink);
}

.du-news a.title {
  color: var(--dup-ink);
}

.du-news a.title:hover {
  color: var(--dup-red);
}

.du-news small {
  color: var(--dup-ink-4);
}

.du-news p {
  color: var(--dup-ink-2);
}

.du-news a.cmt_link {
  color: var(--dup-red);
}

.du-news a.cmt_link:hover {
  color: var(--dup-red-dark);
}

/* ═══════════════════ Link Checker ════════════════════════════ */

.du-check .newsletter-card {
  background: #fff;
  border: 1px solid var(--dup-line);
  box-shadow: var(--dup-sh-2);
}

.du-check .newsletter-card h3 {
  color: var(--dup-ink);
}

.du-check .newsletter-card p,
.du-check .newsletter-card .text-muted {
  color: var(--dup-ink-3) !important;
}

.du-check .newsletter-card small {
  color: var(--dup-ink-4);
}

.du-check textarea {
  border-color: var(--dup-line);
  color: var(--dup-ink);
  background: #fff;
}

.du-check textarea:focus {
  border-color: var(--dup-red-2);
  box-shadow: 0 0 0 3px rgba(227, 0, 15, .12);
  outline: none;
}

.du-check .btn-brand {
  background: linear-gradient(150deg, var(--dup-red-2), var(--dup-red) 52%, var(--dup-red-dark));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 10px 24px rgba(227, 0, 15, .26);
}

.du-check .btn-brand:hover,
.du-check .btn-brand:focus {
  background: linear-gradient(150deg, #ff5f68, #d1000e 52%, #a30009);
  color: #fff;
}

/* ── Results table ──────────────────────────────────────────── */
.du-check table.tbl1 tr.hdr td {
  background: var(--dup-soft);
  color: var(--dup-ink);
  border-bottom: 1px solid var(--dup-line);
}

.du-check table.tbl1 tr:not(.hdr) td {
  color: var(--dup-ink-2);
  border-bottom: 1px solid var(--dup-line);
}

.du-check table.tbl1 tr:not(.hdr):hover td {
  background: var(--dup-soft);
}

/* FAQ / TOS / DMCA / Privacy used Bootstrap col-8, which stays 66%
   wide on phones. Override to full width, then cap on desktop. */
.du-doc.col-8,
.du-doc.wrap.col-8 {
  width: 100% !important;
  max-width: 52rem;
  flex: 0 0 auto !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.du-check.col-10,
.du-check.col-12 {
  width: 100% !important;
  max-width: 56rem;
  flex: 0 0 auto !important;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.du-news,
#news.du-news,
#news.sinput {
  width: 100% !important;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1.25rem;
  box-sizing: border-box;
}

.du-static,
.du-api,
.du-api .page {
  width: 100% !important;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1.25rem;
  box-sizing: border-box;
  text-align: left;
}

.du-api .code,
.page .code {
  overflow-x: auto;
  max-width: 100%;
  white-space: pre-wrap;
  word-break: break-word;
}

.du-contact .field input,
.du-contact .field textarea,
.du-contact input[type="text"],
.du-contact input[type="email"] {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* ═══════════════ Generic notice page (message.html) ═══════════
   Shared by download errors, registration success, password
   recovery and payment confirmation, so it has to read well for
   both a failure (.is-err) and a confirmation (.is-ok). */

.du-msg {
  --dup-ink: #16181b;
  --dup-ink-3: #6c757d;
  --dup-line: #ced4da;
  --dup-red: #e3000f;

  --msg-accent: var(--dup-red);
  --msg-wash: #fff0f1;

  padding: 2rem 0 4rem;
  font-family: var(--font-body, 'Inter', system-ui, sans-serif);
  color: var(--dup-ink);
}

.du-msg.is-ok {
  --msg-accent: #12855a;
  --msg-wash: #eaf7f1;
}

.du-msg-wrap {
  max-width: 34rem;
}

.du-msg-card {
  background: #fff;
  border: 1px solid #e4e6ea;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(16, 18, 20, .07);
  padding: 2.25rem 1.75rem;
  text-align: center;
}

.du-msg-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 1.1rem;
  border-radius: 50%;
  background: var(--msg-wash);
  color: var(--msg-accent);
}

.du-msg-title {
  font-size: clamp(1.15rem, 3vw, 1.4rem);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0 0 .5rem;
}

.du-msg-text {
  font-size: .93rem;
  line-height: 1.6;
  color: var(--dup-ink-3);
  overflow-wrap: anywhere;
}

.du-msg-text:empty {
  display: none;
}

.du-msg-text font {
  color: inherit !important;
  font: inherit !important;
}

.du-msg-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
  margin-top: 1.5rem;
}

.du-msg-btn,
.du-msg-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .72rem 1.25rem;
  border-radius: 8px;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.du-msg-btn {
  border: 1px solid var(--dup-red);
  background: var(--dup-red);
  color: #fff;
  box-shadow: 0 8px 22px rgba(227, 0, 15, .22);
}

.du-msg-btn:hover,
.du-msg-btn:focus {
  background: #b8000c;
  border-color: #b8000c;
  color: #fff;
  transform: translateY(-1px);
}

.du-msg-btn-ghost {
  border: 1px solid var(--dup-line);
  background: #fff;
  color: var(--dup-ink);
}

.du-msg-btn-ghost:hover,
.du-msg-btn-ghost:focus {
  background: #f8f9fb;
  border-color: #adb5bd;
  color: var(--dup-ink);
}

@media (max-width: 575.98px) {
  .du-msg-card {
    padding: 1.75rem 1.15rem;
  }

  .du-msg-actions .du-msg-btn,
  .du-msg-actions .du-msg-btn-ghost {
    width: 100%;
  }
}
