/**
 * RSC – Estilos Globais da Área de Conteúdo do Post (Single)
 * Aplicados dentro de .rsc-post-conteudo
 */

/* === Variables === */
:root {
    --rsc-terracota:     #b5451b;
    --rsc-terracota-esc: #7a2810;
    --rsc-verde:         #4a5e1a;
    --rsc-verde-claro:   #d9dfa8;
    --rsc-creme:         #f5f0e1;
    --rsc-texto:         #2d2d2d;
    --rsc-fonte:         'Vollkorn', Georgia, 'Times New Roman', serif;
}

/* === Container principal === */
.rsc-post-conteudo {
    max-width:   740px;
    margin:      0 auto;
    padding:     3rem 1.5rem 5rem;
    font-family: var(--rsc-fonte);
    color:       var(--rsc-texto);
}

/* === Parágrafos === */
.rsc-post-conteudo p {
    font-size:   1rem;
    line-height: 1.8;
    margin:      0 0 1.25rem;
    color:       var(--rsc-texto);
}

/* === Headings === */
.rsc-post-conteudo h2 {
    font-family:    var(--rsc-fonte);
    font-size:      1.4rem;
    font-weight:    700;
    color:          var(--rsc-terracota-esc);
    margin:         2.5rem 0 1rem;
    line-height:    1.3;
    text-transform: none;
    font-style:     normal;
}

.rsc-post-conteudo h3 {
    font-family: var(--rsc-fonte);
    font-size:   1.15rem;
    font-weight: 700;
    color:       var(--rsc-texto);
    margin:      2rem 0 0.75rem;
    line-height: 1.35;
}

.rsc-post-conteudo h4 {
    font-size:   1rem;
    font-weight: 700;
    color:       var(--rsc-texto);
    margin:      1.5rem 0 0.5rem;
}

/* === Inline === */
.rsc-post-conteudo strong,
.rsc-post-conteudo b {
    font-weight: 700;
    color:       var(--rsc-texto);
}

.rsc-post-conteudo em,
.rsc-post-conteudo i {
    font-style: italic;
}

/* === Links === */
.rsc-post-conteudo a:not(.wp-block-button__link):not(.rsc-tag):not(.lt-item__titulo a):not(.bit-item a) {
    color:                  var(--rsc-terracota);
    text-decoration:        underline;
    text-underline-offset:  3px;
    transition:             color 0.2s ease;
}

.rsc-post-conteudo a:not(.wp-block-button__link):not(.rsc-tag):hover {
    color: var(--rsc-verde);
}

/* === Listas === */
.rsc-post-conteudo ul,
.rsc-post-conteudo ol {
    font-family:  'Titillium Web', sans-serif;
    font-style:   normal;
    font-weight:  700;
    font-size:    16px;
    line-height:  1.5;
    color:        #000000;
    margin:       0 0 1.25rem;
    padding-left: 1.5rem;
}

.rsc-post-conteudo li {
    margin-bottom: 0.35rem;
}

/* === Imagens inline com legenda === */
.rsc-post-conteudo figure.wp-block-image {
    margin:         2rem 0;
    display:        flex;
    flex-direction: column;
    gap:            0.4rem;
}

.rsc-post-conteudo figure.wp-block-image img {
    width:         100%;
    height:        auto;
    border-radius: 6px;
    display:       block;
}

.rsc-post-conteudo figcaption,
.rsc-post-conteudo .wp-element-caption {
    font-size:  0.78rem;
    color:      #777;
    font-style: italic;
    text-align: left;
    line-height: 1.4;
}

/* Alinhamentos flutuantes */
.rsc-post-conteudo figure.wp-block-image.alignright {
    float:      right;
    margin:     0 0 1.5rem 2rem;
    max-width:  320px;
    clear:      right;
}

.rsc-post-conteudo figure.wp-block-image.alignleft {
    float:      left;
    margin:     0 2rem 1.5rem 0;
    max-width:  320px;
    clear:      left;
}

/* Clearfix após floats */
.rsc-post-conteudo .wp-block-post-content::after,
.rsc-post-conteudo::after {
    content: '';
    display: table;
    clear:   both;
}

/* === Citação nativa (wp-block-quote) === */
.rsc-post-conteudo blockquote.wp-block-quote {
    margin:      2.5rem 0;
    padding:     0;
    border:      none;
    border-left: none;
}

.rsc-post-conteudo blockquote.wp-block-quote p {
    font-size:   1.2rem;
    font-style:  italic;
    font-weight: 700;
    color:       var(--rsc-texto);
    line-height: 1.6;
    margin:      0 0 0.75rem;
    padding-left: 1.5rem;
    position:    relative;
}

