/*
 * SRP Jornal Digital — Frontend Public CSS
 * Versão 2.0.0 — Padronização visual com srp-pagina-inicial
 *
 * Sistema de design unificado do Sindicato Rural de Pindamonhangaba.
 * Tokens, tipografia e componentes espelham srp-frontend.css do plugin
 * srp-pagina-inicial. Escopo isolado em .srp-jd-root.
 */

/* ─── Google Fonts ────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;0,900;1,700;1,800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&display=swap');

/* ══════════════════════════════════════════════════════════════
   TOKENS — espelhados de srp-frontend.css
══════════════════════════════════════════════════════════════ */
.srp-jd-root {
    /* Paleta idêntica ao srp-pagina-inicial */
    --jd-verde:      #1e5c30;
    --jd-verde-mid:  #2f6b3f;
    --jd-verde-lt:   #4a8c5c;
    --jd-verde-xlt:  #6aad7c;
    --jd-creme:      #f5efe3;
    --jd-creme-dk:   #ede3d0;
    --jd-ouro:       #c8a84b;
    --jd-ouro-lt:    #e8cd82;
    --jd-marrom:     #3d2b1f;
    --jd-texto:      #2b2b2b;
    --jd-muted:      #6b7280;
    --jd-branco:     #fff;
    --jd-ln:         rgba(200,168,75,.18);
    --jd-shadow:     0 4px 32px rgba(30,92,48,.12);
    --jd-shadow-sm:  0 2px 12px rgba(30,92,48,.08);
    --jd-shadow-lg:  0 8px 40px rgba(30,92,48,.20);
    --jd-radius:     10px;
    --jd-radius-lg:  14px;
    --jd-transition: all .25s cubic-bezier(.4,0,.2,1);

    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--jd-texto);
    -webkit-font-smoothing: antialiased;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}
.srp-jd-root *,
.srp-jd-root *::before,
.srp-jd-root *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ══════════════════════════════════════════════════════════════
   CABEÇALHO — equivalente a .srp-publicacoes header
   Fundo verde escuro, linha ouro inferior, Playfair Display
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-header {
    background: var(--jd-verde);
    border-bottom: 3px solid var(--jd-ouro);
    padding: 48px 40px 44px;
    position: relative;
    overflow: hidden;
}
/* Textura sutil — igual ao ::before do srp-publicacoes */
.srp-jd-root .srp-jd-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 80% at 90% 50%, rgba(200,168,75,.07) 0%, transparent 65%),
        repeating-linear-gradient(
            -45deg,
            transparent,
            transparent 40px,
            rgba(200,168,75,.025) 40px,
            rgba(200,168,75,.025) 41px
        );
    pointer-events: none;
}
/* Ornamento tipográfico — equivalente ao ::after do srp-publicacoes */
.srp-jd-root .srp-jd-header::after {
    content: '«';
    font-family: 'Playfair Display', serif;
    font-size: 280px;
    font-weight: 900;
    color: rgba(200,168,75,.04);
    position: absolute;
    top: -40px;
    right: 40px;
    line-height: 1;
    pointer-events: none;
}

.srp-jd-root .srp-jd-header-inner {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.srp-jd-root .srp-jd-header-logo-wrap { flex-shrink: 0; }
.srp-jd-root .srp-jd-header-logo {
    height: 56px;
    width: auto;
    object-fit: contain;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(200,168,75,.2);
    border-radius: var(--jd-radius);
    padding: 8px 12px;
}
.srp-jd-root .srp-jd-header-text {
    flex: 1;
    min-width: 200px;
}

/* Eyebrow — idêntico ao .srp-eyebrow */
.srp-jd-root .srp-jd-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--jd-ouro);
    margin-bottom: 12px;
}
.srp-jd-root .srp-jd-badge::before {
    content: '';
    width: 28px;
    height: 2px;
    background: var(--jd-ouro);
    flex-shrink: 0;
}

