/*
Theme Name: Blocksy Mamado Child
Template: blocksy
Version: 1.1.0
Description: Tablóide Editorial Português — Brutalismo Editorial
*/

/* =============================================
   GOOGLE FONTS PRECONNECT (via PHP)
   Oswald + Source Serif 4
   ============================================= */

/* =============================================
   CSS RESET + VARIÁVEIS
   ============================================= */
:root {
    --mamado-black:   #0F0F0F;
    --mamado-orange:  #E85D04;
    --mamado-orange2: #FF6A00;
    --mamado-white:   #FAFAF8;
    --mamado-gray:    #F0EDE8;
    --mamado-mid:     #888580;
    --mamado-border:  #D4CFC8;

    /* Override Blocksy palette */
    --theme-palette-color-1: #E85D04 !important;
    --theme-palette-color-2: #c44d03 !important;
    --theme-palette-color-3: #1A1A1A !important;
    --theme-palette-color-4: #0F0F0F !important;
    --theme-palette-color-5: #D4CFC8 !important;
    --theme-palette-color-6: #F0EDE8 !important;
    --theme-palette-color-7: #FAFAF8 !important;
    --theme-palette-color-8: #ffffff !important;

    --theme-font-family: 'Source Serif 4', Georgia, serif !important;
    --theme-text-color: #1A1A1A !important;
    --theme-link-initial-color: #E85D04 !important;
    --theme-link-hover-color: #0F0F0F !important;
}

/* =============================================
   BODY + BASE
   ============================================= */
html, body {
    background-color: var(--mamado-white) !important;
    background-image: none !important;
}

body {
    font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif !important;
    color: #1A1A1A !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    -webkit-font-smoothing: antialiased;
}

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

a {
    color: var(--mamado-orange) !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

a:hover {
    color: var(--mamado-black) !important;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* =============================================
   TIPOGRAFIA GLOBAL
   ============================================= */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.widget-title,
.ct-post-card .entry-title,
.site-title {
    font-family: 'Oswald', 'Impact', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.01em !important;
    line-height: 1.1 !important;
    color: #0F0F0F !important;
}

.entry-content p,
.entry-content li,
.entry-content blockquote {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 18px !important;
    line-height: 1.75 !important;
    color: #1A1A1A !important;
}

/* =============================================
   HEADER
   ============================================= */

/* Wrapper completo */
.ct-header,
[data-header] .ct-header,
[data-header*="type-1"] .ct-header {
    background: var(--mamado-black) !important;
    background-image: none !important;
    border-bottom: 4px solid var(--mamado-orange) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.4) !important;
}

/* Todas as rows do header */
[data-header*="type-1"] .ct-header [data-row],
[data-header*="type-1"] .ct-header [data-row*="middle"],
[data-header*="type-1"] .ct-header [data-row*="top"],
[data-header*="type-1"] .ct-header [data-row*="bottom"] {
    background-color: var(--mamado-black) !important;
    background-image: none !important;
    --theme-border-top: none !important;
    --theme-border-bottom: none !important;
}

/* Logo / Site title */
.ct-header .site-title,
.ct-header .site-title a,
[data-header*="type-1"] .ct-header [data-id="logo"] .site-title,
[data-header*="type-1"] .ct-header [data-id="logo"] .site-title a {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
}

.ct-header .site-title a::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background: var(--mamado-orange);
    border-radius: 50%;
    margin-left: 4px;
    vertical-align: super;
    font-size: 0;
}

/* Navegação */
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a,
.ct-header nav ul li a,
.ct-header .ct-menu-link {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #CCCCCC !important;
    padding: 0 14px !important;
    transition: color 0.15s ease !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header nav ul li a:hover {
    color: var(--mamado-orange) !important;
}

/* Nav item activo */
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li.current-menu-item > a {
    color: var(--mamado-orange) !important;
}

/* Hamburger */
[data-header*="type-1"] [data-id="trigger"],
.ct-header [data-id="trigger"] {
    color: #ffffff !important;
}

/* =============================================
   BARRA DE DESTAQUE (injetar via CSS counter)
   ============================================= */
/* EM DESTAQUE removido — seletor demasiado genérico */

/* =============================================
   GRID DE POSTS — LAYOUT EDITORIAL
   ============================================= */
[data-prefix="blog"] .entries,
[data-prefix="categories"] .entries,
[data-prefix="author"] .entries,
[data-prefix="search"] .entries {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2px !important;
    background-color: var(--mamado-border) !important;
    border: 2px solid var(--mamado-border) !important;
}

/* Primeiro post — destaque hero */
[data-prefix="blog"] .entries .entry-card:first-child,
[data-prefix="categories"] .entries .entry-card:first-child {
    grid-column: 1 / 3 !important;
    grid-row: 1 / 2 !important;
}

[data-prefix="blog"] .entries .entry-card:first-child .entry-title,
[data-prefix="categories"] .entries .entry-card:first-child .entry-title {
    font-size: 32px !important;
    line-height: 1.05 !important;
}

[data-prefix="blog"] .entries .entry-card:first-child .ct-image-container,
[data-prefix="categories"] .entries .entry-card:first-child .ct-image-container {
    height: 340px !important;
}

/* =============================================
   CARDS DE POSTS
   ============================================= */
.entry-card,
article.entry-card {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    position: relative !important;
}

.entry-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
    z-index: 2 !important;
}

