:root {
  --cid-navy: #12345b;
  --cid-navy-strong: #0b2748;
  --cid-blue: #1d5f9d;
  --cid-ink: #172231;
  --cid-text: #3f4d5d;
  --cid-muted: #718096;
  --cid-line: #dce4ec;
  --cid-soft: #f5f8fb;
  --cid-paper: #ffffff;
  --cid-gold: #b99a53;
  --cid-radius: 14px;
  --cid-shadow: 0 12px 34px rgba(20, 43, 70, .08);
}

.cidadeia-diario-page { background: #f4f6f8; padding: 34px 18px 64px; color: var(--cid-text); }
.cid-diario-shell { width: min(1180px, 100%); margin: 0 auto; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.cid-diario-shell *, .cid-diario-shell *::before, .cid-diario-shell *::after { box-sizing: border-box; }
.cid-diario-shell a { text-decoration: none; }

.cid-diario-hero { background: linear-gradient(125deg, var(--cid-navy-strong), var(--cid-navy)); color: #fff; border-radius: 18px; padding: 34px 38px; display: flex; align-items: center; justify-content: space-between; gap: 28px; box-shadow: var(--cid-shadow); position: relative; overflow: hidden; }
.cid-diario-hero::after { content:""; position:absolute; right:-70px; top:-90px; width:260px; height:260px; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.cid-diario-hero__identity { display: flex; align-items: center; gap: 22px; min-width: 0; position:relative; z-index:1; }
.cid-diario-hero__logo { width: 86px; height: 86px; object-fit: contain; background:#fff; border-radius: 50%; padding: 8px; box-shadow: 0 5px 16px rgba(0,0,0,.18); flex: 0 0 auto; }
.cid-diario-hero__seal { width: 76px; height: 76px; border: 1px solid rgba(185,154,83,.75); background: rgba(255,255,255,.07); color: #fff; border-radius: 50%; display:grid; place-items:center; font-family: Georgia, serif; font-size: 23px; font-weight:700; flex:0 0 auto; }
.cid-diario-kicker { margin: 0 0 7px; font-size: 12px; font-weight: 800; letter-spacing: .13em; opacity: .78; }
.cid-diario-hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 4vw, 47px); line-height: 1.08; font-weight: 700; letter-spacing: -.025em; color:#fff; }
.cid-diario-lead { margin: 10px 0 0; max-width: 680px; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.82); }
.cid-diario-hero__stat { position:relative; z-index:1; min-width: 155px; padding: 16px 18px; border-left: 1px solid rgba(255,255,255,.2); }
.cid-diario-hero__stat strong { display:block; font-size: 31px; line-height:1; color:#fff; letter-spacing:-.04em; }
.cid-diario-hero__stat span { display:block; margin-top:7px; color:rgba(255,255,255,.7); font-size:12px; line-height:1.4; }

.cid-diario-search { background: var(--cid-paper); border:1px solid var(--cid-line); border-radius: var(--cid-radius); padding: 20px; margin-top: 18px; box-shadow: 0 6px 20px rgba(20,43,70,.04); }
.cid-diario-search__form { display:grid; grid-template-columns: minmax(280px,1fr) 150px 220px auto; gap: 12px; align-items:end; }
.cid-field label { display:block; margin:0 0 7px; font-size:11px; color:#46576a; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.cid-field input, .cid-field select { width:100%; height:46px; border:1px solid #ccd7e2; border-radius:9px; background:#fff; color:#253549; font: inherit; font-size:14px; outline:none; transition:.15s ease; }
.cid-field input:focus, .cid-field select:focus { border-color: var(--cid-blue); box-shadow: 0 0 0 3px rgba(29,95,157,.1); }
.cid-field select { padding:0 34px 0 12px; }
.cid-search-input { position:relative; }
.cid-search-input svg { position:absolute; left:13px; top:50%; transform:translateY(-50%); width:18px; height:18px; fill:none; stroke:#7a8998; stroke-width:1.8; stroke-linecap:round; }
.cid-field .cid-search-input input { padding:0 14px 0 40px; }
.cid-btn { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:9px; padding:0 17px; border:1px solid transparent; font-weight:750; font-size:13px; cursor:pointer; transition:.15s ease; text-decoration:none!important; }
.cid-btn svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cid-btn--primary { color:#fff!important; background:var(--cid-navy); border-color:var(--cid-navy); }
.cid-btn--primary:hover { background:var(--cid-navy-strong); transform:translateY(-1px); }
.cid-btn--ghost { color:var(--cid-navy)!important; background:#fff; border-color:#cfd9e3; }
.cid-btn--ghost:hover { border-color:var(--cid-navy); background:#f8fafc; }
.cid-active-filter { display:flex; justify-content:space-between; gap:14px; margin-top:14px; padding-top:13px; border-top:1px solid #edf1f4; font-size:12px; color:var(--cid-muted); }
.cid-active-filter a { color:var(--cid-blue); font-weight:750; }

.cid-diario-list { margin-top: 28px; }
.cid-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.cid-section-eyebrow { margin:0 0 3px; font-size:10px; letter-spacing:.16em; color:var(--cid-gold); font-weight:850; }
.cid-section-heading h2 { margin:0; color:var(--cid-ink); font: 700 29px/1.2 Georgia, "Times New Roman", serif; letter-spacing:-.015em; }
.cid-section-count { color:var(--cid-muted); font-size:12px; }
.cid-editions { display:flex; flex-direction:column; gap:10px; }
.cid-edition { display:grid; grid-template-columns: 92px minmax(0,1fr) 150px; align-items:center; gap:20px; background:#fff; border:1px solid var(--cid-line); border-radius:12px; padding:16px 18px 16px 14px; transition:.16s ease; }
.cid-edition:hover { border-color:#bdcbd8; box-shadow: 0 8px 22px rgba(20,43,70,.07); transform:translateY(-1px); }
.cid-edition__date { width:72px; min-height:76px; border-right:1px solid #dfe6ed; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--cid-navy); }
.cid-edition__date strong { font:700 27px/1 Georgia, "Times New Roman", serif; }
.cid-edition__date span { margin-top:4px; font-size:11px; font-weight:850; letter-spacing:.08em; }
.cid-edition__date small { margin-top:2px; color:#8290a0; font-size:10px; }
.cid-edition__meta { display:flex; align-items:center; gap:10px; margin-bottom:5px; color:#8793a1; font-size:11px; }
.cid-badge { display:inline-flex; align-items:center; min-height:24px; padding:3px 9px; border-radius:999px; background:#edf4fa; color:#285b8c; border:1px solid #d9e7f3; font-size:10px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.cid-edition__body h3 { margin:0; font-size:17px; line-height:1.35; font-weight:750; }
.cid-edition__body h3 a { color:#1d2c3d; }
.cid-edition__body h3 a:hover { color:var(--cid-blue); }
.cid-edition__body p { margin:6px 0 0; color:#687687; font-size:12.5px; line-height:1.48; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cid-edition__action { display:flex; justify-content:flex-end; }
.cid-open { display:inline-flex; align-items:center; gap:7px; color:var(--cid-navy)!important; font-size:12px; font-weight:800; white-space:nowrap; }
.cid-open svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .15s ease; }
.cid-open:hover svg { transform:translateX(3px); }

.cid-pagination { margin-top:22px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
.cid-pagination__nav { color:var(--cid-navy)!important; font-size:12px; font-weight:750; }
.cid-pagination__nav:last-child { justify-self:end; }
.cid-pagination__pages { display:flex; align-items:center; gap:5px; }
.cid-pagination__pages a, .cid-pagination__pages span { width:34px; height:34px; display:grid; place-items:center; border-radius:8px; color:#566475; font-size:12px; }
.cid-pagination__pages a { border:1px solid #dbe3eb; background:#fff; }
.cid-pagination__pages a.is-current { background:var(--cid-navy); color:#fff; border-color:var(--cid-navy); }
.cid-empty { background:#fff; border:1px solid var(--cid-line); border-radius:var(--cid-radius); text-align:center; padding:48px 20px; }
.cid-empty__icon { font-size:36px; color:#8796a7; }
.cid-empty h3 { margin:8px 0 4px; color:var(--cid-ink); }
.cid-empty p { margin:0 0 16px; color:var(--cid-muted); }
.cid-diario-note { margin-top:28px; display:flex; align-items:flex-start; gap:12px; padding:16px 18px; background:#eef4f8; border:1px solid #d6e2ec; border-radius:11px; color:#4f6275; }
.cid-diario-note svg { width:22px; height:22px; flex:0 0 auto; fill:none; stroke:var(--cid-blue); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cid-diario-note strong, .cid-diario-note span { display:block; }
.cid-diario-note strong { color:#2d4358; font-size:12px; }
.cid-diario-note span { margin-top:2px; font-size:11px; }

/* Página interna */
.cid-single-page { padding-top:24px; }
.cid-single-shell { max-width:1040px; }
.cid-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; color:#8693a1; font-size:11px; }
.cid-breadcrumb a { color:#5f7082; }
.cid-official-document { background:#fff; border:1px solid #d9e1e8; border-radius:16px; overflow:hidden; box-shadow:var(--cid-shadow); }
.cid-document-header { min-height:112px; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#fff; background:linear-gradient(125deg,var(--cid-navy-strong),var(--cid-navy)); border-bottom:4px solid var(--cid-gold); }
.cid-document-brand { display:flex; align-items:center; gap:14px; }
.cid-document-brand img { width:62px; height:62px; object-fit:contain; background:#fff; padding:5px; border-radius:50%; }
.cid-document-brand p { margin:0; color:#fff; font-size:14px; font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.cid-document-brand span { display:block; margin-top:4px; color:rgba(255,255,255,.75); font:italic 15px Georgia,serif; }
.cid-document-edition-date { min-width:94px; border-left:1px solid rgba(255,255,255,.2); padding-left:22px; text-align:center; }
.cid-document-edition-date strong { display:block; color:#fff; font:700 34px/1 Georgia,serif; }
.cid-document-edition-date span { display:block; margin-top:4px; color:rgba(255,255,255,.72); font-size:10px; letter-spacing:.08em; font-weight:800; }
.cid-document-intro { padding:30px 34px 24px; border-bottom:1px solid #e3e8ed; }
.cid-document-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:#758395; font-size:11px; }
.cid-document-intro h1 { margin:11px 0 8px; color:#172638; font:700 clamp(27px,4vw,38px)/1.2 Georgia,"Times New Roman",serif; letter-spacing:-.02em; }
.cid-publisher { margin:0; color:#718092; font-size:11.5px; }
.cid-publisher strong { color:#405166; }
.cid-document-content { padding:32px 34px 38px; color:#2e3946; font-family: Georgia, "Times New Roman", serif; font-size:16px; line-height:1.72; overflow-wrap:anywhere; }
.cid-document-content > :first-child { margin-top:0; }
.cid-document-content > :last-child { margin-bottom:0; }
.cid-document-content h2, .cid-document-content h3, .cid-document-content h4 { color:#172638; font-family:Georgia,"Times New Roman",serif; }
.cid-document-content h2 { margin:32px 0 12px; font-size:23px; }
.cid-document-content h3 { margin:25px 0 9px; font-size:19px; }
.cid-document-content p { margin:0 0 16px; }
.cid-document-content hr { border:0; border-top:1px solid #dde4ea; margin:28px 0; }
.cid-document-content table { width:100%; border-collapse:collapse; margin:20px 0; font-family:ui-sans-serif,-apple-system,"Segoe UI",sans-serif; font-size:13px; }
.cid-document-content th, .cid-document-content td { padding:9px 10px; border:1px solid #d9e1e7; vertical-align:top; }
.cid-document-content th { background:#f3f6f8; color:#32475c; }
.cid-document-content a { color:#155e9a; text-decoration:underline; text-underline-offset:2px; }
.cid-document-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 26px; border-top:1px solid #e0e6ec; background:#f7f9fb; }
.cid-document-published span, .cid-document-published strong { display:block; }
.cid-document-published span { color:#8794a3; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.cid-document-published strong { margin-top:3px; color:#34495f; font-size:12px; }
.cid-document-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.cid-document-actions .cid-btn { min-height:39px; }
.cid-btn.is-success { border-color:#8ac7a1; color:#1f7a44!important; background:#f0faf4; }

@media (max-width: 860px) {
  .cidadeia-diario-page { padding:22px 12px 48px; }
  .cid-diario-hero { padding:26px 24px; align-items:flex-start; }
  .cid-diario-hero__stat { display:none; }
  .cid-diario-search__form { grid-template-columns:1fr 1fr; }
  .cid-field--query { grid-column:1/-1; }
  .cid-diario-search__form .cid-btn { grid-column:1/-1; }
  .cid-edition { grid-template-columns:76px 1fr; gap:14px; }
  .cid-edition__action { grid-column:2; justify-content:flex-start; }
  .cid-document-footer { align-items:flex-start; flex-direction:column; }
  .cid-document-actions { justify-content:flex-start; }
}

@media (max-width: 560px) {
  .cid-diario-hero { border-radius:14px; padding:22px 18px; }
  .cid-diario-hero__identity { align-items:flex-start; gap:14px; }
  .cid-diario-hero__logo, .cid-diario-hero__seal { width:58px; height:58px; }
  .cid-diario-kicker { font-size:9px; }
  .cid-diario-hero h1 { font-size:30px; }
  .cid-diario-lead { font-size:13px; }
  .cid-diario-search { padding:15px; }
  .cid-diario-search__form { grid-template-columns:1fr; }
  .cid-field--query, .cid-diario-search__form .cid-btn { grid-column:auto; }
  .cid-section-heading { align-items:flex-start; flex-direction:column; gap:5px; }
  .cid-edition { grid-template-columns:58px 1fr; gap:12px; padding:14px 13px; }
  .cid-edition__date { width:54px; min-height:66px; }
  .cid-edition__date strong { font-size:23px; }
  .cid-edition__body h3 { font-size:15px; }
  .cid-edition__body p { display:none; }
  .cid-edition__meta { align-items:flex-start; flex-direction:column; gap:4px; }
  .cid-edition__action { grid-column:2; }
  .cid-pagination { grid-template-columns:1fr 1fr; }
  .cid-pagination__pages { grid-column:1/-1; grid-row:1; justify-content:center; }
  .cid-pagination__nav { grid-row:2; }
  .cid-document-header { padding:18px; }
  .cid-document-brand img, .cid-document-brand .cid-diario-hero__seal { width:50px; height:50px; }
  .cid-document-brand p { font-size:11px; }
  .cid-document-brand span { font-size:13px; }
  .cid-document-edition-date { min-width:66px; padding-left:12px; }
  .cid-document-edition-date strong { font-size:28px; }
  .cid-document-intro { padding:23px 19px 18px; }
  .cid-document-content { padding:24px 19px 30px; font-size:15.5px; line-height:1.67; }
  .cid-document-actions { width:100%; }
  .cid-document-actions .cid-btn { flex:1 1 auto; }
}

@page {
  size: A4 portrait;
  margin: 12mm 12mm 14mm;
}

@media print {
  html, body {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  /* Oculta o tema sem tirar o Diário do fluxo normal de páginas.
     A versão 1.2.0 usava position:absolute, que fazia o Chromium
     tratar todo o documento como uma única caixa e cortar o restante. */
  body * { visibility: hidden !important; }
  .cidadeia-diario-page,
  .cidadeia-diario-page *,
  .cid-diario-shell,
  .cid-diario-shell *,
  .cid-official-document,
  .cid-official-document * {
    visibility: visible !important;
  }

  .cidadeia-diario-page {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .cid-diario-shell,
  .cid-single-shell {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .cid-breadcrumb,
  .cid-document-actions {
    display: none !important;
  }

  .cid-official-document {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .cid-document-header {
    min-height: 0 !important;
    padding: 6mm 7mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cid-document-brand img {
    width: 16mm !important;
    height: 16mm !important;
  }

  .cid-document-brand p { font-size: 10pt !important; }
  .cid-document-brand span { font-size: 9pt !important; }
  .cid-document-edition-date strong { font-size: 24pt !important; }
  .cid-document-edition-date span { font-size: 7.5pt !important; }

  .cid-document-intro {
    padding: 6mm 7mm 5mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .cid-document-intro h1 {
    margin: 3mm 0 2mm !important;
    font-size: 20pt !important;
    line-height: 1.18 !important;
  }

  .cid-document-content {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 7mm !important;
    overflow: visible !important;
    font-size: 10.5pt !important;
    line-height: 1.48 !important;
  }

  .cid-document-content p,
  .cid-document-content li,
  .cid-document-content blockquote {
    orphans: 3;
    widows: 3;
  }

  .cid-document-content h2,
  .cid-document-content h3,
  .cid-document-content h4 {
    break-after: avoid;
    page-break-after: avoid;
  }

  .cid-document-content table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto;
    break-inside: auto;
    page-break-inside: auto;
  }

  .cid-document-content tr,
  .cid-document-content img,
  .cid-document-content figure {
    break-inside: avoid;
    page-break-inside: avoid;
    max-width: 100% !important;
  }

  .cid-document-content img { height: auto !important; }

  .cid-document-footer {
    display: block !important;
    padding: 4mm 7mm !important;
    background: #fff !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