/* Título — .srp-section-title adaptado */
.srp-jd-root .srp-jd-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 3.5vw, 40px);
    font-weight: 900;
    line-height: 1.12;
    color: var(--jd-branco);
    margin-bottom: 6px;
    letter-spacing: -.3px;
}
.srp-jd-root .srp-jd-subtitle {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(245,239,227,.7);
}

/* ══════════════════════════════════════════════════════════════
   TOOLBAR — busca + filtros por ano
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-toolbar {
    background: var(--jd-creme);
    border: 1px solid var(--jd-ln);
    border-top: none;
    padding: 18px 40px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* Campo de busca */
.srp-jd-root .srp-jd-search-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--jd-branco);
    border: 1.5px solid var(--jd-ln);
    border-radius: var(--jd-radius);
    padding: 0 14px;
    transition: var(--jd-transition);
    flex: 1;
    min-width: 200px;
    max-width: 340px;
}
.srp-jd-root .srp-jd-search-wrap:focus-within {
    border-color: var(--jd-ouro);
    box-shadow: 0 0 0 3px rgba(200,168,75,.18);
}
.srp-jd-root .srp-jd-search-icon {
    font-size: 14px;
    color: var(--jd-muted);
    flex-shrink: 0;
}
.srp-jd-root .srp-jd-search {
    border: none;
    outline: none;
    font-size: 14px;
    font-family: 'DM Sans', sans-serif;
    background: transparent;
    padding: 11px 0;
    color: var(--jd-texto);
    width: 100%;
}
.srp-jd-root .srp-jd-search::placeholder { color: #aaa; }
.srp-jd-root .srp-jd-search-clear {
    border: none;
    background: none;
    cursor: pointer;
    color: var(--jd-muted);
    font-size: 13px;
    padding: 4px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    line-height: 1;
    transition: var(--jd-transition);
}
.srp-jd-root .srp-jd-search-clear:hover {
    color: #e53e3e;
    background: #fee2e2;
}

/* Filtros de ano */
.srp-jd-root .srp-jd-anos-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.srp-jd-root .srp-jd-ano-btn {
    border: 1.5px solid var(--jd-ln);
    background: var(--jd-branco);
    color: var(--jd-muted);
    font-size: 12px;
    font-weight: 600;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .04em;
    padding: 7px 18px;
    border-radius: 100px;
    cursor: pointer;
    transition: var(--jd-transition);
    white-space: nowrap;
}
.srp-jd-root .srp-jd-ano-btn:hover {
    border-color: var(--jd-ouro);
    color: var(--jd-verde);
    background: rgba(200,168,75,.08);
}
.srp-jd-root .srp-jd-ano-btn.ativo {
    background: var(--jd-verde);
    border-color: var(--jd-verde);
    color: var(--jd-ouro-lt);
    box-shadow: 0 2px 10px rgba(30,92,48,.25);
}
.srp-jd-root .srp-jd-ano-btn:active { transform: scale(.96); }
.srp-jd-root .srp-jd-ano-btn:focus-visible {
    outline: 2px solid var(--jd-ouro);
    outline-offset: 2px;
}

/* ══════════════════════════════════════════════════════════════
   GRADE DE JORNAIS
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
    padding: 40px;
    background: var(--jd-creme);
    border: 1px solid var(--jd-ln);
    border-top: none;
}

/* ══════════════════════════════════════════════════════════════
   CARD — equivalente a .srp-news-card-item / srp-pub-card
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-card {
    background: var(--jd-branco);
    border: 1px solid rgba(200,168,75,.18);
    border-radius: var(--jd-radius-lg);
    box-shadow: var(--jd-shadow-sm);
    overflow: hidden;
    transition: var(--jd-transition);
    display: flex;
    flex-direction: column;
    cursor: pointer;
    text-decoration: none;
    position: relative;
}
.srp-jd-root .srp-jd-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--jd-shadow-lg);
    border-color: var(--jd-ouro);
}
.srp-jd-root .srp-jd-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--jd-verde), var(--jd-ouro));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
    border-radius: 0 0 var(--jd-radius-lg) var(--jd-radius-lg);
}
.srp-jd-root .srp-jd-card:hover::after { transform: scaleX(1); }
.srp-jd-root .srp-jd-card:focus-visible {
    outline: 2px solid var(--jd-ouro);
    outline-offset: 2px;
}

/* ── Scroll-reveal — espelha srp-reveal do srp-frontend.css ── */
.srp-jd-root .srp-jd-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .55s ease, transform .55s ease;
}
.srp-jd-root .srp-jd-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}
.srp-jd-root .srp-jd-delay-1 { transition-delay: .06s; }
.srp-jd-root .srp-jd-delay-2 { transition-delay: .12s; }
.srp-jd-root .srp-jd-delay-3 { transition-delay: .18s; }
.srp-jd-root .srp-jd-delay-4 { transition-delay: .24s; }
.srp-jd-root .srp-jd-delay-5 { transition-delay: .30s; }
.srp-jd-root .srp-jd-delay-6 { transition-delay: .36s; }

