/*
 * plugins-overrides.css
 * Override visual dos plugins: Table of Contents Plus + Schema Rich Snippets
 * Identidade visual: carlosdalmaso.com.br
 */

/* ═══════════════════════════════════════════════════════════
   TABLE OF CONTENTS PLUS — #toc_container
   ═══════════════════════════════════════════════════════════ */

#toc_container {
    background: transparent;
    border: none;
    border-left: 3px solid #C8922A;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
    width: auto;
    display: block;
    font-size: 0.9rem;
    font-family: 'Montserrat', sans-serif;
}

/* Título "Índice" */
#toc_container p.toc_title {
    text-align: left;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #C8922A;
    margin-bottom: 0.75rem;
    padding: 0;
}

/* Botão [esconder] */
#toc_container span.toc_toggle {
    font-size: 0.75rem;
    font-weight: 400;
    color: #1A3A5C;
    opacity: 0.6;
    margin-left: 0.5rem;
    letter-spacing: 0;
    text-transform: none;
}

#toc_container span.toc_toggle:hover {
    opacity: 1;
}

/* Lista */
#toc_container p.toc_title + ul.toc_list {
    margin-top: 0.5rem;
}

#toc_container ul {
    margin: 0;
    padding: 0;
}

#toc_container ul ul {
    margin-left: 1.25rem;
    margin-top: 0.25rem;
}

#toc_container li {
    margin-bottom: 0.35rem;
    list-style: none;
    padding-left: 0;
}

/* Links */
#toc_container a {
    color: #1A3A5C;
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.15s ease;
}

#toc_container a:hover {
    color: #C8922A;
    text-decoration: none;
}

/* Sub-itens levemente menores */
#toc_container ul ul a {
    font-size: 0.82rem;
    opacity: 0.8;
}

#toc_container ul ul a:hover {
    opacity: 1;
    color: #C8922A;
}

/* ═══════════════════════════════════════════════════════════
   SCHEMA RICH SNIPPETS — #snippet-box
   ═══════════════════════════════════════════════════════════ */

#snippet-box {
    background: #ffffff;
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.875rem;
    padding: 0;
    margin: 0 0 1.5rem 0;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    display: block;
}

/* Barra de título */
.snippet-title {
    background: #1A3A5C;
    border-bottom: none;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 0.65rem 1rem;
    width: 100%;
    display: block;
    position: relative;
}

/* Estrelas no título — reposicionar */
.ratings {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

/* Área da imagem */
.snippet-image {
    min-height: 130px;
    width: 140px;
    display: inline-block;
    vertical-align: top;
    background: #f7f5f1;
}

.snippet-image img {
    margin: 12px auto;
    display: block;
    border-radius: 4px;
}

/* Área de informações */
.aio-info {
    width: calc(100% - 140px);
    display: inline-block;
    vertical-align: top;
    padding: 0.5rem 0;
}

/* Labels (Média das avaliações, Classificação, Título) */
.snippet-label-img {
    width: 42%;
    display: inline-block;
    text-align: right;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6c757d;
    margin: 0;
    padding: 0.35rem 0.75rem;
    vertical-align: top;
}

/* Dados */
.snippet-data-img {
    width: 56%;
    display: inline-block;
    padding: 0.35rem 0.5rem;
    vertical-align: top;
    font-size: 0.85rem;
    color: #1A3A5C;
}

/* Estrelas — usar a cor dourada */
div.star-rating a,
div.star-rating-on a {
    /* As estrelas usam imagem de fundo — não há como mudar a cor facilmente.
       Mantemos o layout e apenas ajustamos o espaçamento. */
}

.star-blocks {
    background: transparent;
}

.star-rating-control {
    margin-top: 2px;
}

.star-img img {
    box-shadow: none;
    margin: -2px 1px;
    border: none !important;
    padding: 0 !important;
    display: inline-block;
}

/* Valor da classificação */
.rating-count {
    font-weight: 600;
    color: #1A3A5C;
    font-size: 0.85rem;
}

/* Linha sem imagem */
.snippet-markup {
    width: 100%;
    display: block;
    padding: 0.25rem 0;
}

.snippet-label {
    width: 33%;
    display: inline-block;
    text-align: right;
    font-size: 0.78rem;
    font-weight: 600;
    color: #6c757d;
    margin: 0;
    padding: 0.3rem 0.75rem;
}

.snippet-data {
    width: 65%;
    display: inline-block;
    padding: 0.3rem 0.5rem;
    font-size: 0.85rem;
    color: #1A3A5C;
}

/* Responsivo */
@media (max-width: 768px) {
    .snippet-title {
        padding: 0.65rem 0.75rem;
    }

    .snippet-image {
        width: 100%;
        min-height: auto;
    }

    .aio-info {
        width: 100%;
        clear: both;
    }
}

/* ═══════════════════════════════════════════════════════════
   CORPO DO ARTIGO — cdn-article-body
   Tipografia do conteúdo do single.php
   ═══════════════════════════════════════════════════════════ */

.cdn-article-body {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #2d3748;
}

.cdn-article-body h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1A3A5C;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #C8922A;
}

.cdn-article-body h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1A3A5C;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.cdn-article-body h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #2D6A9F;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.cdn-article-body p {
    margin-bottom: 1.25rem;
}

.cdn-article-body a {
    color: #2D6A9F;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cdn-article-body a:hover {
    color: #C8922A;
}

.cdn-article-body ul,
.cdn-article-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
}

.cdn-article-body li {
    margin-bottom: 0.5rem;
}

.cdn-article-body blockquote {
    border-left: 4px solid #C8922A;
    background: rgba(200,146,42,0.06);
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
    border-radius: 0 0.25rem 0.25rem 0;
    font-style: italic;
    color: #555;
}

.cdn-article-body img {
    max-width: 100%;
    height: auto;
    border-radius: 0.5rem;
    margin: 1rem 0;
}

.cdn-article-body table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

.cdn-article-body table th {
    background: #1A3A5C;
    color: #fff;
    padding: 0.6rem 0.75rem;
    text-align: left;
    font-weight: 600;
}

.cdn-article-body table td {
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.cdn-article-body table tr:nth-child(even) td {
    background: rgba(26,58,92,0.03);
}

.cdn-article-body strong {
    font-weight: 600;
    color: #1A3A5C;
}