/* ==========================================================
   Revistas CREA-RS — página editorial
   ========================================================== */

.crv {
    --crv-noite: #071f3f;
    --crv-marinho: #0a2e5c;
    --crv-azul: #0A478A;
    --crv-vivo: #0C6AD0;
    --crv-ciano: #0095c0;
    --crv-tinta: #14223a;
    --crv-texto: #46546b;
    --crv-suave: #7a879b;
    --crv-papel: #f5f3ee;
    --crv-linha: rgba(10, 46, 92, .12);
    --crv-branco: #fff;
    --crv-serif: "Fraunces", Georgia, "Times New Roman", serif;
    --crv-sans: "Poppins", Arial, sans-serif;
    --crv-raio: 22px;
    --crv-sombra-capa: 0 1px 2px rgba(7, 31, 63, .18), 0 12px 24px -8px rgba(7, 31, 63, .35), 0 30px 60px -20px rgba(7, 31, 63, .35);

    font-family: var(--crv-sans);
    color: var(--crv-tinta);
    line-height: 1.6;
    margin: 0 0 3rem;
}

.crv *,
.crv *::before,
.crv *::after {
    box-sizing: border-box;
}

.crv h2,
.crv h3,
.crv p,
.crv ul,
.crv dl,
.crv dd {
    margin: 0;
    padding: 0;
}

.crv a {
    text-decoration: none;
    color: inherit;
}

.crv img {
    max-width: 100%;
    display: block;
}

.crv .crv-icone {
    flex: none;
}

/* ---------- Barra de botões ---------- */

.crv-botoes {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 2rem;
}

.crv .crv-botao {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .8rem 1.35rem;
    border: 1.5px solid var(--crv-linha);
    border-radius: 999px;
    background: var(--crv-branco);
    color: var(--crv-marinho);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.2;
    transition: background .25s, color .25s, border-color .25s, transform .25s, box-shadow .25s;
}

.crv .crv-botao:hover,
.crv .crv-botao:focus-visible {
    border-color: var(--crv-vivo);
    color: var(--crv-vivo);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -12px rgba(12, 106, 208, .55);
}

.crv .crv-botao--destaque {
    background: var(--crv-marinho);
    border-color: var(--crv-marinho);
    color: var(--crv-branco);
}

.crv .crv-botao--destaque:hover,
.crv .crv-botao--destaque:focus-visible {
    background: var(--crv-vivo);
    border-color: var(--crv-vivo);
    color: var(--crv-branco);
}

/* ---------- Elementos comuns ---------- */

.crv-kicker {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--crv-vivo);
}

.crv-kicker span {
    width: 32px;
    height: 2px;
    background: currentColor;
}

.crv-tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.crv-tags li {
    margin: 0;
    padding: .35rem .8rem;
    border-radius: 999px;
    background: rgba(12, 106, 208, .08);
    color: var(--crv-azul);
    font-size: .78rem;
    font-weight: 500;
    line-height: 1.3;
}

.crv-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2rem;
}

.crv .crv-cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .95rem 1.6rem;
    border-radius: 999px;
    background: var(--crv-vivo);
    color: var(--crv-branco);
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.2;
    transition: background .25s, color .25s, transform .25s, box-shadow .25s;
}

.crv .crv-cta:hover,
.crv .crv-cta:focus-visible {
    background: var(--crv-azul);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -14px rgba(12, 106, 208, .8);
}

.crv .crv-cta--secundario {
    background: transparent;
    color: var(--crv-marinho);
    box-shadow: inset 0 0 0 1.5px var(--crv-linha);
}

.crv .crv-cta--secundario:hover,
.crv .crv-cta--secundario:focus-visible {
    background: var(--crv-papel);
    color: var(--crv-vivo);
    box-shadow: inset 0 0 0 1.5px var(--crv-vivo);
}

.crv .crv-cta--claro {
    background: var(--crv-branco);
    color: var(--crv-marinho);
}

.crv .crv-cta--claro:hover,
.crv .crv-cta--claro:focus-visible {
    background: #dbe9fb;
    color: var(--crv-marinho);
}

.crv .crv-cta--contorno {
    background: transparent;
    color: var(--crv-branco);
    box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .4);
}

.crv .crv-cta--contorno:hover,
.crv .crv-cta--contorno:focus-visible {
    background: rgba(255, 255, 255, .1);
    box-shadow: inset 0 0 0 1.5px #fff;
}

.crv-aviso {
    padding: 2rem;
    border-radius: var(--crv-raio);
    background: var(--crv-papel);
    color: var(--crv-texto);
    text-align: center;
}