@media (prefers-reduced-motion: reduce) {
    .srp-jd-root .srp-jd-reveal { opacity: 1; transform: none; transition: none; }
    .srp-jd-root .srp-jd-card::after { display: none; }
}

/* Capa */
.srp-jd-root .srp-jd-card-capa {
    position: relative;
    width: 100%;
    padding-top: 140%;
    overflow: hidden;
    background: var(--jd-creme-dk);
}
.srp-jd-root .srp-jd-card-capa img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
    display: block;
}
.srp-jd-root .srp-jd-card:hover .srp-jd-card-capa img { transform: scale(1.05); }

/* Placeholder sem capa */
.srp-jd-root .srp-jd-card-capa-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--jd-verde) 0%, var(--jd-verde-mid) 100%);
    color: rgba(245,239,227,.45);
    font-size: 52px;
    gap: 10px;
}
.srp-jd-root .srp-jd-card-capa-placeholder span {
    font-family: 'Playfair Display', serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .7;
}

/* Badge de ano */
.srp-jd-root .srp-jd-card-ano-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--jd-ouro);
    color: var(--jd-verde);
    font-size: 11px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 100px;
    letter-spacing: .05em;
    box-shadow: 0 2px 8px rgba(0,0,0,.22);
}

/* Body do card */
.srp-jd-root .srp-jd-card-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.srp-jd-root .srp-jd-card-mes {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--jd-ouro);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.srp-jd-root .srp-jd-card-mes::before {
    content: '';
    width: 16px;
    height: 2px;
    background: var(--jd-ouro);
    flex-shrink: 0;
}
.srp-jd-root .srp-jd-card-titulo {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--jd-verde);
    line-height: 1.35;
    margin: 0 0 6px;
    flex: 1;
}
.srp-jd-root .srp-jd-card-edicao {
    font-size: 12px;
    color: var(--jd-muted);
    margin-bottom: 16px;
}

/* Botão do card — .srp-btn-primary adaptado */
.srp-jd-root .srp-jd-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--jd-ouro);
    color: var(--jd-verde);
    border: 2px solid var(--jd-ouro);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 11px 16px;
    cursor: pointer;
    width: 100%;
    transition: var(--jd-transition);
    text-decoration: none;
}
.srp-jd-root .srp-jd-card-btn:hover {
    background: var(--jd-ouro-lt);
    border-color: var(--jd-ouro-lt);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(200,168,75,.3);
    color: var(--jd-verde);
}
.srp-jd-root .srp-jd-card-btn:active {
    transform: translateY(0);
    box-shadow: none;
}
.srp-jd-root .srp-jd-card-btn:focus-visible {
    outline: 2px solid var(--jd-ouro);
    outline-offset: 3px;
}

