/**
 * CSS Principal do Portal EM FOCO
 * Identidade Visual Premium (Azul Institucional + Cores de Editorias)
 */

:root {
    --ef-primary: #1b2a4a;         /* Azul Escuro / Marinho */
    --ef-accent: #0066b2;          /* Azul Institucional / Turquesa */
    --ef-bg: #f8fafc;              /* Cinza Claro Premium */
    --ef-text-main: #0f172a;       /* Slate 900 */
    --ef-text-muted: #64748b;     /* Slate 500 */
    --ef-border: #e2e8f0;          /* Slate 200 */
    --ef-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05);
}

/* =========================================================================
 * BLINDAGEM DE CSS (CSS ISOLATION SHIELD AGAINST THEME OVERRIDES)
 * ========================================================================= */

/* Reset de botões e links de navegação para evitar contaminação do tema */
body .ef-portal-header button,
body .ef-portal-header a,
body .ef-portal-header .button,
body .ef-portal-body button,
body .ef-portal-body a.button,
body .ef-portal-footer button,
body .ef-portal-footer a {
    box-shadow: none;
    text-transform: none;
    letter-spacing: normal;
}

/* Blindagem da Barra Topo e Ícone de Pesquisa */
.ef-portal-header .ef-search-trigger-btn,
.ef-portal-header .ef-search-trigger,
button.ef-search-trigger-btn,
a.ef-search-trigger-btn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

.ef-portal-header .ef-search-trigger-btn:hover,
.ef-portal-header .ef-search-trigger-btn:focus,
.ef-portal-header .ef-search-trigger-btn:active {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #0066b2 !important;
}

/* Blindagem dos links do topo */
.ef-top-bar-menu a,
.ef-top-bar-links a {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Blindagem do Botão Plus (+ Mega Menu) */
.ef-portal-header .ef-megamenu-toggle-btn,
button.ef-megamenu-toggle-btn,
a.ef-megamenu-toggle-btn {
    background-color: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: var(--ef-text-main) !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-left: 4px !important;
    cursor: pointer !important;
}

.ef-portal-header .ef-megamenu-toggle-btn:hover,
.ef-portal-header .ef-megamenu-toggle-btn.active,
button.ef-megamenu-toggle-btn:hover,
button.ef-megamenu-toggle-btn.active {
    background-color: var(--ef-primary) !important;
    color: #ffffff !important;
    border-color: var(--ef-primary) !important;
    box-shadow: 0 4px 12px rgba(0, 102, 178, 0.25) !important;
}

/* Blindagem do Botão Hamburger / Mobile Menu */
.ef-portal-header .ef-menu-mobile-toggle,
.ef-portal-header .ef-hamburger-btn,
button.ef-menu-mobile-toggle,
button.ef-hamburger-btn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--ef-primary) !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    cursor: pointer !important;
}

/* Blindagem das Setas do Carrossel / Slider */
.ef-hero-slider-wrapper .ef-slider-arrow,
button.ef-slider-arrow,
a.ef-slider-arrow {
    background-color: rgba(15, 23, 42, 0.5) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #ffffff !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    border-radius: 50% !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.ef-hero-slider-wrapper .ef-slider-arrow:hover,
button.ef-slider-arrow:hover {
    background-color: #ffffff !important;
    color: var(--ef-primary) !important;
    border-color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
}

/* Blindagem dos Itens de Menu de Editoria */
.ef-portal-header .ef-menu-item {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.ef-portal-header .ef-menu-item:hover,
.ef-portal-header .ef-menu-item.active {
    border: none !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Blindagem dos Botões de Widget Denúncia / Fale Conosco */
.ef-sidebar-denuncie-widget .ef-widget-contact-btn,
button.ef-widget-contact-btn,
.ef-widget-contact-btn {
    background-color: transparent !important;
    background: transparent !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    width: 100% !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
    text-align: center !important;
    line-height: 1.4 !important;
    outline: none !important;
    box-shadow: none !important;
}

.ef-sidebar-denuncie-widget .ef-widget-contact-btn:hover,
button.ef-widget-contact-btn:hover,
.ef-widget-contact-btn:hover {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #1b2a4a !important;
    border-color: #ffffff !important;
}

/* Blindagem do Botão de Formulário de Anunciante (Anuncie) */
.ef-anuncie-form-card .ef-anuncie-form-btn,
button.ef-anuncie-form-btn,
.ef-anuncie-form-btn {
    background-color: #0066b2 !important;
    background: #0066b2 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: background 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    outline: none !important;
    box-shadow: none !important;
}

.ef-anuncie-form-card .ef-anuncie-form-btn:hover,
button.ef-anuncie-form-btn:hover,
.ef-anuncie-form-btn:hover {
    background-color: #1b2a4a !important;
    background: #1b2a4a !important;
    color: #ffffff !important;
    border: none !important;
}

/* Blindagem do Banner de Cookies (LGPD) */
.ef-cookie-banner .ef-cookie-btn-accept,
button#ef_cookie_btn_accept,
button.ef-cookie-btn-accept,
.ef-cookie-btn-accept {
    background-color: #0066b2 !important;
    background: #0066b2 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 9px 20px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
    box-shadow: none !important;
}

.ef-cookie-banner .ef-cookie-btn-accept:hover,
button.ef-cookie-btn-accept:hover,
.ef-cookie-btn-accept:hover {
    background-color: #1b2a4a !important;
    background: #1b2a4a !important;
    color: #ffffff !important;
    border: none !important;
}

.ef-cookie-banner .ef-cookie-btn-decline,
button#ef_cookie_btn_decline,
button.ef-cookie-btn-decline,
.ef-cookie-btn-decline {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
    padding: 9px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
    box-shadow: none !important;
}

.ef-cookie-banner .ef-cookie-btn-decline:hover,
button.ef-cookie-btn-decline:hover,
.ef-cookie-btn-decline:hover {
    background-color: #f1f5f9 !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

/* Blindagem do Modal Pop-up de Denúncias/Sugestões */
.ef-reader-modal .ef-reader-modal-close,
button.ef-reader-modal-close,
.ef-reader-modal-close {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: #64748b !important;
    font-size: 24px !important;
    cursor: pointer !important;
    position: absolute !important;
    top: 15px !important;
    right: 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
}

.ef-reader-modal .ef-reader-modal-close:hover,
button.ef-reader-modal-close:hover,
.ef-reader-modal-close:hover {
    color: #0f172a !important;
    background: transparent !important;
    border: none !important;
}

.ef-reader-modal .ef-form-submit-btn,
button.ef-form-submit-btn,
.ef-form-submit-btn {
    background-color: #0066b2 !important;
    background: #0066b2 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 10px !important;
    display: block !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: none !important;
}

.ef-reader-modal .ef-form-submit-btn:hover,
button.ef-form-submit-btn:hover,
.ef-form-submit-btn:hover {
    background-color: #1b2a4a !important;
    background: #1b2a4a !important;
    color: #ffffff !important;
    border: none !important;
}

/* Ocultar botão de menu hambúrguer no Desktop */
@media screen and (min-width: 851px) {
    .ef-menu-mobile-toggle,
    button.ef-menu-mobile-toggle,
    #ef_menu_mobile_toggle {
        display: none !important;
    }
}

/* Reset Geral e Rolagem do Portal */
html, body.ef-portal-body {
    font-family: 'Inter', sans-serif;
    background-color: var(--ef-bg);
    color: var(--ef-text-main);
    margin: 0;
    padding: 0;
    line-height: 1.5;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100% !important;
}

.ef-home-container,
.ef-single-container,
.ef-archive-container,
.ef-page-container,
.ef-error-404-container,
.ef-header-container,
.ef-footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* -------------------------------------------------------------------------
 * CABEÇALHO (HEADER)
 * ------------------------------------------------------------------------- */
.ef-portal-header {
    background-color: #ffffff;
    border-bottom: 1px solid var(--ef-border);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.ef-header-top-bar {
    background-color: var(--ef-primary);
    color: #ffffff;
    font-size: 12px;
    padding: 8px 18px !important;
    font-weight: 500;
    box-sizing: border-box;
}

.ef-header-top-bar .ef-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 !important;
    width: 100%;
}

/* Ocultar Barra de Tarefas do WP para não-administradores */
body:not(.administrator) #wpadminbar,
body:not(.logged-in) #wpadminbar {
    display: none !important;
}

body:not(.administrator) html,
body:not(.logged-in) html {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.ef-top-bar-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}

.ef-top-bar-links {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 850px) {
    .ef-top-bar-links {
        display: none !important;
    }

    .ef-top-bar-menu {
        justify-content: space-between !important;
    }
}

.ef-top-bar-menu a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.2s ease;
}

.ef-top-bar-menu a:hover {
    color: #ffffff;
}

.ef-mobile-menu-top-links {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
    overflow: hidden;
}

.ef-mobile-menu-top-links a {
    color: #1b2a4a !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    font-family: 'Montserrat', sans-serif !important;
    white-space: nowrap !important;
    letter-spacing: -0.3px !important;
    transition: color 0.2s ease !important;
}

.ef-mobile-menu-top-links a:hover {
    color: #0066b2 !important;
}

.ef-search-trigger-btn {
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
    font-size: 14px;
    padding: 0;
}

.ef-header-nav-bar {
    padding: 10px 0;
}

.ef-header-nav-bar .ef-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Imagens das Logos */
.ef-header-logo-img {
    height: 40px;
    width: auto;
    display: block;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.ef-header-logo-img:hover {
    transform: scale(1.02);
}

.ef-footer-logo-img {
    height: 88px;
    width: auto;
    display: block;
    object-fit: contain;
    margin-bottom: 15px;
}

/* Logo Estilizada */
.ef-logo-vector {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 28px;
    letter-spacing: -1px;
    display: flex;
    align-items: center;
    text-decoration: none;
    user-select: none;
}

.ef-logo-vector .ef-logo-em {
    color: var(--ef-primary);
    margin-right: 5px;
}

.ef-logo-vector .ef-logo-foco {
    color: var(--ef-accent);
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ef-camera-lens-logo {
    font-size: 20px;
    margin: 0 1px;
    color: var(--ef-primary);
    animation: rotate-dia 15s linear infinite;
}

@keyframes rotate-dia {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.ef-header-logo-link {
    text-decoration: none;
}

/* Menu principal de Editorias */
.ef-header-menu-editorias {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
}

/* Oculta o cabeçalho do menu mobile no desktop */
.ef-mobile-menu-header {
    display: none;
}

.ef-menu-item {
    color: var(--ef-text-main);
    text-decoration: none;
    padding: 7px 12px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 0px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    background-color: transparent;
    border-bottom: none;
    white-space: nowrap;
}

.ef-menu-item .ef-menu-icon {
    font-size: 13px;
    width: 0;
    opacity: 0;
    transform: scale(0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-right: 0;
    display: inline-block;
}

.ef-menu-item span {
    transition: color 0.25s ease;
}

.ef-menu-item:hover,
.ef-menu-item.active {
    background-color: var(--hover-color, var(--ef-accent)) !important;
    color: #ffffff !important;
    padding: 7px 16px;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-bottom: none;
}

.ef-menu-item:hover span,
.ef-menu-item.active span {
    color: #ffffff !important;
}

.ef-menu-item:hover .ef-menu-icon,
.ef-menu-item.active .ef-menu-icon {
    width: 14px;
    opacity: 1;
    transform: scale(1);
    color: #ffffff !important;
}

.ef-portal-header {
    position: relative;
    z-index: 9999;
    background-color: #ffffff;
    border-bottom: 1px solid var(--ef-border);
}

/* Botão Plus do Mega Menu */
.ef-megamenu-toggle-btn {
    background-color: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: var(--ef-text-main);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
    margin-left: 4px;
}

.ef-megamenu-toggle-btn:hover,
.ef-megamenu-toggle-btn.active {
    background-color: var(--ef-primary);
    color: #ffffff;
    border-color: var(--ef-primary);
    transform: rotate(45deg);
    box-shadow: 0 4px 12px rgba(0, 102, 178, 0.25);
}

/* Painel do Mega Menu Horizontal */
.ef-megamenu-panel {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    background-color: #ffffff;
    border-bottom: 3px solid var(--ef-primary);
    box-shadow: 0 16px 32px -8px rgba(15, 23, 42, 0.15);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 100000;
    box-sizing: border-box;
}

.ef-megamenu-panel.open {
    max-height: 600px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.ef-megamenu-inner {
    padding: 20px 0 25px 0;
}

.ef-megamenu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f1f5f9;
}

.ef-megamenu-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 11px;
    color: var(--ef-primary);
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ef-megamenu-hint {
    font-size: 11px;
    color: #94a3b8;
}

/* Grid com até 7 itens por linha */
.ef-megamenu-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 12px 14px;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
}

.ef-megamenu-grid .ef-menu-item {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    justify-content: flex-start;
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 1100px) {
    .ef-megamenu-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 800px) {
    .ef-megamenu-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 500px) {
    .ef-megamenu-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ef-menu-mobile-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: var(--ef-primary);
}

/* -------------------------------------------------------------------------
 * SEÇÃO HERO & SLIDER
 * ------------------------------------------------------------------------- */
.ef-home-hero-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    margin: 30px 0;
}

.ef-hero-slider-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 480px;
    box-shadow: var(--ef-shadow);
}

.ef-hero-slider {
    width: 100%;
    height: 100%;
    position: relative;
}

.ef-slider-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 35px 75px;
    box-sizing: border-box;
}

.ef-slider-slide.active {
    opacity: 1;
    z-index: 2;
}

.ef-slide-badge {
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 4px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
}

.ef-slide-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 24px;
    color: #ffffff;
    margin: 0 0 10px 0;
    line-height: 1.28;
    max-width: 540px;
}