.crv-aviso--admin {
    margin-top: 1rem;
    border: 1px dashed #d63638;
    background: #fcf0f1;
    color: #8a2424;
    font-family: Consolas, Monaco, monospace;
    font-size: .85rem;
    text-align: left;
    word-break: break-word;
}

/* ---------- Capas ---------- */

.crv-capa {
    position: relative;
    aspect-ratio: 3 / 4;
    border-radius: 4px 8px 8px 4px;
    overflow: hidden;
    background: var(--crv-marinho);
    box-shadow: var(--crv-sombra-capa);
}

/* lombada */
.crv-capa::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .22) 0, rgba(255, 255, 255, .18) 1.5%, rgba(0, 0, 0, 0) 4%, rgba(0, 0, 0, 0) 96%, rgba(0, 0, 0, .08) 100%);
    pointer-events: none;
    z-index: 2;
}

.crv-capa__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.crv-capa__vazia {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 12% 11%;
    color: #fff;
    background:
        radial-gradient(120% 80% at 100% 0, rgba(0, 149, 192, .55), transparent 60%),
        linear-gradient(160deg, var(--crv-azul), var(--crv-noite));
}

.crv-capa__marca {
    font-family: var(--crv-serif);
    font-size: clamp(.8rem, 1.2vw, 1.05rem);
    font-weight: 600;
    line-height: 1.1;
    max-width: 8ch;
}

.crv-capa__num {
    font-family: var(--crv-serif);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.03em;
}

.crv-capa__per {
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .75;
}

/* ---------- Destaque (hero) ---------- */

.crv-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(2rem, 5vw, 4.5rem);
    border-radius: calc(var(--crv-raio) + 8px);
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    background:
        radial-gradient(70% 90% at 85% 10%, rgba(0, 149, 192, .45), transparent 60%),
        radial-gradient(60% 70% at 0% 100%, rgba(12, 106, 208, .35), transparent 60%),
        linear-gradient(135deg, var(--crv-marinho), var(--crv-noite));
    margin-bottom: 3rem;
}

.crv-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(120deg, #000 10%, transparent 70%);
    -webkit-mask-image: linear-gradient(120deg, #000 10%, transparent 70%);
}

.crv-hero__fantasma {
    position: absolute;
    right: -2%;
    bottom: -18%;
    z-index: -1;
    font-family: var(--crv-serif);
    font-size: clamp(10rem, 28vw, 24rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.06em;
    color: transparent;
    -webkit-text-stroke: 1.5px rgba(255, 255, 255, .09);
    user-select: none;
    pointer-events: none;
}

.crv-hero .crv-kicker {
    color: #7fd3ff;
}

.crv .crv-hero__titulo {
    margin-top: 1.25rem;
    font-family: var(--crv-serif);
    font-size: clamp(2.4rem, 5.2vw, 4.4rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.025em;
    color: #fff;
}

.crv-hero__titulo em {
    display: block;
    font-style: italic;
    font-weight: 400;
    color: #bfe6ff;
}

.crv-hero__meta {
    margin-top: 1rem;
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .7);
}

.crv-hero__meta strong {
    margin-right: .6rem;
    color: #fff;
}

.crv-hero__chamada {
    margin-top: 1.5rem;
    max-width: 46ch;
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .82);
}

.crv-hero .crv-tags {
    margin-top: 1.5rem;
}

.crv-hero .crv-tags li {
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .9);
    backdrop-filter: blur(4px);
}

.crv-hero__capa {
    position: relative;
    justify-self: center;
    width: min(100%, 340px);
    perspective: 1200px;
}

.crv-hero__capa::before {
    content: "";
    position: absolute;
    inset: 6% -8% -6% 8%;
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    transform: rotate(6deg);
}

.crv-capa--hero {
    transform: rotate(-3deg);
    box-shadow: 0 2px 4px rgba(0, 0, 0, .25), 0 40px 80px -24px rgba(0, 0, 0, .7);
    transition: transform .6s cubic-bezier(.2, .8, .2, 1);
}

.crv-hero__capa:hover .crv-capa--hero {
    transform: rotate(0) translateY(-6px) scale(1.02);
}

/* ---------- Chamadas: Submissão / Comissão ---------- */

.crv-chamadas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.25rem;
    margin: -1rem 0 2.5rem;
}

.crv .crv-chamada {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.6rem 1.75rem;
    border-radius: var(--crv-raio);
    background: var(--crv-papel);
    box-shadow: inset 0 0 0 1px var(--crv-linha);
    overflow: hidden;
    isolation: isolate;
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, background .35s;
}