/* ── Área de ações do card (botão ler + compartilhar) ─── */
.srp-jd-root .srp-jd-card-actions {
    display: flex;
    gap: 8px;
    align-items: stretch;
    margin-top: auto;
}
.srp-jd-root .srp-jd-card-actions .srp-jd-card-btn {
    flex: 1;
    width: auto;
}
.srp-jd-root .srp-jd-card-share {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--jd-verde);
    border: 2px solid var(--jd-borda);
    border-radius: 6px;
    font-size: 16px;
    padding: 0 12px;
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--jd-transition);
    min-width: 42px;
}
.srp-jd-root .srp-jd-card-share:hover {
    border-color: var(--jd-ouro);
    background: rgba(200,168,75,.08);
}
.srp-jd-root .srp-jd-card-share.srp-jd-share-copied {
    border-color: #2d8a2d;
    color: #2d8a2d;
    background: rgba(45,138,45,.08);
}

/* ══════════════════════════════════════════════════════════════
   LOADING
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-loading {
    text-align: center;
    padding: 72px 20px;
    color: var(--jd-muted);
    background: var(--jd-creme);
    border: 1px solid var(--jd-ln);
    border-top: none;
}
.srp-jd-root .srp-jd-loading p {
    font-size: 14px;
    color: var(--jd-muted);
    margin-top: 4px;
}
.srp-jd-root .srp-jd-spinner {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid rgba(200,168,75,.2);
    border-top-color: var(--jd-verde);
    animation: srp-jd-spin .75s linear infinite;
    margin: 0 auto 16px;
}
@keyframes srp-jd-spin { to { transform: rotate(360deg); } }

/* ══════════════════════════════════════════════════════════════
   ESTADO VAZIO
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-empty {
    text-align: center;
    padding: 80px 20px;
    background: var(--jd-creme);
    border: 1px solid var(--jd-ln);
    border-top: none;
}
.srp-jd-root .srp-jd-empty-icon {
    font-size: 52px;
    margin-bottom: 20px;
    opacity: .4;
    display: block;
    animation: srp-jd-float 3s ease-in-out infinite;
}
@keyframes srp-jd-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-8px); }
}
.srp-jd-root .srp-jd-empty-title {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--jd-verde);
    margin: 0 0 10px;
}
.srp-jd-root .srp-jd-empty-msg {
    color: var(--jd-muted);
    font-size: 14px;
    margin: 0 0 24px;
    line-height: 1.6;
}

/* Botão secundário — equivalente a .srp-btn-ghost */
.srp-jd-root .srp-jd-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    color: var(--jd-verde);
    border: 2px solid rgba(30,92,48,.3);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 11px 24px;
    cursor: pointer;
    transition: var(--jd-transition);
}
.srp-jd-root .srp-jd-btn-secondary:hover {
    background: var(--jd-verde);
    border-color: var(--jd-verde);
    color: var(--jd-ouro-lt);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30,92,48,.2);
}

/* ══════════════════════════════════════════════════════════════
   PAGINAÇÃO
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-paginacao {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 24px 40px 36px;
    flex-wrap: wrap;
    background: var(--jd-creme);
    border: 1px solid var(--jd-ln);
    border-top: none;
}
.srp-jd-root .srp-jd-page-btn {
    min-width: 40px;
    height: 40px;
    border-radius: var(--jd-radius);
    border: 1.5px solid var(--jd-ln);
    background: var(--jd-branco);
    color: var(--jd-muted);
    font-size: 13px;
    font-weight: 600;
    font-family: 'DM Sans', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--jd-transition);
    padding: 0 8px;
}
.srp-jd-root .srp-jd-page-btn:hover:not(:disabled) {
    border-color: var(--jd-ouro);
    color: var(--jd-verde);
    background: rgba(200,168,75,.08);
}
.srp-jd-root .srp-jd-page-btn.ativo {
    background: var(--jd-verde);
    border-color: var(--jd-verde);
    color: var(--jd-ouro-lt);
    box-shadow: 0 2px 10px rgba(30,92,48,.25);
}
.srp-jd-root .srp-jd-page-btn:disabled {
    opacity: .35;
    cursor: not-allowed;
}
.srp-jd-root .srp-jd-page-btn:active:not(:disabled) { transform: scale(.94); }
.srp-jd-root .srp-jd-page-btn:focus-visible {
    outline: 2px solid var(--jd-ouro);
    outline-offset: 2px;
}
.srp-jd-root .srp-jd-paginacao-info {
    font-size: 13px;
    color: var(--jd-muted);
    padding: 0 10px;
    white-space: nowrap;
}

/* ══════════════════════════════════════════════════════════════
   MODAL — visualizador de PDF
   v2.1.1 — viewport fluida, full-screen responsivo
══════════════════════════════════════════════════════════════ */
.srp-jd-root .srp-jd-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: srp-jd-modal-in .22s ease both;
    overflow: hidden;
    max-width: 100vw;
}
@keyframes srp-jd-modal-in { from { opacity: 0; } to { opacity: 1; } }