.ef-slide-title a {
    color: #ffffff;
    text-decoration: none;
}

.ef-slide-excerpt {
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    line-height: 1.4;
    margin: 0 0 18px 0;
    max-width: 500px;
}

.ef-slide-btn {
    align-self: flex-start;
    background-color: #ffffff;
    color: var(--ef-primary);
    padding: 9px 18px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    transition: all 0.2s ease;
}

.ef-slide-btn:hover {
    background-color: var(--ef-accent);
    color: #ffffff;
    transform: translateY(-1px);
}

.ef-slider-dots {
    position: absolute;
    bottom: 20px;
    right: 30px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.ef-slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.4);
    cursor: pointer;
    transition: background 0.2s ease;
}

.ef-slider-dot.active {
    background-color: #ffffff;
    width: 25px;
    border-radius: 5px;
}

/* Setas de Navegação do Carrossel */
.ef-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 20;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.85;
}

.ef-slider-arrow:hover {
    background-color: #ffffff;
    color: var(--ef-primary);
    transform: translateY(-50%) scale(1.1);
    opacity: 1;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    border-color: #ffffff;
}

.ef-slider-arrow.ef-prev {
    left: 18px;
}

.ef-slider-arrow.ef-next {
    right: 18px;
}

/* Sidebar Widgets */
.ef-hero-sidebar {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.ef-sidebar-videos-widget {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: var(--ef-shadow);
    border: 1px solid var(--ef-border);
}

.ef-widget-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--ef-primary);
    padding-bottom: 8px;
    margin-bottom: 15px;
}

.ef-widget-header h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    font-family: 'Montserrat', sans-serif;
    color: var(--ef-primary);
}

.ef-widget-header a {
    font-size: 11px;
    font-weight: 700;
    color: var(--ef-text-muted);
    text-decoration: none;
    text-transform: uppercase;
}

.ef-widget-videos-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ef-video-card {
    display: flex;
    gap: 12px;
    align-items: center;
}

.ef-video-thumb {
    width: 90px;
    height: 55px;
    background-color: #000;
    border-radius: 6px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
}

.ef-video-play-icon {
    color: #ffffff;
    font-size: 16px;
    opacity: 0.8;
    transition: transform 0.2s ease;
}

.ef-video-card:hover .ef-video-play-icon {
    transform: scale(1.2);
    opacity: 1;
}

.ef-video-duration {
    position: absolute;
    bottom: 3px;
    right: 5px;
    background-color: rgba(0,0,0,0.7);
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    padding: 1px 4px;
    border-radius: 3px;
}

.ef-video-info h4 {
    margin: 0;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
}

.ef-video-info h4 a {
    color: var(--ef-text-main);
    text-decoration: none;
    transition: color 0.2s ease;
}

.ef-video-info h4 a:hover {
    color: var(--ef-accent);
}

/* CTA Denúncia widget */
.ef-sidebar-denuncie-widget {
    background-color: var(--ef-primary);
    border-radius: 12px;
    padding: 24px;
    color: #ffffff;
    box-shadow: var(--ef-shadow);
    text-align: center;
}

.ef-sidebar-denuncie-widget h3 {
    margin: 0 0 10px 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 20px;
    letter-spacing: 1px;
}

.ef-sidebar-denuncie-widget p {
    font-size: 13px;
    color: rgba(255,255,255,0.8);
    margin: 0 0 20px 0;
}

.ef-widget-whatsapp-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: #25d366;
    color: #ffffff;
    padding: 12px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 12px;
    transition: transform 0.2s ease;
}

.ef-widget-whatsapp-btn:hover {
    transform: scale(1.02);
}

.ef-widget-contact-btn {
    background: none;
    border: 2px solid #ffffff;
    color: #ffffff;
    width: 100%;
    padding: 10px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ef-widget-contact-btn:hover {
    background-color: #ffffff;
    color: var(--ef-primary);
}

/* -------------------------------------------------------------------------
 * BARRA DE CATEGORIAS / EDITORIAS (ÍCONES)
 * ------------------------------------------------------------------------- */
.ef-home-editorias-section {
    margin: 40px 0;
}

.ef-section-title-hidden {
    display: none;
}

.ef-editorias-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 12px;
    text-align: center;
}

.ef-editoria-icon-card {
    text-decoration: none;
    color: var(--ef-text-main);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.ef-editoria-circle {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid var(--ef-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--ef-text-main);
    box-shadow: var(--ef-shadow);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ef-editoria-icon-card span {
    font-size: 11px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    color: var(--ef-text-muted);
    transition: color 0.2s ease;
}

.ef-editoria-icon-card:hover .ef-editoria-circle {
    background-color: var(--card-color);
    color: #ffffff;
    border-color: var(--card-color);
    transform: translateY(-3px);
}

.ef-editoria-icon-card:hover span {
    color: var(--card-color);
}

/* -------------------------------------------------------------------------
 * GRADE DE NOTÍCIAS
 * ------------------------------------------------------------------------- */
.ef-home-news-section {
    margin: 40px 0;
}

.ef-section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-bottom: 2px solid var(--ef-primary);
    padding-bottom: 8px;
    margin-bottom: 25px;
}

.ef-section-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    color: var(--ef-primary);
}

.ef-section-header a {
    font-size: 12px;
    font-weight: 700;
    color: var(--ef-accent);
    text-decoration: none;
}

.ef-news-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

.ef-news-card {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--ef-shadow);
    border: 1px solid var(--ef-border);
    transition: transform 0.2s ease;
}

.ef-news-card:hover {
    transform: translateY(-2px);
}

.ef-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ef-card-thumb {
    width: 100%;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    background-color: #f1f5f9;
}

.ef-card-body {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ef-card-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-family: 'Montserrat', sans-serif;
}

.ef-card-body h4 {
    margin: 0 0 15px 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--ef-text-main);
    flex-grow: 1;
}

.ef-card-time {
    font-size: 10px;
    color: var(--ef-text-muted);
}

/* -------------------------------------------------------------------------
 * DESTAQUE SECUNDÁRIO & OPINIÃO
 * ------------------------------------------------------------------------- */
.ef-home-destaque-opiniao-section {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    margin: 40px 0;
}