.crv .crv-chamada::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, var(--crv-marinho), var(--crv-noite));
    opacity: 0;
    transition: opacity .35s;
}

.crv .crv-chamada:hover,
.crv .crv-chamada:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px -24px rgba(7, 31, 63, .6);
}

.crv .crv-chamada:hover::before,
.crv .crv-chamada:focus-visible::before {
    opacity: 1;
}

.crv-chamada__icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: #fff;
    color: var(--crv-vivo);
    box-shadow: 0 6px 16px -8px rgba(12, 106, 208, .5);
    transition: background .35s, color .35s;
}

.crv-chamada__icone .crv-icone {
    width: 26px;
    height: 26px;
}

.crv-chamada__texto {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    flex: 1 1 auto;
    min-width: 0;
}

.crv-chamada__texto small {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--crv-vivo);
    transition: color .35s;
}

.crv-chamada__texto strong {
    font-family: var(--crv-serif);
    font-size: clamp(1.2rem, 2vw, 1.45rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: var(--crv-marinho);
    transition: color .35s;
}

.crv-chamada__texto span {
    font-size: .88rem;
    line-height: 1.55;
    color: var(--crv-texto);
    transition: color .35s;
}

.crv-chamada__seta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1.5px var(--crv-linha);
    color: var(--crv-marinho);
    transition: background .35s, color .35s, transform .35s, box-shadow .35s;
}

.crv .crv-chamada:hover .crv-chamada__icone,
.crv .crv-chamada:focus-visible .crv-chamada__icone {
    background: rgba(255, 255, 255, .12);
    color: #fff;
    box-shadow: none;
}

.crv .crv-chamada:hover .crv-chamada__texto small,
.crv .crv-chamada:focus-visible .crv-chamada__texto small {
    color: #7fd3ff;
}

.crv .crv-chamada:hover .crv-chamada__texto strong,
.crv .crv-chamada:focus-visible .crv-chamada__texto strong {
    color: #fff;
}

.crv .crv-chamada:hover .crv-chamada__texto span,
.crv .crv-chamada:focus-visible .crv-chamada__texto span {
    color: rgba(255, 255, 255, .78);
}

.crv .crv-chamada:hover .crv-chamada__seta,
.crv .crv-chamada:focus-visible .crv-chamada__seta {
    background: #fff;
    color: var(--crv-marinho);
    box-shadow: none;
    transform: translateX(4px);
}

/* ---------- Ferramentas (busca + anos) ---------- */

.crv-ferramentas {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.5rem;
    padding: 1rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--crv-linha);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: saturate(1.4) blur(10px);
    -webkit-backdrop-filter: saturate(1.4) blur(10px);
}

.crv .crv-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.crv .crv-busca {
    position: relative;
    display: block;
    flex: 0 1 320px;
    min-width: 220px;
    margin: 0;
    padding: 0;
    color: var(--crv-suave);
    font-size: 1rem;
    font-weight: 400;
}

.crv .crv-busca .crv-icone {
    position: absolute;
    top: 50%;
    left: 1rem;
    z-index: 1;
    width: 18px;
    height: 18px;
    margin: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

.crv .crv-busca input {
    display: block;
    width: 100%;
    height: 46px;
    margin: 0;
    padding: 0 1rem 0 2.75rem;
    -webkit-appearance: none;
    appearance: none;
    border: 1.5px solid var(--crv-linha);
    border-radius: 999px;
    background: var(--crv-papel);
    color: var(--crv-tinta);
    font: inherit;
    font-size: .9rem;
    outline: none;
    transition: border-color .2s, background .2s, box-shadow .2s;
}

.crv .crv-busca input:focus {
    border-color: var(--crv-vivo);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(12, 106, 208, .12);
}

.crv-anos-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: .35rem;
    flex: 1 1 300px;
    min-width: 0;
}

.crv-anos {
    display: flex;
    gap: .35rem;
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    cursor: grab;
}

.crv-anos.is-arrastando {
    cursor: grabbing;
    scroll-behavior: auto;
    user-select: none;
}

.crv-anos::-webkit-scrollbar {
    display: none;
}

/* esmaece as bordas quando há mais anos para rolar */
.crv-anos-wrap.tem-ant .crv-anos {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 32px);
    mask-image: linear-gradient(90deg, transparent, #000 32px);
}

.crv-anos-wrap.tem-prox .crv-anos {
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent);
}