.srp-jd-root .srp-jd-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15,30,15,.82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
}
.srp-jd-root .srp-jd-modal-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    /* Desktop: ocupa até 92% da largura disponível, máx. 1100px */
    max-width: min(1100px, 92vw);
    /* Altura: ocupa toda a viewport menos 32px de respiro */
    height: calc(100dvh - 32px);
    background: var(--jd-branco);
    border-radius: var(--jd-radius-lg);
    display: flex;
    flex-direction: column;
    box-shadow: 0 32px 80px rgba(0,0,0,.5);
    animation: srp-jd-modal-slide .28s cubic-bezier(.22,.68,0,1.2) both;
    overflow: hidden;
    border: 1px solid rgba(200,168,75,.2);
}
@keyframes srp-jd-modal-slide {
    from { transform: translateY(28px) scale(.97); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* Cabeçalho do modal — igual ao header da seção */
.srp-jd-root .srp-jd-modal-header {
    background: var(--jd-verde);
    border-bottom: 3px solid var(--jd-ouro);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}
.srp-jd-root .srp-jd-modal-info {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.srp-jd-root .srp-jd-modal-badge { font-size: 20px; flex-shrink: 0; }
.srp-jd-root .srp-jd-modal-titulo {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--jd-branco);
    margin: 0 0 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.srp-jd-root .srp-jd-modal-edicao {
    font-size: 12px;
    color: rgba(245,239,227,.65);
    margin: 0;
}
.srp-jd-root .srp-jd-modal-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Botão de download — .srp-btn-primary no modal */
.srp-jd-root .srp-jd-btn-download {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--jd-ouro);
    color: var(--jd-verde);
    border: 2px solid var(--jd-ouro);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 8px 14px;
    cursor: pointer;
    text-decoration: none;
    transition: var(--jd-transition);
    white-space: nowrap;
}
.srp-jd-root .srp-jd-btn-download:hover {
    background: var(--jd-ouro-lt);
    border-color: var(--jd-ouro-lt);
    color: var(--jd-verde);
    text-decoration: none;
    transform: translateY(-1px);
}

/* Botão fechar */
.srp-jd-root .srp-jd-modal-close {
    background: rgba(245,239,227,.1);
    border: 1.5px solid rgba(245,239,227,.2);
    color: var(--jd-branco);
    border-radius: 6px;
    width: 36px;
    height: 36px;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--jd-transition);
    flex-shrink: 0;
    line-height: 1;
}
.srp-jd-root .srp-jd-modal-close:hover {
    background: rgba(229,57,53,.8);
    border-color: transparent;
}

.srp-jd-root .srp-jd-modal-body { flex: 1; overflow: hidden; max-width: 100%; }
.srp-jd-root .srp-jd-pdf-frame {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    max-width: 100%;
}

/* Tablet — modal ocupa quase tudo, sem padding lateral excessivo */
@media (max-width: 1024px) and (min-width: 641px) {
    .srp-jd-root .srp-jd-modal        { padding: 12px; }
    .srp-jd-root .srp-jd-modal-inner  { max-width: 100%; height: calc(100dvh - 24px); }
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVO
══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .srp-jd-root .srp-jd-header        { padding: 32px 20px 28px; }
    .srp-jd-root .srp-jd-title         { font-size: clamp(22px, 6vw, 32px); }
    .srp-jd-root .srp-jd-toolbar       { padding: 14px 20px; gap: 10px; }
    .srp-jd-root .srp-jd-search-wrap   { max-width: 100%; }
    .srp-jd-root .srp-jd-grid          { grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 20px; }
    .srp-jd-root .srp-jd-loading,
    .srp-jd-root .srp-jd-empty         { padding: 48px 16px; }
    .srp-jd-root .srp-jd-paginacao     { padding: 16px 20px 28px; }
}
@media (max-width: 640px) {
    .srp-jd-root .srp-jd-header::after { display: none; }
    .srp-jd-root .srp-jd-header-logo   { height: 44px; }
    .srp-jd-root .srp-jd-card-titulo   { font-size: 13px; }

    /* Modal: full-screen sem margens */
    .srp-jd-root .srp-jd-modal         { padding: 0; }
    .srp-jd-root .srp-jd-modal-inner   { border-radius: 0; height: 100dvh; height: 100vh; border: none; max-width: 100%; width: 100%; }

    /* Cabeçalho do modal: compacto, sem overflow */
    .srp-jd-root .srp-jd-modal-header  { padding: 10px 12px; gap: 8px; flex-wrap: nowrap; }
    .srp-jd-root .srp-jd-modal-info    { flex: 1; min-width: 0; overflow: hidden; }
    .srp-jd-root .srp-jd-modal-badge   { display: none; }
    .srp-jd-root .srp-jd-modal-titulo  { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
    .srp-jd-root .srp-jd-modal-edicao  { font-size: 11px; }
    .srp-jd-root .srp-jd-modal-actions { flex-shrink: 0; gap: 6px; }

    /* Botão de download: só ícone */
    .srp-jd-root .srp-jd-btn-download       { padding: 8px 10px; }
    .srp-jd-root .srp-jd-btn-download span  { display: none; }

    /* Iframe: sem overflow */
    .srp-jd-root .srp-jd-modal-body    { overflow: hidden; position: relative; }
    .srp-jd-root .srp-jd-pdf-frame     { position: absolute; inset: 0; width: 100%; height: 100%; }
}
@media (max-width: 400px) {
    .srp-jd-root .srp-jd-grid          { grid-template-columns: 1fr; }
    .srp-jd-root .srp-jd-card-btn      { font-size: 11px; }
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVO — AJUSTES FINOS
══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Cards não elevam no touch — evita layout shift */
    .srp-jd-root .srp-jd-card:hover     { transform: none; }
    .srp-jd-root .srp-jd-card::after    { display: none; }
    /* Toolbar wraps corretamente */
    .srp-jd-root .srp-jd-toolbar        { flex-wrap: wrap; }
    .srp-jd-root .srp-jd-anos-wrap      { width: 100%; }
    /* Paginação compacta */
    .srp-jd-root .srp-jd-paginacao-info { display: none; }
}
@media (max-width: 400px) {
    .srp-jd-root .srp-jd-card-btn       { padding: 10px 10px; }
}

/* ══════════════════════════════════════════════════════════════
   IMPRESSÃO
══════════════════════════════════════════════════════════════ */
@media print {
    .srp-jd-root .srp-jd-toolbar        { display: none; }
    .srp-jd-root .srp-jd-paginacao      { display: none; }
    .srp-jd-root .srp-jd-modal          { display: none; }
    .srp-jd-root .srp-jd-card           { break-inside: avoid; box-shadow: none; }
    .srp-jd-root .srp-jd-card::after    { display: none; }
    .srp-jd-root .srp-jd-header {
        background: #1e5c30 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .srp-jd-root .srp-jd-grid           { grid-template-columns: repeat(3, 1fr); }
}