.ef-special-feature-box {
    background-image: linear-gradient(to right, rgba(0,0,0,0.85) 50%, rgba(0,0,0,0.3) 100%), url('../images/placeholder-police-grey.jpg');
    background-size: cover;
    background-position: center;
    background-color: #0f172a;
    border-radius: 12px;
    padding: 50px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: var(--ef-shadow);
}

.ef-special-feature-badge {
    font-size: 11px;
    font-weight: 700;
    background-color: #d32f2f;
    padding: 4px 10px;
    border-radius: 3px;
    align-self: flex-start;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

.ef-special-feature-content h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 32px;
    margin: 0 0 15px 0;
}

.ef-special-feature-content p {
    color: rgba(255,255,255,0.8);
    font-size: 15px;
    margin: 0 0 30px 0;
    max-width: 480px;
}

.ef-special-feature-btn {
    align-self: flex-start;
    border: 2px solid #ffffff;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    padding: 10px 20px;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.ef-special-feature-btn:hover {
    background-color: #ffffff;
    color: #0f172a;
}

/* Opinião do Editor */
.ef-editor-opinion-box {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: var(--ef-shadow);
    border: 1px solid var(--ef-border);
}

.ef-editor-profile-card {
    display: flex;
    gap: 15px;
    align-items: center;
    border-bottom: 1px solid var(--ef-border);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.ef-editor-photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #e2e8f0;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.ef-editor-info h4 {
    margin: 0 0 2px 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 15px;
    color: var(--ef-primary);
}

.ef-editor-info span {
    font-size: 11px;
    color: var(--ef-text-muted);
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
}

.ef-editor-info p {
    font-size: 12px;
    margin: 0 0 10px 0;
    color: var(--ef-text-muted);
}

.ef-editor-btn {
    font-size: 11px;
    font-weight: 700;
    color: var(--ef-accent);
    text-decoration: none;
}

.ef-opinion-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ef-opinion-links-list li {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ef-opinion-links-list li a {
    color: var(--ef-text-main);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.ef-opinion-links-list li a:hover {
    color: var(--ef-accent);
}

.ef-opinion-date {
    font-size: 10px;
    color: var(--ef-text-muted);
}

/* -------------------------------------------------------------------------
 * RODAPÉ SUPERIOR: TRÊS COLUNAS
 * ------------------------------------------------------------------------- */
.ef-home-triple-columns-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 40px 0;
}

.ef-triple-col h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 14px;
    color: var(--ef-primary);
    border-bottom: 2px solid var(--ef-primary);
    padding-bottom: 8px;
    margin: 0 0 20px 0;
}

.ef-col-link-wrapper {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}

.ef-special-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    background-size: cover;
    background-position: center;
    background-color: #e2e8f0;
    margin-bottom: 12px;
}

.ef-triple-col h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.ef-triple-col p {
    font-size: 12px;
    color: var(--ef-text-muted);
    margin: 0 0 15px 0;
}

.ef-special-action-btn {
    font-size: 11px;
    font-weight: 700;
    color: var(--ef-accent);
}

/* Mais Lidas list */
.ef-most-read-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ef-most-read-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ef-most-read-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--ef-border);
    line-height: 1;
}

.ef-most-read-list li a {
    color: var(--ef-text-main);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.ef-most-read-list li a:hover {
    color: var(--ef-accent);
}

/* Newsletter Col */
.ef-col-newsletter {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 24px;
    border: 1px solid var(--ef-border);
    box-shadow: var(--ef-shadow);
    box-sizing: border-box;
}

.ef-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ef-newsletter-form input {
    padding: 10px 14px;
    border-radius: 6px;
    border: 1px solid var(--ef-border);
    font-size: 13px;
    outline: none;
}

.ef-newsletter-form button {
    background-color: var(--ef-accent);
    color: #ffffff;
    border: none;
    padding: 12px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ef-newsletter-form button:hover {
    background-color: var(--ef-primary);
}

.ef-newsletter-notice {
    font-size: 10px;
    color: var(--ef-text-muted);
    display: block;
    margin-top: 10px;
    text-align: center;
}

/* -------------------------------------------------------------------------
 * RODAPÉ PRINCIPAL (FOOTER)
 * ------------------------------------------------------------------------- */
.ef-portal-footer {
    background-color: #ffffff;
    border-top: 1px solid var(--ef-border);
    padding: 60px 0 0 0;
    margin-top: 60px;
}

.ef-portal-footer .ef-footer-container {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    padding-bottom: 40px;
}

.ef-footer-col h4 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    color: var(--ef-primary);
}

.ef-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ef-footer-col ul li a,
.ef-footer-col ul li span {
    color: var(--ef-text-muted);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s ease;
}

.ef-footer-col ul li a:hover {
    color: var(--ef-accent);
}

.ef-footer-col ul li a i {
    margin-right: 8px;
    font-size: 14px;
}

.ef-footer-about .ef-footer-logo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 28px;
    margin-bottom: 15px;
}

.ef-footer-about .ef-footer-logo .ef-logo-em {
    color: var(--ef-primary);
}

.ef-footer-about .ef-footer-logo .ef-logo-foco {
    color: var(--ef-accent);
}

.ef-footer-description {
    font-size: 13px;
    color: var(--ef-text-muted);
    margin: 0 0 20px 0;
    max-width: 280px;
}

.ef-footer-social-icons {
    display: flex;
    gap: 12px;
}

.ef-footer-social-icons a {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--ef-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ef-text-muted);
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.ef-footer-social-icons a:hover {
    background-color: var(--ef-primary);
    color: #ffffff;
}

.ef-footer-bottom {
    background-color: var(--ef-primary);
    color: rgba(255,255,255,0.7);
    padding: 20px 0;
    font-size: 11px;
    font-weight: 500;
}

.ef-footer-bottom-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.ef-footer-dev-link {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.ef-footer-dev-link:hover {
    color: #ffffff;
}

/* -------------------------------------------------------------------------
 * VIEW ARTIGO ÚNICO (SINGLE)
 * ------------------------------------------------------------------------- */
.ef-single-post-wrapper {
    margin: 30px 0;
}

.ef-post-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--ef-text-muted);
    margin-bottom: 25px;
    font-weight: 500;
}

.ef-post-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.ef-post-breadcrumb a:hover {
    color: var(--ef-accent);
}

.ef-single-layout-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.ef-post-header {
    margin-bottom: 25px;
    border-bottom: 1px solid var(--ef-border);
    padding-bottom: 25px;
}

.ef-post-category-tag {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 15px;
    font-family: 'Montserrat', sans-serif;
}

.ef-post-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 36px;
    line-height: 1.25;
    margin: 0 0 20px 0;
    color: var(--ef-primary);
}

.ef-post-meta {
    display: flex;
    gap: 20px;
    font-size: 12px;
    color: var(--ef-text-muted);
    font-weight: 500;
    margin-bottom: 20px;
}

.ef-post-meta strong {
    color: var(--ef-text-main);
}

.ef-post-meta i {
    margin-right: 5px;
}

.ef-post-share-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
}

.ef-share-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    transition: transform 0.2s ease;
}

.ef-share-btn:hover {
    transform: translateY(-2px);
}