/* Linha laranja no hover do título */
.entry-card:hover .entry-title::before {
    width: 40px !important;
    opacity: 1 !important;
}

/* Imagem do card */
.entry-card .ct-image-container,
.entry-card .wp-post-image,
.entry-card img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    display: block !important;
}

.entry-card .ct-image-container {
    overflow: hidden !important;
}

.entry-card:hover .ct-image-container img,
.entry-card:hover .wp-post-image {
    transform: scale(1.04) !important;
}

/* Conteúdo do card */
.entry-card .ct-post-card-content,
.entry-card .entry-content-wrap {
    padding: 16px 18px 20px !important;
    background: #ffffff !important;
}

/* Título do card */
.entry-card .entry-title,
.ct-post-card .entry-title {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.01em !important;
    margin: 8px 0 10px !important;
    color: #0F0F0F !important;
    position: relative !important;
}

.entry-card .entry-title::before {
    content: '';
    display: block;
    height: 3px;
    background: var(--mamado-orange);
    width: 0;
    opacity: 0;
    transition: width 0.25s ease, opacity 0.25s ease;
    margin-bottom: 6px;
}

.entry-card .entry-title a {
    color: #0F0F0F !important;
    text-decoration: none !important;
}

.entry-card .entry-title a:hover {
    color: var(--mamado-orange) !important;
}

/* Excerpt */
.entry-card .entry-excerpt,
.entry-card p {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin: 0 !important;
}

/* =============================================
   META (data, autor, categorias)
   ============================================= */
.entry-meta,
.ct-post-card-meta,
.entry-card .entry-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 6px !important;
}

.entry-meta *,
.ct-post-card-meta * {
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--mamado-mid) !important;
}

/* Badge de categoria */
.entry-card .cat-links a,
.entry-categories a,
.cat-links a,
.ct-post-card-meta .cat-links a {
    background-color: var(--mamado-orange) !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    padding: 3px 8px !important;
    border-radius: 0 !important;
    display: inline-block !important;
    line-height: 1.6 !important;
    transition: background 0.15s ease !important;
}

.entry-card .cat-links a:hover,
.cat-links a:hover {
    background-color: var(--mamado-black) !important;
    color: #ffffff !important;
}

/* =============================================
   SINGLE POST
   ============================================= */
[data-prefix="single_blog_post"] .entry-title,
.single .entry-title {
    font-size: 42px !important;
    line-height: 1.05 !important;
    margin-bottom: 16px !important;
    border-bottom: 4px solid var(--mamado-orange) !important;
    padding-bottom: 16px !important;
}

[data-prefix="single_blog_post"] .entry-header,
.single .entry-header {
    border-bottom: 1px solid var(--mamado-border) !important;
    margin-bottom: 32px !important;
    padding-bottom: 16px !important;
}

/* Pull quote / blockquote */
.entry-content blockquote {
    border-left: 6px solid var(--mamado-orange) !important;
    background: var(--mamado-gray) !important;
    margin: 32px 0 !important;
    padding: 20px 28px !important;
    font-style: italic !important;
    font-size: 20px !important;
    color: #0F0F0F !important;
}

.entry-content blockquote p {
    font-size: 20px !important;
    margin: 0 !important;
}

/* =============================================
   SIDEBAR E WIDGETS
   ============================================= */
.ct-sidebar .widget-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #0F0F0F !important;
    border-bottom: 3px solid var(--mamado-orange) !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
}

/* =============================================
   PAGINAÇÃO
   ============================================= */
.ct-pagination a,
.page-numbers a {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border: 2px solid var(--mamado-black) !important;
    color: var(--mamado-black) !important;
    padding: 8px 16px !important;
    border-radius: 0 !important;
    transition: all 0.15s ease !important;
}

.ct-pagination a:hover,
.page-numbers a:hover,
.ct-pagination .current,
.page-numbers .current {
    background: var(--mamado-orange) !important;
    border-color: var(--mamado-orange) !important;
    color: #ffffff !important;
}

/* =============================================
   BOTÕES
   ============================================= */
.wp-block-button__link,
.ct-button,
button[type="submit"],
input[type="submit"],
.button,
.btn {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    background: var(--mamado-orange) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 28px !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}

.wp-block-button__link:hover,
.ct-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background: var(--mamado-black) !important;
    color: #ffffff !important;
}

/* =============================================
   FOOTER
   ============================================= */
.ct-footer,
[data-footer] .ct-footer,
[data-footer*="type-1"] .ct-footer {
    background-color: var(--mamado-black) !important;
    background-image: none !important;
    border-top: 4px solid var(--mamado-orange) !important;
    color: #BBBBBB !important;
}

[data-footer*="type-1"] .ct-footer [data-row],
[data-footer*="type-1"] .ct-footer [data-row*="bottom"],
[data-footer*="type-1"] .ct-footer [data-row*="top"] {
    background-color: var(--mamado-black) !important;
    background-image: none !important;
}

