/*
Theme Name: Balcão da Notícia
Theme URI: https://example.com/portal-fofocas
Author: Portal Fofocas
Description: Tema editorial responsivo para portais de notícias e entretenimento, com destaques, seções configuráveis e publicidade.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: portal-fofocas
*/
:root{--primary-color:#e91e63;--secondary-color:#ffbd00;--accent-color:#ffbd00;--background-color:#fff8fa;--text-color:#151116;--title-color:#171217;--card-color:#fff;--footer-color:#171217;--footer-text-color:#eee;--bottom-bar-color:#ffbd00;--container:1180px;--radius:10px;--gap:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--background-color);color:var(--text-color);font-family:var(--pf-font,Arial,Helvetica,sans-serif);font-size:16px;line-height:1.55;overflow-x:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.pf-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.site-header{background:#fff;padding:28px 0}.header-inner{min-height:80px;display:grid;grid-template-columns:1fr minmax(280px,520px) 1fr;align-items:center;gap:28px}.site-branding{display:flex;align-items:center}.custom-logo{display:block;width:auto;max-height:none}.site-title{font-weight:900;font-size:28px}.header-search .search-form{display:flex;border:1px solid #eee;border-radius:24px;overflow:hidden;background:#fff}.search-form label{flex:1}.search-field{width:100%;border:0;outline:0;padding:12px 18px;background:transparent}.search-submit{border:0;background:var(--secondary-color);padding:0 18px;cursor:pointer;font-weight:800}.social-links{display:flex;justify-content:flex-end;gap:9px}.social-links a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#171217;color:#fff;font-size:12px;font-weight:800}.main-navigation{background:var(--primary-color);color:#fff}.nav-inner{min-height:48px;display:flex;align-items:center;justify-content:center}.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:4px}.main-navigation a{display:block;padding:14px 16px;font-size:14px;font-weight:700}.main-navigation a:hover{background:rgba(0,0,0,.08)}.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:26px;padding:8px 0}.home-main{padding-top:28px}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.hero-main,.hero-small{position:relative;overflow:hidden;border-radius:var(--radius);background:#ddd}.hero-main{min-height:500px}.hero-side{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.hero-small{min-height:242px;background:var(--card-color);border:1px solid #eee}.hero-main img,.hero-small img{width:100%;height:100%;object-fit:cover;display:block}.hero-main>a{position:absolute;inset:0}.hero-overlay{position:absolute;inset:auto 0 0;padding:100px 26px 24px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.88));pointer-events:none}.hero-overlay h1{font-size:34px;line-height:1.06;margin:8px 0 9px;font-weight:900}.hero-overlay p{font-size:14px;margin:0;opacity:.9}.hero-small .thumb{height:135px;position:relative}.hero-small .content{padding:12px}.hero-small h3{font-size:16px;line-height:1.25;margin:7px 0}.meta{font-size:11px;color:#777}.badge{display:inline-block;background:var(--accent-color);color:#2a2100;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:2px}.thumb .badge,.card-media .badge{position:absolute;left:10px;bottom:9px}.section{margin-top:54px}.section-heading{display:flex;align-items:flex-end;gap:12px;border-bottom:2px solid color-mix(in srgb,var(--primary-color) 55%,transparent);padding-bottom:10px;margin-bottom:20px}.section-heading h2{font-size:26px;line-height:1;margin:0;font-weight:900}.section-heading .view-all{font-size:12px;font-weight:700;margin-bottom:1px}.latest-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:36px}.latest-item{display:grid;grid-template-columns:94px 1fr;gap:13px;padding:13px 0;border-bottom:1px solid #e8dfe2}.latest-item img{width:94px;height:66px;object-fit:cover;border-radius:6px}.latest-item h3{font-size:15px;line-height:1.25;margin:3px 0 5px;font-weight:800}.latest-item .cat{color:var(--primary-color);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.news-card{background:var(--card-color);border:1px solid #eee4e7;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}.card-media{height:165px;position:relative;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.news-card:hover .card-media img{transform:scale(1.025)}.card-body{padding:13px 14px 15px;display:flex;flex-direction:column;flex:1}.card-title{font-size:16px;line-height:1.28;margin:0 0 10px;font-weight:850}.card-body .meta{margin-top:auto}.ad-slot{text-align:center;margin:36px auto}.ad-label{font-size:8px;letter-spacing:.2em;color:#aaa;margin-bottom:8px;text-transform:uppercase}.ad-slot img{display:block;max-width:100%;height:auto;margin:auto}.ad-html{max-width:100%;overflow:hidden}.site-footer{margin-top:58px;background:var(--footer-color);color:var(--footer-text-color)}.footer-main{padding:60px 0;display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:70px}.footer-logo img{max-width:190px;max-height:90px;object-fit:contain}.footer-description{max-width:320px;font-size:13px;opacity:.75}.footer-title{font-size:14px;margin:0 0 18px;padding-bottom:8px;position:relative}.footer-title:after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--accent-color)}.footer-menu{list-style:none;padding:0;margin:0}.footer-menu li{margin:11px 0}.footer-menu a{font-size:13px;opacity:.8}.footer-bottom{background:var(--bottom-bar-color);color:#392d00;text-align:center;padding:13px;font-size:12px}.archive-wrap,.search-wrap,.page-wrap,.single-wrap{padding:42px 0 10px}.archive-title,.search-title,.page-title{font-size:34px;margin:0 0 28px}.pagination{margin:35px 0;display:flex;justify-content:center}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:8px 12px;background:#fff;border:1px solid #eee;border-radius:4px}.page-numbers.current{background:var(--primary-color);color:#fff}.single-article{max-width:820px;margin:auto}.single-category{color:var(--primary-color);font-size:12px;font-weight:900;text-transform:uppercase}.single-title{font-size:46px;line-height:1.08;margin:10px 0 14px}.single-excerpt{font-size:20px;color:#666;margin:0 0 16px}.single-meta{font-size:13px;color:#777;margin-bottom:24px}.single-featured{margin:0 0 30px}.single-featured img{width:100%;max-height:560px;object-fit:cover;border-radius:8px}.entry-content{font-size:18px;line-height:1.8}.entry-content>*{max-width:100%}.entry-content h2{font-size:30px;line-height:1.2;margin-top:36px}.entry-content h3{font-size:24px;line-height:1.25;margin-top:30px}.entry-content blockquote{border-left:4px solid var(--primary-color);margin:28px 0;padding:12px 20px;background:#fff}.entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.entry-content td,.entry-content th{border:1px solid #ddd;padding:8px}.entry-content iframe,.entry-content video{max-width:100%}.wp-caption{max-width:100%}.wp-caption-text{font-size:12px;color:#777}.share-row{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.share-row a{padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:13px}.tags{margin:25px 0;font-size:13px}.related{margin-top:45px}.related h2{font-size:24px}.not-found{text-align:center;padding:70px 0;max-width:700px;margin:auto}.not-found h1{font-size:58px;margin:0}.not-found .search-form{display:flex;max-width:520px;margin:25px auto;border:1px solid #ddd;border-radius:25px;overflow:hidden}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.social-links a svg{width:16px;height:16px;display:block;fill:currentColor}

/* Single: compartilhamento e tags */
.share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:34px 0 28px;padding:18px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}
.share-label{font-size:14px;font-weight:800;margin-right:4px}
.share-row .share-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid #e7e7e7;border-radius:999px;background:#fff;font-size:13px;font-weight:750;line-height:1;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.share-row .share-button svg{width:17px;height:17px;display:block}
.share-row .share-button:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.07);border-color:#d6d6d6}
.share-facebook{color:#1877f2}.share-x{color:#111}.share-whatsapp{color:#25d366}
.tags{display:flex;align-items:flex-start;gap:12px;margin:28px 0 34px;font-size:13px}
.tags-label{font-weight:800;padding-top:7px}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}
.tag-list a{display:inline-flex;align-items:center;padding:6px 11px;border:1px solid #eadfe3;border-radius:999px;background:var(--card-color);color:var(--text-color);font-size:12px;font-weight:650;line-height:1.2;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.tag-list a:hover{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 7%,var(--card-color));transform:translateY(-1px)}
@media(max-width:480px){.share-row{align-items:flex-start}.share-label{width:100%;margin-bottom:2px}.share-row .share-button span{display:none}.share-row .share-button{width:42px;height:42px;padding:0}.tags{display:block}.tags-label{display:block;margin-bottom:10px}}

.footer-custom-pages{list-style:none;margin:0;padding:0}.footer-custom-pages li{margin:0 0 10px}.footer-custom-pages a{color:inherit;text-decoration:none}

/* Footer: links de páginas mais elegantes */
.site-footer .footer-menu a,
.site-footer .footer-custom-pages a{
    display:inline-block;
    font-size:14px;
    font-weight:500;
    line-height:1.45;
    letter-spacing:.01em;
    opacity:.82;
    text-decoration:none;
    transition:opacity .18s ease, transform .18s ease;
}
.site-footer .footer-menu a:hover,
.site-footer .footer-custom-pages a:hover{
    opacity:1;
    transform:translateX(3px);
}
.site-footer .footer-menu li,
.site-footer .footer-custom-pages li{
    margin-bottom:9px;
}

/* Footer: texto descritivo mais elegante */
.site-footer .footer-description{
    font-size:14px;
    font-weight:400;
    line-height:1.75;
    letter-spacing:.005em;
    opacity:.82;
}

/* Botão fechar do menu mobile */
.mobile-menu-close{
    display:none;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:14px;
    right:16px;
    z-index:20;
}
.mobile-menu-close span{
    position:absolute;
    width:23px;
    height:2px;
    border-radius:2px;
    background:currentColor;
}
.mobile-menu-close span:first-child{transform:rotate(45deg)}
.mobile-menu-close span:last-child{transform:rotate(-45deg)}
@media(max-width:768px){
    .mobile-menu-close{display:flex}
}

@media(max-width:768px){
  .nav-inner{position:relative}
  .mobile-menu-close{display:none;color:#fff}
  #primary-menu.is-open ~ .mobile-menu-close{display:flex}
  .menu-toggle[aria-expanded="true"] + .mobile-menu-close{display:flex}
  .menu-toggle[aria-expanded="true"]{visibility:hidden}
}

/* Imagem padrão para posts sem imagem destacada */
img.pf-no-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

/* Contact Form 7 — layout elegante */
.entry-content .wp-block-contact-form-7-contact-form-selector{
    max-width:760px;
    margin:34px 0 10px;
}
.entry-content .wpcf7-form{
    padding:32px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;
    background:var(--card-color,#fff);
}
.entry-content .wpcf7-form > p{
    margin:0 0 22px;
}
.entry-content .wpcf7-form label{
    display:block;
    font-size:14px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:.01em;
    color:var(--text-color,#171717);
}
.entry-content .wpcf7-form-control-wrap{
    display:block;
    margin-top:8px;
}
.entry-content .wpcf7 input[type="text"],
.entry-content .wpcf7 input[type="email"],
.entry-content .wpcf7 input[type="tel"],
.entry-content .wpcf7 input[type="url"],
.entry-content .wpcf7 select,
.entry-content .wpcf7 textarea{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding:13px 15px;
    border:1px solid #dedede;
    border-radius:9px;
    background:#fff;
    color:#222;
    font:inherit;
    font-size:15px;
    line-height:1.5;
    outline:none;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.entry-content .wpcf7 textarea{
    min-height:170px;
    resize:vertical;
}
.entry-content .wpcf7 input:focus,
.entry-content .wpcf7 select:focus,
.entry-content .wpcf7 textarea:focus{
    border-color:var(--primary-color,#e91e63);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#e91e63) 12%,transparent);
}
.entry-content .wpcf7 input[type="submit"]{
    min-width:130px;
    min-height:46px;
    padding:12px 24px;
    border:0;
    border-radius:9px;
    background:var(--primary-color,#e91e63);
    color:#fff;
    font-size:14px;
    font-weight:800;
    letter-spacing:.02em;
    cursor:pointer;
    transition:transform .18s ease,opacity .18s ease;
}
.entry-content .wpcf7 input[type="submit"]:hover{
    opacity:.9;
    transform:translateY(-1px);
}
.entry-content .wpcf7 .wpcf7-not-valid-tip{
    margin-top:6px;
    font-size:12px;
}
.entry-content .wpcf7 .wpcf7-response-output{
    margin:18px 0 0;
    padding:12px 14px;
    border-radius:8px;
    font-size:13px;
}
@media(max-width:600px){
    .entry-content .wpcf7-form{
        padding:20px 16px;
        border-radius:12px;
    }
    .entry-content .wpcf7 input[type="submit"]{
        width:100%;
    }
}

.single .reading-time,.single .read-time,.single-post .reading-time,.single-post .read-time{display:none!important}

/* Mobile: centraliza somente o logo da header */
@media (max-width:768px){
    .site-header .custom-logo-link,
    .site-header .site-branding{
        margin-left:auto;
        margin-right:auto;
        text-align:center;
    }
    .site-header .custom-logo-link{
        display:block;
        width:fit-content;
    }
}

/* Mobile: centralização efetiva do logo da header */
@media (max-width:768px){
    .site-header .header-inner,
    .site-header .header-main,
    .site-header .pf-container{
        position:relative;
    }

    .site-header .site-branding{
        position:absolute !important;
        left:50% !important;
        right:auto !important;
        top:50% !important;
        transform:translate(-50%,-50%) !important;
        margin:0 !important;
        width:auto !important;
        max-width:60% !important;
        text-align:center !important;
        z-index:5;
    }

    .site-header .custom-logo-link{
        display:block !important;
        margin:0 auto !important;
        width:max-content !important;
        max-width:100% !important;
        text-align:center !important;
    }

    .site-header .custom-logo{
        display:block !important;
        margin:0 auto !important;
        max-width:100% !important;
    }
}

/* Mobile: logo centralizado acima da barra de busca */
@media (max-width:768px){
    .site-header .header-inner{
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        gap:16px !important;
        min-height:0 !important;
    }

    .site-header .site-branding{
        position:static !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;
        transform:none !important;
        order:1 !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        display:flex !important;
        justify-content:center !important;
        text-align:center !important;
    }

    .site-header .custom-logo-link{
        display:block !important;
        width:auto !important;
        max-width:100% !important;
        margin:0 auto !important;
    }

    .site-header .header-search{
        order:2 !important;
        width:100% !important;
        max-width:100% !important;
    }

    .site-header .social-links{
        order:3 !important;
        width:100% !important;
        justify-content:center !important;
    }
}

/* Single: texto justificado */
.single-post .entry-content p,
.single-post .entry-content li {
    text-align: justify;
}