.rsc-post-conteudo blockquote.wp-block-quote p::before {
    content:   '\201C';
    position:  absolute;
    left:      0;
    top:       -0.1em;
    font-size: 2.5rem;
    line-height: 1;
    color:     var(--rsc-terracota);
    font-style: normal;
    font-weight: 400;
}

.rsc-post-conteudo blockquote.wp-block-quote cite {
    display:        block;
    font-size:      0.82rem;
    font-weight:    700;
    color:          var(--rsc-terracota);
    font-style:     normal;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding-left:   1.5rem;
}

/* === Separador === */
.rsc-post-conteudo hr,
.rsc-post-conteudo .wp-block-separator {
    border:      none;
    border-top:  2px solid var(--rsc-verde-claro);
    margin:      2.5rem 0;
    opacity:     1;
}

/* === Tabelas === */
.rsc-post-conteudo table {
    width:           100%;
    border-collapse: collapse;
    font-size:       0.9rem;
    margin:          1.5rem 0;
}

.rsc-post-conteudo th,
.rsc-post-conteudo td {
    padding:       0.6rem 0.8rem;
    text-align:    left;
    border-bottom: 1px solid var(--rsc-verde-claro);
}

.rsc-post-conteudo th {
    font-weight:      700;
    color:            var(--rsc-terracota);
    background-color: var(--rsc-creme);
}

/* === Badge de categoria / tag === */
.rsc-tag {
    display:         inline-block;
    background-color: var(--rsc-terracota);
    color:           #fff;
    font-size:       0.75rem;
    font-weight:     700;
    padding:         0.25rem 0.75rem;
    border-radius:   4px;
    text-decoration: none;
    letter-spacing:  0.04em;
    margin-bottom:   1.5rem;
    font-family:     'Titillium Web', sans-serif;
    transition:      background-color 0.2s ease;
}

.rsc-tag:hover {
    background-color: var(--rsc-terracota-esc);
    color:            #fff;
}

/* === Box de autoria === */
.rsc-autoria {
    margin:     3rem 0 0;
    padding-top: 1.5rem;
    border-top: 1px solid #ddd;
}

.rsc-autoria__label {
    font-size:      0.78rem;
    font-weight:    700;
    color:          #888;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display:        block;
    margin-bottom:  0.5rem;
    font-family:    'Titillium Web', sans-serif;
}

.rsc-autoria__texto {
    font-size:   0.9rem;
    color:       var(--rsc-texto);
    line-height: 1.6;
    font-family: var(--rsc-fonte);
}

/* === Responsivo === */
@media (max-width: 640px) {
    .rsc-post-conteudo {
        padding: 2rem 1rem 3.5rem;
    }

    .rsc-post-conteudo figure.wp-block-image.alignright,
    .rsc-post-conteudo figure.wp-block-image.alignleft {
        float:     none;
        margin:    2rem 0;
        max-width: 100%;
    }

    .rsc-post-conteudo h2 {
        font-size: 1.25rem;
    }
}

/* === Acessibilidade === */
@media (prefers-reduced-motion: reduce) {
    .rsc-post-conteudo a,
    .rsc-tag {
        transition: none;
    }
}


/* ─────────────────────────────────────────────────────────────────────────────
   RSC Single Post — template single.php (layout coluna estreita 770px)
   ───────────────────────────────────────────────────────────────────────────── */

.rsc-single {
    background: #FFFFFF;
    padding: 136px 0;
}