.ef-share-btn.fb { background-color: #1877f2; }
.ef-share-btn.wa { background-color: #25d366; }
.ef-share-btn.tw { background-color: #1da1f2; }

.ef-post-featured-image {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: var(--ef-shadow);
}

.ef-post-featured-image img {
    width: 100%;
    height: auto;
    display: block;
}

.ef-post-entry-content {
    font-size: 16px;
    line-height: 1.7;
    color: #334155; /* Slate 700 */
}

.ef-post-entry-content p {
    margin-bottom: 20px;
}

.ef-post-editorial-footer {
    background-color: var(--ef-bg);
    border: 1px solid var(--ef-border);
    border-radius: 8px;
    padding: 24px;
    margin-top: 50px;
    text-align: center;
}

.ef-post-editorial-footer p {
    font-size: 13px;
    color: var(--ef-text-muted);
    margin: 0 0 15px 0;
    font-weight: 500;
}

.ef-footer-follow-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}

.ef-post-sidebar-column {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Sidebar de Artigo Relacionado */
.ef-sidebar-related-widget {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid var(--ef-border);
    box-shadow: var(--ef-shadow);
}

.ef-sidebar-related-widget h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 13px;
    color: var(--ef-primary);
    border-bottom: 2px solid var(--ef-primary);
    padding-bottom: 8px;
    margin: 0 0 15px 0;
}

.ef-related-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ef-related-card {
    border-bottom: 1px solid var(--ef-border);
    padding-bottom: 15px;
}

.ef-related-card:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ef-related-badge {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    display: block;
    margin-bottom: 5px;
}

.ef-related-card h4 {
    margin: 0 0 5px 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.ef-related-card h4 a {
    color: var(--ef-text-main);
    text-decoration: none;
}

.ef-related-card h4 a:hover {
    color: var(--ef-accent);
}

.ef-related-time {
    font-size: 9px;
    color: var(--ef-text-muted);
}

/* -------------------------------------------------------------------------
 * MODAL POPUP PARA ENVIO DE DENÚNCIAS
 * ------------------------------------------------------------------------- */
.ef-reader-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.ef-reader-modal-box {
    background-color: #ffffff;
    width: 100%;
    max-width: 500px;
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    position: relative;
    box-sizing: border-box;
}

.ef-reader-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: var(--ef-text-muted);
}

.ef-reader-modal-header {
    border-bottom: 1px solid var(--ef-border);
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.ef-reader-modal-header h3 {
    margin: 0 0 5px 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--ef-primary);
}

.ef-reader-modal-header p {
    margin: 0;
    font-size: 12px;
    color: #e11d48; /* Vermelho aviso sigilo */
    font-weight: 600;
}

.ef-reader-modal-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ef-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ef-form-group label {
    font-size: 12px;
    font-weight: 700;
    color: var(--ef-text-main);
}

.ef-form-group input[type="text"],
.ef-form-group input[type="tel"],
.ef-form-group textarea {
    padding: 10px 14px;
    border-radius: 6px;
    border: 1px solid var(--ef-border);
    font-size: 13px;
    outline: none;
    background-color: var(--ef-bg);
}

.ef-form-tip {
    font-size: 10px;
    color: var(--ef-text-muted);
}

.ef-form-submit-btn {
    background-color: var(--ef-accent);
    color: #ffffff;
    border: none;
    padding: 12px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ef-form-submit-btn:hover {
    background-color: var(--ef-primary);
}

.ef-form-feedback {
    margin-top: 15px;
    padding: 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.ef-form-feedback.success {
    background-color: #d1fae5;
    color: #065f46;
}

.ef-form-feedback.error {
    background-color: #fee2e2;
    color: #991b1b;
}

/* -------------------------------------------------------------------------
 * MODAL BUSCA
 * ------------------------------------------------------------------------- */
.ef-search-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(15, 23, 42, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2100;
}

.ef-search-modal-box {
    width: 100%;
    max-width: 600px;
    padding: 20px;
    position: relative;
}

.ef-search-close-btn {
    position: absolute;
    top: -50px;
    right: 20px;
    background: none;
    border: none;
    color: #ffffff;
    font-size: 40px;
    cursor: pointer;
}

.ef-search-form {
    display: flex;
    gap: 10px;
}

.ef-search-field {
    flex-grow: 1;
    padding: 15px 20px;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    outline: none;
}

.ef-search-submit-btn {
    background-color: var(--ef-accent);
    color: #ffffff;
    border: none;
    padding: 0 25px;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    font-size: 15px;
}

/* -------------------------------------------------------------------------
 * ARCHIVES & CATEGORIES BANNER
 * ------------------------------------------------------------------------- */
.ef-archive-header-banner {
    padding: 50px 0;
    color: #ffffff;
    margin-bottom: 40px;
}

.ef-archive-banner-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.ef-archive-pre-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
    display: block;
    margin-bottom: 5px;
    font-family: 'Montserrat', sans-serif;
}

.ef-archive-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 36px;
    margin: 0 0 10px 0;
}

.ef-archive-description {
    font-size: 14px;
    opacity: 0.9;
    margin: 0;
    max-width: 600px;
}

.ef-archive-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.ef-archive-pagination {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 40px;
}

.ef-archive-pagination a,
.ef-archive-pagination span {
    padding: 8px 16px;
    border: 1px solid var(--ef-border);
    background-color: #ffffff;
    color: var(--ef-text-main);
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
}

.ef-archive-pagination span.current {
    background-color: var(--ef-primary);
    color: #ffffff;
    border-color: var(--ef-primary);
}

.ef-archive-empty {
    text-align: center;
    padding: 60px 20px;
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--ef-border);
}

.ef-empty-btn {
    display: inline-block;
    background-color: var(--ef-primary);
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px;
    margin-top: 15px;
}

/* -------------------------------------------------------------------------
 * PAGINA DO AUTOR (SILAS MADEIRA)
 * ------------------------------------------------------------------------- */
.ef-author-header-card {
    background-color: var(--ef-primary);
    padding: 60px 0;
    color: #ffffff;
    margin-bottom: 40px;
}

.ef-author-profile-row {
    display: flex;
    gap: 30px;
    align-items: center;
}

.ef-author-big-avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background-color: #ffffff;
    background-size: cover;
    background-position: center;
    border: 3px solid rgba(255,255,255,0.2);
    flex-shrink: 0;
}

.ef-author-profile-info h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 32px;
    margin: 0 0 10px 0;
}

.ef-author-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ef-accent);
    display: block;
    margin-bottom: 5px;
}

.ef-author-bio {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    margin: 0 0 20px 0;
    max-width: 700px;
    line-height: 1.6;
}

.ef-author-socials {
    display: flex;
    gap: 12px;
}

.ef-author-socials a {
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ef-author-socials a.instagram { background-color: #e1306c; }
.ef-author-socials a.tiktok { background-color: #000000; border: 1px solid rgba(255,255,255,0.3); }
.ef-author-socials a.youtube { background-color: #ff0000; }

.ef-author-section-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 20px;
    margin-bottom: 25px;
    color: var(--ef-primary);
}

/* -------------------------------------------------------------------------
 * PÁGINAS ESTÁTICAS & ERROS
 * ------------------------------------------------------------------------- */
.ef-page-wrapper {
    margin: 40px 0;
}

.ef-page-article {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 50px;
    border: 1px solid var(--ef-border);
    box-shadow: var(--ef-shadow);
    max-width: 800px;
    margin: 0 auto;
}

.ef-page-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 32px;
    margin: 0 0 30px 0;
    color: var(--ef-primary);
    text-align: center;
    border-bottom: 2px solid var(--ef-border);
    padding-bottom: 15px;
}

.ef-page-content {
    font-size: 15px;
    line-height: 1.7;
    color: #334155;
}

.ef-error-404-wrapper {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.ef-error-404-box {
    max-width: 500px;
    padding: 30px;
}

.ef-error-code {
    font-size: 100px;
    font-weight: 900;
    color: var(--ef-accent);
    line-height: 1;
    display: block;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

.ef-error-404-box h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 24px;
    margin-bottom: 15px;
}

.ef-error-404-box p {
    color: var(--ef-text-muted);
    font-size: 14px;
    margin-bottom: 30px;
}

.ef-error-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
}

.ef-error-btn {
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    border: none;
    text-decoration: none;
}

.ef-error-btn.primary {
    background-color: var(--ef-primary);
    color: #ffffff;
}

.ef-error-btn.secondary {
    background-color: #ffffff;
    color: var(--ef-primary);
    border: 1px solid var(--ef-border);
}


/* -------------------------------------------------------------------------
 * RESPONSIVIDADE (MOBILE / TABLET)
 * ------------------------------------------------------------------------- */
@media (max-width: 991px) {
    .ef-home-hero-section,
    .ef-home-destaque-opiniao-section,
    .ef-single-layout-grid {
        grid-template-columns: 1fr;
    }

    .ef-portal-footer .ef-footer-container {
        grid-template-columns: 1fr 1fr;
    }

    .ef-archive-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .ef-header-top-bar .ef-header-container {
        flex-direction: column;
        gap: 6px;
        text-align: center;
        padding: 4px 0;
    }
    
    .ef-top-bar-slogan {
        width: 100%;
        font-size: 11px;
        letter-spacing: 0.5px;
    }

    .ef-top-bar-menu {
        width: 100%;
        justify-content: center;
        gap: 20px;
        font-size: 11px;
    }

    .ef-header-menu-editorias {
        display: flex !important;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: -285px; /* Esconde à esquerda */
        width: 280px;
        height: 100%;
        background-color: #ffffff;
        z-index: 100001;
        box-shadow: 4px 0 25px rgba(15, 23, 42, 0.15);
        padding: 24px 20px;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        overflow-y: auto;
        gap: 6px;
        box-sizing: border-box;
        align-items: flex-start;
    }

    .ef-header-menu-editorias.active {
        transform: translateX(285px); /* Mostra gaveta */
    }

    .ef-mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding-bottom: 14px;
        margin-bottom: 14px;
        border-bottom: 1px solid #e2e8f0;
    }

    .ef-mobile-menu-title {
        font-family: 'Montserrat', sans-serif;
        font-weight: 800;
        font-size: 15px;
        color: var(--ef-primary);
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .ef-mobile-menu-close {
        background: none;
        border: none;
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
        color: #64748b;
        padding: 4px;
        transition: color 0.2s ease;
    }

    .ef-mobile-menu-close:hover {
        color: #e11d48;
    }

    .ef-menu-item-wrapper {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .ef-menu-item {
        display: flex !important;
        width: 100%;
        justify-content: flex-start;
        padding: 10px 14px !important;
        border-radius: 8px !important;
        color: #334155 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        box-sizing: border-box;
    }

    .ef-menu-item:hover,
    .ef-menu-item.active {
        background-color: #f1f5f9 !important;
        color: var(--ef-primary) !important;
    }

    .ef-menu-item:hover span,
    .ef-menu-item.active span {
        color: var(--ef-primary) !important; /* Cor de texto em alta visibilidade e contraste */
    }

    .ef-menu-item .ef-menu-icon {
        width: auto !important;
        opacity: 1 !important;
        transform: scale(1) !important;
        margin-right: 8px !important;
        color: var(--hover-color, var(--ef-accent)) !important;
        display: inline-block !important;
    }

    .ef-menu-item:hover .ef-menu-icon,
    .ef-menu-item.active .ef-menu-icon {
        color: var(--hover-color, var(--ef-accent)) !important; /* Mantém a cor original do ícone no active */
    }

    .ef-dropdown-submenu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: none !important;
        padding: 2px 0 6px 20px !important;
        display: flex !important;
        flex-direction: column !important;
        background: transparent !important;
        border: none !important;
        width: 100% !important;
        transform: none !important;
        transition: none !important;
        gap: 4px;
        box-sizing: border-box;
    }

    .ef-dropdown-subitem {
        padding: 8px 12px !important;
        font-size: 13px !important;
        color: #475569 !important;
        border-radius: 6px !important;
        display: flex !important;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .ef-dropdown-subitem:hover {
        background-color: #f8fafc !important;
        color: var(--ef-primary) !important;
    }

    .ef-dropdown-subitem i {
        color: var(--hover-color, var(--ef-accent)) !important;
        font-size: 12px;
    }

    /* Oculta o painel do mega menu desktop original no mobile */
    .ef-megamenu-panel {
        display: none !important;
    }

    /* Container expansível móvel das opções adicionais (Accordion) */
    .ef-mobile-more-container {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        width: 100% !important;
    }

    .ef-mobile-more-container .ef-menu-item {
        padding: 10px 14px !important;
        font-size: 14px !important;
        color: #334155 !important;
        border-radius: 8px !important;
        background-color: transparent !important;
    }

    .ef-mobile-more-container .ef-menu-item:hover,
    .ef-mobile-more-container .ef-menu-item.active {
        background-color: #f1f5f9 !important;
        color: var(--ef-primary) !important;
    }

    .ef-mobile-more-container .ef-menu-item:hover span,
    .ef-mobile-more-container .ef-menu-item.active span {
        color: var(--ef-primary) !important;
    }

    .ef-mobile-more-container .ef-menu-item .ef-menu-icon {
        width: auto !important;
        opacity: 1 !important;
        transform: scale(1) !important;
        margin-right: 8px !important;
        color: var(--hover-color, var(--ef-accent)) !important;
        display: inline-block !important;
    }

    .ef-mobile-more-container .ef-menu-item:hover .ef-menu-icon,
    .ef-mobile-more-container .ef-menu-item.active .ef-menu-icon {
        color: var(--hover-color, var(--ef-accent)) !important;
    }

    /* Botão "+" de ver mais opções (Mega Menu toggle) no Mobile */
    .ef-megamenu-toggle-btn {
        width: 100% !important;
        border-radius: 8px !important;
        background-color: #f8fafc !important;
        border: 1px dashed #cbd5e1 !important;
        color: #64748b !important;
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        gap: 8px;
        padding: 10px 14px !important;
        font-family: 'Montserrat', sans-serif !important;
        font-weight: 700 !important;
        font-size: 13px !important;
        cursor: pointer;
        box-sizing: border-box;
        margin-top: 8px;
    }

    .ef-megamenu-toggle-btn,
    .ef-megamenu-toggle-btn:hover,
    .ef-megamenu-toggle-btn:focus,
    .ef-megamenu-toggle-btn:active,
    .ef-megamenu-toggle-btn.active {
        transform: none !important; /* Desabilita qualquer rotação diagonal no mobile */
        box-shadow: none !important;
    }

    .ef-megamenu-toggle-btn:hover,
    .ef-megamenu-toggle-btn.active {
        background-color: #f1f5f9 !important;
        color: var(--ef-primary) !important;
        border-color: #94a3b8 !important;
    }

    .ef-megamenu-toggle-btn i {
        font-size: 14px;
        transition: transform 0.25s ease;
    }

    .ef-megamenu-toggle-btn.active i {
        transform: none !important; /* Desativa rotação do sinal de menos */
    }

    .ef-megamenu-toggle-btn::after {
        content: " Mais Opções";
        font-family: 'Montserrat', sans-serif;
    }

    .ef-megamenu-toggle-btn.active::after {
        content: " Menos Opções" !important;
    }

    .ef-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(15, 23, 42, 0.4);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        z-index: 100000;
        transition: opacity 0.3s ease;
    }

    .ef-menu-mobile-toggle {
        display: block;
    }

    .ef-editorias-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .ef-news-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ef-home-triple-columns-section {
        grid-template-columns: 1fr;
    }

    .ef-archive-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ef-author-profile-row {
        flex-direction: column;
        text-align: center;
    }

    .ef-author-socials {
        justify-content: center;
    }

    .ef-footer-bottom-container {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .ef-editorias-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .ef-news-grid,
    .ef-archive-grid {
        grid-template-columns: 1fr;
    }

    .ef-portal-footer .ef-footer-container {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px 16px !important;
    }

    .ef-portal-footer .ef-footer-container .ef-footer-about {
        grid-column: span 1 !important;
        width: 100%;
        overflow: hidden;
    }

    .ef-footer-logo-img {
        max-width: 90% !important;
        width: 90% !important;
        height: auto !important;
    }

    .ef-footer-col h4 {
        font-size: 12px !important;
        margin-bottom: 12px !important;
    }

    .ef-footer-col ul li a,
    .ef-footer-col p,
    .ef-footer-col span {
        font-size: 11px !important;
    }

    .ef-header-logo-img {
        height: 32px !important;
    }

    .ef-special-feature-box {
        padding: 30px;
    }
}

/* Fix rígido para contenção de largura da caixa de comentários */
.ef-comment-box-card {
    box-sizing: border-box !important;
}

.ef-comment-editor-toolbar {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

#ef_reader_comment_input {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 !important;
}

/* =========================================================================
   HUB DE VÍDEOS ESTILO NETFLIX & SINGLE VIDEO PAGE
   ========================================================================= */

.ef-netflix-video-hub {
    background-color: #0f172a;
    color: #f8fafc;
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
}

.ef-netflix-hero {
    position: relative;
    width: 100%;
    min-height: 520px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 60px 40px;
    box-sizing: border-box;
}

.ef-netflix-hero-content {
    max-width: 800px;
    z-index: 2;
}

.ef-netflix-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 11px;
    color: #ffffff;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.ef-netflix-hero-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 36px;
    line-height: 1.2;
    color: #ffffff;
    margin: 0 0 15px 0;
    text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}

.ef-netflix-hero-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0 0 25px 0;
    max-width: 680px;
    text-shadow: 0 1px 5px rgba(0,0,0,0.8);
}

.ef-netflix-hero-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.ef-netflix-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.25s ease;
    cursor: pointer;
}