.ct-footer *,
[data-footer*="type-1"] .ct-footer * {
    color: #AAAAAA !important;
}

.ct-footer a,
[data-footer*="type-1"] .ct-footer a {
    color: var(--mamado-orange) !important;
    transition: color 0.15s ease !important;
}

.ct-footer a:hover,
[data-footer*="type-1"] .ct-footer a:hover {
    color: #ffffff !important;
}

.ct-footer .widget-title,
[data-footer*="type-1"] .ct-footer .widget-title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #ffffff !important;
    border-bottom: 2px solid var(--mamado-orange) !important;
    padding-bottom: 8px !important;
    margin-bottom: 14px !important;
}

/* Copyright */
[data-footer*="type-1"] .ct-footer [data-id="copyright"],
.ct-footer .ct-copyright {
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #666666 !important;
}

/* =============================================
   OFFCANVAS / MOBILE MENU
   ============================================= */
#offcanvas .ct-panel-inner,
[data-header*="type-1"] #offcanvas .ct-panel-inner {
    background-color: var(--mamado-black) !important;
}

[data-header*="type-1"] [data-id="mobile-menu"] .ct-menu-link,
#offcanvas .ct-menu-link {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
    font-size: 22px !important;
}

#offcanvas .ct-menu-link:hover {
    color: var(--mamado-orange) !important;
}

/* =============================================
   SEARCH MODAL
   ============================================= */
#search-modal,
[data-header*="type-1"] #search-modal {
    background-color: rgba(15,15,15,0.97) !important;
}

.ct-search-form input {
    font-family: 'Source Serif 4', Georgia, serif !important;
    border-bottom: 2px solid var(--mamado-orange) !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 24px !important;
}

/* =============================================
   HERO / HEADER DA PÁGINA
   ============================================= */
.hero-section,
.entry-header.has-background {
    background-color: var(--mamado-gray) !important;
    background-image: none !important;
    border-bottom: 3px solid var(--mamado-border) !important;
}

/* =============================================
   BREADCRUMBS
   ============================================= */
.ct-breadcrumbs,
.ct-breadcrumbs * {
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--mamado-mid) !important;
}

.ct-breadcrumbs a {
    color: var(--mamado-orange) !important;
}

/* =============================================
   WRAPPER PRINCIPAL
   ============================================= */
#page,
.site,
.site-content,
#main,
.ct-container {
    background-color: var(--mamado-white) !important;
}

.site-content {
    padding-top: 32px !important;
    padding-bottom: 48px !important;
}

/* EM DESTAQUE removido 2 */

/* =============================================
   DIVISORES E BORDAS EDITORIAIS
   ============================================= */
.ct-divider,
hr {
    border: none !important;
    border-top: 2px solid var(--mamado-border) !important;
    margin: 32px 0 !important;
}

/* =============================================
   TAGS
   ============================================= */
.tagcloud a,
.post-tags a,
.tags-links a {
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border: 2px solid var(--mamado-border) !important;
    color: #1A1A1A !important;
    padding: 4px 10px !important;
    border-radius: 0 !important;
    display: inline-block !important;
    transition: all 0.15s ease !important;
    background: transparent !important;
}

.tagcloud a:hover,
.post-tags a:hover,
.tags-links a:hover {
    border-color: var(--mamado-orange) !important;
    color: var(--mamado-orange) !important;
    background: transparent !important;
}

/* =============================================
   RESPONSIVO
   ============================================= */
@media (max-width: 999px) {
    [data-prefix="blog"] .entries,
    [data-prefix="categories"] .entries {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    [data-prefix="blog"] .entries .entry-card:first-child,
    [data-prefix="categories"] .entries .entry-card:first-child {
        grid-column: 1 / 3 !important;
    }

    [data-prefix="blog"] .entries .entry-card:first-child .entry-title {
        font-size: 24px !important;
    }
}

@media (max-width: 689px) {
    [data-prefix="blog"] .entries,
    [data-prefix="categories"] .entries,
    [data-prefix="author"] .entries,
    [data-prefix="search"] .entries {
        grid-template-columns: 1fr !important;
        gap: 1px !important;
    }

    [data-prefix="blog"] .entries .entry-card:first-child,
    [data-prefix="categories"] .entries .entry-card:first-child {
        grid-column: 1 / 2 !important;
    }

    [data-prefix="blog"] .entries .entry-card:first-child .entry-title {
        font-size: 22px !important;
    }

    [data-prefix="single_blog_post"] .entry-title,
    .single .entry-title {
        font-size: 28px !important;
    }

    .ct-header .site-title,
    [data-header*="type-1"] .ct-header [data-id="logo"] .site-title {
        font-size: 22px !important;
    }
}

/* =============================================
   ACESSIBILIDADE
   ============================================= */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* Focus visível */
a:focus-visible,
button:focus-visible,
input:focus-visible {
    outline: 3px solid var(--mamado-orange) !important;
    outline-offset: 2px !important;
}