/* Coluna de leitura centralizada */
.rsc-single > * {
    max-width: 770px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* ── Cabeçalho ── */
.rsc-single__header {
    text-align: center;
    margin-bottom: 32px;
}

.rsc-single__titulo {
    font-family: 'Vollkorn', serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 100%;
    color: #8F2700;
    margin: 0 0 16px;
}

.rsc-single__meta {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 120%;
    color: #333333;
    margin: 0;
}

/* ── Imagem destacada ── */
.rsc-single__destaque {
    position: relative;
    margin: 0 auto 40px;
    max-width: 770px;
    padding: 0 24px;
}

.rsc-single__destaque-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.rsc-single__credito {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    position: absolute;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 8px 8px 0 0;
    font-family: 'Titillium Web', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    text-align: right;
    color: #333333;
}

/* ── Conteúdo (blocos Gutenberg) ── */
.rsc-single__conteudo {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #111111;
}

.rsc-single__conteudo p {
    margin: 0 0 24px;
}

.rsc-single__conteudo h2,
.rsc-single__conteudo h3 {
    font-family: 'Vollkorn', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 120%;
    color: #8F2700;
    margin: 32px 0 16px;
}

.rsc-single__conteudo blockquote {
    border-left: 8px solid #B84F26;
    padding-left: 24px;
    margin: 32px 0;
    font-family: 'Vollkorn', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 24px;
    line-height: 120%;
    color: #111111;
}

.rsc-single__conteudo blockquote cite {
    display: block;
    margin-top: 16px;
    font-family: 'Titillium Web', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    color: #8F2700;
}

/* Blocos alignwide extrapolam até 1170px */
.rsc-single__conteudo .alignwide {
    max-width: 1170px;
    margin-left: calc((770px - 1170px) / 2);
    margin-right: calc((770px - 1170px) / 2);
}

/* Vídeo embed responsivo */
.rsc-single__conteudo .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.rsc-single__conteudo .wp-block-embed__wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* ── Box de Categoria ── */
.rsc-single__categorias {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 32px auto;
}

.rsc-single__categoria {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    background: #525122;
    color: #FFFFFF;
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 21px;
    text-decoration: none;
    transition: opacity 0.15s ease;
}

.rsc-single__categoria:hover {
    opacity: 0.85;
    color: #FFFFFF;
}

/* ── Linhas divisórias ── */
.rsc-single__divisor {
    border: none;
    border-top: 1px solid #B3B0AD;
    margin: 32px auto;
    max-width: 770px;
    padding: 0;
}

.rsc-single__divisor--largo {
    max-width: 1170px;
}

/* ── Autoria ── */
.rsc-single__autoria {
    margin: 32px auto;
}

.rsc-single__autoria-titulo {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 150%;
    color: #8F2700;
    margin: 0 0 8px;
}

.rsc-single__autoria-bio {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    color: #111111;
    margin: 0;
}

/* ── Leia também ── */
.rsc-single__relacionados {
    max-width: 1170px;
    margin: 48px auto 0;
    padding: 0 24px;
}

.rsc-single__relacionados-titulo {
    font-family: 'Vollkorn', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 120%;
    color: #8F2700;
    margin: 0 0 24px;
}

.rsc-single__relacionados-grade {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Cards relacionados */
.rsc-card-rel__link {
    text-decoration: none;
    display: block;
}

.rsc-card-rel__img {
    width: 100%;
    height: 152px;
    object-fit: cover;
    display: block;
    margin-bottom: 12px;
}

.rsc-card-rel__img--ph {
    background: #FFEDE7;
}

.rsc-card-rel__titulo {
    font-family: 'Vollkorn', serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 120%;
    color: #111111;
    margin: 0 0 8px;
}

.rsc-card-rel__intro {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #000000;
    margin: 0;
}

/* ── Responsivo ── */
@media (max-width: 900px) {
    .rsc-single__relacionados-grade {
        grid-template-columns: repeat(2, 1fr);
    }

    .rsc-single__titulo {
        font-size: 36px;
    }

    .rsc-single__conteudo .alignwide {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 600px) {
    .rsc-single__relacionados-grade {
        grid-template-columns: 1fr;
    }

    .rsc-single__titulo {
        font-size: 32px !important;
    }

    .rsc-card-rel__titulo {
        font-size: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rsc-single__categoria {
        transition: none;
    }
}


/* ─────────────────────────────────────────────────────────────────────────────
   RSC Single — Cabeçalho HERO (template 2 / _rsc_layout = hero)
   ───────────────────────────────────────────────────────────────────────────── */

/* Hero full-width: escapa do container pai via negative margin trick */
.rsc-single-hero {
    position: relative;
    width: stretch;
    max-width: none;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        var(--hero-img) center / cover no-repeat;
    margin-bottom: 48px;
}

.rsc-single-hero__inner {
    text-align: center;
    max-width: 770px;
    padding: 64px 24px;
}

.rsc-single-hero__titulo {
    font-family: 'Vollkorn', serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 100%;
    color: #FFFFFF;
    margin: 0 0 16px;
}

.rsc-single-hero__meta {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 120%;
    color: #FFFFFF;
    margin: 0;
}

/* Crédito: canto inferior direito do hero, mesmo visual do template padrão */
.rsc-single-hero__credito {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    position: absolute;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 8px 8px 0 0;
    font-family: 'Titillium Web', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    text-align: right;
    color: #333333;
}

/* No layout hero o padding-top da main já é coberto pelo hero */
.rsc-single--hero {
    padding-top: 0;
}

/* ── Responsivo do hero ── */
@media (max-width: 768px) {
    .rsc-single-hero {
        min-height: 360px;
    }

    .rsc-single-hero__titulo {
        font-size: 32px;
    }
}

@media (max-width: 480px) {
    .rsc-single-hero__titulo {
        font-size: 24px;
    }

    .rsc-single-hero__inner {
        padding: 48px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rsc-single-hero {
        background-attachment: scroll;
    }
}