.ef-netflix-btn.primary {
    background: #e11d48;
    color: #ffffff;
}

.ef-netflix-btn.primary:hover {
    background: #be123c;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(225, 29, 72, 0.4);
}

.ef-netflix-btn.secondary {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    backdrop-filter: blur(10px);
}

.ef-netflix-btn.secondary:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
}

.ef-netflix-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 20px 80px 20px;
    box-sizing: border-box;
}

.ef-netflix-hub-header h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: #ffffff;
    margin: 0 0 5px 0;
}

.ef-netflix-hub-header p {
    font-size: 14px;
    color: #94a3b8;
    margin: 0 0 30px 0;
}

.ef-netflix-row-section {
    margin-bottom: 45px;
}

.ef-netflix-row-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.ef-netflix-row-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 16px;
    color: #ffffff;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ef-netflix-row-indicator {
    width: 4px;
    height: 18px;
    border-radius: 2px;
    display: inline-block;
}

.ef-netflix-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.ef-netflix-card {
    background: #1e293b;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    border: 1px solid #334155;
    display: flex;
    flex-direction: column;
}

.ef-netflix-card:hover {
    transform: translateY(-6px) scale(1.02);
    border-color: #38bdf8;
    box-shadow: 0 12px 24px rgba(0,0,0,0.5);
}

.ef-netflix-card-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
}

.ef-netflix-card-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.ef-netflix-card:hover .ef-netflix-card-overlay {
    opacity: 1;
}

.ef-netflix-play-btn {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #e11d48;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    box-shadow: 0 4px 15px rgba(225, 29, 72, 0.6);
    padding-left: 3px;
}

.ef-netflix-card-duration {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(15, 23, 42, 0.85);
    color: #f8fafc;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    backdrop-filter: blur(4px);
}

.ef-netflix-card-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}

.ef-netflix-card-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.35;
    color: #f8fafc;
    margin: 0 0 10px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ef-netflix-card-meta {
    font-size: 11px;
    color: #94a3b8;
}

/* SINGLE VIDEO PAGE */
.ef-single-video-wrapper {
    background-color: #0f172a;
    color: #f8fafc;
    min-height: 100vh;
    padding-bottom: 80px;
}

.ef-video-theater {
    width: 100%;
    background-color: #020617;
    padding: 30px 20px;
    box-sizing: border-box;
    border-bottom: 1px solid #1e293b;
}

.ef-video-theater-container {
    max-width: 1000px;
    margin: 0 auto;
}

.ef-video-responsive-iframe {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
    background: #000;
}

.ef-video-responsive-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.ef-single-video-content-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 0 20px;
    box-sizing: border-box;
}

.ef-single-video-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 40px;
}

.ef-single-video-header-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.ef-video-cat-badge {
    padding: 5px 12px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 11px;
    color: #ffffff;
    text-decoration: none;
}

.ef-video-date-badge {
    font-size: 12px;
    color: #94a3b8;
}

.ef-single-video-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 28px;
    line-height: 1.25;
    color: #ffffff;
    margin: 0 0 20px 0;
}

.ef-single-video-author-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    border-top: 1px solid #1e293b;
    border-bottom: 1px solid #1e293b;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 15px;
}

.ef-video-author-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ef-author-avatar-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #0066b2;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.ef-author-by {
    display: block;
    font-size: 11px;
    color: #94a3b8;
}

.ef-author-name {
    font-size: 13px;
    color: #f8fafc;
}

.ef-video-share-btns {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ef-share-title {
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
}

.ef-share-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    transition: transform 0.2s;
}

.ef-share-btn:hover {
    transform: scale(1.1);
}