.crv-anos-wrap.tem-ant.tem-prox .crv-anos {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 32px, #000 calc(100% - 32px), transparent);
    mask-image: linear-gradient(90deg, transparent, #000 32px, #000 calc(100% - 32px), transparent);
}

.crv .crv-anos-seta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 1.5px solid var(--crv-linha);
    border-radius: 50%;
    background: #fff;
    color: var(--crv-marinho);
    cursor: pointer;
    transition: border-color .2s, color .2s, background .2s;
}

.crv .crv-anos-seta:hover,
.crv .crv-anos-seta:focus-visible {
    border-color: var(--crv-vivo);
    color: var(--crv-vivo);
}

.crv .crv-anos-seta[hidden] {
    display: none;
}

.crv .crv-ano {
    flex: none;
    padding: .5rem .95rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--crv-texto);
    font: inherit;
    font-size: .85rem;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s, color .2s;
}

.crv .crv-ano:hover {
    background: var(--crv-papel);
    color: var(--crv-marinho);
}

.crv .crv-ano.is-ativo {
    background: var(--crv-marinho);
    color: #fff;
}

.crv-contador {
    margin-left: auto;
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--crv-suave);
    white-space: nowrap;
}

/* ---------- Arquivo por ano ---------- */

.crv-ano-bloco {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 2.5rem;
    padding: 3rem 0;
    border-bottom: 1px solid var(--crv-linha);
}

.crv-ano-bloco[hidden] {
    display: none;
}

.crv-ano-bloco__cab {
    position: sticky;
    top: 100px;
    align-self: start;
}

.crv .crv-ano-bloco__ano {
    font-family: var(--crv-serif);
    font-size: clamp(3.2rem, 6vw, 5.2rem);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.04em;
    color: transparent;
    -webkit-text-stroke: 1.5px var(--crv-marinho);
}

.crv-ano-bloco:first-child .crv-ano-bloco__ano {
    color: var(--crv-marinho);
}

.crv-ano-bloco__qtd {
    display: block;
    margin-top: .75rem;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--crv-suave);
}

.crv-grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 2.5rem 1.75rem;
}

.crv-card[hidden] {
    display: none;
}

.crv-card__link {
    display: block;
    outline: none;
}

.crv-card .crv-capa {
    transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s;
}

.crv-card__link:hover .crv-capa,
.crv-card__link:focus-visible .crv-capa {
    transform: translateY(-8px) rotate(-1deg);
    box-shadow: 0 2px 4px rgba(7, 31, 63, .2), 0 28px 50px -16px rgba(7, 31, 63, .55);
}

.crv-card__link:focus-visible .crv-capa {
    outline: 3px solid var(--crv-vivo);
    outline-offset: 4px;
}

.crv-card__info {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-top: 1.1rem;
}

.crv-card__num {
    font-family: var(--crv-serif);
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--crv-marinho);
    transition: color .25s;
}

.crv-card__num small {
    font-family: var(--crv-sans);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--crv-suave);
    vertical-align: middle;
}

.crv-card__link:hover .crv-card__num {
    color: var(--crv-vivo);
}

.crv-card__per {
    font-size: .74rem;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--crv-suave);
}

.crv-card__titulo {
    margin-top: .35rem;
    font-size: .88rem;
    line-height: 1.45;
    color: var(--crv-texto);
}

.crv-vazio {
    padding: 4rem 1rem;
    text-align: center;
    font-family: var(--crv-serif);
    font-size: 1.4rem;
    font-style: italic;
    color: var(--crv-suave);
}

.crv-vazio[hidden] {
    display: none;
}

/* ---------- Página da edição ---------- */