.ef-share-btn.whatsapp { background: #25d366; }
.ef-share-btn.facebook { background: #1877f2; }
.ef-share-btn.twitter { background: #000000; border: 1px solid #334155; }

.ef-single-video-body-text {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin-bottom: 40px;
}

.ef-single-video-sidebar .ef-sidebar-widget {
    background: #1e293b;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #334155;
}

.ef-sidebar-widget-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 13px;
    color: #f8fafc;
    margin: 0 0 15px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #334155;
}

.ef-related-video-card {
    display: flex;
    gap: 12px;
    text-decoration: none;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #334155;
}

.ef-related-video-card:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.ef-rv-thumb {
    width: 100px;
    height: 60px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
    position: relative;
    flex-shrink: 0;
}

.ef-rv-play {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    border-radius: 6px;
}

.ef-rv-info h4 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.3;
    color: #f8fafc;
    margin: 0 0 5px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ef-rv-info span {
    font-size: 11px;
    color: #94a3b8;
}

@media (max-width: 992px) {
    .ef-netflix-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ef-single-video-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .ef-netflix-grid {
        grid-template-columns: 1fr;
    }

    .ef-netflix-hero-title {
        font-size: 24px;
    }

    .ef-netflix-hero {
        padding: 30px 20px;
        min-height: 420px;
    }
}

/* =========================================================================
   HEADER & FOOTER TEMA NAVY BLUE DEDICADO PARA VÍDEOS
   ========================================================================= */

body.ef-video-mode,
html.ef-video-mode {
    background-color: #0f172a !important;
}

body.ef-video-mode .ef-single-video-wrapper,
body.ef-video-mode .ef-netflix-video-hub {
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 40px !important;
    background-color: #0f172a !important;
}

body.ef-video-mode .ef-portal-footer {
    margin-top: 0 !important;
    border-top: 1px solid #1e293b;
}

/* 1. HEADER NO TEMA VÍDEOS */
.ef-portal-header.ef-video-theme {
    background-color: #0b1329;
    border-bottom: 1px solid #1e293b;
}

.ef-portal-header.ef-video-theme .ef-header-top-bar {
    background-color: #070d1d;
    border-bottom: 1px solid #1e293b;
}

.ef-portal-header.ef-video-theme .ef-top-bar-slogan span {
    color: #94a3b8;
}

.ef-portal-header.ef-video-theme .ef-top-bar-menu a {
    color: #cbd5e1;
}

.ef-portal-header.ef-video-theme .ef-top-bar-menu a:hover {
    color: #38bdf8;
}

.ef-portal-header.ef-video-theme .ef-search-trigger-btn {
    color: #ffffff;
    background: #1e293b;
    border: 1px solid #334155;
}

.ef-portal-header.ef-video-theme .ef-search-trigger-btn:hover {
    background: #e11d48;
    border-color: #e11d48;
    color: #ffffff;
}

.ef-portal-header.ef-video-theme .ef-header-nav-bar {
    background-color: #0f172a;
    border-bottom: 1px solid #1e293b;
}

/* Logo Vector no Tema Vídeo */
.ef-portal-header.ef-video-theme .ef-logo-em {
    color: #ffffff;
}

.ef-portal-header.ef-video-theme .ef-logo-foco {
    color: #ffffff;
}

/* Links do Menu de Editorias */
.ef-portal-header.ef-video-theme .ef-menu-item {
    color: #cbd5e1;
}

.ef-portal-header.ef-video-theme .ef-menu-item:hover,
.ef-portal-header.ef-video-theme .ef-menu-item.active {
    background-color: var(--hover-color, #e11d48) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.ef-portal-header.ef-video-theme .ef-menu-item:hover span,
.ef-portal-header.ef-video-theme .ef-menu-item.active span,
.ef-portal-header.ef-video-theme .ef-menu-item:hover .ef-menu-icon,
.ef-portal-header.ef-video-theme .ef-menu-item.active .ef-menu-icon {
    color: #ffffff !important;
}

/* Botão + (Plus) do Mega Menu */
.ef-portal-header.ef-video-theme .ef-megamenu-toggle-btn {
    background-color: #1e293b;
    border-color: #334155;
    color: #ffffff;
}

.ef-portal-header.ef-video-theme .ef-megamenu-toggle-btn:hover,
.ef-portal-header.ef-video-theme .ef-megamenu-toggle-btn.active {
    background-color: #e11d48;
    color: #ffffff;
    border-color: #e11d48;
    box-shadow: 0 4px 14px rgba(225, 29, 72, 0.4);
}

/* Painel Mega Menu no Tema Vídeo */
.ef-portal-header.ef-video-theme .ef-megamenu-panel {
    background-color: #1e293b;
    border-bottom: 3px solid #e11d48;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
}

.ef-portal-header.ef-video-theme .ef-megamenu-title {
    color: #ffffff;
}

.ef-portal-header.ef-video-theme .ef-megamenu-hint {
    color: #94a3b8;
}

.ef-portal-header.ef-video-theme .ef-megamenu-grid .ef-menu-item {
    background-color: #0f172a;
    border: 1px solid #334155;
    color: #f8fafc;
}

.ef-portal-header.ef-video-theme .ef-megamenu-grid .ef-menu-item:hover,
.ef-portal-header.ef-video-theme .ef-megamenu-grid .ef-menu-item.active {
    background-color: var(--hover-color, #e11d48) !important;
    border-color: var(--hover-color, #e11d48);
    color: #ffffff !important;
}

/* Botão Mobile no Tema Vídeo */
.ef-portal-header.ef-video-theme .ef-menu-mobile-toggle {
    background-color: #1e293b;
    border-color: #334155;
    color: #ffffff;
}

/* 2. RODAPÉ NO TEMA VÍDEOS */
.ef-portal-footer.ef-video-theme {
    background-color: #070d1d;
    border-top: 1px solid #1e293b;
    color: #cbd5e1;
}

.ef-portal-footer.ef-video-theme .ef-logo-em,
.ef-portal-footer.ef-video-theme .ef-logo-foco {
    color: #ffffff;
}

.ef-portal-footer.ef-video-theme .ef-footer-description {
    color: #94a3b8;
}

.ef-portal-footer.ef-video-theme .ef-footer-col h4 {
    color: #ffffff;
    border-bottom: 2px solid #e11d48;
}

.ef-portal-footer.ef-video-theme .ef-footer-col ul li a {
    color: #cbd5e1;
}

.ef-portal-footer.ef-video-theme .ef-footer-col ul li a:hover {
    color: #38bdf8;
}

.ef-portal-footer.ef-video-theme .ef-footer-social-icons a {
    background-color: #1e293b;
    border: 1px solid #334155;
    color: #ffffff;
}

.ef-portal-footer.ef-video-theme .ef-footer-social-icons a:hover {
    background-color: #e11d48;
    border-color: #e11d48;
    color: #ffffff;
}

.ef-portal-footer.ef-video-theme .ef-footer-bottom {
    background-color: #020617;
    border-top: 1px solid #1e293b;
    color: #64748b;
}

/* =========================================================================
   ESTILOS DA SEÇÃO DE COMENTÁRIOS NO SINGLE VIDEO
   ========================================================================= */
.ef-single-video-comments-area {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #1e293b;
}

.ef-single-video-comments-area .ef-comments-header h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 18px;
    color: #ffffff;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ef-single-video-comments-area .ef-comment-box-card {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

.ef-single-video-comments-area .ef-comment-form-group {
    margin-bottom: 15px;
}

.ef-single-video-comments-area .ef-comment-form-group label {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    margin-bottom: 6px;
    display: block;
}

.ef-single-video-comments-area .ef-comment-form-group input,
.ef-single-video-comments-area .ef-comment-form-group textarea {
    width: 100%;
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: 8px;
    padding: 10px 14px;
    color: #f8fafc;
    font-size: 14px;
    box-sizing: border-box;
    outline: none;
}

.ef-single-video-comments-area .ef-comment-form-group input:focus,
.ef-single-video-comments-area .ef-comment-form-group textarea:focus {
    border-color: #38bdf8;
}

.ef-single-video-comments-area .ef-comment-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 15px;
}

.ef-single-video-comments-area .ef-submit-comment-btn {
    background: #e11d48;
    color: #ffffff;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.25s;
    margin-top: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ef-single-video-comments-area .ef-submit-comment-btn:hover {
    background: #be123c;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.4);
}

.ef-single-video-comments-area .ef-logged-comment-as {
    font-size: 13px;
    color: #38bdf8;
    margin-bottom: 15px;
}

.ef-single-video-comments-area .ef-no-comments-msg {
    text-align: center;
    padding: 30px;
    background: #1e293b;
    border-radius: 8px;
    color: #94a3b8;
    font-size: 14px;
}

.ef-single-video-comments-area .ef-comment-item {
    display: flex;
    gap: 15px;
    padding: 15px;
    background: #1e293b;
    border-radius: 10px;
    border: 1px solid #334155;
    margin-bottom: 12px;
}

.ef-single-video-comments-area .ef-comment-avatar {
    font-size: 36px;
    color: #38bdf8;
}

.ef-single-video-comments-area .ef-comment-author-name {
    color: #ffffff;
    font-size: 14px;
}

.ef-single-video-comments-area .ef-comment-date {
    color: #94a3b8;
    font-size: 11px;
    margin-left: 10px;
}

.ef-single-video-comments-area .ef-comment-text {
    color: #cbd5e1;
    font-size: 14px;
    margin-top: 6px;
    line-height: 1.5;
}

/* =========================================================================
   SUBMENUS DROPDOWN DO CABEÇALHO DO PORTAL
   ========================================================================= */
.ef-menu-item-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ef-menu-item-wrapper .ef-dropdown-arrow {
    font-size: 10px;
    margin-left: 6px;
    transition: transform 0.25s ease;
}

.ef-menu-item-wrapper:hover .ef-dropdown-arrow {
    transform: rotate(180deg);
}

.ef-dropdown-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 190px;
    background: #ffffff;
    border: 1px solid var(--ef-border);
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.25s ease;
    z-index: 100000;
    display: flex;
    flex-direction: column;
}

.ef-menu-item-wrapper:hover .ef-dropdown-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ef-dropdown-subitem {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    color: var(--ef-text-main);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.ef-dropdown-subitem:hover {
    background-color: var(--hover-color, #0066b2);
    color: #ffffff !important;
}

.ef-dropdown-subitem i {
    font-size: 12px;
}

/* ==========================================================================
   BANNER DE COOKIES (LGPD)
   ========================================================================== */
.ef-cookie-banner {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(100px);
    width: calc(100% - 48px);
    max-width: 900px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.16);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    padding: 18px 24px;
    z-index: 99999;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
    opacity: 0;
    box-sizing: border-box;
}

.ef-cookie-banner.show-banner {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.ef-cookie-banner-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.ef-cookie-banner-content {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #334155;
    font-size: 13.5px;
    line-height: 1.5;
}

.ef-cookie-icon {
    font-size: 24px;
    color: #e11d48;
    flex-shrink: 0;
    animation: ef-cookie-wiggle 1.5s ease-in-out infinite alternate;
}

.ef-cookie-banner-content p {
    margin: 0;
    font-family: 'Open Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

.ef-cookie-banner-content a {
    color: #0066b2;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.ef-cookie-banner-content a:hover {
    color: #004d8c;
}

.ef-cookie-banner-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.ef-cookie-btn-accept {
    background: #0066b2;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    font-family: 'Montserrat', sans-serif;
}

.ef-cookie-btn-accept:hover {
    background: #004d8c;
}

.ef-cookie-btn-accept:active {
    transform: scale(0.97);
}

.ef-cookie-btn-decline {
    background: transparent;
    color: #64748b;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    font-family: 'Montserrat', sans-serif;
}

.ef-cookie-btn-decline:hover {
    background: #f1f5f9;
    color: #334155;
}

@keyframes ef-cookie-wiggle {
    0% { transform: rotate(-8deg); }
    100% { transform: rotate(12deg); }
}

@media (max-width: 768px) {
    .ef-cookie-banner {
        bottom: 16px;
        width: calc(100% - 32px);
        padding: 16px;
    }
    
    .ef-cookie-banner-container {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }
    
    .ef-cookie-banner-content {
        align-items: flex-start;
    }
    
    .ef-cookie-banner-actions {
        justify-content: flex-end;
        width: 100%;
    }
    
    .ef-cookie-btn-accept,
    .ef-cookie-btn-decline {
        flex: 1;
        text-align: center;
        padding: 12px;
    }
}

/* ==========================================================================
   SISTEMA DE ANÚNCIOS / PUBLICIDADE NATIVA (v5.9.0)
   ========================================================================== */

/* Zonas de Anúncio e Containers */
.ef-ad-zone-section {
    margin: 30px 0;
    width: 100%;
}

.ef-ad-banner {
    width: 100%;
    text-align: center;
    overflow: hidden;
    border-radius: 8px;
}

.ef-ad-banner img.ef-ad-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

/* Altura Fixa de 300px no Desktop para Anúncios de Largura Total (Imagens & Banners Fallback) */
@media (min-width: 769px) {
    .ef-ad-banner,
    .ef-ad-zone-section img.ef-ad-img,
    .ef-ad-zone-home_below_editorias img.ef-ad-img,
    .ef-ad-zone-home_below_destaque img.ef-ad-img,
    .ef-ad-zone-single_content_mid img.ef-ad-img,
    .ef-news-card-ad-break img.ef-ad-img {
        width: 100%;
        height: 300px !important;
        max-height: 300px !important;
        object-fit: cover;
    }

    .ef-ad-placeholder-horizontal,
    .ef-ad-zone-section .ef-ad-placeholder-horizontal,
    .ef-ad-zone-home_below_editorias .ef-ad-placeholder-horizontal,
    .ef-ad-zone-home_below_destaque .ef-ad-placeholder-horizontal,
    .ef-ad-zone-single_content_mid .ef-ad-placeholder-horizontal,
    .ef-news-card-ad-break .ef-ad-placeholder-horizontal {
        min-height: 300px !important;
        height: 300px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 40px !important;
    }

    .ef-ad-placeholder-horizontal .ef-ad-placeholder-link {
        width: 100%;
        max-width: 950px;
        margin: 0 auto;
        justify-content: space-between;
    }

    .ef-ad-placeholder-horizontal .ef-ad-placeholder-icon {
        font-size: 50px;
    }

    .ef-ad-placeholder-horizontal .ef-ad-placeholder-text strong {
        font-size: 26px;
    }

    .ef-ad-placeholder-horizontal .ef-ad-placeholder-text small {
        font-size: 15px;
    }

    .ef-ad-placeholder-horizontal .ef-ad-placeholder-cta {
        font-size: 15px;
        padding: 14px 28px;
        border-radius: 25px;
    }
}

.ef-ad-banner img.ef-ad-img:hover {
    transform: scale(1.01);
}

.ef-news-card-ad-break {
    grid-column: 1 / -1;
    margin: 15px 0;
}

.ef-ad-content-mid {
    margin: 25px 0;
}

.ef-ad-sidebar {
    margin-bottom: 25px;
}

/* Banner Placeholder "ANUNCIE AQUI" — Versão Horizontal */
.ef-ad-placeholder {
    width: 100%;
    background: linear-gradient(135deg, #003b8e 0%, #0066b2 100%);
    border-radius: 12px;
    padding: 18px 24px;
    box-sizing: border-box;
    box-shadow: 0 4px 12px rgba(0, 59, 142, 0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ef-ad-placeholder:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 59, 142, 0.25);
}

.ef-ad-placeholder-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    color: #ffffff;
    gap: 15px;
    flex-wrap: wrap;
}

.ef-ad-placeholder-icon {
    font-size: 28px;
    color: #60a5fa;
    display: flex;
    align-items: center;
}

.ef-ad-placeholder-text {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ef-ad-placeholder-text strong {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ef-ad-placeholder-text small {
    font-size: 12px;
    opacity: 0.85;
    margin-top: 2px;
}

.ef-ad-placeholder-cta {
    background: #ffffff;
    color: #003b8e;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 800;
    padding: 10px 20px;
    border-radius: 20px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background 0.2s ease, color 0.2s ease;
}

.ef-ad-placeholder:hover .ef-ad-placeholder-cta {
    background: #f0f7ff;
}

/* Banner Placeholder "ANUNCIE AQUI" — Versão Card em 3 Linhas (Visual Exato Solicitado) */
.ef-ad-placeholder-card {
    padding: 22px 20px;
}

.ef-ad-placeholder-link-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #ffffff;
    gap: 12px;
    height: 100%;
    justify-content: space-between;
}

/* LINHA 1: ANUNCIE AQUI */
.ef-ad-card-line1 strong {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff;
    display: block;
    line-height: 1.1;
}

/* LINHA 2: ÍCONE AD + TEXTO */
.ef-ad-card-line2 {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.ef-ad-badge-icon {
    background: #3b82f6;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 11px;
    padding: 3px 7px;
    border-radius: 4px;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.ef-ad-card-text {
    font-size: 13px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.9);
}

/* LINHA 3: BOTÃO */
.ef-ad-card-line3 {
    margin-top: 6px;
    width: 100%;
}

.ef-ad-card-line3 .ef-ad-placeholder-cta {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 16px;
    font-size: 13px;
}

/* Slot de Anúncio no Grid de Notícias (Mesmo Tamanho dos Cards de Notícia) */
.ef-news-card-ad-slot {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    min-height: 280px;
}

.ef-news-card-ad-slot .ef-ad-placeholder-card {
    height: 100%;
    border-radius: 0;
}

.ef-news-card-ad-slot .ef-ad-banner {
    height: 100%;
}

.ef-news-card-ad-slot img.ef-ad-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

/* Pop-up Retangular Vertical Flutuante no Canto Inferior */
.ef-ad-popup-corner {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99999;
    width: 290px;
    max-width: calc(100vw - 48px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.22);
    border: 1px solid #e2e8f0;
    padding: 10px;
    box-sizing: border-box;
    animation: ef-slide-up-popup 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes ef-slide-up-popup {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.ef-ad-popup-close {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 28px;
    height: 28px;
    background: #0f172a;
    color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 50%;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    z-index: 20;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.ef-ad-popup-close:hover {
    background: #ef4444;
    transform: scale(1.15);
}

.ef-ad-popup-content {
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
}

/* Banner Rotativo */
.ef-ad-rotativo {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.ef-rotativo-slide {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.ef-rotativo-slide.ef-rotativo-ativo {
    display: block;
    opacity: 1;
}

/* ==========================================================================
   PÁGINA ANUNCIE (anuncie-portal.php)
   ========================================================================== */

.ef-anuncie-page {
    font-family: 'Inter', sans-serif;
    color: #1e293b;
    background: #f8fafc;
}

.ef-anuncie-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Hero Section */
.ef-anuncie-hero {
    background: linear-gradient(135deg, #0d1b3e 0%, #003b8e 60%, #0066b2 100%);
    color: #ffffff;
    padding: 60px 20px;
    text-align: center;
    position: relative;
}

.ef-anuncie-hero-inner {
    max-width: 800px;
    margin: 0 auto;
}

.ef-anuncie-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 16px;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.ef-anuncie-hero-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 38px;
    font-weight: 900;
    margin: 0 0 16px 0;
    line-height: 1.2;
}

.ef-anuncie-hero-title span {
    color: #60a5fa;
}

.ef-anuncie-hero-subtitle {
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.9;
    margin: 0 0 35px 0;
}

.ef-anuncie-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.ef-anuncie-stat {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
}

.ef-anuncie-stat strong {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
}

.ef-anuncie-stat span {
    font-size: 12px;
    opacity: 0.8;
}

.ef-anuncie-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #22c55e;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 800;
    padding: 14px 32px;
    border-radius: 30px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 6px 20px rgba(34, 197, 94, 0.35);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.ef-anuncie-hero-cta:hover {
    background: #16a34a;
    transform: translateY(-2px);
}

/* Sections General */
.ef-anuncie-section-header {
    text-align: center;
    margin-bottom: 40px;
}

.ef-anuncie-section-header h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 10px 0;
}

.ef-anuncie-section-header p {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

/* Zonas Section */
.ef-anuncie-zonas-section {
    padding: 60px 0;
}

.ef-anuncie-zonas-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

.ef-anuncie-zona-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.ef-anuncie-zona-icon {
    width: 44px;
    height: 44px;
    background: #eff6ff;
    color: #0066b2;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 16px;
}

.ef-anuncie-zona-body h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px 0;
}

.ef-anuncie-zona-body p {
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    margin: 0 0 12px 0;
}

.ef-anuncie-zona-size {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #0066b2;
    background: #f0f9ff;
    padding: 4px 10px;
    border-radius: 6px;
    margin-bottom: 16px;
}

.ef-anuncie-mockup {
    background: #f1f5f9;
    border: 2px dashed #cbd5e1;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
}

/* Como Funciona Section */
.ef-anuncie-como-funciona {
    background: #ffffff;
    padding: 60px 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

.ef-anuncie-steps {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.ef-anuncie-step {
    flex: 1;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px 16px;
    text-align: center;
}

.ef-anuncie-step-num {
    width: 40px;
    height: 40px;
    background: #0066b2;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px auto;
}

.ef-anuncie-step h4 {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px 0;
}

.ef-anuncie-step p {
    font-size: 12px;
    color: #64748b;
    line-height: 1.4;
    margin: 0;
}

.ef-anuncie-step-arrow {
    color: #cbd5e1;
    font-size: 18px;
}

/* Form Section */
.ef-anuncie-form-section {
    padding: 70px 0;
}

.ef-anuncie-form-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 40px;
    align-items: start;
}

.ef-anuncie-form-info h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 28px;
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 12px 0;
}

.ef-anuncie-form-info p {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 24px;
}

.ef-anuncie-beneficios {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ef-anuncie-beneficios li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}

.ef-anuncie-beneficios li i {
    color: #22c55e;
    font-size: 16px;
}

.ef-anuncie-form-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
}

.ef-anuncie-form-row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.ef-anuncie-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.ef-anuncie-field label {
    font-size: 12px;
    font-weight: 700;
    color: #334155;
}

.ef-anuncie-field input,
.ef-anuncie-field select,
.ef-anuncie-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    font-family: inherit;
    color: #0f172a;
    background: #f8fafc;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.ef-anuncie-field input:focus,
.ef-anuncie-field select:focus,
.ef-anuncie-field textarea:focus {
    outline: none;
    border-color: #0066b2;
    background: #ffffff;
}

.ef-form-msg {
    padding: 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
    text-align: center;
}

.ef-form-msg-ok {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.ef-form-msg-erro {
    background: #fee2e2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

.ef-anuncie-form-btn {
    width: 100%;
    background: #0066b2;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    padding: 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background-color 0.2s ease;
}

.ef-anuncie-form-btn:hover {
    background: #004d8c;
}

/* Responsivo Anuncie */
@media (max-width: 768px) {
    .ef-anuncie-hero-title {
        font-size: 26px;
    }

    .ef-anuncie-hero-stats {
        grid-template-columns: 1fr;
    }

    .ef-anuncie-zonas-grid {
        grid-template-columns: 1fr;
    }

    .ef-anuncie-steps {
        flex-direction: column;
    }

    .ef-anuncie-step-arrow {
        transform: rotate(90deg);
    }

    .ef-anuncie-form-wrapper {
        grid-template-columns: 1fr;
    }

    .ef-anuncie-form-row {
        flex-direction: column;
        gap: 0;
    }

    .ef-ad-placeholder-link {
        flex-direction: column;
        text-align: center;
    }

    .ef-ad-placeholder-text {
        align-items: center;
    }
}

/* Grid de Checkboxes do Formulário de Anunciante */
.ef-anuncie-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 10px;
    margin-top: 4px;
    background: #f8fafc;
    padding: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
}

.ef-anuncie-checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #1e293b;
    font-weight: 600;
    background: #ffffff;
    padding: 9px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.ef-anuncie-checkbox-item:hover {
    border-color: #0066b2;
    background: #f0f9ff;
}

.ef-anuncie-checkbox-item input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    cursor: pointer;
    accent-color: #0066b2;
    margin: 0;
}

/* Zerar espaço em branco no topo da página */
html,
html.wp-toolbar,
html[lang] {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body,
body.ef-portal-body,
body.admin-bar {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.ef-portal-header {
    top: 0 !important;
}

/* Menções de Username nos Comentários */
.ef-user-mention,
.ef-user-mention-badge {
    display: inline-flex !important;
    align-items: center !important;
    background-color: #e0f2fe !important;
    color: #0284c7 !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    text-decoration: none !important;
    margin: 0 2px !important;
    border: 1px solid #bae6fd !important;
    transition: all 0.15s ease !important;
}

.ef-user-mention:hover,
.ef-user-mention-badge:hover {
    background-color: #0066b2 !important;
    color: #ffffff !important;
    border-color: #0066b2 !important;
}

/* Overlay Fixo do Modal de Autenticação do Leitor */
#ef_auth_modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(15, 23, 42, 0.75) !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9999999 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(4px) !important;
}

#ef_auth_modal .ef-admin-modal-box {
    position: relative !important;
    background: #ffffff !important;
    width: 100% !important;
    max-width: 480px !important;
    border-radius: 16px !important;
    padding: 35px 30px 30px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
    box-sizing: border-box !important;
    margin: auto !important;
}

#ef_auth_modal .ef-auth-tab-btn {
    white-space: nowrap !important;
    flex: 1 !important;
    padding: 12px 16px !important;
    background: none !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #64748b !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.2s ease !important;
}

#ef_auth_modal .ef-auth-tab-btn.active {
    color: #0066b2 !important;
    border-bottom-color: #0066b2 !important;
    font-weight: 800 !important;
}

#ef_auth_modal .ef-admin-modal-close {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    background: #f1f5f9 !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    font-size: 18px !important;
    color: #64748b !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

#ef_auth_modal .ef-admin-modal-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

/* Abas do Painel Minha Conta */
.ef-account-tab-btn {
    transition: all 0.2s ease !important;
}

.ef-account-tab-btn:hover {
    background-color: #f8fafc !important;
    color: #0066b2 !important;
}

.ef-account-tab-btn.active {
    background-color: #f0f9ff !important;
    color: #0066b2 !important;
    font-weight: 800 !important;
}

/* Sino de Notificações do Cabeçalho */
.ef-header-notif-bell:hover {
    background: rgba(255, 255, 255, 0.35) !important;
    transform: scale(1.08) !important;
}

/* Layout e Responsividade Completa da Página Minha Conta */
.ef-account-page-container {
    padding: 40px 20px !important;
    box-sizing: border-box !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.ef-account-header-card {
    background: linear-gradient(135deg, #1b2a4a 0%, #0066b2 100%) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 8px 20px rgba(0, 59, 142, 0.15) !important;
}

.ef-account-user-info {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.ef-account-avatar {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
    object-fit: cover !important;
}

.ef-account-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.ef-account-username-badge {
    background: rgba(255, 255, 255, 0.2) !important;
    padding: 3px 10px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-block !important;
    margin-top: 6px !important;
}

.ef-account-date {
    font-size: 12px !important;
    opacity: 0.8 !important;
    display: block !important;
    margin-top: 4px !important;
}

.ef-account-logout-btn {
    background: #ffffff !important;
    color: #ef4444 !important;
    border: none !important;
    width: auto !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

.ef-account-layout {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    gap: 25px !important;
    align-items: start !important;
}

.ef-account-sidebar {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 12px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.ef-account-sidebar .ef-account-tab-btn {
    width: 100% !important;
    text-align: left !important;
    padding: 12px 14px !important;
    border: none !important;
    background: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #334155 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.ef-account-sidebar .ef-account-tab-btn i {
    color: #0066b2 !important;
    width: 18px !important;
}

.ef-account-content {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 25px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.ef-account-section-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    color: #1b2a4a !important;
    margin: 0 0 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #e2e8f0 !important;
}

.ef-account-form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    margin-bottom: 15px !important;
}

/* Media Queries para Telas Menores (Mobile / Tablet) */
@media screen and (max-width: 850px) {
    .ef-account-page-container {
        padding: 20px 12px !important;
    }

    .ef-account-header-card {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 20px 16px !important;
        gap: 15px !important;
        margin-bottom: 20px !important;
    }

    .ef-account-user-info {
        flex-direction: row !important;
        gap: 14px !important;
    }

    .ef-account-avatar {
        width: 60px !important;
        height: 60px !important;
    }

    .ef-account-name {
        font-size: 18px !important;
    }

    .ef-account-logout-btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 12px !important;
    }

    .ef-account-layout {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .ef-account-sidebar {
        padding: 8px !important;
        border-radius: 12px !important;
    }

    .ef-account-sidebar .ef-account-tab-btn {
        padding: 11px 12px !important;
        font-size: 13px !important;
    }

    .ef-account-content {
        padding: 16px 14px !important;
        border-radius: 12px !important;
    }

    .ef-account-section-title {
        font-size: 16px !important;
        margin-bottom: 15px !important;
    }

    .ef-account-form-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .ef-account-followed-card {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    .ef-account-followed-card .delete-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* =========================================================================
 * ESTILIZAÇÃO DO FORMULÁRIO DE LOGIN DO PAINEL EDITORIAL (#ef_loginform)
 * ========================================================================= */
#ef_loginform {
    display: flex !important;
    flex-direction: column !important;
}

#ef_loginform p.login-username,
#ef_loginform p.login-password {
    margin-bottom: 18px !important;
    text-align: left !important;
}

#ef_loginform p.login-username label,
#ef_loginform p.login-password label {
    display: block !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    margin-bottom: 6px !important;
    color: #1e293b !important;
    font-family: 'Montserrat', 'Inter', sans-serif !important;
}

#ef_loginform p.login-username input[type="text"],
#ef_loginform p.login-password input[type="password"] {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    background-color: #f8fafc !important;
    color: #0f172a !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

#ef_loginform p.login-username input[type="text"]:focus,
#ef_loginform p.login-password input[type="password"]:focus {
    border-color: #0066b2 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(0, 102, 178, 0.15) !important;
}

#ef_loginform p.login-remember {
    text-align: left !important;
    margin: 8px 0 20px !important;
}

#ef_loginform p.login-remember label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    cursor: pointer !important;
}

#ef_loginform p.login-remember input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: #0066b2 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

#ef_loginform p.login-submit {
    margin-top: 5px !important;
    margin-bottom: 0 !important;
}

#ef_loginform #wp-submit,
#ef_loginform input[type="submit"] {
    width: 100% !important;
    padding: 13px 20px !important;
    background-color: #0066b2 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 102, 178, 0.25) !important;
    transition: all 0.2s ease !important;
    -webkit-appearance: none !important;
}

#ef_loginform #wp-submit:hover,
#ef_loginform input[type="submit"]:hover {
    background-color: #005291 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(0, 102, 178, 0.35) !important;
}