.crv-detalhe {
    display: grid;
    grid-template-columns: minmax(240px, 400px) minmax(0, 1fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    align-items: start;
    padding: clamp(1.5rem, 4vw, 3.5rem);
    border-radius: calc(var(--crv-raio) + 8px);
    background:
        radial-gradient(60% 50% at 0% 0%, rgba(12, 106, 208, .1), transparent 70%),
        var(--crv-papel);
}

.crv-detalhe__capa {
    position: sticky;
    top: 2rem;
}

.crv-capa--detalhe {
    transform: rotate(-2deg);
    box-shadow: 0 2px 4px rgba(7, 31, 63, .2), 0 40px 70px -24px rgba(7, 31, 63, .55);
}

.crv .crv-detalhe__titulo {
    margin-top: 1.25rem;
    font-family: var(--crv-serif);
    font-weight: 600;
    line-height: .95;
    letter-spacing: -.03em;
    color: var(--crv-marinho);
}

.crv-detalhe__titulo small {
    display: block;
    font-size: clamp(1.4rem, 2.6vw, 2rem);
    font-style: italic;
    font-weight: 400;
    color: var(--crv-texto);
    letter-spacing: -.01em;
}

.crv-detalhe__titulo span {
    display: block;
    font-size: clamp(3.4rem, 8vw, 6.5rem);
    font-weight: 800;
}

.crv-detalhe__manchete {
    margin-top: 1.25rem;
    font-family: var(--crv-serif);
    font-size: clamp(1.25rem, 2.2vw, 1.6rem);
    line-height: 1.35;
    color: var(--crv-tinta);
}

.crv-ficha {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
    border-top: 1px solid var(--crv-linha);
    border-bottom: 1px solid var(--crv-linha);
}

.crv-ficha div {
    flex: 1 1 120px;
    padding: 1rem 1.25rem 1rem 0;
}

.crv-ficha div + div {
    padding-left: 1.25rem;
    border-left: 1px solid var(--crv-linha);
}

.crv-ficha dt {
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--crv-suave);
}

.crv-ficha dd {
    margin-top: .2rem;
    font-family: var(--crv-serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--crv-marinho);
}

.crv-detalhe__texto {
    margin-top: 2rem;
    max-width: 62ch;
    font-size: 1.02rem;
    line-height: 1.8;
    color: var(--crv-texto);
}

.crv-detalhe__texto p + p {
    margin-top: 1rem;
}

.crv-detalhe__texto > p:first-child::first-letter {
    float: left;
    margin: .1rem .6rem 0 0;
    font-family: var(--crv-serif);
    font-size: 3.6rem;
    font-weight: 800;
    line-height: .8;
    color: var(--crv-vivo);
}

.crv-detalhe__texto a {
    color: var(--crv-vivo);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.crv .crv-rotulo {
    margin: 2rem 0 .85rem;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--crv-suave);
}

.crv-detalhe .crv-tags li {
    background: #fff;
    box-shadow: inset 0 0 0 1px var(--crv-linha);
}

.crv-navegacao {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--crv-linha);
}

.crv-navegacao__item {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    color: var(--crv-marinho);
    font-family: var(--crv-serif);
    font-size: 1.15rem;
    font-weight: 600;
    transition: color .2s, gap .2s;
}

.crv-navegacao__item small {
    display: block;
    font-family: var(--crv-sans);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--crv-suave);
}

.crv-navegacao__item--prox {
    margin-left: auto;
    text-align: right;
}

.crv-navegacao__item:hover {
    color: var(--crv-vivo);
    gap: 1rem;
}

.crv-anteriores {
    margin-top: 4rem;
}

.crv-secao-cab {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--crv-linha);
}

.crv .crv-secao-cab h3 {
    font-family: var(--crv-serif);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--crv-marinho);
}

.crv-secao-cab a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--crv-vivo) !important;
}

.crv-grade--faixa {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

/* ---------- Responsivo ---------- */

@media (max-width: 991px) {
    .crv-hero {
        grid-template-columns: 1fr;
    }

    .crv-hero__capa {
        order: -1;
        width: min(70%, 280px);
    }

    .crv-detalhe {
        grid-template-columns: 1fr;
    }

    .crv-detalhe__capa {
        position: static;
        width: min(70%, 320px);
        margin: 0 auto;
    }

    .crv-ano-bloco {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 2.25rem 0;
    }

    .crv-ano-bloco__cab {
        position: static;
        display: flex;
        align-items: baseline;
        gap: 1rem;
    }

    .crv-ano-bloco__qtd {
        margin: 0;
    }
}

@media (max-width: 575px) {
    .crv-botoes {
        flex-direction: column;
    }

    .crv .crv-botao {
        justify-content: center;
    }

    .crv .crv-busca {
        flex-basis: 100%;
    }

    .crv .crv-anos-seta {
        display: none;
    }

    .crv-contador {
        display: none;
    }

    .crv-grade {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem 1rem;
    }

    .crv-card__num {
        font-size: 1.2rem;
    }

    .crv-acoes .crv-cta {
        flex: 1 1 100%;
        justify-content: center;
    }

    .crv-ficha div,
    .crv-ficha div + div {
        flex-basis: 50%;
        padding: .85rem 0;
        border-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .crv *,
    .crv *::before,
    .crv *::after {
        transition: none !important;
    }

    .crv-capa--hero,
    .crv-capa--detalhe {
        transform: none;
    }
}
